cc-dev-template 0.1.6 → 0.1.7

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.
@@ -1,21 +1,23 @@
1
1
  # Audit Existing Skills
2
2
 
3
- This workflow discovers and reviews all installed skills against best practices. Use it to identify skills that need improvement and ensure consistency across skill libraries.
3
+ This workflow discovers and reviews all installed skills against best practices. The most important check is whether the SKILL.md is written as a proper prompt, not as documentation.
4
4
 
5
5
  ## Purpose
6
6
 
7
7
  Systematically review skills to identify:
8
+ - **Fundamental prompt problems** - Is this written as instructions TO Claude or documentation ABOUT the skill?
9
+ - Content that belongs in references, not SKILL.md
8
10
  - Structural issues (missing files, wrong format)
9
11
  - Description problems (vague, wrong person, missing triggers)
10
- - Writing style violations (second person, negative framing)
11
- - Progressive disclosure failures (oversized SKILL.md, unreferenced resources)
12
- - Missing or broken references
12
+ - Writing style violations
13
13
 
14
- **Success looks like:** A comprehensive report of all skills with specific, actionable findings for any that need improvement.
14
+ **Success looks like:** Actually reading each skill and evaluating whether it would work as a prompt. Surface fundamental problems, not just superficial style issues.
15
15
 
16
16
  ## Before Starting
17
17
 
18
- Read `references/principles.md` if not already familiar with skill standards.
18
+ Read `references/principles.md` to understand what makes a good skill.
19
+
20
+ **Critical understanding:** A SKILL.md IS the prompt. When Claude activates a skill, it reads SKILL.md. If SKILL.md reads like documentation ("This skill does X", "Who this is for"), Claude won't know what to DO.
19
21
 
20
22
  ## Workflow
21
23
 
@@ -36,18 +38,6 @@ src/skills/ # Source skills (if in dev-template)
36
38
  node ~/.claude/skills/create-agent-skills/scripts/find-skills.js
37
39
  ```
38
40
 
39
- Or manually scan:
40
- ```bash
41
- # User-level
42
- ls -la ~/.claude/skills/*/SKILL.md 2>/dev/null
43
-
44
- # Project-level
45
- ls -la .claude/skills/*/SKILL.md 2>/dev/null
46
-
47
- # Source (dev-template)
48
- ls -la src/skills/*/SKILL.md 2>/dev/null
49
- ```
50
-
51
41
  **For each skill found, record:**
52
42
  - Full path to SKILL.md
53
43
  - Skill name (directory name)
@@ -67,9 +57,163 @@ If user selects "Specific skill," ask which one from the discovered list.
67
57
  </step>
68
58
 
69
59
  <step name="Audit Each Skill">
70
- For each skill in scope, perform these checks:
60
+ For each skill in scope, **READ THE ENTIRE SKILL.MD FILE** and perform these checks in order. The first check is the most important.
61
+
62
+ ---
63
+
64
+ ### CHECK 0: Is This Written as a Prompt? (CRITICAL)
65
+
66
+ **This is the most important check.** Read the entire SKILL.md and evaluate:
67
+
68
+ **Is it instructions TO Claude, or documentation ABOUT the skill?**
69
+
70
+ A SKILL.md should tell Claude what to DO right now. It should NOT describe what the skill is, who it's for, or how it works abstractly.
71
+
72
+ **Red flags that indicate documentation, not a prompt:**
73
+
74
+ | Red Flag | Why It's Wrong |
75
+ |----------|----------------|
76
+ | "Who this is for: Developers..." | Meta-description. Claude doesn't need to know the audience. |
77
+ | "Success looks like: Running X produces Y" | Meta-description. This describes outcomes, doesn't instruct. |
78
+ | "This skill orchestrates..." | Describes what skill IS, not what to DO. |
79
+ | "The purpose of this skill is..." | Documentation language, not instruction. |
80
+ | Large inline schemas (YAML, JSON examples) | Should be in references/, loaded when needed. |
81
+ | Explaining how phases work abstractly | Should just route to phase files with instructions. |
82
+
83
+ **What a good SKILL.md looks like:**
84
+
85
+ ```markdown
86
+ ## What To Do Now
87
+
88
+ <step name="Get Input">
89
+ Ask the user which form to implement.
90
+ </step>
91
+
92
+ <step name="Check State">
93
+ Look for existing workflow at `.claude/workflows/{formname}/workflow.yaml`
94
+
95
+ If exists: Read it, determine current phase.
96
+ If not: Initialize new workflow.
97
+ </step>
98
+
99
+ <step name="Route to Phase">
100
+ Based on current phase, read the appropriate file:
101
+
102
+ | Phase | File |
103
+ |-------|------|
104
+ | phase1 | `references/phase1.md` |
105
+ | phase2 | `references/phase2.md` |
106
+ </step>
107
+ ```
108
+
109
+ **What a BAD SKILL.md looks like:**
110
+
111
+ ```markdown
112
+ ## Purpose
113
+
114
+ This skill orchestrates the complete migration of Oracle Forms...
115
+
116
+ **Who this is for**: Developers migrating Oracle Forms.
117
+
118
+ **Success looks like**: Running /implement-form progresses through all phases.
119
+
120
+ ## Phase Overview
121
+
122
+ Phase 1 does X, Phase 2 does Y...
123
+
124
+ ## YAML Schema
125
+
126
+ ```yaml
127
+ # 50 lines of YAML schema inline
128
+ ```
129
+ ```
130
+
131
+ **Evaluation questions:**
132
+
133
+ 1. If Claude reads this right now, does it know what to DO?
134
+ 2. Is there a clear "What To Do Now" section with concrete steps?
135
+ 3. Or does it just describe what the skill is and how it works?
136
+
137
+ **Record severity:**
138
+ - **CRITICAL** if SKILL.md reads like documentation
139
+ - **CRITICAL** if large schemas/examples are inline instead of in references/
140
+ - **CRITICAL** if no clear action instructions exist
141
+
142
+ ```
143
+ PROMPT_QUALITY: [skill-name] - CRITICAL: Written as documentation, not instructions. Contains "Who this is for", "Success looks like" meta-descriptions.
144
+ PROMPT_QUALITY: [skill-name] - CRITICAL: ~200 lines of YAML schemas inline. Move to references/.
145
+ PROMPT_QUALITY: [skill-name] - CRITICAL: No "What To Do" section. Claude won't know what action to take.
146
+ ```
147
+
148
+ ---
149
+
150
+ ### CHECK 1: Content That Should Be in References
151
+
152
+ **Read the SKILL.md and identify content that doesn't belong:**
153
+
154
+ | Content Type | Should Be In | Why |
155
+ |--------------|--------------|-----|
156
+ | YAML/JSON schemas | `references/schemas.md` | Loaded only when needed |
157
+ | Detailed phase explanations | `references/phaseN.md` | Progressive disclosure |
158
+ | Examples >10 lines | `references/examples.md` | Keep SKILL.md lean |
159
+ | API documentation | `references/api.md` | Not needed upfront |
160
+ | Historical context | `references/background.md` | Not actionable |
161
+
162
+ **Count lines of inline content that should be moved:**
163
+ - Code blocks >20 lines
164
+ - Tables >10 rows
165
+ - Schema definitions
166
+ - Detailed explanations of internals
167
+
168
+ **Record issues:**
169
+ ```
170
+ CONTENT: [skill-name] - ~150 lines of YAML schemas should be in references/
171
+ CONTENT: [skill-name] - Phase explanations (lines 50-200) should be in separate phase files
172
+ CONTENT: [skill-name] - "Key Design Principles" section is background, not instructions
173
+ ```
71
174
 
72
- ### Check 1: Structure Validation
175
+ ---
176
+
177
+ ### CHECK 2: Router Pattern (for complex skills)
178
+
179
+ **If the skill has multiple workflows or phases:**
180
+
181
+ Does SKILL.md act as a lean router that:
182
+ 1. Asks/determines what to do
183
+ 2. Routes to the appropriate reference file
184
+ 3. Lets the reference file contain the detailed instructions
185
+
186
+ **Good pattern:**
187
+ ```markdown
188
+ <step name="Route to Phase">
189
+ | currentPhase | Action |
190
+ |--------------|--------|
191
+ | phase1 | Read `references/phase1.md` |
192
+ | phase2 | Read `references/phase2.md` |
193
+ </step>
194
+ ```
195
+
196
+ **Bad pattern:**
197
+ ```markdown
198
+ ## Phase 1: Scaffolding
199
+ [100 lines of phase 1 instructions]
200
+
201
+ ## Phase 2: Discovery
202
+ [100 lines of phase 2 instructions]
203
+
204
+ ## Phase 3: Analysis
205
+ [100 lines of phase 3 instructions]
206
+ ```
207
+
208
+ **Record issues:**
209
+ ```
210
+ ROUTER: [skill-name] - Has 12 phases but all instructions inline. Should route to reference files.
211
+ ROUTER: [skill-name] - references/ directory exists but SKILL.md doesn't route to it.
212
+ ```
213
+
214
+ ---
215
+
216
+ ### CHECK 3: Structure Validation
73
217
 
74
218
  **Verify:**
75
219
  - [ ] SKILL.md exists
@@ -81,112 +225,81 @@ For each skill in scope, perform these checks:
81
225
 
82
226
  **Record issues:**
83
227
  ```
84
- STRUCTURAL: [skill-name] - [specific issue]
228
+ STRUCTURE: [skill-name] - [specific issue]
85
229
  ```
86
230
 
87
- ### Check 2: Description Quality
231
+ ---
232
+
233
+ ### CHECK 4: Description Quality
88
234
 
89
235
  **Read the description and verify:**
90
236
  - [ ] Under 1024 characters
91
237
  - [ ] Uses third person ("This skill should be used when...")
92
- - [ ] Contains specific trigger phrases (quoted examples of what users say)
238
+ - [ ] Contains specific trigger phrases users would say
93
239
  - [ ] Explains WHEN to use, not just WHAT it does
94
- - [ ] Not overly detailed about implementation
95
-
96
- **Red flags:**
97
- - Starts with "Use this skill" (wrong person)
98
- - No quoted trigger phrases
99
- - Only describes functionality, not activation scenarios
100
- - Over 1024 characters
101
240
 
102
241
  **Record issues:**
103
242
  ```
104
243
  DESCRIPTION: [skill-name] - [specific issue]
105
244
  ```
106
245
 
107
- ### Check 3: Writing Style
246
+ ---
108
247
 
109
- **Scan SKILL.md body for:**
248
+ ### CHECK 5: Writing Style
110
249
 
111
- **Second person violations:**
112
- - "you should"
113
- - "you can"
114
- - "you need"
115
- - "you might"
116
- - "you will"
117
- - "your"
250
+ **Scan for second person:**
251
+ - "you should", "you can", "you need", "you might", "your"
118
252
 
119
- **Passive voice (less critical but note):**
120
- - "should be"
121
- - "can be"
122
- - "is done"
123
-
124
- **Negative framing:**
125
- - "don't"
126
- - "never"
127
- - "avoid"
128
- - "do not"
253
+ **Scan for negative framing:**
254
+ - "don't", "never", "avoid", "do not"
129
255
 
130
256
  **Record issues:**
131
257
  ```
132
- STYLE: [skill-name] - Found [count] instances of second person ("you should", etc.)
133
- STYLE: [skill-name] - Found negative framing: "[example]"
258
+ STYLE: [skill-name] - Found [count] instances of second person
259
+ STYLE: [skill-name] - Negative framing: "[example]"
134
260
  ```
135
261
 
136
- ### Check 4: Size Analysis
262
+ ---
263
+
264
+ ### CHECK 6: Size Analysis
137
265
 
138
266
  **Measure:**
139
- - Word count of SKILL.md body (excluding frontmatter)
140
- - Line count of SKILL.md
267
+ - Word count of SKILL.md body
268
+ - Line count
141
269
 
142
270
  **Thresholds:**
143
- | Metric | Good | Warning | Problem |
144
- |--------|------|---------|---------|
271
+ | Metric | Good | Warning | Critical |
272
+ |--------|------|---------|----------|
145
273
  | Words | <2,000 | 2,000-3,500 | >3,500 |
146
274
  | Lines | <300 | 300-500 | >500 |
147
275
 
148
- **If oversized:**
149
- - Check if references/ directory exists
150
- - If no references/, skill needs restructuring
151
-
152
276
  **Record issues:**
153
277
  ```
154
- SIZE: [skill-name] - SKILL.md is [X] words ([Y] lines) - consider moving content to references/
278
+ SIZE: [skill-name] - SKILL.md is [X] words ([Y] lines) - needs restructuring
155
279
  ```
156
280
 
157
- ### Check 5: Progressive Disclosure
158
-
159
- **Check structure:**
160
- - Does skill have references/ directory?
161
- - Does skill have scripts/ directory?
162
- - Does SKILL.md reference these resources?
163
-
164
- **Verify references are used:**
165
- - For each file in references/, check if SKILL.md mentions it
166
- - For each file in scripts/, check if SKILL.md mentions it
167
- - Flag unreferenced resources
168
-
169
- **Record issues:**
170
- ```
171
- DISCLOSURE: [skill-name] - references/patterns.md exists but is never referenced in SKILL.md
172
- DISCLOSURE: [skill-name] - Large SKILL.md with no references/ directory
173
- ```
281
+ ---
174
282
 
175
- ### Check 6: Reference Integrity
283
+ ### CHECK 7: Reference Integrity
176
284
 
177
285
  **For every path mentioned in SKILL.md:**
178
- - `references/*.md` files exist
179
- - `scripts/*.js` or `scripts/*.py` files exist
180
- - `assets/*` files exist
286
+ - Verify file exists
287
+ - Flag broken references
288
+
289
+ **For every file in references/:**
290
+ - Check if SKILL.md mentions it
291
+ - Flag orphaned files
181
292
 
182
293
  **Record issues:**
183
294
  ```
184
- BROKEN: [skill-name] - References `references/workflow.md` but file doesn't exist
295
+ BROKEN: [skill-name] - References `references/phase1.md` but file doesn't exist
296
+ ORPHAN: [skill-name] - `references/old-workflow.md` exists but isn't referenced
185
297
  ```
298
+
186
299
  </step>
187
300
 
188
301
  <step name="Generate Report">
189
- Compile findings into a structured report.
302
+ Compile findings, prioritizing CRITICAL issues first.
190
303
 
191
304
  **Report format:**
192
305
 
@@ -195,140 +308,122 @@ Compile findings into a structured report.
195
308
 
196
309
  Generated: [timestamp]
197
310
  Skills audited: [count]
198
- Location(s): [user/project/source]
199
311
 
200
- ## Summary
312
+ ## Critical Issues (Fix Immediately)
201
313
 
202
- | Status | Count |
203
- |--------|-------|
204
- | Passing | [X] |
205
- | Warnings | [Y] |
206
- | Failing | [Z] |
314
+ ### [skill-name]
315
+ - PROMPT_QUALITY: Written as documentation, not instructions
316
+ - Contains "Who this is for:", "Success looks like:" meta-descriptions
317
+ - No clear "What To Do" section
318
+ - ~200 lines of inline YAML schemas
207
319
 
208
- ## Skills Passing All Checks
320
+ **This skill will not work properly.** Claude won't know what action to take.
209
321
 
210
- - skill-name-1
211
- - skill-name-2
212
-
213
- ## Skills with Warnings
322
+ ## Warnings
214
323
 
215
324
  ### [skill-name]
216
- - SIZE: SKILL.md is 2,500 words - consider refactoring
325
+ - SIZE: 2,800 words - consider moving content to references/
326
+ - STYLE: 3 instances of negative framing
217
327
 
218
- ## Skills with Failures
328
+ ## Passing
219
329
 
220
- ### [skill-name]
221
- - STRUCTURAL: Missing `description` in frontmatter
222
- - STYLE: Found 15 instances of second person
223
- - BROKEN: References `scripts/validate.py` but file missing
330
+ - skill-name-1
331
+ - skill-name-2
224
332
 
225
333
  ## Recommendations
226
334
 
227
- [Prioritized list of what to fix first]
335
+ 1. **[skill-name]**: Complete rewrite needed. Current version is documentation, not a prompt.
336
+ 2. **[other-skill]**: Move YAML schemas to references/schemas.md
228
337
  ```
229
338
 
230
339
  **Present the report to the user.**
231
340
  </step>
232
341
 
233
342
  <step name="Offer Fixes">
234
- After presenting the report, offer to fix issues.
343
+ After presenting the report, offer to help fix issues.
235
344
 
236
- Use `AskUserQuestion`:
237
- - **Fix all auto-fixable issues** - Apply safe fixes automatically
238
- - **Fix specific skill** - Work on one skill at a time
239
- - **Just the report** - No fixes, user will handle manually
240
- - **Create modification tasks** - Add to todo list for later
241
-
242
- **Auto-fixable issues:**
243
- - Second person → imperative form conversion
244
- - Negative framing → positive framing conversion
245
- - Missing frontmatter fields (can prompt for values)
246
-
247
- **Manual-fix-required issues:**
248
- - Oversized SKILL.md (needs content decisions)
249
- - Missing referenced files (needs content creation)
250
- - Vague descriptions (needs user input on triggers)
251
-
252
- If user wants fixes, transition to `references/modify.md` for each skill that needs work.
253
- </step>
345
+ **For CRITICAL prompt quality issues:**
346
+ Offer to help rewrite the skill properly. This requires:
347
+ 1. Understanding what the skill should DO
348
+ 2. Rewriting as instructions, not documentation
349
+ 3. Moving heavy content to references/
350
+ 4. Creating proper router pattern
254
351
 
255
- </steps>
352
+ **For other issues:**
353
+ - Second person → imperative conversion
354
+ - Negative → positive framing
355
+ - Content moves to references/
256
356
 
257
- ## Audit Checklist (Quick Reference)
357
+ Use `AskUserQuestion`:
358
+ - **Help fix critical issues** - Work through rewriting problematic skills
359
+ - **Fix style issues only** - Auto-fix second person, negative framing
360
+ - **Just the report** - No fixes now
258
361
 
259
- For quick manual audits, use this checklist:
362
+ If user wants to fix critical issues, transition to `references/modify.md`.
363
+ </step>
260
364
 
261
- ### Must Pass
262
- - [ ] SKILL.md exists with valid YAML frontmatter
263
- - [ ] `name` and `description` fields present
264
- - [ ] `name` matches directory name (hyphen-case)
265
- - [ ] `description` under 1024 characters
266
- - [ ] `description` uses third person
267
- - [ ] `description` has trigger phrases
268
- - [ ] No second person in body
269
- - [ ] All referenced files exist
365
+ </steps>
270
366
 
271
- ### Should Pass
272
- - [ ] SKILL.md under 2,000 words
273
- - [ ] Uses imperative form throughout
274
- - [ ] Positive framing (no "don't", "never")
275
- - [ ] references/ used for heavy content
276
- - [ ] All resources in skill directory are referenced
367
+ ## Quick Audit Checklist
277
368
 
278
- ### Nice to Have
279
- - [ ] Examples included
280
- - [ ] Clear section structure
281
- - [ ] Scripts for deterministic operations
369
+ ### Critical (Must Fix)
370
+ - [ ] SKILL.md is written as instructions, not documentation
371
+ - [ ] No meta-descriptions ("Who this is for", "Success looks like")
372
+ - [ ] Clear "What To Do" section with concrete steps
373
+ - [ ] Heavy content (schemas, examples) in references/, not inline
374
+ - [ ] Router pattern used for multi-phase skills
282
375
 
283
- ## Common Audit Findings
376
+ ### Important
377
+ - [ ] Valid frontmatter with name and description
378
+ - [ ] Description has trigger phrases
379
+ - [ ] Under 2,000 words
380
+ - [ ] All references exist
284
381
 
285
- ### Finding: Many Skills Use Second Person
382
+ ### Style
383
+ - [ ] No second person
384
+ - [ ] Positive framing
385
+ - [ ] Imperative form
286
386
 
287
- **Pattern:** "You should...", "You can...", "You need..."
387
+ ## Anti-Patterns to Catch
288
388
 
289
- **Fix approach:**
290
- ```
291
- Before: "You should parse the config file first."
292
- After: "Parse the config file first."
389
+ ### The Documentation Skill
390
+ **Pattern:** Reads like a README explaining what the skill does.
391
+ ```markdown
392
+ ## Purpose
393
+ This skill helps developers migrate forms...
293
394
 
294
- Before: "You can use grep to search."
295
- After: "Use grep to search."
395
+ ## Who This Is For
396
+ Developers working on Oracle Forms migration.
296
397
 
297
- Before: "If you need to validate, you should run the tests."
298
- After: "To validate, run the tests."
398
+ ## How It Works
399
+ The skill has 12 phases...
299
400
  ```
300
401
 
301
- ### Finding: Descriptions Are Vague
302
-
303
- **Pattern:** "Helps with X" or "Provides Y guidance"
402
+ **Problem:** Claude reads this and thinks "interesting, but what should I DO?"
304
403
 
305
- **Fix approach:**
306
- 1. Ask user what they say when they need this skill
307
- 2. Collect 5-10 trigger phrases
308
- 3. Rewrite in third person with phrases
404
+ **Fix:** Rewrite as instructions:
405
+ ```markdown
406
+ ## What To Do Now
309
407
 
310
- ### Finding: SKILL.md Is Too Large
408
+ <step name="Get Form Name">
409
+ Ask which form to implement.
410
+ </step>
311
411
 
312
- **Pattern:** >3,000 words with no references/
412
+ <step name="Route to Current Phase">
413
+ Read workflow.yaml, route to appropriate phase file.
414
+ </step>
415
+ ```
313
416
 
314
- **Fix approach:**
315
- 1. Identify logical sections
316
- 2. Move detailed content to references/
317
- 3. Keep routing and essential knowledge in SKILL.md
318
- 4. Add explicit references: "For detailed patterns, read `references/patterns.md`"
417
+ ### The Kitchen Sink Skill
418
+ **Pattern:** Everything inline, no progressive disclosure.
319
419
 
320
- ### Finding: Unreferenced Resources
420
+ **Problem:** 500+ lines, Claude gets lost in irrelevant details.
321
421
 
322
- **Pattern:** Files exist in references/ or scripts/ but SKILL.md doesn't mention them
422
+ **Fix:** Keep SKILL.md as router (<150 lines), move details to references/.
323
423
 
324
- **Fix approach:**
325
- 1. Determine if resource is needed
326
- 2. If needed, add reference in SKILL.md
327
- 3. If not needed, consider removing
424
+ ### The Schema Dump
425
+ **Pattern:** 100+ lines of YAML/JSON schemas inline.
328
426
 
329
- ## Output
427
+ **Problem:** Schemas are reference material, not instructions.
330
428
 
331
- The audit produces:
332
- 1. **Report** - Comprehensive findings for all audited skills
333
- 2. **Recommendations** - Prioritized list of improvements
334
- 3. **Optional fixes** - Automated corrections for simple issues
429
+ **Fix:** Move to `references/schemas.md`, reference when needed.