claude-all-hands 1.0.1 → 1.0.2

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.
Files changed (160) hide show
  1. package/.claude/agents/code-simplifier.md +52 -0
  2. package/.claude/agents/curator.md +189 -245
  3. package/.claude/agents/documentor.md +147 -0
  4. package/.claude/agents/planner.md +123 -166
  5. package/.claude/agents/researcher.md +58 -41
  6. package/.claude/agents/surveyor.md +81 -0
  7. package/.claude/agents/worker.md +74 -0
  8. package/.claude/commands/audit-docs.md +94 -0
  9. package/.claude/commands/continue.md +120 -0
  10. package/.claude/commands/create-docs.md +100 -0
  11. package/.claude/commands/create-skill.md +107 -0
  12. package/.claude/commands/create-specialist.md +111 -0
  13. package/.claude/commands/curator-audit.md +4 -0
  14. package/.claude/commands/debug.md +183 -0
  15. package/.claude/commands/plan.md +199 -102
  16. package/.claude/commands/validate.md +11 -0
  17. package/.claude/commands/whats-next.md +106 -134
  18. package/.claude/envoy/envoy +11 -14
  19. package/.claude/envoy/package-lock.json +1388 -0
  20. package/.claude/envoy/package.json +29 -0
  21. package/.claude/envoy/src/cli.ts +126 -0
  22. package/.claude/envoy/src/commands/base.ts +216 -0
  23. package/.claude/envoy/src/commands/gemini.ts +999 -0
  24. package/.claude/envoy/src/commands/git.ts +639 -0
  25. package/.claude/envoy/src/commands/index.ts +73 -0
  26. package/.claude/envoy/src/commands/knowledge.ts +187 -0
  27. package/.claude/envoy/src/commands/perplexity.ts +129 -0
  28. package/.claude/envoy/src/commands/plan/core.ts +134 -0
  29. package/.claude/envoy/src/commands/plan/findings.ts +446 -0
  30. package/.claude/envoy/src/commands/plan/gates.ts +672 -0
  31. package/.claude/envoy/src/commands/plan/index.ts +135 -0
  32. package/.claude/envoy/src/commands/plan/lifecycle.ts +648 -0
  33. package/.claude/envoy/src/commands/plan/plan-file.ts +138 -0
  34. package/.claude/envoy/src/commands/plan/prompts.ts +285 -0
  35. package/.claude/envoy/src/commands/plan/protocols.ts +166 -0
  36. package/.claude/envoy/src/commands/repomix.ts +99 -0
  37. package/.claude/envoy/src/commands/tavily.ts +220 -0
  38. package/.claude/envoy/src/commands/xai.ts +168 -0
  39. package/.claude/envoy/src/lib/design.ts +41 -0
  40. package/.claude/envoy/src/lib/feedback-schemas.ts +154 -0
  41. package/.claude/envoy/src/lib/findings.ts +215 -0
  42. package/.claude/envoy/src/lib/gates.ts +572 -0
  43. package/.claude/envoy/src/lib/git.ts +132 -0
  44. package/.claude/envoy/src/lib/index.ts +188 -0
  45. package/.claude/envoy/src/lib/knowledge.ts +594 -0
  46. package/.claude/envoy/src/lib/markdown.ts +75 -0
  47. package/.claude/envoy/src/lib/observability.ts +262 -0
  48. package/.claude/envoy/src/lib/paths.ts +130 -0
  49. package/.claude/envoy/src/lib/plan-io.ts +117 -0
  50. package/.claude/envoy/src/lib/prompts.ts +231 -0
  51. package/.claude/envoy/src/lib/protocols.ts +314 -0
  52. package/.claude/envoy/src/lib/repomix.ts +133 -0
  53. package/.claude/envoy/src/lib/retry.ts +138 -0
  54. package/.claude/envoy/src/lib/watcher.ts +167 -0
  55. package/.claude/envoy/tsconfig.json +21 -0
  56. package/.claude/hooks/scripts/scan_agents.py +62 -0
  57. package/.claude/hooks/scripts/scan_commands.py +50 -0
  58. package/.claude/hooks/scripts/scan_skills.py +46 -70
  59. package/.claude/hooks/scripts/validate_artifacts.py +128 -0
  60. package/.claude/hooks/startup.sh +26 -24
  61. package/.claude/protocols/bug-discovery.yaml +55 -0
  62. package/.claude/protocols/debugging.yaml +51 -0
  63. package/.claude/protocols/discovery.yaml +53 -0
  64. package/.claude/protocols/implementation.yaml +84 -0
  65. package/.claude/settings.json +37 -97
  66. package/.claude/skills/brainstorming/SKILL.md +54 -0
  67. package/.claude/skills/commands-development/SKILL.md +630 -0
  68. package/.claude/skills/commands-development/references/arguments.md +252 -0
  69. package/.claude/skills/commands-development/references/patterns.md +796 -0
  70. package/.claude/skills/commands-development/references/tool-restrictions.md +376 -0
  71. package/.claude/skills/discovery-mode/SKILL.md +108 -0
  72. package/.claude/skills/hooks-development/SKILL.md +332 -0
  73. package/.claude/skills/hooks-development/references/command-vs-prompt.md +269 -0
  74. package/.claude/skills/hooks-development/references/examples.md +658 -0
  75. package/.claude/skills/hooks-development/references/hook-types.md +463 -0
  76. package/.claude/skills/hooks-development/references/input-output-schemas.md +469 -0
  77. package/.claude/skills/hooks-development/references/matchers.md +470 -0
  78. package/.claude/skills/hooks-development/references/troubleshooting.md +587 -0
  79. package/.claude/skills/implementation-mode/SKILL.md +171 -0
  80. package/.claude/skills/research-tools/SKILL.md +35 -33
  81. package/.claude/skills/skills-development/SKILL.md +192 -0
  82. package/.claude/skills/skills-development/references/api-security.md +226 -0
  83. package/.claude/skills/skills-development/references/be-clear-and-direct.md +531 -0
  84. package/.claude/skills/skills-development/references/common-patterns.md +595 -0
  85. package/.claude/skills/skills-development/references/core-principles.md +437 -0
  86. package/.claude/skills/skills-development/references/executable-code.md +175 -0
  87. package/.claude/skills/skills-development/references/iteration-and-testing.md +474 -0
  88. package/.claude/skills/skills-development/references/recommended-structure.md +168 -0
  89. package/.claude/skills/skills-development/references/skill-structure.md +372 -0
  90. package/.claude/skills/skills-development/references/use-xml-tags.md +466 -0
  91. package/.claude/skills/skills-development/references/using-scripts.md +113 -0
  92. package/.claude/skills/skills-development/references/using-templates.md +112 -0
  93. package/.claude/skills/skills-development/references/workflows-and-validation.md +510 -0
  94. package/.claude/skills/skills-development/templates/router-skill.md +73 -0
  95. package/.claude/skills/skills-development/templates/simple-skill.md +33 -0
  96. package/.claude/skills/skills-development/workflows/add-reference.md +96 -0
  97. package/.claude/skills/skills-development/workflows/add-script.md +93 -0
  98. package/.claude/skills/skills-development/workflows/add-template.md +74 -0
  99. package/.claude/skills/skills-development/workflows/add-workflow.md +120 -0
  100. package/.claude/skills/skills-development/workflows/audit-skill.md +138 -0
  101. package/.claude/skills/skills-development/workflows/create-domain-expertise-skill.md +605 -0
  102. package/.claude/skills/skills-development/workflows/create-new-skill.md +191 -0
  103. package/.claude/skills/skills-development/workflows/get-guidance.md +121 -0
  104. package/.claude/skills/skills-development/workflows/upgrade-to-router.md +161 -0
  105. package/.claude/skills/skills-development/workflows/verify-skill.md +204 -0
  106. package/.claude/skills/subagents-development/SKILL.md +325 -0
  107. package/.claude/skills/subagents-development/references/context-management.md +567 -0
  108. package/.claude/skills/subagents-development/references/debugging-agents.md +714 -0
  109. package/.claude/skills/subagents-development/references/error-handling-and-recovery.md +502 -0
  110. package/.claude/skills/subagents-development/references/evaluation-and-testing.md +374 -0
  111. package/.claude/skills/subagents-development/references/orchestration-patterns.md +591 -0
  112. package/.claude/skills/subagents-development/references/subagents.md +508 -0
  113. package/.claude/skills/subagents-development/references/writing-subagent-prompts.md +517 -0
  114. package/.claude/statusline.sh +24 -0
  115. package/bin/cli.js +110 -72
  116. package/package.json +1 -1
  117. package/.claude/agents/explorer.md +0 -62
  118. package/.claude/agents/parallel-worker.md +0 -121
  119. package/.claude/commands/curation-fix.md +0 -92
  120. package/.claude/commands/new-branch.md +0 -36
  121. package/.claude/commands/parallel-discovery.md +0 -69
  122. package/.claude/commands/parallel-orchestration.md +0 -99
  123. package/.claude/commands/plan-checkpoint.md +0 -37
  124. package/.claude/envoy/commands/__init__.py +0 -1
  125. package/.claude/envoy/commands/base.py +0 -95
  126. package/.claude/envoy/commands/parallel.py +0 -439
  127. package/.claude/envoy/commands/perplexity.py +0 -86
  128. package/.claude/envoy/commands/plans.py +0 -451
  129. package/.claude/envoy/commands/tavily.py +0 -156
  130. package/.claude/envoy/commands/vertex.py +0 -358
  131. package/.claude/envoy/commands/xai.py +0 -124
  132. package/.claude/envoy/envoy.py +0 -122
  133. package/.claude/envoy/pyrightconfig.json +0 -4
  134. package/.claude/envoy/requirements.txt +0 -2
  135. package/.claude/hooks/capture-queries.sh +0 -3
  136. package/.claude/hooks/scripts/enforce_planning.py +0 -118
  137. package/.claude/hooks/scripts/enforce_rg.py +0 -34
  138. package/.claude/hooks/scripts/validate_skill.py +0 -81
  139. package/.claude/skills/claude-envoy-curation/SKILL.md +0 -162
  140. package/.claude/skills/claude-envoy-usage/SKILL.md +0 -46
  141. package/.claude/skills/command-development/SKILL.md +0 -206
  142. package/.claude/skills/command-development/examples/simple-commands.md +0 -212
  143. package/.claude/skills/command-development/references/frontmatter-reference.md +0 -221
  144. package/.claude/skills/hook-development/SKILL.md +0 -127
  145. package/.claude/skills/hook-development/examples/command-hooks.md +0 -301
  146. package/.claude/skills/hook-development/examples/prompt-hooks.md +0 -114
  147. package/.claude/skills/hook-development/references/event-reference.md +0 -226
  148. package/.claude/skills/repomix-extraction/SKILL.md +0 -91
  149. package/.claude/skills/skill-development/SKILL.md +0 -168
  150. package/.claude/skills/skill-development/examples/complete-skill-examples.md +0 -281
  151. package/.claude/skills/skill-development/references/progressive-disclosure.md +0 -141
  152. package/.claude/skills/skill-development/references/writing-style.md +0 -180
  153. package/.claude/skills/skill-development/scripts/validate-skill.sh +0 -144
  154. package/.claude/skills/specialist-builder/SKILL.md +0 -327
  155. package/.claude/skills/specialist-builder/docs/agent-catalog.md +0 -28
  156. package/.claude/skills/specialist-builder/examples/complete-agent-examples.md +0 -206
  157. package/.claude/skills/specialist-builder/references/system-prompt-patterns.md +0 -281
  158. package/.claude/skills/specialist-builder/references/triggering-examples.md +0 -162
  159. package/.claude/skills/specialist-builder/scripts/validate-agent.sh +0 -137
  160. /package/.claude/{envoy/claude-envoy.py → skills/claude-envoy-patterns/SKILL.md} +0 -0
@@ -0,0 +1,531 @@
1
+ <golden_rule>
2
+ Show your skill to someone with minimal context and ask them to follow the instructions. If they're confused, Claude will likely be too.
3
+ </golden_rule>
4
+
5
+ <overview>
6
+ Clarity and directness are fundamental to effective skill authoring. Clear instructions reduce errors, improve execution quality, and minimize token waste.
7
+ </overview>
8
+
9
+ <guidelines>
10
+ <contextual_information>
11
+ Give Claude contextual information that frames the task:
12
+
13
+ - What the task results will be used for
14
+ - What audience the output is meant for
15
+ - What workflow the task is part of
16
+ - The end goal or what successful completion looks like
17
+
18
+ Context helps Claude make better decisions and produce more appropriate outputs.
19
+
20
+ <example>
21
+ ```xml
22
+ <context>
23
+ This analysis will be presented to investors who value transparency and actionable insights. Focus on financial metrics and clear recommendations.
24
+ </context>
25
+ ```
26
+ </example>
27
+ </contextual_information>
28
+
29
+ <specificity>
30
+ Be specific about what you want Claude to do. If you want code only and nothing else, say so.
31
+
32
+ **Vague**: "Help with the report"
33
+ **Specific**: "Generate a markdown report with three sections: Executive Summary, Key Findings, Recommendations"
34
+
35
+ **Vague**: "Process the data"
36
+ **Specific**: "Extract customer names and email addresses from the CSV file, removing duplicates, and save to JSON format"
37
+
38
+ Specificity eliminates ambiguity and reduces iteration cycles.
39
+ </specificity>
40
+
41
+ <sequential_steps>
42
+ Provide instructions as sequential steps. Use numbered lists or bullet points.
43
+
44
+ ```xml
45
+ <workflow>
46
+ 1. Extract data from source file
47
+ 2. Transform to target format
48
+ 3. Validate transformation
49
+ 4. Save to output file
50
+ 5. Verify output correctness
51
+ </workflow>
52
+ ```
53
+
54
+ Sequential steps create clear expectations and reduce the chance Claude skips important operations.
55
+ </sequential_steps>
56
+ </guidelines>
57
+
58
+ <example_comparison>
59
+ <unclear_example>
60
+ ```xml
61
+ <quick_start>
62
+ Please remove all personally identifiable information from these customer feedback messages: {{FEEDBACK_DATA}}
63
+ </quick_start>
64
+ ```
65
+
66
+ **Problems**:
67
+ - What counts as PII?
68
+ - What should replace PII?
69
+ - What format should the output be?
70
+ - What if no PII is found?
71
+ - Should product names be redacted?
72
+ </unclear_example>
73
+
74
+ <clear_example>
75
+ ```xml
76
+ <objective>
77
+ Anonymize customer feedback for quarterly review presentation.
78
+ </objective>
79
+
80
+ <quick_start>
81
+ <instructions>
82
+ 1. Replace all customer names with "CUSTOMER_[ID]" (e.g., "Jane Doe" → "CUSTOMER_001")
83
+ 2. Replace email addresses with "EMAIL_[ID]@example.com"
84
+ 3. Redact phone numbers as "PHONE_[ID]"
85
+ 4. If a message mentions a specific product (e.g., "AcmeCloud"), leave it intact
86
+ 5. If no PII is found, copy the message verbatim
87
+ 6. Output only the processed messages, separated by "---"
88
+ </instructions>
89
+
90
+ Data to process: {{FEEDBACK_DATA}}
91
+ </quick_start>
92
+
93
+ <success_criteria>
94
+ - All customer names replaced with IDs
95
+ - All emails and phones redacted
96
+ - Product names preserved
97
+ - Output format matches specification
98
+ </success_criteria>
99
+ ```
100
+
101
+ **Why this is better**:
102
+ - States the purpose (quarterly review)
103
+ - Provides explicit step-by-step rules
104
+ - Defines output format clearly
105
+ - Specifies edge cases (product names, no PII found)
106
+ - Defines success criteria
107
+ </clear_example>
108
+ </example_comparison>
109
+
110
+ <key_differences>
111
+ The clear version:
112
+ - States the purpose (quarterly review)
113
+ - Provides explicit step-by-step rules
114
+ - Defines output format
115
+ - Specifies edge cases (product names, no PII found)
116
+ - Includes success criteria
117
+
118
+ The unclear version leaves all these decisions to Claude, increasing the chance of misalignment with expectations.
119
+ </key_differences>
120
+
121
+ <show_dont_just_tell>
122
+ <principle>
123
+ When format matters, show an example rather than just describing it.
124
+ </principle>
125
+
126
+ <telling_example>
127
+ ```xml
128
+ <commit_messages>
129
+ Generate commit messages in conventional format with type, scope, and description.
130
+ </commit_messages>
131
+ ```
132
+ </telling_example>
133
+
134
+ <showing_example>
135
+ ```xml
136
+ <commit_message_format>
137
+ Generate commit messages following these examples:
138
+
139
+ <example number="1">
140
+ <input>Added user authentication with JWT tokens</input>
141
+ <output>
142
+ ```
143
+ feat(auth): implement JWT-based authentication
144
+
145
+ Add login endpoint and token validation middleware
146
+ ```
147
+ </output>
148
+ </example>
149
+
150
+ <example number="2">
151
+ <input>Fixed bug where dates displayed incorrectly in reports</input>
152
+ <output>
153
+ ```
154
+ fix(reports): correct date formatting in timezone conversion
155
+
156
+ Use UTC timestamps consistently across report generation
157
+ ```
158
+ </output>
159
+ </example>
160
+
161
+ Follow this style: type(scope): brief description, then detailed explanation.
162
+ </commit_message_format>
163
+ ```
164
+ </showing_example>
165
+
166
+ <why_showing_works>
167
+ Examples communicate nuances that text descriptions can't:
168
+ - Exact formatting (spacing, capitalization, punctuation)
169
+ - Tone and style
170
+ - Level of detail
171
+ - Pattern across multiple cases
172
+
173
+ Claude learns patterns from examples more reliably than from descriptions.
174
+ </why_showing_works>
175
+ </show_dont_just_tell>
176
+
177
+ <avoid_ambiguity>
178
+ <principle>
179
+ Eliminate words and phrases that create ambiguity or leave decisions open.
180
+ </principle>
181
+
182
+ <ambiguous_phrases>
183
+ ❌ **"Try to..."** - Implies optional
184
+ ✅ **"Always..."** or **"Never..."** - Clear requirement
185
+
186
+ ❌ **"Should probably..."** - Unclear obligation
187
+ ✅ **"Must..."** or **"May optionally..."** - Clear obligation level
188
+
189
+ ❌ **"Generally..."** - When are exceptions allowed?
190
+ ✅ **"Always... except when..."** - Clear rule with explicit exceptions
191
+
192
+ ❌ **"Consider..."** - Should Claude always do this or only sometimes?
193
+ ✅ **"If X, then Y"** or **"Always..."** - Clear conditions
194
+ </ambiguous_phrases>
195
+
196
+ <example>
197
+ ❌ **Ambiguous**:
198
+ ```xml
199
+ <validation>
200
+ You should probably validate the output and try to fix any errors.
201
+ </validation>
202
+ ```
203
+
204
+ ✅ **Clear**:
205
+ ```xml
206
+ <validation>
207
+ Always validate output before proceeding:
208
+
209
+ ```bash
210
+ python scripts/validate.py output_dir/
211
+ ```
212
+
213
+ If validation fails, fix errors and re-validate. Only proceed when validation passes with zero errors.
214
+ </validation>
215
+ ```
216
+ </example>
217
+ </avoid_ambiguity>
218
+
219
+ <define_edge_cases>
220
+ <principle>
221
+ Anticipate edge cases and define how to handle them. Don't leave Claude guessing.
222
+ </principle>
223
+
224
+ <without_edge_cases>
225
+ ```xml
226
+ <quick_start>
227
+ Extract email addresses from the text file and save to a JSON array.
228
+ </quick_start>
229
+ ```
230
+
231
+ **Questions left unanswered**:
232
+ - What if no emails are found?
233
+ - What if the same email appears multiple times?
234
+ - What if emails are malformed?
235
+ - What JSON format exactly?
236
+ </without_edge_cases>
237
+
238
+ <with_edge_cases>
239
+ ```xml
240
+ <quick_start>
241
+ Extract email addresses from the text file and save to a JSON array.
242
+
243
+ <edge_cases>
244
+ - **No emails found**: Save empty array `[]`
245
+ - **Duplicate emails**: Keep only unique emails
246
+ - **Malformed emails**: Skip invalid formats, log to stderr
247
+ - **Output format**: Array of strings, one email per element
248
+ </edge_cases>
249
+
250
+ <example_output>
251
+ ```json
252
+ [
253
+ "user1@example.com",
254
+ "user2@example.com"
255
+ ]
256
+ ```
257
+ </example_output>
258
+ </quick_start>
259
+ ```
260
+ </with_edge_cases>
261
+ </define_edge_cases>
262
+
263
+ <output_format_specification>
264
+ <principle>
265
+ When output format matters, specify it precisely. Show examples.
266
+ </principle>
267
+
268
+ <vague_format>
269
+ ```xml
270
+ <output>
271
+ Generate a report with the analysis results.
272
+ </output>
273
+ ```
274
+ </vague_format>
275
+
276
+ <specific_format>
277
+ ```xml
278
+ <output_format>
279
+ Generate a markdown report with this exact structure:
280
+
281
+ ```markdown
282
+ # Analysis Report: [Title]
283
+
284
+ ## Executive Summary
285
+ [1-2 paragraphs summarizing key findings]
286
+
287
+ ## Key Findings
288
+ - Finding 1 with supporting data
289
+ - Finding 2 with supporting data
290
+ - Finding 3 with supporting data
291
+
292
+ ## Recommendations
293
+ 1. Specific actionable recommendation
294
+ 2. Specific actionable recommendation
295
+
296
+ ## Appendix
297
+ [Raw data and detailed calculations]
298
+ ```
299
+
300
+ **Requirements**:
301
+ - Use exactly these section headings
302
+ - Executive summary must be 1-2 paragraphs
303
+ - List 3-5 key findings
304
+ - Provide 2-4 recommendations
305
+ - Include appendix with source data
306
+ </output_format>
307
+ ```
308
+ </specific_format>
309
+ </output_format_specification>
310
+
311
+ <decision_criteria>
312
+ <principle>
313
+ When Claude must make decisions, provide clear criteria.
314
+ </principle>
315
+
316
+ <no_criteria>
317
+ ```xml
318
+ <workflow>
319
+ Analyze the data and decide which visualization to use.
320
+ </workflow>
321
+ ```
322
+
323
+ **Problem**: What factors should guide this decision?
324
+ </no_criteria>
325
+
326
+ <with_criteria>
327
+ ```xml
328
+ <workflow>
329
+ Analyze the data and select appropriate visualization:
330
+
331
+ <decision_criteria>
332
+ **Use bar chart when**:
333
+ - Comparing quantities across categories
334
+ - Fewer than 10 categories
335
+ - Exact values matter
336
+
337
+ **Use line chart when**:
338
+ - Showing trends over time
339
+ - Continuous data
340
+ - Pattern recognition matters more than exact values
341
+
342
+ **Use scatter plot when**:
343
+ - Showing relationship between two variables
344
+ - Looking for correlations
345
+ - Individual data points matter
346
+ </decision_criteria>
347
+ </workflow>
348
+ ```
349
+
350
+ **Benefits**: Claude has objective criteria for making the decision rather than guessing.
351
+ </with_criteria>
352
+ </decision_criteria>
353
+
354
+ <constraints_and_requirements>
355
+ <principle>
356
+ Clearly separate "must do" from "nice to have" from "must not do".
357
+ </principle>
358
+
359
+ <unclear_requirements>
360
+ ```xml
361
+ <requirements>
362
+ The report should include financial data, customer metrics, and market analysis. It would be good to have visualizations. Don't make it too long.
363
+ </requirements>
364
+ ```
365
+
366
+ **Problems**:
367
+ - Are all three content types required?
368
+ - Are visualizations optional or required?
369
+ - How long is "too long"?
370
+ </unclear_requirements>
371
+
372
+ <clear_requirements>
373
+ ```xml
374
+ <requirements>
375
+ <must_have>
376
+ - Financial data (revenue, costs, profit margins)
377
+ - Customer metrics (acquisition, retention, lifetime value)
378
+ - Market analysis (competition, trends, opportunities)
379
+ - Maximum 5 pages
380
+ </must_have>
381
+
382
+ <nice_to_have>
383
+ - Charts and visualizations
384
+ - Industry benchmarks
385
+ - Future projections
386
+ </nice_to_have>
387
+
388
+ <must_not>
389
+ - Include confidential customer names
390
+ - Exceed 5 pages
391
+ - Use technical jargon without definitions
392
+ </must_not>
393
+ </requirements>
394
+ ```
395
+
396
+ **Benefits**: Clear priorities and constraints prevent misalignment.
397
+ </clear_requirements>
398
+ </constraints_and_requirements>
399
+
400
+ <success_criteria>
401
+ <principle>
402
+ Define what success looks like. How will Claude know it succeeded?
403
+ </principle>
404
+
405
+ <without_success_criteria>
406
+ ```xml
407
+ <objective>
408
+ Process the CSV file and generate a report.
409
+ </objective>
410
+ ```
411
+
412
+ **Problem**: When is this task complete? What defines success?
413
+ </without_success_criteria>
414
+
415
+ <with_success_criteria>
416
+ ```xml
417
+ <objective>
418
+ Process the CSV file and generate a summary report.
419
+ </objective>
420
+
421
+ <success_criteria>
422
+ - All rows in CSV successfully parsed
423
+ - No data validation errors
424
+ - Report generated with all required sections
425
+ - Report saved to output/report.md
426
+ - Output file is valid markdown
427
+ - Process completes without errors
428
+ </success_criteria>
429
+ ```
430
+
431
+ **Benefits**: Clear completion criteria eliminate ambiguity about when the task is done.
432
+ </with_success_criteria>
433
+ </success_criteria>
434
+
435
+ <testing_clarity>
436
+ <principle>
437
+ Test your instructions by asking: "Could I hand these instructions to a junior developer and expect correct results?"
438
+ </principle>
439
+
440
+ <testing_process>
441
+ 1. Read your skill instructions
442
+ 2. Remove context only you have (project knowledge, unstated assumptions)
443
+ 3. Identify ambiguous terms or vague requirements
444
+ 4. Add specificity where needed
445
+ 5. Test with someone who doesn't have your context
446
+ 6. Iterate based on their questions and confusion
447
+
448
+ If a human with minimal context struggles, Claude will too.
449
+ </testing_process>
450
+ </testing_clarity>
451
+
452
+ <practical_examples>
453
+ <example domain="data_processing">
454
+ ❌ **Unclear**:
455
+ ```xml
456
+ <quick_start>
457
+ Clean the data and remove bad entries.
458
+ </quick_start>
459
+ ```
460
+
461
+ ✅ **Clear**:
462
+ ```xml
463
+ <quick_start>
464
+ <data_cleaning>
465
+ 1. Remove rows where required fields (name, email, date) are empty
466
+ 2. Standardize date format to YYYY-MM-DD
467
+ 3. Remove duplicate entries based on email address
468
+ 4. Validate email format (must contain @ and domain)
469
+ 5. Save cleaned data to output/cleaned_data.csv
470
+ </data_cleaning>
471
+
472
+ <success_criteria>
473
+ - No empty required fields
474
+ - All dates in YYYY-MM-DD format
475
+ - No duplicate emails
476
+ - All emails valid format
477
+ - Output file created successfully
478
+ </success_criteria>
479
+ </quick_start>
480
+ ```
481
+ </example>
482
+
483
+ <example domain="code_generation">
484
+ ❌ **Unclear**:
485
+ ```xml
486
+ <quick_start>
487
+ Write a function to process user input.
488
+ </quick_start>
489
+ ```
490
+
491
+ ✅ **Clear**:
492
+ ```xml
493
+ <quick_start>
494
+ <function_specification>
495
+ Write a Python function with this signature:
496
+
497
+ ```python
498
+ def process_user_input(raw_input: str) -> dict:
499
+ """
500
+ Validate and parse user input.
501
+
502
+ Args:
503
+ raw_input: Raw string from user (format: "name:email:age")
504
+
505
+ Returns:
506
+ dict with keys: name (str), email (str), age (int)
507
+
508
+ Raises:
509
+ ValueError: If input format is invalid
510
+ """
511
+ ```
512
+
513
+ **Requirements**:
514
+ - Split input on colon delimiter
515
+ - Validate email contains @ and domain
516
+ - Convert age to integer, raise ValueError if not numeric
517
+ - Return dictionary with specified keys
518
+ - Include docstring and type hints
519
+ </function_specification>
520
+
521
+ <success_criteria>
522
+ - Function signature matches specification
523
+ - All validation checks implemented
524
+ - Proper error handling for invalid input
525
+ - Type hints included
526
+ - Docstring included
527
+ </success_criteria>
528
+ </quick_start>
529
+ ```
530
+ </example>
531
+ </practical_examples>