brewcode:skills
skills Skill
Skill Management: List, improve, create skills with activation optimization.
Phase 1: Parse Arguments
Extract mode and target from $ARGUMENTS:
| Pattern | Mode | Target |
|---|---|---|
| empty | list | none |
list |
list | none |
up <name|path|folder> |
up | skill name, path, or folder |
create <prompt|spec-path> |
create | prompt or path to spec file |
<path|name> (not a mode) |
up (default) | skill name, path, or folder |
Smart Detection: If first argument is NOT a mode keyword (list, up, create), treat entire input as target for up mode.
Examples:
/brewcode:skills→list/brewcode:skills list→list/brewcode:skills up commit→up, target=commit/brewcode:skills up ~/.claude/skills/→up, target=folder (all skills)/brewcode:skills create "semantic code search"→create, target=prompt/brewcode:skills create ./spec.md→create, target=spec file/brewcode:skills commit→up, target=commit(shorthand)/brewcode:skills brewcode/skills/setup→up, target=path (shorthand)/brewcode:skills ~/.claude/skills/→up, target=folder (shorthand)
Mode: list
List all skills (global, project, plugin).
EXECUTE using Bash tool:
bash "scripts/list-skills.sh" && echo "✅ list" || echo "❌ list FAILED"
STOP if ❌ — verify skill base directory is resolved and scripts exist.
Mode: up
Improve skill(s) via skill-creator agent.
Step 1: Resolve Target
| Target Type | Resolution |
|---|---|
Skill name (commit) |
Search in global/project/plugin skills |
Path (~/.claude/skills/commit/SKILL.md) |
Use directly |
Folder (~/.claude/skills/) |
Find all */SKILL.md in folder |
EXECUTE using Bash tool — resolve target:
TARGET="$ARGUMENTS"
# Remove "up " prefix if present (explicit mode), else use as-is (shorthand)
if [[ "$TARGET" == up\ * ]] || [[ "$TARGET" == "up" ]]; then
TARGET="${TARGET#up }"
TARGET="${TARGET#up}"
fi
TARGET="$(echo "$TARGET" | xargs)" # trim
if [[ -z "$TARGET" ]]; then
echo "❌ No target specified. Usage: /brewcode:skills up <name|path|folder>"
echo "Shorthand: /brewcode:skills <name|path|folder>"
exit 1
fi
# Check if it's a path
if [[ -d "$TARGET" ]]; then
echo "TYPE: folder"
echo "PATH: $TARGET"
find "$TARGET" -name "SKILL.md" -type f 2>/dev/null | head -20
elif [[ -f "$TARGET" ]]; then
echo "TYPE: file"
echo "PATH: $TARGET"
elif [[ -f "$TARGET/SKILL.md" ]]; then
echo "TYPE: skill-dir"
echo "PATH: $TARGET/SKILL.md"
else
# Search by name
echo "TYPE: name"
echo "NAME: $TARGET"
# Search locations
for loc in ~/.claude/skills .claude/skills; do
if [[ -f "$loc/$TARGET/SKILL.md" ]]; then
echo "FOUND: $loc/$TARGET/SKILL.md"
fi
done
fi
Step 2: Spawn skill-creator Agent(s)
Single skill: Spawn one agent.
Task tool:
subagent_type: "brewcode:skill-creator"
prompt: |
Improve this skill's activation rate and quality.
Skill path: {SKILL_PATH}
Tasks:
1. Read current SKILL.md
2. Analyze description for trigger keywords
3. Check body for imperative form, clear instructions
4. Apply skill-creator best practices
5. Update SKILL.md with improvements
Focus on:
- Description has "Use when:", "Trigger keywords:", "Triggers -"
- No summary in description (only triggers!)
- Third-person voice
- Imperative form in body
- <500 lines
model: opus
Multiple skills (folder): Spawn agents in parallel (single message).
# For each SKILL.md found, spawn in ONE Task call block:
Task tool:
subagent_type: "brewcode:skill-creator"
prompt: "Improve skill: {SKILL_PATH_1}..."
Task tool:
subagent_type: "brewcode:skill-creator"
prompt: "Improve skill: {SKILL_PATH_2}..."
# etc.
CRITICAL: Spawn ALL agents in a single message for parallel execution.
Mode: create
Research topic, then create skill via skill-creator.
Step 1: Determine Input Type
| Input | Action |
|---|---|
Path to .md file |
Read as spec |
| Text prompt | Use as research query |
Step 2: Clarify Invocation Type
Use AskUserQuestion before spawning any agents:
header: "Invocation"
question: "Who will invoke this skill?"
options:
- label: "User only (slash command)"
description: "Only via /skill-name — sets disable-model-invocation: true, simple description"
- label: "LLM auto-detect"
description: "Claude picks it up from context — full trigger keyword optimization"
- label: "Both (default)"
description: "User slash command + LLM auto-detection"
Save answer as INVOCATION_TYPE for use in Step 4.
Step 3: Parallel Research
Spawn two agents in parallel (single message):
Task tool:
subagent_type: "Explore"
prompt: |
Research codebase for: {TOPIC}
Find:
- Related existing skills
- Patterns and conventions
- Similar implementations
- Relevant file structures
Output: Summary of findings for skill creation.
Task tool:
subagent_type: "general-purpose"
prompt: |
Web research for: {TOPIC}
Search for:
- Best practices for this type of skill
- Similar tools/implementations
- Common patterns and conventions
Use WebSearch and WebFetch tools.
Output: Summary of external knowledge for skill creation.
Step 4: Create Skill
After research completes, spawn skill-creator:
Task tool:
subagent_type: "brewcode:skill-creator"
prompt: |
Create new skill based on research.
Topic: {TOPIC}
Invocation type: {INVOCATION_TYPE}
## Codebase Research
{EXPLORE_RESULTS}
## Web Research
{WEB_RESULTS}
## Requirements
- Location: .claude/skills/{skill-name}/ (project) or ~/.claude/skills/{skill-name}/ (global)
- Follow skill-creator best practices
- Optimized description for 84% activation
- Include README.md
model: opus
Output Format
# skills [{MODE}]
## Detection
| Field | Value |
|-------|-------|
| Arguments | `$ARGUMENTS` |
| Mode | `[detected mode]` |
| Target | `[target or none]` |
## Results
[Mode-specific output]
## Skills Summary
| Location | Count | Skills |
|----------|-------|--------|
| Global (~/.claude/skills/) | N | skill1, skill2 |
| Project (.claude/skills/) | N | skill3 |
| Plugins | N | plugin:skill1 |
## Next Steps
- [recommendations based on mode]