cc-dev-template 0.1.80 → 0.1.82
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 +10 -1
- package/package.json +1 -1
- package/src/agents/objective-researcher.md +52 -0
- package/src/agents/question-generator.md +70 -0
- package/src/scripts/restrict-to-spec-dir.sh +23 -0
- package/src/skills/agent-browser/SKILL.md +7 -133
- package/src/skills/agent-browser/references/common-patterns.md +64 -0
- package/src/skills/agent-browser/references/ios-simulator.md +25 -0
- package/src/skills/agent-browser/references/reflect.md +9 -0
- package/src/skills/agent-browser/references/semantic-locators.md +11 -0
- package/src/skills/claude-md/SKILL.md +1 -3
- package/src/skills/claude-md/references/audit-reflect.md +0 -4
- package/src/skills/claude-md/references/audit.md +1 -3
- package/src/skills/claude-md/references/create-reflect.md +0 -4
- package/src/skills/claude-md/references/create.md +1 -3
- package/src/skills/claude-md/references/modify-reflect.md +0 -4
- package/src/skills/claude-md/references/modify.md +1 -3
- package/src/skills/creating-agent-skills/SKILL.md +2 -2
- package/src/skills/creating-agent-skills/references/create-step-1-understand.md +1 -1
- package/src/skills/creating-agent-skills/references/create-step-2-design.md +3 -3
- package/src/skills/creating-agent-skills/references/create-step-3-write.md +42 -10
- package/src/skills/creating-agent-skills/references/create-step-4-review.md +2 -2
- package/src/skills/creating-agent-skills/references/create-step-5-install.md +1 -3
- package/src/skills/creating-agent-skills/references/create-step-6-reflect.md +1 -3
- package/src/skills/creating-agent-skills/references/fix-step-1-diagnose.md +5 -4
- package/src/skills/creating-agent-skills/references/fix-step-2-apply.md +2 -2
- package/src/skills/creating-agent-skills/references/fix-step-3-validate.md +1 -3
- package/src/skills/creating-agent-skills/references/fix-step-4-reflect.md +1 -3
- package/src/skills/creating-agent-skills/templates/router-skill.md +3 -3
- package/src/skills/creating-sub-agents/references/create-step-1-understand.md +1 -1
- package/src/skills/creating-sub-agents/references/create-step-2-design.md +1 -1
- package/src/skills/creating-sub-agents/references/create-step-3-write.md +1 -1
- package/src/skills/creating-sub-agents/references/create-step-4-review.md +1 -1
- package/src/skills/creating-sub-agents/references/create-step-5-install.md +1 -3
- package/src/skills/creating-sub-agents/references/create-step-6-reflect.md +0 -4
- package/src/skills/creating-sub-agents/references/fix-step-3-validate.md +1 -3
- package/src/skills/creating-sub-agents/references/fix-step-4-reflect.md +0 -4
- package/src/skills/initialize-project/SKILL.md +2 -4
- package/src/skills/initialize-project/references/reflect.md +0 -4
- package/src/skills/project-setup/references/step-5-verify.md +1 -3
- package/src/skills/project-setup/references/step-6-reflect.md +0 -4
- package/src/skills/prompting/SKILL.md +1 -1
- package/src/skills/prompting/references/create-reflect.md +0 -4
- package/src/skills/prompting/references/create.md +1 -3
- package/src/skills/prompting/references/review-reflect.md +0 -4
- package/src/skills/prompting/references/review.md +1 -3
- package/src/skills/setup-lsp/SKILL.md +1 -1
- package/src/skills/setup-lsp/references/step-1-scan.md +1 -1
- package/src/skills/setup-lsp/references/step-2-install-configure.md +1 -3
- package/src/skills/setup-lsp/references/step-3-verify.md +1 -3
- package/src/skills/setup-lsp/references/step-4-reflect.md +0 -2
- package/src/skills/ship/SKILL.md +46 -0
- package/src/skills/ship/references/step-1-intent.md +50 -0
- package/src/skills/ship/references/step-2-questions.md +42 -0
- package/src/skills/ship/references/step-3-research.md +44 -0
- package/src/skills/ship/references/step-4-design.md +70 -0
- package/src/skills/ship/references/step-5-spec.md +86 -0
- package/src/skills/ship/references/step-6-tasks.md +83 -0
- package/src/skills/ship/references/step-7-implement.md +61 -0
- package/src/skills/ship/references/step-8-reflect.md +21 -0
- package/src/skills/execute-spec/SKILL.md +0 -48
- package/src/skills/execute-spec/references/phase-1-hydrate.md +0 -71
- package/src/skills/execute-spec/references/phase-2-build.md +0 -63
- package/src/skills/execute-spec/references/phase-3-validate.md +0 -72
- package/src/skills/execute-spec/references/phase-4-triage.md +0 -75
- package/src/skills/execute-spec/references/phase-5-reflect.md +0 -34
- package/src/skills/execute-spec/references/workflow.md +0 -82
- package/src/skills/research/SKILL.md +0 -14
- package/src/skills/research/references/step-1-check-existing.md +0 -25
- package/src/skills/research/references/step-2-conduct-research.md +0 -67
- package/src/skills/research/references/step-3-reflect.md +0 -33
- package/src/skills/spec-interview/SKILL.md +0 -48
- package/src/skills/spec-interview/references/critic-prompt.md +0 -140
- package/src/skills/spec-interview/references/pragmatist-prompt.md +0 -76
- package/src/skills/spec-interview/references/researcher-prompt.md +0 -46
- package/src/skills/spec-interview/references/step-1-opening.md +0 -47
- package/src/skills/spec-interview/references/step-2-ideation.md +0 -73
- package/src/skills/spec-interview/references/step-3-ui-ux.md +0 -83
- package/src/skills/spec-interview/references/step-4-deep-dive.md +0 -119
- package/src/skills/spec-interview/references/step-5-research-needs.md +0 -53
- package/src/skills/spec-interview/references/step-6-verification.md +0 -89
- package/src/skills/spec-interview/references/step-7-finalize.md +0 -62
- package/src/skills/spec-interview/references/step-8-reflect.md +0 -34
- package/src/skills/spec-review/SKILL.md +0 -92
- package/src/skills/spec-sanity-check/SKILL.md +0 -82
- package/src/skills/spec-to-tasks/SKILL.md +0 -24
- package/src/skills/spec-to-tasks/references/step-1-identify-spec.md +0 -39
- package/src/skills/spec-to-tasks/references/step-2-explore.md +0 -43
- package/src/skills/spec-to-tasks/references/step-3-generate.md +0 -69
- package/src/skills/spec-to-tasks/references/step-4-review.md +0 -95
- package/src/skills/spec-to-tasks/references/step-5-reflect.md +0 -22
- package/src/skills/spec-to-tasks/templates/task.md +0 -30
- package/src/skills/task-review/SKILL.md +0 -18
- package/src/skills/task-review/references/checklist.md +0 -155
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# Spec Generation
|
|
2
|
+
|
|
3
|
+
These are drafts — you will review, refine, and present the spec to the user before proceeding.
|
|
4
|
+
|
|
5
|
+
Generate an implementation-ready specification from the intent, research, and design decisions. Read all three documents before writing:
|
|
6
|
+
|
|
7
|
+
- `{spec_dir}/intent.md`
|
|
8
|
+
- `{spec_dir}/research.md`
|
|
9
|
+
- `{spec_dir}/design.md`
|
|
10
|
+
|
|
11
|
+
## Create Tasks
|
|
12
|
+
|
|
13
|
+
Create these tasks and work through them in order:
|
|
14
|
+
|
|
15
|
+
1. "Conduct any needed external research" — resolve open items from design.md
|
|
16
|
+
2. "Write spec.md" — generate the specification
|
|
17
|
+
3. "Review spec with user" — present and refine
|
|
18
|
+
4. "Begin task breakdown" — proceed to the next phase
|
|
19
|
+
|
|
20
|
+
## Task 1: External Research (if needed)
|
|
21
|
+
|
|
22
|
+
Check `{spec_dir}/design.md` for open items. If any require research into external libraries, frameworks, or paradigms:
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
Agent tool:
|
|
26
|
+
subagent_type: "general-purpose"
|
|
27
|
+
prompt: "Research {topic}. Write findings to {spec_dir}/research-{topic-slug}.md. Focus on: API surface, integration patterns, gotchas, and typical usage."
|
|
28
|
+
model: "sonnet"
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Skip this task if there are no open items.
|
|
32
|
+
|
|
33
|
+
## Task 2: Write spec.md
|
|
34
|
+
|
|
35
|
+
Write `{spec_dir}/spec.md` using this structure:
|
|
36
|
+
|
|
37
|
+
```markdown
|
|
38
|
+
# Spec: {Feature Name}
|
|
39
|
+
|
|
40
|
+
## Overview
|
|
41
|
+
{What this feature does, 2-3 sentences}
|
|
42
|
+
|
|
43
|
+
## Data Model
|
|
44
|
+
{New or modified data structures, schemas, types}
|
|
45
|
+
|
|
46
|
+
## API Contracts
|
|
47
|
+
{Endpoints, function signatures, input/output shapes — specific enough that tests can be written against these contracts}
|
|
48
|
+
|
|
49
|
+
## Integration Points
|
|
50
|
+
{How this feature connects to existing systems — which files, which patterns, which services. Reference specific code from research.md.}
|
|
51
|
+
|
|
52
|
+
## Acceptance Criteria
|
|
53
|
+
|
|
54
|
+
### AC-1: {Criterion name}
|
|
55
|
+
- **Given**: {precondition}
|
|
56
|
+
- **When**: {action}
|
|
57
|
+
- **Then**: {expected result}
|
|
58
|
+
- **Verification**: {how to test — unit test, integration test, manual check}
|
|
59
|
+
|
|
60
|
+
### AC-2: ...
|
|
61
|
+
|
|
62
|
+
## Implementation Notes
|
|
63
|
+
{Patterns to follow from design.md, ordering considerations, things to watch out for}
|
|
64
|
+
|
|
65
|
+
## Out of Scope
|
|
66
|
+
{Explicitly what this feature does NOT do}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
The acceptance criteria and API contracts are the most important sections. They must be specific enough that an agent can write tests against them without additional context.
|
|
70
|
+
|
|
71
|
+
## Task 3: Review Spec
|
|
72
|
+
|
|
73
|
+
Present the full spec to the user. Walk through each section. Pay particular attention to:
|
|
74
|
+
|
|
75
|
+
- Are the API contracts correct and complete?
|
|
76
|
+
- Are the acceptance criteria independently testable?
|
|
77
|
+
- Are the integration points accurate (grounded in the research)?
|
|
78
|
+
- Anything missing or out of scope that should be in scope?
|
|
79
|
+
|
|
80
|
+
Revise based on user feedback.
|
|
81
|
+
|
|
82
|
+
## Task 4: Proceed
|
|
83
|
+
|
|
84
|
+
Update `{spec_dir}/state.yaml` — set `phase: tasks`.
|
|
85
|
+
|
|
86
|
+
Use the Read tool on `references/step-6-tasks.md` to break the spec into implementation tasks.
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# Task Breakdown
|
|
2
|
+
|
|
3
|
+
These task files are a first draft — you will review and refine them with the user before proceeding to implementation.
|
|
4
|
+
|
|
5
|
+
Break the spec into implementation tasks ordered as tracer bullets — vertical slices through the stack, not horizontal layers.
|
|
6
|
+
|
|
7
|
+
Read `{spec_dir}/spec.md` before proceeding.
|
|
8
|
+
|
|
9
|
+
## Create Tasks
|
|
10
|
+
|
|
11
|
+
Create these tasks and work through them in order:
|
|
12
|
+
|
|
13
|
+
1. "Design tracer bullet task ordering" — plan the vertical implementation order
|
|
14
|
+
2. "Write task files" — create individual task files
|
|
15
|
+
3. "Review tasks with user" — present and refine
|
|
16
|
+
4. "Begin implementation" — proceed to the next phase
|
|
17
|
+
|
|
18
|
+
## Task 1: Design Task Ordering
|
|
19
|
+
|
|
20
|
+
Do NOT create horizontal plans. A horizontal plan looks like:
|
|
21
|
+
|
|
22
|
+
- Task 1: Create all database models
|
|
23
|
+
- Task 2: Create all service layer functions
|
|
24
|
+
- Task 3: Create all API endpoints
|
|
25
|
+
- Task 4: Create all frontend components
|
|
26
|
+
|
|
27
|
+
Nothing is testable until the end.
|
|
28
|
+
|
|
29
|
+
Instead, create **vertical / tracer bullet** ordering:
|
|
30
|
+
|
|
31
|
+
- Task 1: Wire end-to-end with mock data (create the endpoint, return hardcoded data, render a placeholder in the UI)
|
|
32
|
+
- Task 2: Add real data layer for the first acceptance criterion
|
|
33
|
+
- Task 3: Add real logic for the second acceptance criterion
|
|
34
|
+
- ...
|
|
35
|
+
|
|
36
|
+
Each task touches all necessary layers of the stack and produces something independently testable.
|
|
37
|
+
|
|
38
|
+
Map each acceptance criterion from the spec to one or more tasks. Every AC must be covered.
|
|
39
|
+
|
|
40
|
+
## Task 2: Write Task Files
|
|
41
|
+
|
|
42
|
+
Create `{spec_dir}/tasks/` directory. Write one file per task.
|
|
43
|
+
|
|
44
|
+
`{spec_dir}/tasks/T001-{short-name}.md`:
|
|
45
|
+
|
|
46
|
+
```yaml
|
|
47
|
+
---
|
|
48
|
+
id: T001
|
|
49
|
+
title: {Short descriptive title}
|
|
50
|
+
status: pending
|
|
51
|
+
depends_on: []
|
|
52
|
+
---
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Criterion
|
|
56
|
+
{Which acceptance criterion this task addresses}
|
|
57
|
+
|
|
58
|
+
### Files
|
|
59
|
+
{Which files will be created or modified, with brief description of changes}
|
|
60
|
+
|
|
61
|
+
### Verification
|
|
62
|
+
{How to verify this task is done — specific test commands, manual checks}
|
|
63
|
+
|
|
64
|
+
### Implementation Notes
|
|
65
|
+
{Patterns to follow, edge cases, things to watch out for}
|
|
66
|
+
|
|
67
|
+
Include testing in each task — not as a separate task at the end. If a task adds a feature, the same task adds the test for that feature.
|
|
68
|
+
|
|
69
|
+
## Task 3: Review Tasks
|
|
70
|
+
|
|
71
|
+
Present the task breakdown to the user. For each task, show:
|
|
72
|
+
|
|
73
|
+
- What it does
|
|
74
|
+
- Why it's in this order (the vertical reasoning)
|
|
75
|
+
- How it can be independently verified
|
|
76
|
+
|
|
77
|
+
Revise based on user feedback.
|
|
78
|
+
|
|
79
|
+
## Task 4: Proceed
|
|
80
|
+
|
|
81
|
+
Update `{spec_dir}/state.yaml` — set `phase: implement`.
|
|
82
|
+
|
|
83
|
+
Use the Read tool on `references/step-7-implement.md` to begin implementation.
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Implementation
|
|
2
|
+
|
|
3
|
+
Orchestrate implementation using spec-implementer and spec-validator sub-agents. This follows the execute-spec pattern — you dispatch agents, you do not write code yourself.
|
|
4
|
+
|
|
5
|
+
Read `{spec_dir}/spec.md` and list all task files in `{spec_dir}/tasks/`.
|
|
6
|
+
|
|
7
|
+
## Create Tasks
|
|
8
|
+
|
|
9
|
+
Create these tasks and work through them in order:
|
|
10
|
+
|
|
11
|
+
1. "Hydrate task system" — load task files into Claude Code's task system
|
|
12
|
+
2. "Implement tasks" — dispatch implementer agents
|
|
13
|
+
3. "Validate tasks" — dispatch validator agents
|
|
14
|
+
4. "Handle failures" — triage and re-attempt if needed
|
|
15
|
+
5. "Finalize" — present results
|
|
16
|
+
|
|
17
|
+
## Task 1: Hydrate
|
|
18
|
+
|
|
19
|
+
Read each task file in `{spec_dir}/tasks/`. For each one, create a Claude Code task (TaskCreate) with the task title and description. Set up `blockedBy` relationships based on the `depends_on` field in each task file's frontmatter.
|
|
20
|
+
|
|
21
|
+
## Task 2: Implement
|
|
22
|
+
|
|
23
|
+
For each task that is ready (no blockers), dispatch an implementer:
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
Agent tool:
|
|
27
|
+
subagent_type: "spec-implementer"
|
|
28
|
+
prompt: "Implement the task described in {task_file_path}. Read the task file for requirements, files to modify, and verification steps. Also read {spec_dir}/spec.md for overall context. After implementation, run the verification steps described in the task file."
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Run independent tasks in parallel when possible. Mark each Claude Code task as completed when its implementer finishes successfully.
|
|
32
|
+
|
|
33
|
+
## Task 3: Validate
|
|
34
|
+
|
|
35
|
+
For each completed task, dispatch a validator:
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
Agent tool:
|
|
39
|
+
subagent_type: "spec-validator"
|
|
40
|
+
prompt: "Validate the task described in {task_file_path}. Review the code changes, run tests, and verify against the acceptance criteria in {spec_dir}/spec.md. Report pass/fail with details."
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Task 4: Handle Failures
|
|
44
|
+
|
|
45
|
+
If any validation fails:
|
|
46
|
+
|
|
47
|
+
- Re-dispatch the spec-implementer with the validation feedback appended to the prompt
|
|
48
|
+
- Re-validate after fixes
|
|
49
|
+
- If a task fails validation twice, flag it for the user with the error details and ask how to proceed
|
|
50
|
+
|
|
51
|
+
## Task 5: Finalize
|
|
52
|
+
|
|
53
|
+
Update `{spec_dir}/state.yaml` — set `phase: complete`.
|
|
54
|
+
|
|
55
|
+
Present a summary to the user:
|
|
56
|
+
|
|
57
|
+
- What was implemented
|
|
58
|
+
- What tests pass
|
|
59
|
+
- Any tasks that needed manual intervention
|
|
60
|
+
|
|
61
|
+
Use the Read tool on `references/step-8-reflect.md` to review and improve this workflow.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Reflect
|
|
2
|
+
|
|
3
|
+
Review how this workflow performed and identify improvements.
|
|
4
|
+
|
|
5
|
+
## Self-Assessment
|
|
6
|
+
|
|
7
|
+
Consider each phase:
|
|
8
|
+
|
|
9
|
+
1. **Intent capture**: Did the intent document accurately capture what the user wanted? Did the spec drift from the original intent?
|
|
10
|
+
2. **Question quality**: Were the research questions comprehensive? Were any critical questions missing that caused problems later?
|
|
11
|
+
3. **Research objectivity**: Did the research stay objective? Did the contamination prevention work — or did implementation opinions leak in despite the separation?
|
|
12
|
+
4. **Design decisions**: Were the design questions the right ones? Did the user have to course-correct on things that should have been caught earlier?
|
|
13
|
+
5. **Spec completeness**: Were the API contracts and acceptance criteria specific enough for implementation agents?
|
|
14
|
+
6. **Task ordering**: Did the tracer bullet ordering work? Were there dependency issues or tasks that should have been ordered differently?
|
|
15
|
+
7. **Implementation**: Did agents struggle with any tasks? Were the task descriptions clear enough?
|
|
16
|
+
|
|
17
|
+
## Skill Improvement
|
|
18
|
+
|
|
19
|
+
If you identified concrete improvements to this workflow, edit the relevant step file in `references/` to address the issue. Only make changes that are clearly beneficial based on this session's experience — do not speculate about hypothetical improvements.
|
|
20
|
+
|
|
21
|
+
Present your reflection and any changes to the user.
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
allowed-tools: Grep, Glob, Task, TaskCreate, TaskList, TaskUpdate, TaskGet, AskUserQuestion, Bash
|
|
3
|
-
hooks:
|
|
4
|
-
PreToolUse:
|
|
5
|
-
- matcher: "Read"
|
|
6
|
-
hooks:
|
|
7
|
-
- type: command
|
|
8
|
-
command: "$HOME/.claude/scripts/block-task-files.sh"
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# Execute Spec
|
|
12
|
-
|
|
13
|
-
Orchestrates the implementation and validation of a spec's task breakdown.
|
|
14
|
-
|
|
15
|
-
**Important**: This skill is an orchestrator only. It does NOT read task files or edit code directly. It dispatches agents and receives minimal status responses. All detailed work happens in the agents; all detailed findings live in the task files.
|
|
16
|
-
|
|
17
|
-
## When to Use
|
|
18
|
-
|
|
19
|
-
Invoke when you have a complete spec with a `tasks/` folder containing task files (T001-*.md, T002-*.md, etc.) ready for implementation.
|
|
20
|
-
|
|
21
|
-
## Arguments
|
|
22
|
-
|
|
23
|
-
This skill takes a spec path as an argument:
|
|
24
|
-
- `docs/specs/my-feature` - path to the spec folder containing `spec.md` and `tasks/`
|
|
25
|
-
|
|
26
|
-
## Workflow
|
|
27
|
-
|
|
28
|
-
Read `references/workflow.md` for the full orchestration flow.
|
|
29
|
-
|
|
30
|
-
## Phases
|
|
31
|
-
|
|
32
|
-
1. **Hydrate** - Run parse script, create tasks with dependencies (NO file reading)
|
|
33
|
-
2. **Build** - Dispatch spec-implementer agents, receive minimal status
|
|
34
|
-
3. **Validate** - Dispatch spec-validator agents, receive pass/fail
|
|
35
|
-
4. **Triage** - Re-dispatch implementers for failed tasks, loop until clean
|
|
36
|
-
5. **Reflect** - Assess orchestration experience, improve skill files (mandatory)
|
|
37
|
-
|
|
38
|
-
## Key Principles
|
|
39
|
-
|
|
40
|
-
- **Never read task files** - Use the parse script for hydration, pass paths to agents
|
|
41
|
-
- **Minimal context** - Agent returns are pass/fail only, details in task files
|
|
42
|
-
- **Delegate everything** - Fixes go to spec-implementer, not done by orchestrator
|
|
43
|
-
|
|
44
|
-
## Requirements
|
|
45
|
-
|
|
46
|
-
- Spec folder must contain `spec.md` and `tasks/` directory
|
|
47
|
-
- Task files must have YAML frontmatter with `id`, `title`, `status`, `depends_on`
|
|
48
|
-
- The `spec-implementer` and `spec-validator` agents must be installed
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
# Phase 1: Hydrate Tasks
|
|
2
|
-
|
|
3
|
-
Load task metadata into the Claude Code task system using the parse script.
|
|
4
|
-
|
|
5
|
-
## Important: No File Reading
|
|
6
|
-
|
|
7
|
-
The orchestrator does NOT read task files directly. Use the parse script.
|
|
8
|
-
|
|
9
|
-
## Process
|
|
10
|
-
|
|
11
|
-
```bash
|
|
12
|
-
# Run the parse script
|
|
13
|
-
node ~/.claude/scripts/parse-task-files.js {spec-path}
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
This outputs JSON:
|
|
17
|
-
```json
|
|
18
|
-
{
|
|
19
|
-
"specPath": "docs/specs/kiosk-storefront",
|
|
20
|
-
"specFile": "docs/specs/kiosk-storefront/spec.md",
|
|
21
|
-
"taskCount": 15,
|
|
22
|
-
"tasks": [
|
|
23
|
-
{
|
|
24
|
-
"id": "T001",
|
|
25
|
-
"title": "Public API endpoints",
|
|
26
|
-
"status": "pending",
|
|
27
|
-
"depends_on": [],
|
|
28
|
-
"path": "docs/specs/kiosk-storefront/tasks/T001-public-api-endpoints.md"
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
"id": "T002",
|
|
32
|
-
"title": "Kiosk routing",
|
|
33
|
-
"depends_on": ["T001"],
|
|
34
|
-
"path": "..."
|
|
35
|
-
}
|
|
36
|
-
]
|
|
37
|
-
}
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
## Create Tasks
|
|
41
|
-
|
|
42
|
-
For each task in the JSON:
|
|
43
|
-
|
|
44
|
-
```
|
|
45
|
-
TaskCreate(
|
|
46
|
-
subject: "{id}: {title}",
|
|
47
|
-
description: "{path}",
|
|
48
|
-
activeForm: "Implementing {title}"
|
|
49
|
-
)
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
The description is JUST the path. Agents read the file themselves.
|
|
53
|
-
|
|
54
|
-
## Set Dependencies
|
|
55
|
-
|
|
56
|
-
After creating all tasks, set up blockedBy relationships:
|
|
57
|
-
|
|
58
|
-
```
|
|
59
|
-
TaskUpdate(
|
|
60
|
-
taskId: {claude-task-id},
|
|
61
|
-
addBlockedBy: [mapped IDs from depends_on]
|
|
62
|
-
)
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
Maintain a mapping of task IDs (T001, T002) to Claude task system IDs.
|
|
66
|
-
|
|
67
|
-
## Output
|
|
68
|
-
|
|
69
|
-
- All tasks in Claude Code task system
|
|
70
|
-
- Dependencies configured
|
|
71
|
-
- Ready for Phase 2
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
# Phase 2: Build
|
|
2
|
-
|
|
3
|
-
Dispatch spec-implementer agents for each task, respecting dependencies.
|
|
4
|
-
|
|
5
|
-
## Process
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
Loop until all tasks complete:
|
|
9
|
-
|
|
10
|
-
1. TaskList() to get current state
|
|
11
|
-
|
|
12
|
-
2. Find ready tasks:
|
|
13
|
-
- status: pending
|
|
14
|
-
- blockedBy: empty (no unfinished dependencies)
|
|
15
|
-
|
|
16
|
-
3. For each ready task:
|
|
17
|
-
- Extract task file path from description
|
|
18
|
-
- Mark as in_progress: TaskUpdate(taskId, status: "in_progress")
|
|
19
|
-
- Dispatch implementer:
|
|
20
|
-
Task(
|
|
21
|
-
subagent_type: "spec-implementer",
|
|
22
|
-
prompt: "{task-file-path}",
|
|
23
|
-
run_in_background: true,
|
|
24
|
-
description: "Implement {task-id}"
|
|
25
|
-
)
|
|
26
|
-
|
|
27
|
-
4. Wait for completions:
|
|
28
|
-
- Agents mark tasks complete when done
|
|
29
|
-
- Poll TaskList periodically to check status
|
|
30
|
-
- As tasks complete, newly unblocked tasks become ready
|
|
31
|
-
|
|
32
|
-
5. Repeat until no pending tasks remain
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
## Parallelism Strategy
|
|
36
|
-
|
|
37
|
-
- Dispatch ALL ready tasks simultaneously
|
|
38
|
-
- The dependency graph controls what can run in parallel
|
|
39
|
-
- Example: If T002, T003, T004 all depend only on T001, they all start when T001 completes
|
|
40
|
-
|
|
41
|
-
## Monitoring Progress
|
|
42
|
-
|
|
43
|
-
Report progress as tasks complete:
|
|
44
|
-
```
|
|
45
|
-
Build Progress:
|
|
46
|
-
[x] T001: Public API endpoints (complete)
|
|
47
|
-
[~] T002: Kiosk routing (in progress)
|
|
48
|
-
[~] T003: Entity chain validation (in progress)
|
|
49
|
-
[ ] T007: Cart persistence (blocked by T005, T006)
|
|
50
|
-
...
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
## Error Handling
|
|
54
|
-
|
|
55
|
-
- If an implementer fails: Note the error, continue with other tasks
|
|
56
|
-
- If a task stays in_progress too long: May need manual intervention
|
|
57
|
-
- Failed tasks block their dependents
|
|
58
|
-
|
|
59
|
-
## Output
|
|
60
|
-
|
|
61
|
-
- All tasks implemented (or failed with notes)
|
|
62
|
-
- Implementation Notes written to each task file
|
|
63
|
-
- Ready for Phase 3: Validate
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
# Phase 3: Validate
|
|
2
|
-
|
|
3
|
-
Dispatch spec-validator agents for each completed task.
|
|
4
|
-
|
|
5
|
-
## Prerequisites
|
|
6
|
-
|
|
7
|
-
- All build tasks complete
|
|
8
|
-
- Code is stable (no more modifications happening)
|
|
9
|
-
|
|
10
|
-
## Process
|
|
11
|
-
|
|
12
|
-
```
|
|
13
|
-
1. Get list of all tasks from TaskList()
|
|
14
|
-
|
|
15
|
-
2. For each completed task:
|
|
16
|
-
- Extract task file path from description
|
|
17
|
-
- Dispatch validator:
|
|
18
|
-
Task(
|
|
19
|
-
subagent_type: "spec-validator",
|
|
20
|
-
prompt: "{task-file-path}",
|
|
21
|
-
run_in_background: true,
|
|
22
|
-
description: "Validate {task-id}"
|
|
23
|
-
)
|
|
24
|
-
|
|
25
|
-
3. All validators run in parallel:
|
|
26
|
-
- Each creates its own browser session
|
|
27
|
-
- No dependencies between validators
|
|
28
|
-
- They don't modify code, just read and test
|
|
29
|
-
|
|
30
|
-
4. Wait for all validators to complete
|
|
31
|
-
|
|
32
|
-
5. Collect results:
|
|
33
|
-
- Read Review Notes from each task file
|
|
34
|
-
- Aggregate issues by severity
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
## Validator Behavior
|
|
38
|
-
|
|
39
|
-
Each validator:
|
|
40
|
-
1. Reviews code changes for the task
|
|
41
|
-
2. Runs automated tests if available
|
|
42
|
-
3. Performs E2E testing with agent-browser
|
|
43
|
-
4. Writes findings to Review Notes section
|
|
44
|
-
|
|
45
|
-
## Browser Session Isolation
|
|
46
|
-
|
|
47
|
-
Validators use isolated sessions to prevent conflicts when running in parallel:
|
|
48
|
-
```
|
|
49
|
-
--session validator-T001
|
|
50
|
-
--session validator-T002
|
|
51
|
-
...
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
## Collecting Results
|
|
55
|
-
|
|
56
|
-
After all validators complete, structure findings:
|
|
57
|
-
```
|
|
58
|
-
Validation Results:
|
|
59
|
-
T001: PASS
|
|
60
|
-
T002: PASS
|
|
61
|
-
T003: FAIL
|
|
62
|
-
- [critical] Button not clickable at /kiosk/:id/product
|
|
63
|
-
- [warning] ProductCard.tsx is 342 lines, consider splitting
|
|
64
|
-
T004: PASS
|
|
65
|
-
...
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
## Output
|
|
69
|
-
|
|
70
|
-
- Validation complete for all tasks
|
|
71
|
-
- Issues collected and categorized
|
|
72
|
-
- Ready for Phase 4: Triage
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
# Phase 4: Triage
|
|
2
|
-
|
|
3
|
-
Process validation results and iterate until all tasks pass.
|
|
4
|
-
|
|
5
|
-
## Process
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
1. Collect failed task IDs from validator returns
|
|
9
|
-
(Returns are minimal: "Issues: T005 - [brief list]")
|
|
10
|
-
|
|
11
|
-
2. For each failed task:
|
|
12
|
-
- Re-dispatch spec-implementer with the task path
|
|
13
|
-
- Implementer reads Review Notes and addresses issues
|
|
14
|
-
- Returns: "Task complete: T005"
|
|
15
|
-
|
|
16
|
-
3. Re-run spec-validator on fixed tasks
|
|
17
|
-
- Returns: "Pass: T005" or "Issues: T005 - ..."
|
|
18
|
-
|
|
19
|
-
4. Repeat until:
|
|
20
|
-
- All tasks pass, OR
|
|
21
|
-
- User defers remaining issues
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
## No Separate Fixer Agent
|
|
25
|
-
|
|
26
|
-
The spec-implementer handles fixes. When it reads the task file:
|
|
27
|
-
- If Review Notes has issues → fix mode (address those issues)
|
|
28
|
-
- If Review Notes is empty → initial mode (implement from scratch)
|
|
29
|
-
|
|
30
|
-
The task file's Review Notes section IS the feedback mechanism.
|
|
31
|
-
|
|
32
|
-
## When to Escalate to User
|
|
33
|
-
|
|
34
|
-
Use AskUserQuestion when:
|
|
35
|
-
- Same issue persists after 2+ fix attempts
|
|
36
|
-
- Issue is architectural or unclear how to resolve
|
|
37
|
-
- Trade-off decision needed (performance vs simplicity, etc.)
|
|
38
|
-
|
|
39
|
-
```
|
|
40
|
-
AskUserQuestion(
|
|
41
|
-
questions: [{
|
|
42
|
-
header: "Fix approach",
|
|
43
|
-
question: "T005 failed twice with: [issue]. How should we proceed?",
|
|
44
|
-
options: [
|
|
45
|
-
{ label: "Try approach A", description: "..." },
|
|
46
|
-
{ label: "Try approach B", description: "..." },
|
|
47
|
-
{ label: "Defer", description: "Skip for now, add to backlog" }
|
|
48
|
-
]
|
|
49
|
-
}]
|
|
50
|
-
)
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
## Log-Based History
|
|
54
|
-
|
|
55
|
-
Each pass appends to the task file:
|
|
56
|
-
- Implementer appends to Implementation Notes
|
|
57
|
-
- Validator appends to Review Notes
|
|
58
|
-
|
|
59
|
-
This creates a debugging trail:
|
|
60
|
-
```
|
|
61
|
-
Implementation Notes:
|
|
62
|
-
Pass 1: Initial implementation...
|
|
63
|
-
Pass 2: Fixed idle timer issue...
|
|
64
|
-
|
|
65
|
-
Review Notes:
|
|
66
|
-
Pass 1: [critical] Timer doesn't pause...
|
|
67
|
-
Pass 2: [pass] All issues resolved
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
## Exit Conditions
|
|
71
|
-
|
|
72
|
-
Phase completes when:
|
|
73
|
-
1. All validators return "Pass: TXXX"
|
|
74
|
-
2. User explicitly defers remaining issues
|
|
75
|
-
3. Max retry limit reached (suggest user intervention)
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
# Phase 5: Reflect and Improve
|
|
2
|
-
|
|
3
|
-
**IMPORTANT: This step is mandatory. The execute-spec workflow is not complete until this step is finished. Do not skip this.**
|
|
4
|
-
|
|
5
|
-
Reflect on your experience orchestrating this spec execution. The purpose is to improve the execute-spec skill itself based on what you just learned.
|
|
6
|
-
|
|
7
|
-
## Assess
|
|
8
|
-
|
|
9
|
-
Answer these questions honestly:
|
|
10
|
-
|
|
11
|
-
1. Were any orchestration patterns in this workflow wrong, incomplete, or misleading?
|
|
12
|
-
2. Did the dispatch instructions for implementers or validators cause confusion or failures?
|
|
13
|
-
3. Did the triage loop reveal a pattern that should be encoded for next time?
|
|
14
|
-
4. Were the dependency resolution or parallelism strategies effective, or did they need adjustment?
|
|
15
|
-
5. Did the minimal-context principle (pass/fail only) hold up, or did you need more detail from agents?
|
|
16
|
-
6. Did any scripts, paths, or agent types fail and require correction?
|
|
17
|
-
|
|
18
|
-
## Act
|
|
19
|
-
|
|
20
|
-
If you identified issues above, fix them now:
|
|
21
|
-
|
|
22
|
-
1. Identify the specific file in the execute-spec skill directory where the issue lives
|
|
23
|
-
2. Read that file
|
|
24
|
-
3. Apply the fix — add what was missing, correct what was wrong
|
|
25
|
-
4. Apply the tribal knowledge test: only add what a fresh Claude instance would not already know
|
|
26
|
-
5. Keep the file within its size target
|
|
27
|
-
|
|
28
|
-
If no issues were found, confirm that to the user.
|
|
29
|
-
|
|
30
|
-
## Report
|
|
31
|
-
|
|
32
|
-
Tell the user:
|
|
33
|
-
- What you changed in the execute-spec skill and why, OR
|
|
34
|
-
- That no updates were needed and the skill performed correctly
|