Use before workflow execution to discover available agents, skills, and quality commands in the project environment. Use when adapting gh-workflow commands to project-specific tooling.
View on GitHubplugins/gh-workflow/skills/capability-discovery/SKILL.md
February 4, 2026
Select agents to install to:
npx add-skill https://github.com/synaptiai/synapti-marketplace/blob/main/plugins/gh-workflow/skills/capability-discovery/SKILL.md -a claude-code --skill capability-discoveryInstallation paths:
.claude/skills/capability-discovery/# Capability Discovery
This skill discovers available capabilities (skills, agents, commands) in the user's environment to enable dynamic workflow adaptation.
## Purpose
Before executing workflows, discover what tools are available so commands can:
- Invoke specialized agents if available
- Use custom skills instead of defaults
- Apply project-specific quality commands
- Gracefully fall back when capabilities are missing
## Discovery Process
### Step 1: Scan for Custom Agents
```bash
# Project-level agents
ls .claude/agents/*.md 2>/dev/null | xargs -I {} basename {} .md
# Plugin agents
ls plugins/*/agents/*.md 2>/dev/null | while read f; do
plugin=$(echo $f | cut -d'/' -f2)
agent=$(basename $f .md)
echo "$plugin:$agent"
done
```
### Step 2: Scan for Custom Skills
```bash
# Project-level skills
ls .claude/skills/*/SKILL.md 2>/dev/null | while read f; do
skill=$(dirname $f | xargs basename)
echo "$skill"
done
# Plugin skills
ls plugins/*/skills/*/SKILL.md 2>/dev/null | while read f; do
plugin=$(echo $f | cut -d'/' -f2)
skill=$(dirname $f | xargs basename)
echo "$plugin:$skill"
done
```
### Step 3: Scan for Custom Commands
```bash
# Project-level commands
ls .claude/commands/*.md 2>/dev/null | xargs -I {} basename {} .md
# Plugin commands
ls plugins/*/commands/*.md 2>/dev/null | while read f; do
plugin=$(echo $f | cut -d'/' -f2)
cmd=$(basename $f .md)
echo "$plugin:$cmd"
done
```
### Step 4: Parse CLAUDE.md for Quality Commands
```bash
# Look for explicit quality command definitions
grep -E "^(lint|test|check|format|typecheck|build):" .claude/CLAUDE.md 2>/dev/null
# Look for npm scripts references
grep -E "npm run (lint|test|check|format|build)" .claude/CLAUDE.md 2>/dev/null
# Look for Python tool references
grep -E "(ruff|pytest|mypy|pyright|black|isort)" .claude/CLAUDE.md 2>/dev/null
# Look for Go tool references
grep -E "(go vet|go test|golangci-lint)" .claude/CLAUDE.md 2>/dev/null
```
### Step 5: Detect Tech Stack
```bash
#