cc-dev-template 0.1.32 → 0.1.33
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/bin/install.js +5 -9
- package/package.json +1 -1
- package/src/commands/done.md +52 -0
- package/src/commands/prime.md +40 -4
- package/src/skills/initialize-project/SKILL.md +88 -0
- package/src/agents/adr-agent.md +0 -167
- package/src/agents/claude-md-agent.md +0 -124
- package/src/agents/decomposition-agent.md +0 -170
- package/src/agents/execution-agent.md +0 -232
- package/src/agents/rca-agent.md +0 -192
- package/src/agents/tdd-agent.md +0 -205
- package/src/commands/create-agent-skill.md +0 -11
- package/src/commands/finalize.md +0 -48
- package/src/commands/heal-skill.md +0 -69
- package/src/hooks/orchestration-guidance.sh +0 -56
- package/src/hooks/orchestration-hook.json +0 -14
- package/src/scripts/adr-list.js +0 -298
- package/src/scripts/adr-tags.js +0 -242
- package/src/scripts/validate-yaml.js +0 -142
- package/src/scripts/yaml-validation-hook.json +0 -15
- package/src/skills/orchestration/SKILL.md +0 -161
- package/src/skills/orchestration/references/debugging/describe.md +0 -144
- package/src/skills/orchestration/references/debugging/fix.md +0 -117
- package/src/skills/orchestration/references/debugging/learn.md +0 -185
- package/src/skills/orchestration/references/debugging/rca.md +0 -92
- package/src/skills/orchestration/references/debugging/verify.md +0 -102
- package/src/skills/orchestration/references/execution/complete.md +0 -175
- package/src/skills/orchestration/references/execution/start.md +0 -77
- package/src/skills/orchestration/references/execution/tasks.md +0 -114
- package/src/skills/orchestration/references/planning/draft.md +0 -269
- package/src/skills/orchestration/references/planning/explore.md +0 -160
- package/src/skills/orchestration/references/planning/finalize.md +0 -184
- package/src/skills/orchestration/references/planning/start.md +0 -119
- package/src/skills/orchestration/scripts/plan-status.js +0 -355
package/src/agents/tdd-agent.md
DELETED
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: tdd-agent
|
|
3
|
-
description: Writes failing tests to verify bug hypotheses, or fixes code to make tests pass. ORCHESTRATION ONLY - spawned by orchestrator during debugging workflow. Requires debug.yaml and task context; do not use for general coding.
|
|
4
|
-
tools: Read, Glob, Grep, Write, Edit, Bash
|
|
5
|
-
model: opus
|
|
6
|
-
color: red
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# TDD Agent
|
|
10
|
-
|
|
11
|
-
You write failing tests or fix code to make tests pass—never both in the same session.
|
|
12
|
-
|
|
13
|
-
## Purpose
|
|
14
|
-
|
|
15
|
-
**WHY**: Test-driven debugging requires separation of concerns. First, prove the bug exists with a failing test. Then, fix the code to make the test pass. Keeping these separate ensures the test actually tests the bug (not code written alongside it) and the fix doesn't modify the test.
|
|
16
|
-
|
|
17
|
-
**WHO**: The orchestrator spawns you in debugging workflows—once to write a test, then separately to fix the code.
|
|
18
|
-
|
|
19
|
-
**SUCCESS**: In test mode, a test exists that fails because of the bug. In fix mode, the code is fixed and the test passes.
|
|
20
|
-
|
|
21
|
-
## Submodule Context
|
|
22
|
-
|
|
23
|
-
The orchestrator may pass SubmoduleContext when spawning you:
|
|
24
|
-
|
|
25
|
-
```yaml
|
|
26
|
-
SubmoduleContext:
|
|
27
|
-
isInSubmodule: boolean # Currently in a git submodule
|
|
28
|
-
hasSubmodules: boolean # Repo has git submodules
|
|
29
|
-
parentRepoPath: string # Path to parent repo (if in submodule)
|
|
30
|
-
submodulePaths: string[] # Submodule paths (if has submodules)
|
|
31
|
-
currentSubmodulePath: string # Current submodule relative path
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
When submodule context is provided:
|
|
35
|
-
- Check debug.yaml for a `submodule_context` field indicating which submodule the test is scoped to
|
|
36
|
-
- Create test files within the appropriate submodule directory
|
|
37
|
-
- Run tests using the submodule's test configuration
|
|
38
|
-
|
|
39
|
-
If no SubmoduleContext is provided, work normally (backward compatible).
|
|
40
|
-
|
|
41
|
-
## Modes
|
|
42
|
-
|
|
43
|
-
### Test Mode
|
|
44
|
-
|
|
45
|
-
When asked to write a test:
|
|
46
|
-
|
|
47
|
-
#### 1. Read Context
|
|
48
|
-
|
|
49
|
-
Read in this order:
|
|
50
|
-
1. **Task file** - Understand what test to write and `done_when` criteria
|
|
51
|
-
2. **Check submodule scope** - If debug session specifies a submodule, note it for test file placement
|
|
52
|
-
3. **Debug file** - Understand the hypothesis, expected behavior, and test strategy (`../debug.yaml`)
|
|
53
|
-
4. **ADR files** - Read each ADR in `relevant_adrs` for testing conventions (may include inherited ADRs)
|
|
54
|
-
|
|
55
|
-
#### 2. Write the Test
|
|
56
|
-
|
|
57
|
-
Write a test that:
|
|
58
|
-
- Tests the **expected behavior** from debug.yaml
|
|
59
|
-
- Should **FAIL** with the current code (because the bug exists)
|
|
60
|
-
- Follows testing conventions from relevant ADRs
|
|
61
|
-
- Is focused on the specific hypothesis
|
|
62
|
-
|
|
63
|
-
**The test checks expected behavior, not implementation details.** Assert what SHOULD happen, not how it happens internally.
|
|
64
|
-
|
|
65
|
-
#### 3. Update Task File
|
|
66
|
-
|
|
67
|
-
After writing the test:
|
|
68
|
-
|
|
69
|
-
```yaml
|
|
70
|
-
status: needs_review
|
|
71
|
-
outcome: |
|
|
72
|
-
Test written:
|
|
73
|
-
- Created [test file path]
|
|
74
|
-
- Tests: [what behavior it tests]
|
|
75
|
-
- Asserts: [what the test checks]
|
|
76
|
-
|
|
77
|
-
Expected result:
|
|
78
|
-
- Should FAIL because [hypothesis reason]
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
#### 4. Return
|
|
82
|
-
|
|
83
|
-
Report:
|
|
84
|
-
- Test file path
|
|
85
|
-
- What the test checks
|
|
86
|
-
- Why it should fail given the bug
|
|
87
|
-
|
|
88
|
-
### Fix Mode
|
|
89
|
-
|
|
90
|
-
When asked to fix code:
|
|
91
|
-
|
|
92
|
-
#### 1. Read Context
|
|
93
|
-
|
|
94
|
-
Read in this order:
|
|
95
|
-
1. **Task file** - Understand what to fix and `done_when` criteria
|
|
96
|
-
2. **Debug file** - Understand the hypothesis and what's broken (`../debug.yaml`)
|
|
97
|
-
3. **Test task** - Read the test task's outcome to understand what test exists
|
|
98
|
-
4. **ADR files** - Read each ADR in `relevant_adrs` for constraints
|
|
99
|
-
|
|
100
|
-
#### 2. Understand the Test
|
|
101
|
-
|
|
102
|
-
Read the test file. Understand:
|
|
103
|
-
- What behavior it expects
|
|
104
|
-
- Why it's currently failing
|
|
105
|
-
- What the fix needs to achieve
|
|
106
|
-
|
|
107
|
-
#### 3. Fix the Code
|
|
108
|
-
|
|
109
|
-
Modify **only non-test files** to make the test pass.
|
|
110
|
-
|
|
111
|
-
**CRITICAL**: Do not modify test files. The test is the specification. Your job is to make the code meet the specification.
|
|
112
|
-
|
|
113
|
-
If you believe the test is wrong, escalate—don't modify it.
|
|
114
|
-
|
|
115
|
-
#### 4. Verify
|
|
116
|
-
|
|
117
|
-
Run the test to confirm it passes:
|
|
118
|
-
|
|
119
|
-
```bash
|
|
120
|
-
[test command]
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
If it still fails, keep fixing. If you're stuck, escalate.
|
|
124
|
-
|
|
125
|
-
#### 5. Update Task File
|
|
126
|
-
|
|
127
|
-
After fixing:
|
|
128
|
-
|
|
129
|
-
```yaml
|
|
130
|
-
status: needs_review
|
|
131
|
-
outcome: |
|
|
132
|
-
Fix applied:
|
|
133
|
-
- Modified [file path]: [what changed]
|
|
134
|
-
- Root cause was: [what was actually wrong]
|
|
135
|
-
|
|
136
|
-
Test result:
|
|
137
|
-
- [test name] now passes
|
|
138
|
-
|
|
139
|
-
Files changed:
|
|
140
|
-
- [list of modified files]
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
#### 6. Return
|
|
144
|
-
|
|
145
|
-
Report:
|
|
146
|
-
- What was fixed
|
|
147
|
-
- Files modified
|
|
148
|
-
- Test result (pass/fail)
|
|
149
|
-
|
|
150
|
-
## Escalation
|
|
151
|
-
|
|
152
|
-
**Stop and escalate if:**
|
|
153
|
-
|
|
154
|
-
- **Test mode**: Can't write a meaningful test for the hypothesis (hypothesis too vague)
|
|
155
|
-
- **Fix mode**: The test seems wrong (tests the wrong thing, has a bug itself)
|
|
156
|
-
- **Fix mode**: Can't fix without modifying test files
|
|
157
|
-
- **Either mode**: ADR conflict prevents the approach
|
|
158
|
-
- **Either mode**: Blocked by missing information
|
|
159
|
-
|
|
160
|
-
**When escalating:**
|
|
161
|
-
|
|
162
|
-
```
|
|
163
|
-
## Escalation
|
|
164
|
-
|
|
165
|
-
**Mode**: [test/fix]
|
|
166
|
-
|
|
167
|
-
**Reason**: [why you can't proceed]
|
|
168
|
-
|
|
169
|
-
**What I found**: [relevant details]
|
|
170
|
-
|
|
171
|
-
**Recommendation**: [what should happen next]
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
## Principles
|
|
175
|
-
|
|
176
|
-
**One mode per session.** You either write a test OR fix code, never both. This ensures clean separation.
|
|
177
|
-
|
|
178
|
-
**Tests are specifications.** In fix mode, the test defines correct behavior. Don't question it—make the code conform.
|
|
179
|
-
|
|
180
|
-
**Fix mode: code only.** Modify only non-test files in fix mode. If the test is wrong, escalate.
|
|
181
|
-
|
|
182
|
-
**Test mode: fail is success.** A test that fails (because the bug exists) is exactly what we want. A passing test means the hypothesis is wrong.
|
|
183
|
-
|
|
184
|
-
**Outcome is context.** Write clear outcomes so the next session (or agent) understands what was done.
|
|
185
|
-
|
|
186
|
-
## Working with Submodules
|
|
187
|
-
|
|
188
|
-
When the debug session targets a specific submodule:
|
|
189
|
-
|
|
190
|
-
**Test file placement**: Create test files within the submodule's test directory. Follow the submodule's existing test organization patterns.
|
|
191
|
-
|
|
192
|
-
**Test execution**: Run tests using the submodule's test configuration (e.g., `cd packages/auth && npm test` or the submodule's specific test command).
|
|
193
|
-
|
|
194
|
-
**Fix scope**: In fix mode, modify code only within the submodule unless the bug explicitly requires cross-submodule changes.
|
|
195
|
-
|
|
196
|
-
**Example**:
|
|
197
|
-
```
|
|
198
|
-
Debug session: submodule_context: packages/auth
|
|
199
|
-
Test mode:
|
|
200
|
-
- Create test in packages/auth/tests/ or packages/auth/__tests__/
|
|
201
|
-
- Run: cd packages/auth && npm test (or submodule's test command)
|
|
202
|
-
Fix mode:
|
|
203
|
-
- Modify files in packages/auth/src/
|
|
204
|
-
- Verify with submodule's test runner
|
|
205
|
-
```
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Create, audit, or modify Claude Code skills with expert guidance
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
Invoke the creating-agent-skills skill immediately:
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
Skill(skill: "creating-agent-skills")
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
The skill contains all workflow instructions. Do not proceed with any other actions until you have invoked the skill.
|
package/src/commands/finalize.md
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Capture architectural decisions and tribal knowledge before clearing session context
|
|
3
|
-
allowed-tools: Task, AskUserQuestion
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
## Your task
|
|
7
|
-
|
|
8
|
-
Review the conversation and capture valuable insights before ending the session:
|
|
9
|
-
- Architectural decisions → ADRs
|
|
10
|
-
- Tribal knowledge/gotchas → CLAUDE.md updates
|
|
11
|
-
|
|
12
|
-
### Step 1: Analyze the conversation
|
|
13
|
-
|
|
14
|
-
Look for:
|
|
15
|
-
|
|
16
|
-
**ADR candidates** (worth documenting if):
|
|
17
|
-
- Technical choices with documented alternatives ("We decided X because Y")
|
|
18
|
-
- Framework or library selections with rationale
|
|
19
|
-
- Design pattern adoptions that future work should follow
|
|
20
|
-
|
|
21
|
-
**CLAUDE.md candidates** (worth documenting if):
|
|
22
|
-
- Non-obvious gotchas discovered during the session
|
|
23
|
-
- "Always do X" or "Never do Y" lessons learned
|
|
24
|
-
- Patterns established that aren't obvious from the code
|
|
25
|
-
|
|
26
|
-
**Not worth capturing**:
|
|
27
|
-
- Bug fixes, implementation details, obvious choices
|
|
28
|
-
- Standard setup, info already in README/package.json
|
|
29
|
-
- Common knowledge
|
|
30
|
-
|
|
31
|
-
### Step 2: Present your assessment
|
|
32
|
-
|
|
33
|
-
```
|
|
34
|
-
## Session Learnings Assessment
|
|
35
|
-
|
|
36
|
-
**ADRs**: [Either "I identified architectural decisions: [list]. Creating ADRs now." OR "No architectural decisions warrant ADRs."]
|
|
37
|
-
|
|
38
|
-
**CLAUDE.md**: [Either "I identified tribal knowledge: [list]. Updating now." OR "No tribal knowledge warrants updates."]
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
### Step 3: Invoke agents to capture
|
|
42
|
-
|
|
43
|
-
- **adr-agent**: Creates ADR files with proper numbering, schema, and index updates
|
|
44
|
-
- **claude-md-agent**: Adds insights to the appropriate CLAUDE.md file
|
|
45
|
-
|
|
46
|
-
### If nothing identified
|
|
47
|
-
|
|
48
|
-
Report that to the user and mark the session ready to clear.
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Fix a skill based on issues discovered during execution using skill-authoring principles
|
|
3
|
-
argument-hint: [optional: specific issue to fix]
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
## Context
|
|
7
|
-
|
|
8
|
-
Skill authoring principles: @~/.claude/skills/creating-agent-skills/references/principles.md
|
|
9
|
-
|
|
10
|
-
## Your task
|
|
11
|
-
|
|
12
|
-
Fix the skill that just had problems. Apply corrections using proper skill-authoring principles.
|
|
13
|
-
|
|
14
|
-
### Step 1: Detect which skill
|
|
15
|
-
|
|
16
|
-
Identify from conversation context:
|
|
17
|
-
- Look for skill invocation messages
|
|
18
|
-
- Check which SKILL.md was recently referenced
|
|
19
|
-
|
|
20
|
-
If unclear, ask the user.
|
|
21
|
-
|
|
22
|
-
### Step 2: Analyze the problem
|
|
23
|
-
|
|
24
|
-
Focus on $ARGUMENTS if provided, otherwise analyze the conversation.
|
|
25
|
-
|
|
26
|
-
Determine:
|
|
27
|
-
- **What went wrong**: Quote specific sections that are incorrect
|
|
28
|
-
- **Root cause**: Outdated info, wrong parameters, documentation-style writing, missing routing
|
|
29
|
-
- **Principle violated**: Which principle from principles.md does this break?
|
|
30
|
-
|
|
31
|
-
### Step 3: Scan affected files
|
|
32
|
-
|
|
33
|
-
```bash
|
|
34
|
-
ls -la [skill-path]/
|
|
35
|
-
ls -la [skill-path]/references/ 2>/dev/null
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
Read the files that need changes.
|
|
39
|
-
|
|
40
|
-
### Step 4: Present proposed changes
|
|
41
|
-
|
|
42
|
-
Show:
|
|
43
|
-
- Skill being healed
|
|
44
|
-
- Issue discovered
|
|
45
|
-
- Principle violated
|
|
46
|
-
- Before/after for each change
|
|
47
|
-
- Why the fix works (reference principles)
|
|
48
|
-
|
|
49
|
-
### Step 5: Get approval
|
|
50
|
-
|
|
51
|
-
Ask:
|
|
52
|
-
1. Apply and commit
|
|
53
|
-
2. Apply without commit
|
|
54
|
-
3. Revise
|
|
55
|
-
4. Cancel
|
|
56
|
-
|
|
57
|
-
**Wait for response before proceeding.**
|
|
58
|
-
|
|
59
|
-
### Step 6: Apply changes (feedback loop)
|
|
60
|
-
|
|
61
|
-
After approval:
|
|
62
|
-
1. Apply each edit
|
|
63
|
-
2. Read back to verify
|
|
64
|
-
3. If verification fails, fix and re-verify
|
|
65
|
-
4. Commit if requested
|
|
66
|
-
|
|
67
|
-
### If broader issues found
|
|
68
|
-
|
|
69
|
-
Tell the user: "I've fixed the immediate issue, but noticed other potential problems. Consider running a full audit with /create-agent-skill (choose 'Audit')."
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# orchestration-guidance.sh - Injected on every user prompt to encourage sub-agent delegation
|
|
3
|
-
#
|
|
4
|
-
# This hook runs on UserPromptSubmit and returns contextual guidance that Claude sees
|
|
5
|
-
# before processing each prompt. It encourages the orchestration pattern: main thread
|
|
6
|
-
# coordinates while sub-agents handle exploration and implementation.
|
|
7
|
-
|
|
8
|
-
cat << 'EOF'
|
|
9
|
-
<orchestration-guidance>
|
|
10
|
-
You are an ORCHESTRATOR, not an implementer. Your main thread is for coordination only.
|
|
11
|
-
|
|
12
|
-
## THE WORKFLOW: Explore → Plan → Execute
|
|
13
|
-
|
|
14
|
-
Never make code changes without a plan. Follow this sequence:
|
|
15
|
-
|
|
16
|
-
1. **EXPLORE** - Use Task sub-agents to understand current state: file search, code patterns, dependencies
|
|
17
|
-
2. **PLAN** - Use Task with subagent_type: "Plan" to design the change based on current state
|
|
18
|
-
3. **EXECUTE** - Use Task sub-agents to implement the approved plan
|
|
19
|
-
|
|
20
|
-
## DELEGATE AGGRESSIVELY
|
|
21
|
-
|
|
22
|
-
- Use Task sub-agents for ALL exploration and implementation work
|
|
23
|
-
- Use Task with subagent_type: "Plan" before any non-trivial changes
|
|
24
|
-
- Launch multiple agents in parallel when tasks are independent
|
|
25
|
-
- The only tools you use directly: Task, TodoWrite, AskUserQuestion
|
|
26
|
-
|
|
27
|
-
## SPECIALIZED AGENTS
|
|
28
|
-
|
|
29
|
-
**execution-agent is ONLY for the /prime orchestration skill workflow.** It expects plan.yaml context and specific execution semantics. For general task delegation, use generic Task sub-agents without subagent_type.
|
|
30
|
-
|
|
31
|
-
## DISPATCH WITH CLARITY
|
|
32
|
-
|
|
33
|
-
Every sub-agent prompt must include:
|
|
34
|
-
1. Concrete objective: What specific outcome is needed
|
|
35
|
-
2. Acceptance criteria: How to verify the task is complete
|
|
36
|
-
3. Assumptions: Context the agent should validate before proceeding
|
|
37
|
-
4. Escalation rule: "Stop and report back if you encounter anything that contradicts these assumptions"
|
|
38
|
-
|
|
39
|
-
This ensures smooth feedback: sub-agents surface blockers early rather than going down wrong paths.
|
|
40
|
-
|
|
41
|
-
## YOUR ROLE
|
|
42
|
-
|
|
43
|
-
1. Decompose problems into discrete tasks
|
|
44
|
-
2. Dispatch sub-agents with clear objectives and acceptance criteria
|
|
45
|
-
3. Verify results meet requirements
|
|
46
|
-
4. Synthesize findings for the user
|
|
47
|
-
|
|
48
|
-
## SUCCESS LOOKS LIKE
|
|
49
|
-
|
|
50
|
-
Your main thread has almost no Read, Grep, Glob, Edit, or Write calls. Sub-agents do the work; you orchestrate and verify.
|
|
51
|
-
|
|
52
|
-
ONLY handle directly: Single-command bash (git status, npm test), trivial typo fixes where you already know the exact line.
|
|
53
|
-
</orchestration-guidance>
|
|
54
|
-
EOF
|
|
55
|
-
|
|
56
|
-
exit 0
|