claude-all-hands 1.0.1 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/code-simplifier.md +52 -0
- package/.claude/agents/curator.md +186 -246
- package/.claude/agents/documentation-taxonomist.md +255 -0
- package/.claude/agents/documentation-writer.md +366 -0
- package/.claude/agents/planner.md +123 -166
- package/.claude/agents/researcher.md +58 -41
- package/.claude/agents/surveyor.md +81 -0
- package/.claude/agents/worker.md +74 -0
- package/.claude/commands/continue.md +122 -0
- package/.claude/commands/create-skill.md +107 -0
- package/.claude/commands/create-specialist.md +111 -0
- package/.claude/commands/curator-audit.md +4 -0
- package/.claude/commands/debug.md +183 -0
- package/.claude/commands/docs-adjust.md +214 -0
- package/.claude/commands/docs-audit.md +172 -0
- package/.claude/commands/docs-init.md +210 -0
- package/.claude/commands/plan.md +199 -102
- package/.claude/commands/validate.md +11 -0
- package/.claude/commands/whats-next.md +106 -134
- package/.claude/envoy/README.md +5 -5
- package/.claude/envoy/envoy +11 -14
- package/.claude/envoy/package-lock.json +1594 -0
- package/.claude/envoy/package.json +38 -0
- package/.claude/envoy/src/cli.ts +126 -0
- package/.claude/envoy/src/commands/base.ts +216 -0
- package/.claude/envoy/src/commands/docs.ts +881 -0
- package/.claude/envoy/src/commands/gemini.ts +999 -0
- package/.claude/envoy/src/commands/git.ts +639 -0
- package/.claude/envoy/src/commands/index.ts +73 -0
- package/.claude/envoy/src/commands/knowledge.ts +178 -0
- package/.claude/envoy/src/commands/perplexity.ts +129 -0
- package/.claude/envoy/src/commands/plan/core.ts +134 -0
- package/.claude/envoy/src/commands/plan/findings.ts +446 -0
- package/.claude/envoy/src/commands/plan/gates.ts +672 -0
- package/.claude/envoy/src/commands/plan/index.ts +135 -0
- package/.claude/envoy/src/commands/plan/lifecycle.ts +648 -0
- package/.claude/envoy/src/commands/plan/plan-file.ts +138 -0
- package/.claude/envoy/src/commands/plan/prompts.ts +285 -0
- package/.claude/envoy/src/commands/plan/protocols.ts +166 -0
- package/.claude/envoy/src/commands/repomix.ts +99 -0
- package/.claude/envoy/src/commands/tavily.ts +220 -0
- package/.claude/envoy/src/commands/xai.ts +168 -0
- package/.claude/envoy/src/lib/ast-queries.ts +261 -0
- package/.claude/envoy/src/lib/design.ts +41 -0
- package/.claude/envoy/src/lib/feedback-schemas.ts +154 -0
- package/.claude/envoy/src/lib/findings.ts +215 -0
- package/.claude/envoy/src/lib/gates.ts +572 -0
- package/.claude/envoy/src/lib/git.ts +132 -0
- package/.claude/envoy/src/lib/index.ts +188 -0
- package/.claude/envoy/src/lib/knowledge.ts +646 -0
- package/.claude/envoy/src/lib/markdown.ts +75 -0
- package/.claude/envoy/src/lib/observability.ts +262 -0
- package/.claude/envoy/src/lib/paths.ts +130 -0
- package/.claude/envoy/src/lib/plan-io.ts +117 -0
- package/.claude/envoy/src/lib/prompts.ts +231 -0
- package/.claude/envoy/src/lib/protocols.ts +314 -0
- package/.claude/envoy/src/lib/repomix.ts +133 -0
- package/.claude/envoy/src/lib/retry.ts +138 -0
- package/.claude/envoy/src/lib/tree-sitter-utils.ts +301 -0
- package/.claude/envoy/src/lib/watcher.ts +167 -0
- package/.claude/envoy/src/types/tree-sitter.d.ts +76 -0
- package/.claude/envoy/tsconfig.json +21 -0
- package/.claude/hooks/scripts/enforce_research_fetch.py +1 -1
- package/.claude/hooks/scripts/scan_agents.py +62 -0
- package/.claude/hooks/scripts/scan_commands.py +50 -0
- package/.claude/hooks/scripts/scan_skills.py +46 -70
- package/.claude/hooks/scripts/validate_artifacts.py +128 -0
- package/.claude/hooks/startup.sh +26 -24
- package/.claude/protocols/bug-discovery.yaml +55 -0
- package/.claude/protocols/debugging.yaml +51 -0
- package/.claude/protocols/discovery.yaml +53 -0
- package/.claude/protocols/implementation.yaml +84 -0
- package/.claude/settings.json +38 -97
- package/.claude/skills/brainstorming/SKILL.md +54 -0
- package/.claude/skills/commands-development/SKILL.md +630 -0
- package/.claude/skills/commands-development/references/arguments.md +252 -0
- package/.claude/skills/commands-development/references/patterns.md +796 -0
- package/.claude/skills/commands-development/references/tool-restrictions.md +376 -0
- package/.claude/skills/discovery-mode/SKILL.md +108 -0
- package/.claude/skills/documentation-taxonomy/SKILL.md +287 -0
- package/.claude/skills/hooks-development/SKILL.md +332 -0
- package/.claude/skills/hooks-development/references/command-vs-prompt.md +269 -0
- package/.claude/skills/hooks-development/references/examples.md +658 -0
- package/.claude/skills/hooks-development/references/hook-types.md +463 -0
- package/.claude/skills/hooks-development/references/input-output-schemas.md +469 -0
- package/.claude/skills/hooks-development/references/matchers.md +470 -0
- package/.claude/skills/hooks-development/references/troubleshooting.md +587 -0
- package/.claude/skills/implementation-mode/SKILL.md +171 -0
- package/.claude/skills/knowledge-discovery/SKILL.md +178 -0
- package/.claude/skills/research-tools/SKILL.md +35 -33
- package/.claude/skills/skills-development/SKILL.md +192 -0
- package/.claude/skills/skills-development/references/api-security.md +226 -0
- package/.claude/skills/skills-development/references/be-clear-and-direct.md +531 -0
- package/.claude/skills/skills-development/references/common-patterns.md +595 -0
- package/.claude/skills/skills-development/references/core-principles.md +437 -0
- package/.claude/skills/skills-development/references/executable-code.md +175 -0
- package/.claude/skills/skills-development/references/iteration-and-testing.md +474 -0
- package/.claude/skills/skills-development/references/recommended-structure.md +168 -0
- package/.claude/skills/skills-development/references/skill-structure.md +372 -0
- package/.claude/skills/skills-development/references/use-xml-tags.md +466 -0
- package/.claude/skills/skills-development/references/using-scripts.md +113 -0
- package/.claude/skills/skills-development/references/using-templates.md +112 -0
- package/.claude/skills/skills-development/references/workflows-and-validation.md +510 -0
- package/.claude/skills/skills-development/templates/router-skill.md +73 -0
- package/.claude/skills/skills-development/templates/simple-skill.md +33 -0
- package/.claude/skills/skills-development/workflows/add-reference.md +96 -0
- package/.claude/skills/skills-development/workflows/add-script.md +93 -0
- package/.claude/skills/skills-development/workflows/add-template.md +74 -0
- package/.claude/skills/skills-development/workflows/add-workflow.md +120 -0
- package/.claude/skills/skills-development/workflows/audit-skill.md +138 -0
- package/.claude/skills/skills-development/workflows/create-domain-expertise-skill.md +605 -0
- package/.claude/skills/skills-development/workflows/create-new-skill.md +191 -0
- package/.claude/skills/skills-development/workflows/get-guidance.md +121 -0
- package/.claude/skills/skills-development/workflows/upgrade-to-router.md +161 -0
- package/.claude/skills/skills-development/workflows/verify-skill.md +204 -0
- package/.claude/skills/subagents-development/SKILL.md +325 -0
- package/.claude/skills/subagents-development/references/context-management.md +567 -0
- package/.claude/skills/subagents-development/references/debugging-agents.md +714 -0
- package/.claude/skills/subagents-development/references/error-handling-and-recovery.md +502 -0
- package/.claude/skills/subagents-development/references/evaluation-and-testing.md +374 -0
- package/.claude/skills/subagents-development/references/orchestration-patterns.md +591 -0
- package/.claude/skills/subagents-development/references/subagents.md +508 -0
- package/.claude/skills/subagents-development/references/writing-subagent-prompts.md +517 -0
- package/.claude/statusline.sh +24 -0
- package/bin/cli.js +150 -72
- package/package.json +1 -1
- package/.claude/agents/explorer.md +0 -62
- package/.claude/agents/parallel-worker.md +0 -121
- package/.claude/commands/curation-fix.md +0 -92
- package/.claude/commands/new-branch.md +0 -36
- package/.claude/commands/parallel-discovery.md +0 -69
- package/.claude/commands/parallel-orchestration.md +0 -99
- package/.claude/commands/plan-checkpoint.md +0 -37
- package/.claude/envoy/commands/__init__.py +0 -1
- package/.claude/envoy/commands/base.py +0 -95
- package/.claude/envoy/commands/parallel.py +0 -439
- package/.claude/envoy/commands/perplexity.py +0 -86
- package/.claude/envoy/commands/plans.py +0 -451
- package/.claude/envoy/commands/tavily.py +0 -156
- package/.claude/envoy/commands/vertex.py +0 -358
- package/.claude/envoy/commands/xai.py +0 -124
- package/.claude/envoy/envoy.py +0 -122
- package/.claude/envoy/pyrightconfig.json +0 -4
- package/.claude/envoy/requirements.txt +0 -2
- package/.claude/hooks/capture-queries.sh +0 -3
- package/.claude/hooks/scripts/enforce_planning.py +0 -118
- package/.claude/hooks/scripts/enforce_rg.py +0 -34
- package/.claude/hooks/scripts/validate_skill.py +0 -81
- package/.claude/skills/claude-envoy-curation/SKILL.md +0 -162
- package/.claude/skills/claude-envoy-usage/SKILL.md +0 -46
- package/.claude/skills/command-development/SKILL.md +0 -206
- package/.claude/skills/command-development/examples/simple-commands.md +0 -212
- package/.claude/skills/command-development/references/frontmatter-reference.md +0 -221
- package/.claude/skills/hook-development/SKILL.md +0 -127
- package/.claude/skills/hook-development/examples/command-hooks.md +0 -301
- package/.claude/skills/hook-development/examples/prompt-hooks.md +0 -114
- package/.claude/skills/hook-development/references/event-reference.md +0 -226
- package/.claude/skills/repomix-extraction/SKILL.md +0 -91
- package/.claude/skills/skill-development/SKILL.md +0 -168
- package/.claude/skills/skill-development/examples/complete-skill-examples.md +0 -281
- package/.claude/skills/skill-development/references/progressive-disclosure.md +0 -141
- package/.claude/skills/skill-development/references/writing-style.md +0 -180
- package/.claude/skills/skill-development/scripts/validate-skill.sh +0 -144
- package/.claude/skills/specialist-builder/SKILL.md +0 -327
- package/.claude/skills/specialist-builder/docs/agent-catalog.md +0 -28
- package/.claude/skills/specialist-builder/examples/complete-agent-examples.md +0 -206
- package/.claude/skills/specialist-builder/references/system-prompt-patterns.md +0 -281
- package/.claude/skills/specialist-builder/references/triggering-examples.md +0 -162
- package/.claude/skills/specialist-builder/scripts/validate-agent.sh +0 -137
- /package/.claude/{envoy/claude-envoy.py → skills/claude-envoy-patterns/SKILL.md} +0 -0
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
# Workflow: Create a New Skill
|
|
2
|
+
|
|
3
|
+
<required_reading>
|
|
4
|
+
**Read these reference files NOW:**
|
|
5
|
+
1. references/recommended-structure.md
|
|
6
|
+
2. references/skill-structure.md
|
|
7
|
+
3. references/core-principles.md
|
|
8
|
+
4. references/use-xml-tags.md
|
|
9
|
+
</required_reading>
|
|
10
|
+
|
|
11
|
+
<process>
|
|
12
|
+
## Step 1: Adaptive Requirements Gathering
|
|
13
|
+
|
|
14
|
+
**If user provided context** (e.g., "build a skill for X"):
|
|
15
|
+
→ Analyze what's stated, what can be inferred, what's unclear
|
|
16
|
+
→ Skip to asking about genuine gaps only
|
|
17
|
+
|
|
18
|
+
**If user just invoked skill without context:**
|
|
19
|
+
→ Ask what they want to build
|
|
20
|
+
|
|
21
|
+
### Using AskUserQuestion
|
|
22
|
+
|
|
23
|
+
Ask 2-4 domain-specific questions based on actual gaps. Each question should:
|
|
24
|
+
- Have specific options with descriptions
|
|
25
|
+
- Focus on scope, complexity, outputs, boundaries
|
|
26
|
+
- NOT ask things obvious from context
|
|
27
|
+
|
|
28
|
+
Example questions:
|
|
29
|
+
- "What specific operations should this skill handle?" (with options based on domain)
|
|
30
|
+
- "Should this also handle [related thing] or stay focused on [core thing]?"
|
|
31
|
+
- "What should the user see when successful?"
|
|
32
|
+
|
|
33
|
+
### Decision Gate
|
|
34
|
+
|
|
35
|
+
After initial questions, ask:
|
|
36
|
+
"Ready to proceed with building, or would you like me to ask more questions?"
|
|
37
|
+
|
|
38
|
+
Options:
|
|
39
|
+
1. **Proceed to building** - I have enough context
|
|
40
|
+
2. **Ask more questions** - There are more details to clarify
|
|
41
|
+
3. **Let me add details** - I want to provide additional context
|
|
42
|
+
|
|
43
|
+
## Step 2: Research Trigger (If External API)
|
|
44
|
+
|
|
45
|
+
**When external service detected**, ask using AskUserQuestion:
|
|
46
|
+
"This involves [service name] API. Would you like me to research current endpoints and patterns before building?"
|
|
47
|
+
|
|
48
|
+
Options:
|
|
49
|
+
1. **Yes, research first** - Fetch current documentation for accurate implementation
|
|
50
|
+
2. **No, proceed with general patterns** - Use common patterns without specific API research
|
|
51
|
+
|
|
52
|
+
If research requested:
|
|
53
|
+
- Use Context7 MCP to fetch current library documentation
|
|
54
|
+
- Or use WebSearch for recent API documentation
|
|
55
|
+
- Focus on 2024-2025 sources
|
|
56
|
+
- Store findings for use in content generation
|
|
57
|
+
|
|
58
|
+
## Step 3: Decide Structure
|
|
59
|
+
|
|
60
|
+
**Simple skill (single workflow, <200 lines):**
|
|
61
|
+
→ Single SKILL.md file with all content
|
|
62
|
+
|
|
63
|
+
**Complex skill (multiple workflows OR domain knowledge):**
|
|
64
|
+
→ Router pattern:
|
|
65
|
+
```
|
|
66
|
+
skill-name/
|
|
67
|
+
├── SKILL.md (router + principles)
|
|
68
|
+
├── workflows/ (procedures - FOLLOW)
|
|
69
|
+
├── references/ (knowledge - READ)
|
|
70
|
+
├── templates/ (output structures - COPY + FILL)
|
|
71
|
+
└── scripts/ (reusable code - EXECUTE)
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Factors favoring router pattern:
|
|
75
|
+
- Multiple distinct user intents (create vs debug vs ship)
|
|
76
|
+
- Shared domain knowledge across workflows
|
|
77
|
+
- Essential principles that must not be skipped
|
|
78
|
+
- Skill likely to grow over time
|
|
79
|
+
|
|
80
|
+
**Consider templates/ when:**
|
|
81
|
+
- Skill produces consistent output structures (plans, specs, reports)
|
|
82
|
+
- Structure matters more than creative generation
|
|
83
|
+
|
|
84
|
+
**Consider scripts/ when:**
|
|
85
|
+
- Same code runs across invocations (deploy, setup, API calls)
|
|
86
|
+
- Operations are error-prone when rewritten each time
|
|
87
|
+
|
|
88
|
+
See references/recommended-structure.md for templates.
|
|
89
|
+
|
|
90
|
+
## Step 4: Create Directory
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
mkdir -p ~/.claude/skills/{skill-name}
|
|
94
|
+
# If complex:
|
|
95
|
+
mkdir -p ~/.claude/skills/{skill-name}/workflows
|
|
96
|
+
mkdir -p ~/.claude/skills/{skill-name}/references
|
|
97
|
+
# If needed:
|
|
98
|
+
mkdir -p ~/.claude/skills/{skill-name}/templates # for output structures
|
|
99
|
+
mkdir -p ~/.claude/skills/{skill-name}/scripts # for reusable code
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## Step 5: Write SKILL.md
|
|
103
|
+
|
|
104
|
+
**Simple skill:** Write complete skill file with:
|
|
105
|
+
- YAML frontmatter (name, description)
|
|
106
|
+
- `<objective>`
|
|
107
|
+
- `<quick_start>`
|
|
108
|
+
- Content sections with pure XML
|
|
109
|
+
- `<success_criteria>`
|
|
110
|
+
|
|
111
|
+
**Complex skill:** Write router with:
|
|
112
|
+
- YAML frontmatter
|
|
113
|
+
- `<essential_principles>` (inline, unavoidable)
|
|
114
|
+
- `<intake>` (question to ask user)
|
|
115
|
+
- `<routing>` (maps answers to workflows)
|
|
116
|
+
- `<reference_index>` and `<workflows_index>`
|
|
117
|
+
|
|
118
|
+
## Step 6: Write Workflows (if complex)
|
|
119
|
+
|
|
120
|
+
For each workflow:
|
|
121
|
+
```xml
|
|
122
|
+
<required_reading>
|
|
123
|
+
Which references to load for this workflow
|
|
124
|
+
</required_reading>
|
|
125
|
+
|
|
126
|
+
<process>
|
|
127
|
+
Step-by-step procedure
|
|
128
|
+
</process>
|
|
129
|
+
|
|
130
|
+
<success_criteria>
|
|
131
|
+
How to know this workflow is done
|
|
132
|
+
</success_criteria>
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## Step 7: Write References (if needed)
|
|
136
|
+
|
|
137
|
+
Domain knowledge that:
|
|
138
|
+
- Multiple workflows might need
|
|
139
|
+
- Doesn't change based on workflow
|
|
140
|
+
- Contains patterns, examples, technical details
|
|
141
|
+
|
|
142
|
+
## Step 8: Validate Structure
|
|
143
|
+
|
|
144
|
+
Check:
|
|
145
|
+
- [ ] YAML frontmatter valid
|
|
146
|
+
- [ ] Name matches directory (lowercase-with-hyphens)
|
|
147
|
+
- [ ] Description says what it does AND when to use it (third person)
|
|
148
|
+
- [ ] No markdown headings (#) in body - use XML tags
|
|
149
|
+
- [ ] Required tags present: objective, quick_start, success_criteria
|
|
150
|
+
- [ ] All referenced files exist
|
|
151
|
+
- [ ] SKILL.md under 500 lines
|
|
152
|
+
- [ ] XML tags properly closed
|
|
153
|
+
|
|
154
|
+
## Step 9: Create Slash Command
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
cat > ~/.claude/commands/{skill-name}.md << 'EOF'
|
|
158
|
+
---
|
|
159
|
+
description: {Brief description}
|
|
160
|
+
argument-hint: [{argument hint}]
|
|
161
|
+
allowed-tools: Skill({skill-name})
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
Invoke the {skill-name} skill for: $ARGUMENTS
|
|
165
|
+
EOF
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
## Step 10: Test
|
|
169
|
+
|
|
170
|
+
Invoke the skill and observe:
|
|
171
|
+
- Does it ask the right intake question?
|
|
172
|
+
- Does it load the right workflow?
|
|
173
|
+
- Does the workflow load the right references?
|
|
174
|
+
- Does output match expectations?
|
|
175
|
+
|
|
176
|
+
Iterate based on real usage, not assumptions.
|
|
177
|
+
</process>
|
|
178
|
+
|
|
179
|
+
<success_criteria>
|
|
180
|
+
Skill is complete when:
|
|
181
|
+
- [ ] Requirements gathered with appropriate questions
|
|
182
|
+
- [ ] API research done if external service involved
|
|
183
|
+
- [ ] Directory structure correct
|
|
184
|
+
- [ ] SKILL.md has valid frontmatter
|
|
185
|
+
- [ ] Essential principles inline (if complex skill)
|
|
186
|
+
- [ ] Intake question routes to correct workflow
|
|
187
|
+
- [ ] All workflows have required_reading + process + success_criteria
|
|
188
|
+
- [ ] References contain reusable domain knowledge
|
|
189
|
+
- [ ] Slash command exists and works
|
|
190
|
+
- [ ] Tested with real invocation
|
|
191
|
+
</success_criteria>
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# Workflow: Get Guidance on Skill Design
|
|
2
|
+
|
|
3
|
+
<required_reading>
|
|
4
|
+
**Read these reference files NOW:**
|
|
5
|
+
1. references/core-principles.md
|
|
6
|
+
2. references/recommended-structure.md
|
|
7
|
+
</required_reading>
|
|
8
|
+
|
|
9
|
+
<process>
|
|
10
|
+
## Step 1: Understand the Problem Space
|
|
11
|
+
|
|
12
|
+
Ask the user:
|
|
13
|
+
- What task or domain are you trying to support?
|
|
14
|
+
- Is this something you do repeatedly?
|
|
15
|
+
- What makes it complex enough to need a skill?
|
|
16
|
+
|
|
17
|
+
## Step 2: Determine If a Skill Is Right
|
|
18
|
+
|
|
19
|
+
**Create a skill when:**
|
|
20
|
+
- Task is repeated across multiple sessions
|
|
21
|
+
- Domain knowledge doesn't change frequently
|
|
22
|
+
- Complex enough to benefit from structure
|
|
23
|
+
- Would save significant time if automated
|
|
24
|
+
|
|
25
|
+
**Don't create a skill when:**
|
|
26
|
+
- One-off task (just do it directly)
|
|
27
|
+
- Changes constantly (will be outdated quickly)
|
|
28
|
+
- Too simple (overhead isn't worth it)
|
|
29
|
+
- Better as a slash command (user-triggered, no context needed)
|
|
30
|
+
|
|
31
|
+
Share this assessment with user.
|
|
32
|
+
|
|
33
|
+
## Step 3: Map the Workflows
|
|
34
|
+
|
|
35
|
+
Ask: "What are the different things someone might want to do with this skill?"
|
|
36
|
+
|
|
37
|
+
Common patterns:
|
|
38
|
+
- Create / Read / Update / Delete
|
|
39
|
+
- Build / Debug / Ship
|
|
40
|
+
- Setup / Use / Troubleshoot
|
|
41
|
+
- Import / Process / Export
|
|
42
|
+
|
|
43
|
+
Each distinct workflow = potential workflow file.
|
|
44
|
+
|
|
45
|
+
## Step 4: Identify Domain Knowledge
|
|
46
|
+
|
|
47
|
+
Ask: "What knowledge is needed regardless of which workflow?"
|
|
48
|
+
|
|
49
|
+
This becomes references:
|
|
50
|
+
- API patterns
|
|
51
|
+
- Best practices
|
|
52
|
+
- Common examples
|
|
53
|
+
- Configuration details
|
|
54
|
+
|
|
55
|
+
## Step 5: Draft the Structure
|
|
56
|
+
|
|
57
|
+
Based on answers, recommend structure:
|
|
58
|
+
|
|
59
|
+
**If 1 workflow, simple knowledge:**
|
|
60
|
+
```
|
|
61
|
+
skill-name/
|
|
62
|
+
└── SKILL.md (everything in one file)
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**If 2+ workflows, shared knowledge:**
|
|
66
|
+
```
|
|
67
|
+
skill-name/
|
|
68
|
+
├── SKILL.md (router)
|
|
69
|
+
├── workflows/
|
|
70
|
+
│ ├── workflow-a.md
|
|
71
|
+
│ └── workflow-b.md
|
|
72
|
+
└── references/
|
|
73
|
+
└── shared-knowledge.md
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Step 6: Identify Essential Principles
|
|
77
|
+
|
|
78
|
+
Ask: "What rules should ALWAYS apply, no matter which workflow?"
|
|
79
|
+
|
|
80
|
+
These become `<essential_principles>` in SKILL.md.
|
|
81
|
+
|
|
82
|
+
Examples:
|
|
83
|
+
- "Always verify before reporting success"
|
|
84
|
+
- "Never store credentials in code"
|
|
85
|
+
- "Ask before making destructive changes"
|
|
86
|
+
|
|
87
|
+
## Step 7: Present Recommendation
|
|
88
|
+
|
|
89
|
+
Summarize:
|
|
90
|
+
- Recommended structure (simple vs router pattern)
|
|
91
|
+
- List of workflows
|
|
92
|
+
- List of references
|
|
93
|
+
- Essential principles
|
|
94
|
+
|
|
95
|
+
Ask: "Does this structure make sense? Ready to build it?"
|
|
96
|
+
|
|
97
|
+
If yes → offer to switch to "Create a new skill" workflow
|
|
98
|
+
If no → clarify and iterate
|
|
99
|
+
</process>
|
|
100
|
+
|
|
101
|
+
<decision_framework>
|
|
102
|
+
## Quick Decision Framework
|
|
103
|
+
|
|
104
|
+
| Situation | Recommendation |
|
|
105
|
+
|-----------|----------------|
|
|
106
|
+
| Single task, repeat often | Simple skill |
|
|
107
|
+
| Multiple related tasks | Router + workflows |
|
|
108
|
+
| Complex domain, many patterns | Router + workflows + references |
|
|
109
|
+
| User-triggered, fresh context | Slash command, not skill |
|
|
110
|
+
| One-off task | No skill needed |
|
|
111
|
+
</decision_framework>
|
|
112
|
+
|
|
113
|
+
<success_criteria>
|
|
114
|
+
Guidance is complete when:
|
|
115
|
+
- [ ] User understands if they need a skill
|
|
116
|
+
- [ ] Structure is recommended and explained
|
|
117
|
+
- [ ] Workflows are identified
|
|
118
|
+
- [ ] References are identified
|
|
119
|
+
- [ ] Essential principles are identified
|
|
120
|
+
- [ ] User is ready to build (or decided not to)
|
|
121
|
+
</success_criteria>
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
# Workflow: Upgrade Skill to Router Pattern
|
|
2
|
+
|
|
3
|
+
<required_reading>
|
|
4
|
+
**Read these reference files NOW:**
|
|
5
|
+
1. references/recommended-structure.md
|
|
6
|
+
2. references/skill-structure.md
|
|
7
|
+
</required_reading>
|
|
8
|
+
|
|
9
|
+
<process>
|
|
10
|
+
## Step 1: Select the Skill
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
ls ~/.claude/skills/
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Present numbered list, ask: "Which skill should be upgraded to the router pattern?"
|
|
17
|
+
|
|
18
|
+
## Step 2: Verify It Needs Upgrading
|
|
19
|
+
|
|
20
|
+
Read the skill:
|
|
21
|
+
```bash
|
|
22
|
+
cat ~/.claude/skills/{skill-name}/SKILL.md
|
|
23
|
+
ls ~/.claude/skills/{skill-name}/
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
**Already a router?** (has workflows/ and intake question)
|
|
27
|
+
→ Tell user it's already using router pattern, offer to add workflows instead
|
|
28
|
+
|
|
29
|
+
**Simple skill that should stay simple?** (under 200 lines, single workflow)
|
|
30
|
+
→ Explain that router pattern may be overkill, ask if they want to proceed anyway
|
|
31
|
+
|
|
32
|
+
**Good candidate for upgrade:**
|
|
33
|
+
- Over 200 lines
|
|
34
|
+
- Multiple distinct use cases
|
|
35
|
+
- Essential principles that shouldn't be skipped
|
|
36
|
+
- Growing complexity
|
|
37
|
+
|
|
38
|
+
## Step 3: Identify Components
|
|
39
|
+
|
|
40
|
+
Analyze the current skill and identify:
|
|
41
|
+
|
|
42
|
+
1. **Essential principles** - Rules that apply to ALL use cases
|
|
43
|
+
2. **Distinct workflows** - Different things a user might want to do
|
|
44
|
+
3. **Reusable knowledge** - Patterns, examples, technical details
|
|
45
|
+
|
|
46
|
+
Present findings:
|
|
47
|
+
```
|
|
48
|
+
## Analysis
|
|
49
|
+
|
|
50
|
+
**Essential principles I found:**
|
|
51
|
+
- [Principle 1]
|
|
52
|
+
- [Principle 2]
|
|
53
|
+
|
|
54
|
+
**Distinct workflows I identified:**
|
|
55
|
+
- [Workflow A]: [description]
|
|
56
|
+
- [Workflow B]: [description]
|
|
57
|
+
|
|
58
|
+
**Knowledge that could be references:**
|
|
59
|
+
- [Reference topic 1]
|
|
60
|
+
- [Reference topic 2]
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Ask: "Does this breakdown look right? Any adjustments?"
|
|
64
|
+
|
|
65
|
+
## Step 4: Create Directory Structure
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
mkdir -p ~/.claude/skills/{skill-name}/workflows
|
|
69
|
+
mkdir -p ~/.claude/skills/{skill-name}/references
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Step 5: Extract Workflows
|
|
73
|
+
|
|
74
|
+
For each identified workflow:
|
|
75
|
+
|
|
76
|
+
1. Create `workflows/{workflow-name}.md`
|
|
77
|
+
2. Add required_reading section (references it needs)
|
|
78
|
+
3. Add process section (steps from original skill)
|
|
79
|
+
4. Add success_criteria section
|
|
80
|
+
|
|
81
|
+
## Step 6: Extract References
|
|
82
|
+
|
|
83
|
+
For each identified reference topic:
|
|
84
|
+
|
|
85
|
+
1. Create `references/{reference-name}.md`
|
|
86
|
+
2. Move relevant content from original skill
|
|
87
|
+
3. Structure with semantic XML tags
|
|
88
|
+
|
|
89
|
+
## Step 7: Rewrite SKILL.md as Router
|
|
90
|
+
|
|
91
|
+
Replace SKILL.md with router structure:
|
|
92
|
+
|
|
93
|
+
```markdown
|
|
94
|
+
---
|
|
95
|
+
name: {skill-name}
|
|
96
|
+
description: {existing description}
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
<essential_principles>
|
|
100
|
+
[Extracted principles - inline, cannot be skipped]
|
|
101
|
+
</essential_principles>
|
|
102
|
+
|
|
103
|
+
<intake>
|
|
104
|
+
**Ask the user:**
|
|
105
|
+
|
|
106
|
+
What would you like to do?
|
|
107
|
+
1. [Workflow A option]
|
|
108
|
+
2. [Workflow B option]
|
|
109
|
+
...
|
|
110
|
+
|
|
111
|
+
**Wait for response before proceeding.**
|
|
112
|
+
</intake>
|
|
113
|
+
|
|
114
|
+
<routing>
|
|
115
|
+
| Response | Workflow |
|
|
116
|
+
|----------|----------|
|
|
117
|
+
| 1, "keywords" | `workflows/workflow-a.md` |
|
|
118
|
+
| 2, "keywords" | `workflows/workflow-b.md` |
|
|
119
|
+
</routing>
|
|
120
|
+
|
|
121
|
+
<reference_index>
|
|
122
|
+
[List all references by category]
|
|
123
|
+
</reference_index>
|
|
124
|
+
|
|
125
|
+
<workflows_index>
|
|
126
|
+
| Workflow | Purpose |
|
|
127
|
+
|----------|---------|
|
|
128
|
+
| workflow-a.md | [What it does] |
|
|
129
|
+
| workflow-b.md | [What it does] |
|
|
130
|
+
</workflows_index>
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## Step 8: Verify Nothing Was Lost
|
|
134
|
+
|
|
135
|
+
Compare original skill content against new structure:
|
|
136
|
+
- [ ] All principles preserved (now inline)
|
|
137
|
+
- [ ] All procedures preserved (now in workflows)
|
|
138
|
+
- [ ] All knowledge preserved (now in references)
|
|
139
|
+
- [ ] No orphaned content
|
|
140
|
+
|
|
141
|
+
## Step 9: Test
|
|
142
|
+
|
|
143
|
+
Invoke the upgraded skill:
|
|
144
|
+
- Does intake question appear?
|
|
145
|
+
- Does each routing option work?
|
|
146
|
+
- Do workflows load correct references?
|
|
147
|
+
- Does behavior match original skill?
|
|
148
|
+
|
|
149
|
+
Report any issues.
|
|
150
|
+
</process>
|
|
151
|
+
|
|
152
|
+
<success_criteria>
|
|
153
|
+
Upgrade is complete when:
|
|
154
|
+
- [ ] workflows/ directory created with workflow files
|
|
155
|
+
- [ ] references/ directory created (if needed)
|
|
156
|
+
- [ ] SKILL.md rewritten as router
|
|
157
|
+
- [ ] Essential principles inline in SKILL.md
|
|
158
|
+
- [ ] All original content preserved
|
|
159
|
+
- [ ] Intake question routes correctly
|
|
160
|
+
- [ ] Tested and working
|
|
161
|
+
</success_criteria>
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
# Workflow: Verify Skill Content Accuracy
|
|
2
|
+
|
|
3
|
+
<required_reading>
|
|
4
|
+
**Read these reference files NOW:**
|
|
5
|
+
1. references/skill-structure.md
|
|
6
|
+
</required_reading>
|
|
7
|
+
|
|
8
|
+
<purpose>
|
|
9
|
+
Audit checks structure. **Verify checks truth.**
|
|
10
|
+
|
|
11
|
+
Skills contain claims about external things: APIs, CLI tools, frameworks, services. These change over time. This workflow checks if a skill's content is still accurate.
|
|
12
|
+
</purpose>
|
|
13
|
+
|
|
14
|
+
<process>
|
|
15
|
+
## Step 1: Select the Skill
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
ls ~/.claude/skills/
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Present numbered list, ask: "Which skill should I verify for accuracy?"
|
|
22
|
+
|
|
23
|
+
## Step 2: Read and Categorize
|
|
24
|
+
|
|
25
|
+
Read the entire skill (SKILL.md + workflows/ + references/):
|
|
26
|
+
```bash
|
|
27
|
+
cat ~/.claude/skills/{skill-name}/SKILL.md
|
|
28
|
+
cat ~/.claude/skills/{skill-name}/workflows/*.md 2>/dev/null
|
|
29
|
+
cat ~/.claude/skills/{skill-name}/references/*.md 2>/dev/null
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Categorize by primary dependency type:
|
|
33
|
+
|
|
34
|
+
| Type | Examples | Verification Method |
|
|
35
|
+
|------|----------|---------------------|
|
|
36
|
+
| **API/Service** | manage-stripe, manage-gohighlevel | Context7 + WebSearch |
|
|
37
|
+
| **CLI Tools** | build-macos-apps (xcodebuild, swift) | Run commands |
|
|
38
|
+
| **Framework** | build-iphone-apps (SwiftUI, UIKit) | Context7 for docs |
|
|
39
|
+
| **Integration** | setup-stripe-payments | WebFetch + Context7 |
|
|
40
|
+
| **Pure Process** | create-agent-skills | No external deps |
|
|
41
|
+
|
|
42
|
+
Report: "This skill is primarily [type]-based. I'll verify using [method]."
|
|
43
|
+
|
|
44
|
+
## Step 3: Extract Verifiable Claims
|
|
45
|
+
|
|
46
|
+
Scan skill content and extract:
|
|
47
|
+
|
|
48
|
+
**CLI Tools mentioned:**
|
|
49
|
+
- Tool names (xcodebuild, swift, npm, etc.)
|
|
50
|
+
- Specific flags/options documented
|
|
51
|
+
- Expected output patterns
|
|
52
|
+
|
|
53
|
+
**API Endpoints:**
|
|
54
|
+
- Service names (Stripe, Meta, etc.)
|
|
55
|
+
- Specific endpoints documented
|
|
56
|
+
- Authentication methods
|
|
57
|
+
- SDK versions
|
|
58
|
+
|
|
59
|
+
**Framework Patterns:**
|
|
60
|
+
- Framework names (SwiftUI, React, etc.)
|
|
61
|
+
- Specific APIs/patterns documented
|
|
62
|
+
- Version-specific features
|
|
63
|
+
|
|
64
|
+
**File Paths/Structures:**
|
|
65
|
+
- Expected project structures
|
|
66
|
+
- Config file locations
|
|
67
|
+
|
|
68
|
+
Present: "Found X verifiable claims to check."
|
|
69
|
+
|
|
70
|
+
## Step 4: Verify by Type
|
|
71
|
+
|
|
72
|
+
### For CLI Tools
|
|
73
|
+
```bash
|
|
74
|
+
# Check tool exists
|
|
75
|
+
which {tool-name}
|
|
76
|
+
|
|
77
|
+
# Check version
|
|
78
|
+
{tool-name} --version
|
|
79
|
+
|
|
80
|
+
# Verify documented flags work
|
|
81
|
+
{tool-name} --help | grep "{documented-flag}"
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### For API/Service Skills
|
|
85
|
+
Use Context7 to fetch current documentation:
|
|
86
|
+
```
|
|
87
|
+
mcp__context7__resolve-library-id: {service-name}
|
|
88
|
+
mcp__context7__get-library-docs: {library-id}, topic: {relevant-topic}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Compare skill's documented patterns against current docs:
|
|
92
|
+
- Are endpoints still valid?
|
|
93
|
+
- Has authentication changed?
|
|
94
|
+
- Are there deprecated methods being used?
|
|
95
|
+
|
|
96
|
+
### For Framework Skills
|
|
97
|
+
Use Context7:
|
|
98
|
+
```
|
|
99
|
+
mcp__context7__resolve-library-id: {framework-name}
|
|
100
|
+
mcp__context7__get-library-docs: {library-id}, topic: {specific-api}
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Check:
|
|
104
|
+
- Are documented APIs still current?
|
|
105
|
+
- Have patterns changed?
|
|
106
|
+
- Are there newer recommended approaches?
|
|
107
|
+
|
|
108
|
+
### For Integration Skills
|
|
109
|
+
WebSearch for recent changes:
|
|
110
|
+
```
|
|
111
|
+
"[service name] API changes 2025"
|
|
112
|
+
"[service name] breaking changes"
|
|
113
|
+
"[service name] deprecated endpoints"
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Then Context7 for current SDK patterns.
|
|
117
|
+
|
|
118
|
+
### For Services with Status Pages
|
|
119
|
+
WebFetch official docs/changelog if available.
|
|
120
|
+
|
|
121
|
+
## Step 5: Generate Freshness Report
|
|
122
|
+
|
|
123
|
+
Present findings:
|
|
124
|
+
|
|
125
|
+
```
|
|
126
|
+
## Verification Report: {skill-name}
|
|
127
|
+
|
|
128
|
+
### ✅ Verified Current
|
|
129
|
+
- [Claim]: [Evidence it's still accurate]
|
|
130
|
+
|
|
131
|
+
### ⚠️ May Be Outdated
|
|
132
|
+
- [Claim]: [What changed / newer info found]
|
|
133
|
+
→ Current: [what docs now say]
|
|
134
|
+
|
|
135
|
+
### ❌ Broken / Invalid
|
|
136
|
+
- [Claim]: [Why it's wrong]
|
|
137
|
+
→ Fix: [What it should be]
|
|
138
|
+
|
|
139
|
+
### ℹ️ Could Not Verify
|
|
140
|
+
- [Claim]: [Why verification wasn't possible]
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
**Overall Status:** [Fresh / Needs Updates / Significantly Stale]
|
|
144
|
+
**Last Verified:** [Today's date]
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## Step 6: Offer Updates
|
|
148
|
+
|
|
149
|
+
If issues found:
|
|
150
|
+
|
|
151
|
+
"Found [N] items that need updating. Would you like me to:"
|
|
152
|
+
|
|
153
|
+
1. **Update all** - Apply all corrections
|
|
154
|
+
2. **Review each** - Show each change before applying
|
|
155
|
+
3. **Just the report** - No changes
|
|
156
|
+
|
|
157
|
+
If updating:
|
|
158
|
+
- Make changes based on verified current information
|
|
159
|
+
- Add verification date comment if appropriate
|
|
160
|
+
- Report what was updated
|
|
161
|
+
|
|
162
|
+
## Step 7: Suggest Verification Schedule
|
|
163
|
+
|
|
164
|
+
Based on skill type, recommend:
|
|
165
|
+
|
|
166
|
+
| Skill Type | Recommended Frequency |
|
|
167
|
+
|------------|----------------------|
|
|
168
|
+
| API/Service | Every 1-2 months |
|
|
169
|
+
| Framework | Every 3-6 months |
|
|
170
|
+
| CLI Tools | Every 6 months |
|
|
171
|
+
| Pure Process | Annually |
|
|
172
|
+
|
|
173
|
+
"This skill should be re-verified in approximately [timeframe]."
|
|
174
|
+
</process>
|
|
175
|
+
|
|
176
|
+
<verification_shortcuts>
|
|
177
|
+
## Quick Verification Commands
|
|
178
|
+
|
|
179
|
+
**Check if CLI tool exists and get version:**
|
|
180
|
+
```bash
|
|
181
|
+
which {tool} && {tool} --version
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
**Context7 pattern for any library:**
|
|
185
|
+
```
|
|
186
|
+
1. resolve-library-id: "{library-name}"
|
|
187
|
+
2. get-library-docs: "{id}", topic: "{specific-feature}"
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
**WebSearch patterns:**
|
|
191
|
+
- Breaking changes: "{service} breaking changes 2025"
|
|
192
|
+
- Deprecations: "{service} deprecated API"
|
|
193
|
+
- Current best practices: "{framework} best practices 2025"
|
|
194
|
+
</verification_shortcuts>
|
|
195
|
+
|
|
196
|
+
<success_criteria>
|
|
197
|
+
Verification is complete when:
|
|
198
|
+
- [ ] Skill categorized by dependency type
|
|
199
|
+
- [ ] Verifiable claims extracted
|
|
200
|
+
- [ ] Each claim checked with appropriate method
|
|
201
|
+
- [ ] Freshness report generated
|
|
202
|
+
- [ ] Updates applied (if requested)
|
|
203
|
+
- [ ] User knows when to re-verify
|
|
204
|
+
</success_criteria>
|