create-agentic-app 1.1.53 → 1.1.55
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/package.json +1 -1
- package/template/.agents/skills/checkpoint/SKILL.md +75 -0
- package/template/.agents/skills/create-spec/SKILL.md +132 -0
- package/template/.agents/skills/create-spec/references/action-required-template.md +53 -0
- package/template/.agents/skills/create-spec/references/readme-template.md +53 -0
- package/template/.agents/skills/create-spec/references/requirements-template.md +54 -0
- package/template/.agents/skills/create-spec/references/task-template.md +79 -0
- package/template/.agents/skills/implement-feature/SKILL.md +189 -0
- package/template/.agents/skills/implement-feature/references/coder-prompt-template.md +46 -0
- package/template/.agents/skills/implement-feature/references/fix-prompt-template.md +38 -0
- package/template/.agents/skills/implement-feature/references/review-prompt-template.md +50 -0
- package/template/.agents/skills/review-pr/SKILL.md +97 -0
- package/template/.claude/skills/checkpoint/SKILL.md +75 -0
- package/template/.claude/skills/create-spec/SKILL.md +132 -0
- package/template/.claude/skills/create-spec/references/action-required-template.md +53 -0
- package/template/.claude/skills/create-spec/references/readme-template.md +53 -0
- package/template/.claude/skills/create-spec/references/requirements-template.md +54 -0
- package/template/.claude/skills/create-spec/references/task-template.md +79 -0
- package/template/.claude/skills/implement-feature/SKILL.md +189 -0
- package/template/.claude/skills/implement-feature/references/coder-prompt-template.md +46 -0
- package/template/.claude/skills/implement-feature/references/fix-prompt-template.md +38 -0
- package/template/.claude/skills/implement-feature/references/review-prompt-template.md +50 -0
- package/template/.claude/skills/review-pr/SKILL.md +97 -0
- package/template/AGENTS.md +32 -47
- package/template/skills-lock.json +0 -60
- package/template/.agents/skills/brainstorming/SKILL.md +0 -164
- package/template/.agents/skills/brainstorming/scripts/frame-template.html +0 -214
- package/template/.agents/skills/brainstorming/scripts/helper.js +0 -88
- package/template/.agents/skills/brainstorming/scripts/server.cjs +0 -354
- package/template/.agents/skills/brainstorming/scripts/start-server.sh +0 -148
- package/template/.agents/skills/brainstorming/scripts/stop-server.sh +0 -56
- package/template/.agents/skills/brainstorming/spec-document-reviewer-prompt.md +0 -49
- package/template/.agents/skills/brainstorming/visual-companion.md +0 -287
- package/template/.agents/skills/dispatching-parallel-agents/SKILL.md +0 -182
- package/template/.agents/skills/executing-plans/SKILL.md +0 -70
- package/template/.agents/skills/finishing-a-development-branch/SKILL.md +0 -200
- package/template/.agents/skills/receiving-code-review/SKILL.md +0 -213
- package/template/.agents/skills/requesting-code-review/SKILL.md +0 -105
- package/template/.agents/skills/requesting-code-review/code-reviewer.md +0 -146
- package/template/.agents/skills/subagent-driven-development/SKILL.md +0 -277
- package/template/.agents/skills/subagent-driven-development/code-quality-reviewer-prompt.md +0 -26
- package/template/.agents/skills/subagent-driven-development/implementer-prompt.md +0 -113
- package/template/.agents/skills/subagent-driven-development/spec-reviewer-prompt.md +0 -61
- package/template/.agents/skills/systematic-debugging/CREATION-LOG.md +0 -119
- package/template/.agents/skills/systematic-debugging/SKILL.md +0 -296
- package/template/.agents/skills/systematic-debugging/condition-based-waiting-example.ts +0 -158
- package/template/.agents/skills/systematic-debugging/condition-based-waiting.md +0 -115
- package/template/.agents/skills/systematic-debugging/defense-in-depth.md +0 -122
- package/template/.agents/skills/systematic-debugging/find-polluter.sh +0 -63
- package/template/.agents/skills/systematic-debugging/root-cause-tracing.md +0 -169
- package/template/.agents/skills/systematic-debugging/test-academic.md +0 -14
- package/template/.agents/skills/systematic-debugging/test-pressure-1.md +0 -58
- package/template/.agents/skills/systematic-debugging/test-pressure-2.md +0 -68
- package/template/.agents/skills/systematic-debugging/test-pressure-3.md +0 -69
- package/template/.agents/skills/test-driven-development/SKILL.md +0 -371
- package/template/.agents/skills/test-driven-development/testing-anti-patterns.md +0 -299
- package/template/.agents/skills/using-superpowers/SKILL.md +0 -117
- package/template/.agents/skills/using-superpowers/references/codex-tools.md +0 -100
- package/template/.agents/skills/using-superpowers/references/copilot-tools.md +0 -52
- package/template/.agents/skills/using-superpowers/references/gemini-tools.md +0 -33
- package/template/.agents/skills/verification-before-completion/SKILL.md +0 -139
- package/template/.agents/skills/writing-plans/SKILL.md +0 -152
- package/template/.agents/skills/writing-plans/plan-document-reviewer-prompt.md +0 -49
- package/template/.claude/commands/checkpoint.md +0 -37
- package/template/.claude/commands/continue-feature.md +0 -425
- package/template/.claude/commands/create-spec.md +0 -180
- package/template/.claude/commands/publish-to-github.md +0 -304
- package/template/.claude/commands/review-pr.md +0 -54
- package/template/.claude/skills/brainstorming/SKILL.md +0 -164
- package/template/.claude/skills/brainstorming/scripts/frame-template.html +0 -214
- package/template/.claude/skills/brainstorming/scripts/helper.js +0 -88
- package/template/.claude/skills/brainstorming/scripts/server.cjs +0 -354
- package/template/.claude/skills/brainstorming/scripts/start-server.sh +0 -148
- package/template/.claude/skills/brainstorming/scripts/stop-server.sh +0 -56
- package/template/.claude/skills/brainstorming/spec-document-reviewer-prompt.md +0 -49
- package/template/.claude/skills/brainstorming/visual-companion.md +0 -287
- package/template/.claude/skills/dispatching-parallel-agents/SKILL.md +0 -182
- package/template/.claude/skills/executing-plans/SKILL.md +0 -70
- package/template/.claude/skills/finishing-a-development-branch/SKILL.md +0 -200
- package/template/.claude/skills/receiving-code-review/SKILL.md +0 -213
- package/template/.claude/skills/requesting-code-review/SKILL.md +0 -105
- package/template/.claude/skills/requesting-code-review/code-reviewer.md +0 -146
- package/template/.claude/skills/subagent-driven-development/SKILL.md +0 -277
- package/template/.claude/skills/subagent-driven-development/code-quality-reviewer-prompt.md +0 -26
- package/template/.claude/skills/subagent-driven-development/implementer-prompt.md +0 -113
- package/template/.claude/skills/subagent-driven-development/spec-reviewer-prompt.md +0 -61
- package/template/.claude/skills/systematic-debugging/CREATION-LOG.md +0 -119
- package/template/.claude/skills/systematic-debugging/SKILL.md +0 -296
- package/template/.claude/skills/systematic-debugging/condition-based-waiting-example.ts +0 -158
- package/template/.claude/skills/systematic-debugging/condition-based-waiting.md +0 -115
- package/template/.claude/skills/systematic-debugging/defense-in-depth.md +0 -122
- package/template/.claude/skills/systematic-debugging/find-polluter.sh +0 -63
- package/template/.claude/skills/systematic-debugging/root-cause-tracing.md +0 -169
- package/template/.claude/skills/systematic-debugging/test-academic.md +0 -14
- package/template/.claude/skills/systematic-debugging/test-pressure-1.md +0 -58
- package/template/.claude/skills/systematic-debugging/test-pressure-2.md +0 -68
- package/template/.claude/skills/systematic-debugging/test-pressure-3.md +0 -69
- package/template/.claude/skills/test-driven-development/SKILL.md +0 -371
- package/template/.claude/skills/test-driven-development/testing-anti-patterns.md +0 -299
- package/template/.claude/skills/using-superpowers/SKILL.md +0 -117
- package/template/.claude/skills/using-superpowers/references/codex-tools.md +0 -100
- package/template/.claude/skills/using-superpowers/references/copilot-tools.md +0 -52
- package/template/.claude/skills/using-superpowers/references/gemini-tools.md +0 -33
- package/template/.claude/skills/verification-before-completion/SKILL.md +0 -139
- package/template/.claude/skills/writing-plans/SKILL.md +0 -152
- package/template/.claude/skills/writing-plans/plan-document-reviewer-prompt.md +0 -49
- package/template/.cursor/rules/project-rules.mdc +0 -6
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Coder Agent Prompt Template
|
|
2
|
+
|
|
3
|
+
Use this template when constructing prompts for coder subagents. Replace the placeholders (`{requirements}`, `{completed_tasks_summary}`, `{task_content}`) with actual content from the spec files.
|
|
4
|
+
|
|
5
|
+
## Template
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
You are implementing a single task from a feature specification. Your job is to write the code described below — nothing more, nothing less.
|
|
9
|
+
|
|
10
|
+
## Feature Context
|
|
11
|
+
|
|
12
|
+
{requirements}
|
|
13
|
+
|
|
14
|
+
## What's Already Been Built
|
|
15
|
+
|
|
16
|
+
{completed_tasks_summary}
|
|
17
|
+
|
|
18
|
+
## Your Task
|
|
19
|
+
|
|
20
|
+
{task_content}
|
|
21
|
+
|
|
22
|
+
## Instructions
|
|
23
|
+
|
|
24
|
+
1. Read the relevant parts of the codebase to understand existing patterns, imports, and conventions
|
|
25
|
+
2. Implement everything described in the task's Technical Details and Implementation Steps
|
|
26
|
+
3. Follow the project's existing code patterns and conventions
|
|
27
|
+
4. Run the project's lint and typecheck commands after making changes. Fix any errors before finishing.
|
|
28
|
+
5. Do NOT commit your changes — the orchestrator handles commits after review
|
|
29
|
+
6. When done, report:
|
|
30
|
+
- Files created (with paths)
|
|
31
|
+
- Files modified (with paths)
|
|
32
|
+
- A one-paragraph summary of what you implemented
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Placeholder Details
|
|
36
|
+
|
|
37
|
+
- **{requirements}**: paste the full text of `requirements.md`. This gives the agent overall feature context — the "what" and "why" — so it can make good judgment calls during implementation.
|
|
38
|
+
|
|
39
|
+
- **{completed_tasks_summary}**: for each previously completed task, include a brief summary like:
|
|
40
|
+
```
|
|
41
|
+
- task-01-setup-database: Created PostgreSQL schema with users and sessions tables. Files: src/db/schema.ts, src/db/migrations/001_initial.sql
|
|
42
|
+
- task-02-auth-config: Set up Better Auth with email/password provider. Files: src/lib/auth.ts, src/lib/auth-client.ts
|
|
43
|
+
```
|
|
44
|
+
Keep each entry to 1-2 lines. The purpose is to give the agent awareness of what exists, not full implementation details.
|
|
45
|
+
|
|
46
|
+
- **{task_content}**: paste the full text of the task file (task-{nn}-{name}.md). This is the agent's primary instruction set — it contains the description, technical details, files to create/modify, and acceptance criteria.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Fix Agent Prompt Template
|
|
2
|
+
|
|
3
|
+
Use this template when constructing prompts for coder agents that fix issues found during code review. Replace the placeholders with actual content.
|
|
4
|
+
|
|
5
|
+
## Template
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
You are fixing specific issues found during code review. Address every issue listed below — do not skip any.
|
|
9
|
+
|
|
10
|
+
## Issues to Fix
|
|
11
|
+
|
|
12
|
+
{issues}
|
|
13
|
+
|
|
14
|
+
## Original Task Context
|
|
15
|
+
|
|
16
|
+
{task_content}
|
|
17
|
+
|
|
18
|
+
## Instructions
|
|
19
|
+
|
|
20
|
+
1. Fix each issue listed above. The review provided file paths, line numbers, and suggested fixes — use those as your starting point.
|
|
21
|
+
2. Run the project's lint and typecheck commands after making fixes. Resolve any new errors your fixes introduce.
|
|
22
|
+
3. Do NOT commit your changes — the orchestrator handles commits.
|
|
23
|
+
4. Do NOT make changes beyond what's needed to fix the listed issues. Stay within scope.
|
|
24
|
+
5. When done, report:
|
|
25
|
+
- What you fixed (reference each issue)
|
|
26
|
+
- Any files modified
|
|
27
|
+
- If you could NOT fix an issue, explain why
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Placeholder Details
|
|
31
|
+
|
|
32
|
+
- **{issues}**: the specific issues from the review that relate to this task. Include file paths, line numbers, descriptions, severity, and suggested fixes. Example:
|
|
33
|
+
```
|
|
34
|
+
- Issue 1: src/api/users.ts:42 — Missing error handling for database connection failure — Severity: high — Suggested fix: wrap the query in try/catch and return a 500 response
|
|
35
|
+
- Issue 2: src/api/users.ts:15 — Unused import 'Session' — Severity: low — Suggested fix: remove the import
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
- **{task_content}**: the full text of the original task file for context. The fix agent may need to reference the task's technical details or acceptance criteria to understand the intended behavior.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Review Agent Prompt Template
|
|
2
|
+
|
|
3
|
+
Use this template when constructing prompts for the code review agent that runs between waves. Replace the placeholders with actual content.
|
|
4
|
+
|
|
5
|
+
## Template
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
You are reviewing the combined output of Wave {wave_number} of a feature implementation. Multiple coder agents worked in parallel on separate tasks — your job is to verify everything integrates correctly and meets quality standards.
|
|
9
|
+
|
|
10
|
+
## Feature Context
|
|
11
|
+
|
|
12
|
+
{requirements}
|
|
13
|
+
|
|
14
|
+
## Tasks Completed in This Wave
|
|
15
|
+
|
|
16
|
+
{task_summaries}
|
|
17
|
+
|
|
18
|
+
## Review Checklist
|
|
19
|
+
|
|
20
|
+
1. **Verification**: Run `{verification_commands}` and report results. Fix nothing — just report.
|
|
21
|
+
2. **Acceptance Criteria**: For each task listed above, check whether the implementation meets the acceptance criteria from its task file.
|
|
22
|
+
3. **Integration**: Verify that files created by different tasks work together:
|
|
23
|
+
- Imports resolve correctly
|
|
24
|
+
- Types match across module boundaries
|
|
25
|
+
- No duplicate or conflicting definitions
|
|
26
|
+
- Shared state (env vars, config) is consistent
|
|
27
|
+
4. **Code Quality**: Check for security issues, performance problems, and adherence to project conventions.
|
|
28
|
+
5. **Scope**: Verify each task stayed within its defined scope (Files to Create/Modify). Flag any unexpected file changes.
|
|
29
|
+
|
|
30
|
+
## Verdict
|
|
31
|
+
|
|
32
|
+
Respond with one of:
|
|
33
|
+
|
|
34
|
+
**VERDICT: PASS**
|
|
35
|
+
All checks passed. Include any minor observations as notes.
|
|
36
|
+
|
|
37
|
+
**VERDICT: FAIL**
|
|
38
|
+
Include a structured list of issues:
|
|
39
|
+
- **Issue 1**: {file:line} — {description} — Severity: {high/medium/low} — Suggested fix: {fix}
|
|
40
|
+
- **Issue 2**: ...
|
|
41
|
+
|
|
42
|
+
Group issues by the task they most closely relate to (based on which task's files are affected). This helps the orchestrator dispatch targeted fix agents.
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Placeholder Details
|
|
46
|
+
|
|
47
|
+
- **{wave_number}**: the current wave number (e.g., "2")
|
|
48
|
+
- **{requirements}**: full text of `requirements.md`
|
|
49
|
+
- **{task_summaries}**: for each task in the wave, include the task title and the coder agent's completion summary (files created/modified + what was implemented)
|
|
50
|
+
- **{verification_commands}**: the project's lint and typecheck commands. Check for `package.json` scripts — typically `pnpm lint && pnpm typecheck` or similar.
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: review-pr
|
|
3
|
+
description: >
|
|
4
|
+
Review pull requests with complexity-adaptive depth — spawning deep-dive agents for medium
|
|
5
|
+
and complex PRs. Use this skill when the user says "review this PR", "review PR #123",
|
|
6
|
+
"check this pull request", "give me a code review", or wants feedback on a PR before merging.
|
|
7
|
+
Also use when the user says "/review-pr" or pastes a GitHub PR URL. Requires the GitHub CLI (gh).
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Review Pull Request
|
|
11
|
+
|
|
12
|
+
Review pull requests with a depth that matches their complexity. Simple PRs get a direct review; complex PRs get parallel deep-dive agents analyzing security, performance, and architecture.
|
|
13
|
+
|
|
14
|
+
## Arguments
|
|
15
|
+
|
|
16
|
+
The user should provide PR number(s) or URL(s). If none provided, ask for them.
|
|
17
|
+
|
|
18
|
+
## Instructions
|
|
19
|
+
|
|
20
|
+
### Step 1: Retrieve PR Details
|
|
21
|
+
|
|
22
|
+
Use the GitHub CLI to get the full picture:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
gh pr view {pr_number} --json title,body,files,additions,deletions,commits,author,reviews,comments
|
|
26
|
+
gh pr diff {pr_number}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Step 2: Assess Complexity
|
|
30
|
+
|
|
31
|
+
Score the PR based on:
|
|
32
|
+
- Number of files changed
|
|
33
|
+
- Lines added/removed
|
|
34
|
+
- Number of commits
|
|
35
|
+
- Whether changes touch core/architectural files
|
|
36
|
+
|
|
37
|
+
**Simple** (direct review, no agents):
|
|
38
|
+
- 5 or fewer files AND 100 or fewer lines AND single author
|
|
39
|
+
|
|
40
|
+
**Medium** (1-2 deep-dive agents):
|
|
41
|
+
- 6-15 files, OR 100-500 lines, OR 2 contributors
|
|
42
|
+
|
|
43
|
+
**Complex** (up to 3 deep-dive agents):
|
|
44
|
+
- More than 15 files, OR more than 500 lines, OR more than 2 contributors, OR touches core architecture
|
|
45
|
+
|
|
46
|
+
### Step 3: Analyze
|
|
47
|
+
|
|
48
|
+
**For Simple PRs**: review directly — read the diff, check for issues, provide feedback.
|
|
49
|
+
|
|
50
|
+
**For Medium/Complex PRs**: spawn deep-dive agents in parallel using the `Agent` tool with `subagent_type: "deep-dive"`. Each agent gets a focused area:
|
|
51
|
+
|
|
52
|
+
- **Agent 1 — Code Quality**: conventions, patterns, maintainability, test coverage
|
|
53
|
+
- **Agent 2 — Security**: input validation, auth checks, injection risks, data exposure
|
|
54
|
+
- **Agent 3 — Architecture** (Complex only): design patterns, separation of concerns, performance implications, backwards compatibility
|
|
55
|
+
|
|
56
|
+
Each agent receives the PR diff and description and returns a structured review.
|
|
57
|
+
|
|
58
|
+
### Step 4: Vision Alignment
|
|
59
|
+
|
|
60
|
+
Read the project's `README.md` and `CLAUDE.md` to understand the application's purpose. Assess whether the PR aligns with the project's intended direction. Flag significant deviations — not as a blocker, but as a consideration for the reviewer.
|
|
61
|
+
|
|
62
|
+
### Step 5: Safety Assessment
|
|
63
|
+
|
|
64
|
+
Provide an overall assessment:
|
|
65
|
+
- **Safe to merge**: no significant issues found
|
|
66
|
+
- **Merge with caution**: minor issues that should be noted but aren't blocking
|
|
67
|
+
- **Needs changes**: issues that should be fixed before merging
|
|
68
|
+
|
|
69
|
+
Include a risk level (low/medium/high) with justification.
|
|
70
|
+
|
|
71
|
+
### Step 6: Report
|
|
72
|
+
|
|
73
|
+
Structure the review as:
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
## PR Review: #{pr_number} — {title}
|
|
77
|
+
|
|
78
|
+
### Complexity: {Simple|Medium|Complex}
|
|
79
|
+
{Brief justification}
|
|
80
|
+
|
|
81
|
+
### Summary
|
|
82
|
+
{2-3 sentence overview of what the PR does}
|
|
83
|
+
|
|
84
|
+
### Issues Found
|
|
85
|
+
{Grouped by severity: high → medium → low}
|
|
86
|
+
- **{severity}**: {file:line} — {description}
|
|
87
|
+
|
|
88
|
+
### Improvements Suggested
|
|
89
|
+
{Optional improvements ranked by importance and implementation complexity}
|
|
90
|
+
|
|
91
|
+
### Vision Alignment
|
|
92
|
+
{Does this PR align with the project's direction?}
|
|
93
|
+
|
|
94
|
+
### Verdict: {Safe to merge | Merge with caution | Needs changes}
|
|
95
|
+
Risk level: {low|medium|high}
|
|
96
|
+
{Brief justification}
|
|
97
|
+
```
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: checkpoint
|
|
3
|
+
description: >
|
|
4
|
+
Create a comprehensive checkpoint commit with detailed analysis of all changes. Use this skill
|
|
5
|
+
when the user says "checkpoint", "commit everything", "save my progress", "create a commit",
|
|
6
|
+
or wants to stage and commit all current changes with a well-crafted message. Also use when
|
|
7
|
+
the user says "/checkpoint" or asks to snapshot current work. This skill stages all changes
|
|
8
|
+
and creates a descriptive commit — it does not push.
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Checkpoint Commit
|
|
12
|
+
|
|
13
|
+
Create a comprehensive checkpoint commit that captures all current changes with a detailed, well-structured commit message.
|
|
14
|
+
|
|
15
|
+
## Instructions
|
|
16
|
+
|
|
17
|
+
### Step 1: Analyze Changes
|
|
18
|
+
|
|
19
|
+
Run these commands to understand the full picture:
|
|
20
|
+
|
|
21
|
+
1. `git status` — see all tracked and untracked files
|
|
22
|
+
2. `git diff` — see detailed changes in tracked files
|
|
23
|
+
3. `git diff --cached` — see already-staged changes
|
|
24
|
+
4. `git log -5 --oneline` — understand this repo's commit message style
|
|
25
|
+
|
|
26
|
+
### Step 2: Stage Everything
|
|
27
|
+
|
|
28
|
+
Stage all changes — tracked modifications, deletions, and new untracked files:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
git add -A
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Step 3: Craft the Commit Message
|
|
35
|
+
|
|
36
|
+
Write a commit message following the project's existing conventions (observed from `git log`). Structure:
|
|
37
|
+
|
|
38
|
+
- **First line**: clear, concise summary in imperative mood (50-72 chars)
|
|
39
|
+
- Use conventional commit prefixes where the project uses them: `feat:`, `fix:`, `refactor:`, `docs:`, `chore:`, etc.
|
|
40
|
+
- **Body** (separated by blank line): detailed description including:
|
|
41
|
+
- What changes were made (key modifications)
|
|
42
|
+
- Why these changes were made (purpose/motivation)
|
|
43
|
+
- Important technical details or decisions
|
|
44
|
+
- Breaking changes or migration notes if applicable
|
|
45
|
+
- **Footer**: co-author attribution
|
|
46
|
+
|
|
47
|
+
### Step 4: Commit
|
|
48
|
+
|
|
49
|
+
Create the commit using a heredoc for proper formatting:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
git commit -m "$(cat <<'EOF'
|
|
53
|
+
{first line}
|
|
54
|
+
|
|
55
|
+
{body}
|
|
56
|
+
|
|
57
|
+
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
|
58
|
+
EOF
|
|
59
|
+
)"
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Step 5: Report
|
|
63
|
+
|
|
64
|
+
Display:
|
|
65
|
+
- The commit hash and message summary
|
|
66
|
+
- Files changed count
|
|
67
|
+
- Insertions/deletions summary
|
|
68
|
+
|
|
69
|
+
## Important
|
|
70
|
+
|
|
71
|
+
- Stage and commit everything — do not skip files unless they are clearly sensitive (`.env`, credentials)
|
|
72
|
+
- If the repo has no git history, run `git init` first
|
|
73
|
+
- Make the commit message descriptive enough that someone reading `git log` understands what was accomplished
|
|
74
|
+
- Follow the project's existing commit conventions (check the log first)
|
|
75
|
+
- Do not push — only commit locally
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: create-spec
|
|
3
|
+
description: >
|
|
4
|
+
Create a structured feature specification with self-contained task files organized into
|
|
5
|
+
parallel execution waves. Use this skill when the user says "create a spec", "plan this feature",
|
|
6
|
+
"write up an implementation plan", "break this into tasks", or after any planning conversation
|
|
7
|
+
where the user wants to capture decisions as actionable spec files. Also use when the user
|
|
8
|
+
says "/create-spec" or wants to decompose a feature into work items that agents can implement
|
|
9
|
+
independently. This skill produces local spec files under specs/{feature}/ — no GitHub integration.
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Create Feature Specification
|
|
13
|
+
|
|
14
|
+
Transform a planning conversation into a structured spec folder that enables parallel agent implementation. The spec breaks a feature into self-contained task files — each one detailed enough that a coder agent can pick it up cold and implement it without reading anything else.
|
|
15
|
+
|
|
16
|
+
The key insight: implementation plans that live in a single file are either too large for a context window or too shallow for independent execution. By splitting into one file per task with full context in each, we enable multiple agents to work in parallel while keeping each agent's context focused.
|
|
17
|
+
|
|
18
|
+
## When to Use
|
|
19
|
+
|
|
20
|
+
- After a planning conversation where requirements and technical details have been discussed
|
|
21
|
+
- When the user asks to create a spec, plan a feature, or break work into tasks
|
|
22
|
+
- When the user wants to prepare work for parallel agent implementation
|
|
23
|
+
|
|
24
|
+
## Instructions
|
|
25
|
+
|
|
26
|
+
### Step 1: Gather Requirements
|
|
27
|
+
|
|
28
|
+
If the conversation already contains planning context (requirements discussed, technical decisions made, architecture outlined), extract all of it. Review the entire conversation to ensure nothing is lost — the spec is the single source of truth, and anything not captured here disappears.
|
|
29
|
+
|
|
30
|
+
If no planning conversation exists, interview the user:
|
|
31
|
+
- What does this feature do and why does it matter?
|
|
32
|
+
- What are the acceptance criteria?
|
|
33
|
+
- What technical constraints or decisions have been made?
|
|
34
|
+
- What files, APIs, schemas, or patterns are involved?
|
|
35
|
+
|
|
36
|
+
### Step 2: Name the Feature
|
|
37
|
+
|
|
38
|
+
Choose a kebab-case name that clearly identifies the feature (e.g., `add-user-auth`, `migrate-to-postgres`, `dashboard-redesign`). This becomes the folder name under `specs/`.
|
|
39
|
+
|
|
40
|
+
### Step 3: Decompose into Tasks
|
|
41
|
+
|
|
42
|
+
Break the implementation into atomic tasks. Each task should:
|
|
43
|
+
- Be completable in a single coding session by one agent
|
|
44
|
+
- Have a clear, specific scope (one concern per task)
|
|
45
|
+
- Produce working, testable code when complete
|
|
46
|
+
- Not overlap in files modified with other tasks in the same wave
|
|
47
|
+
|
|
48
|
+
Think carefully about granularity. Too coarse and agents can't work in parallel. Too fine and the overhead of context-switching between tasks dominates. A good task typically creates or modifies 1-5 files around a single concern.
|
|
49
|
+
|
|
50
|
+
Do NOT include testing tasks (unit tests, e2e tests) unless the user explicitly asks for them.
|
|
51
|
+
|
|
52
|
+
### Step 4: Build the Dependency Graph
|
|
53
|
+
|
|
54
|
+
For each task, identify:
|
|
55
|
+
- **What it depends on**: which tasks must complete before this one can start
|
|
56
|
+
- **What depends on it**: which tasks are blocked until this one finishes
|
|
57
|
+
|
|
58
|
+
Tasks with no dependencies form Wave 1. Tasks whose dependencies are all in Wave 1 form Wave 2. And so on. All tasks within a wave can execute in parallel.
|
|
59
|
+
|
|
60
|
+
When assigning waves, verify that tasks within the same wave do not modify overlapping files. If two tasks in the same wave would touch the same file, move one to a later wave — parallel agents on the same branch cannot safely modify the same file.
|
|
61
|
+
|
|
62
|
+
### Step 5: Create the Spec Folder
|
|
63
|
+
|
|
64
|
+
Create the following structure at `specs/{feature-name}/`:
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
specs/{feature-name}/
|
|
68
|
+
├── README.md
|
|
69
|
+
├── requirements.md
|
|
70
|
+
├── action-required.md
|
|
71
|
+
└── tasks/
|
|
72
|
+
���── task-01-{name}.md
|
|
73
|
+
├── task-02-{name}.md
|
|
74
|
+
└── ...
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Read the templates in `references/` before writing each file:
|
|
78
|
+
- `references/readme-template.md` — for the README (dependency graph, wave table, status tracking)
|
|
79
|
+
- `references/task-template.md` — for each task file (self-contained with all context)
|
|
80
|
+
- `references/requirements-template.md` ��� for the requirements document
|
|
81
|
+
- `references/action-required-template.md` — for manual human steps
|
|
82
|
+
|
|
83
|
+
Task files are numbered with zero-padded two-digit prefixes in topological order: Wave 1 tasks first, then Wave 2, etc. Within a wave, order is arbitrary but stable.
|
|
84
|
+
|
|
85
|
+
### Step 6: Write Self-Contained Task Files
|
|
86
|
+
|
|
87
|
+
This is the most important step. Each task file is the **only thing** a coder agent will read before implementing. It must contain everything the agent needs:
|
|
88
|
+
|
|
89
|
+
- **Description**: what to build and why it matters in context
|
|
90
|
+
- **Dependency context**: what prior tasks produce that this task needs (summarized in prose, not just filenames). The agent should not need to read other task files.
|
|
91
|
+
- **Technical details**: CLI commands, code snippets, schemas, file paths, env vars, API endpoints — every implementation-specific detail from the planning conversation
|
|
92
|
+
- **Files to create/modify**: explicit list with purpose for each
|
|
93
|
+
- **Acceptance criteria**: specific, verifiable conditions
|
|
94
|
+
|
|
95
|
+
Review each task file with fresh eyes: could an agent who has never seen the planning conversation implement this correctly using only this file? If not, add what's missing.
|
|
96
|
+
|
|
97
|
+
### Step 7: Extract Manual Actions
|
|
98
|
+
|
|
99
|
+
Identify any steps that require human action (account creation, API key setup, DNS configuration, environment variables, third-party service registration, etc.). Write these to `action-required.md` grouped by timing (Before/During/After implementation). If none exist, note "No manual steps required."
|
|
100
|
+
|
|
101
|
+
### Step 8: Report to User
|
|
102
|
+
|
|
103
|
+
After creating the spec, display:
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
Feature specification created at specs/{feature-name}/
|
|
107
|
+
|
|
108
|
+
Files created:
|
|
109
|
+
- README.md (dependency graph, {N} waves, {T} tasks)
|
|
110
|
+
- requirements.md
|
|
111
|
+
- action-required.md
|
|
112
|
+
- tasks/ ({T} task files)
|
|
113
|
+
|
|
114
|
+
Wave breakdown:
|
|
115
|
+
- Wave 1: {count} tasks (parallel) — {brief description}
|
|
116
|
+
- Wave 2: {count} tasks (parallel) — {brief description}
|
|
117
|
+
- ...
|
|
118
|
+
|
|
119
|
+
Next steps:
|
|
120
|
+
1. Review action-required.md for tasks you need to complete manually
|
|
121
|
+
2. Review the requirements and task files
|
|
122
|
+
3. Use /implement-feature to start parallel implementation
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## Critical Rules
|
|
126
|
+
|
|
127
|
+
- Every task file must be fully self-contained — this is the entire point of the spec structure. A coder agent reading only that file must know exactly what to do.
|
|
128
|
+
- Capture ALL technical details from the planning conversation. The spec is the single source of truth — CLI commands, schemas, code snippets, file paths, env vars, API endpoints. Anything not captured here is lost.
|
|
129
|
+
- Tasks within the same wave must not modify overlapping files. Parallel agents on the same branch cannot safely touch the same files.
|
|
130
|
+
- Keep tasks atomic — one concern per task. If a task has more than 5-7 files to modify, consider splitting it.
|
|
131
|
+
- Do not create testing tasks unless the user explicitly asks for them.
|
|
132
|
+
- Number task files in topological order (wave 1 first, then wave 2, etc.) for easy scanning.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Action Required Template
|
|
2
|
+
|
|
3
|
+
Use this structure for the action-required.md at the root of each spec folder. This file captures manual steps that require human action and cannot be automated by agents.
|
|
4
|
+
|
|
5
|
+
## Template (when manual steps exist)
|
|
6
|
+
|
|
7
|
+
```markdown
|
|
8
|
+
# Action Required: {Feature Name}
|
|
9
|
+
|
|
10
|
+
Manual steps that must be completed by a human. These cannot be automated.
|
|
11
|
+
|
|
12
|
+
## Before Implementation
|
|
13
|
+
|
|
14
|
+
- [ ] **{Action}** — {Brief reason why this is needed}
|
|
15
|
+
- [ ] **{Action}** — {Brief reason}
|
|
16
|
+
|
|
17
|
+
## During Implementation
|
|
18
|
+
|
|
19
|
+
- [ ] **{Action}** — {Brief reason}
|
|
20
|
+
|
|
21
|
+
## After Implementation
|
|
22
|
+
|
|
23
|
+
- [ ] **{Action}** — {Brief reason}
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
> These tasks are also referenced in context within the relevant task files.
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Template (when no manual steps exist)
|
|
31
|
+
|
|
32
|
+
```markdown
|
|
33
|
+
# Action Required: {Feature Name}
|
|
34
|
+
|
|
35
|
+
No manual steps required for this feature. All tasks can be implemented automatically.
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Common Manual Steps
|
|
39
|
+
|
|
40
|
+
- Account creation (third-party services, OAuth apps)
|
|
41
|
+
- API key generation and setup
|
|
42
|
+
- Environment variable configuration
|
|
43
|
+
- DNS or domain settings
|
|
44
|
+
- Billing or subscription setup
|
|
45
|
+
- Third-party service registration (webhooks, integrations)
|
|
46
|
+
- Certificate provisioning
|
|
47
|
+
- Access permissions or IAM roles
|
|
48
|
+
|
|
49
|
+
## Key Points
|
|
50
|
+
|
|
51
|
+
- Group actions by timing: before, during, and after implementation. This helps the user know when they need to act.
|
|
52
|
+
- Keep descriptions brief — one line explaining what to do and why.
|
|
53
|
+
- Also reference these manual steps in the relevant task files so agents know to pause or skip that part.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# README Template
|
|
2
|
+
|
|
3
|
+
Use this structure for the README.md at the root of each spec folder. The README serves as the orchestration index — the `implement-feature` skill reads it to determine wave order, task assignments, and completion status.
|
|
4
|
+
|
|
5
|
+
## Template
|
|
6
|
+
|
|
7
|
+
```markdown
|
|
8
|
+
# {Feature Name}
|
|
9
|
+
|
|
10
|
+
## Overview
|
|
11
|
+
|
|
12
|
+
{One paragraph summary of what the feature does and why it exists.}
|
|
13
|
+
|
|
14
|
+
## Quick Links
|
|
15
|
+
|
|
16
|
+
- [Requirements](./requirements.md) — full requirements and acceptance criteria
|
|
17
|
+
- [Action Required](./action-required.md) — manual steps needing human action
|
|
18
|
+
|
|
19
|
+
## Dependency Graph
|
|
20
|
+
|
|
21
|
+
```mermaid
|
|
22
|
+
graph TD
|
|
23
|
+
task-01-name["01: Task Title"]
|
|
24
|
+
task-02-name["02: Task Title"]
|
|
25
|
+
task-03-name["03: Task Title"]
|
|
26
|
+
task-01-name --> task-03-name
|
|
27
|
+
task-02-name --> task-03-name
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Waves
|
|
31
|
+
|
|
32
|
+
| Wave | Tasks | Description |
|
|
33
|
+
|------|-------|-------------|
|
|
34
|
+
| 1 | task-01, task-02 | {Brief description of what this wave accomplishes} |
|
|
35
|
+
| 2 | task-03 | {Brief description} |
|
|
36
|
+
|
|
37
|
+
## Task Status
|
|
38
|
+
|
|
39
|
+
### Wave 1
|
|
40
|
+
- [ ] [task-01-{name}](./tasks/task-01-{name}.md) — {One-line title}
|
|
41
|
+
- [ ] [task-02-{name}](./tasks/task-02-{name}.md) — {One-line title}
|
|
42
|
+
|
|
43
|
+
### Wave 2
|
|
44
|
+
- [ ] [task-03-{name}](./tasks/task-03-{name}.md) — {One-line title}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Key Points
|
|
48
|
+
|
|
49
|
+
- The **Dependency Graph** uses Mermaid syntax (widely rendered in GitHub, VS Code, etc.). Each node shows the task number and title for quick reference.
|
|
50
|
+
- The **Waves** table provides a scannable overview of what runs in parallel.
|
|
51
|
+
- The **Task Status** section uses markdown checkboxes that the `implement-feature` skill updates as tasks complete. The orchestrator parses these to determine which wave to resume from.
|
|
52
|
+
- Links to task files use relative paths pointing into the `tasks/` subfolder.
|
|
53
|
+
- Tasks without dependencies have no incoming arrows in the graph — these form Wave 1.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Requirements Template
|
|
2
|
+
|
|
3
|
+
Use this structure for the requirements.md at the root of each spec folder.
|
|
4
|
+
|
|
5
|
+
## Template
|
|
6
|
+
|
|
7
|
+
```markdown
|
|
8
|
+
# Requirements: {Feature Name}
|
|
9
|
+
|
|
10
|
+
## Summary
|
|
11
|
+
|
|
12
|
+
{What the feature does and why it exists — 2-3 paragraphs covering the problem, the solution, and the expected outcome.}
|
|
13
|
+
|
|
14
|
+
## Goals
|
|
15
|
+
|
|
16
|
+
- {Goal 1}
|
|
17
|
+
- {Goal 2}
|
|
18
|
+
- {Goal 3}
|
|
19
|
+
|
|
20
|
+
## Non-Goals
|
|
21
|
+
|
|
22
|
+
{Explicitly out of scope — things that might seem related but are not part of this feature.}
|
|
23
|
+
|
|
24
|
+
- {Non-goal 1}
|
|
25
|
+
- {Non-goal 2}
|
|
26
|
+
|
|
27
|
+
## Acceptance Criteria
|
|
28
|
+
|
|
29
|
+
{High-level criteria for the entire feature. Individual task files have their own granular criteria.}
|
|
30
|
+
|
|
31
|
+
- [ ] {Criterion 1}
|
|
32
|
+
- [ ] {Criterion 2}
|
|
33
|
+
- [ ] {Criterion 3}
|
|
34
|
+
|
|
35
|
+
## Assumptions
|
|
36
|
+
|
|
37
|
+
{Things assumed to be true that could affect implementation if they turn out to be false.}
|
|
38
|
+
|
|
39
|
+
- {Assumption 1}
|
|
40
|
+
- {Assumption 2}
|
|
41
|
+
|
|
42
|
+
## Technical Constraints
|
|
43
|
+
|
|
44
|
+
{Architecture decisions, technology choices, or constraints that affect all tasks.}
|
|
45
|
+
|
|
46
|
+
- {Constraint 1}
|
|
47
|
+
- {Constraint 2}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Key Points
|
|
51
|
+
|
|
52
|
+
- The requirements doc provides **overall feature context** that each coder agent receives alongside its task file. Keep it focused on the "what" and "why" — individual task files handle the "how."
|
|
53
|
+
- Non-goals are important: they prevent agents from over-building. If search functionality is out of scope, say so — otherwise a well-meaning agent might add it.
|
|
54
|
+
- Acceptance criteria here are feature-level (the whole thing works end-to-end). Task-level criteria live in each task file.
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# Task File Template
|
|
2
|
+
|
|
3
|
+
Use this structure for each task file in the `tasks/` subfolder. Each task file must be **fully self-contained** — a coder agent reading only this file should know exactly what to implement, why, and how.
|
|
4
|
+
|
|
5
|
+
## Template
|
|
6
|
+
|
|
7
|
+
```markdown
|
|
8
|
+
# Task {nn}: {Title}
|
|
9
|
+
|
|
10
|
+
## Status
|
|
11
|
+
|
|
12
|
+
pending
|
|
13
|
+
|
|
14
|
+
## Wave
|
|
15
|
+
|
|
16
|
+
{N}
|
|
17
|
+
|
|
18
|
+
## Description
|
|
19
|
+
|
|
20
|
+
{2-5 sentences describing what this task accomplishes and why it matters in the context of the overall feature. Include enough context that an agent unfamiliar with the planning conversation understands the purpose.}
|
|
21
|
+
|
|
22
|
+
## Dependencies
|
|
23
|
+
|
|
24
|
+
**Depends on:** {Comma-separated list of task filenames, or "None (Wave 1)"}
|
|
25
|
+
**Blocks:** {Comma-separated list of task filenames, or "None"}
|
|
26
|
+
|
|
27
|
+
**Context from dependencies:** {Prose summary of what the dependency tasks produce that this task needs. For example: "task-01-setup-database.md creates the PostgreSQL schema with users and sessions tables. This task builds the API routes that query those tables." This is what makes each file self-contained — the agent does not need to read other task files to understand its inputs.}
|
|
28
|
+
|
|
29
|
+
## Files to Create
|
|
30
|
+
|
|
31
|
+
- `path/to/new-file.ts` — {Brief purpose}
|
|
32
|
+
- `path/to/another-file.ts` — {Brief purpose}
|
|
33
|
+
|
|
34
|
+
## Files to Modify
|
|
35
|
+
|
|
36
|
+
- `path/to/existing-file.ts` — {What changes and why}
|
|
37
|
+
|
|
38
|
+
## Technical Details
|
|
39
|
+
|
|
40
|
+
{All implementation-specific details from the planning conversation. This section is the single source of truth. Include:}
|
|
41
|
+
|
|
42
|
+
### Implementation Steps
|
|
43
|
+
|
|
44
|
+
1. {Step-by-step instructions with enough detail for independent implementation}
|
|
45
|
+
2. {Include CLI commands where relevant: `pnpm add package-name`}
|
|
46
|
+
3. {Include code snippets for non-obvious patterns}
|
|
47
|
+
|
|
48
|
+
### Code Snippets
|
|
49
|
+
|
|
50
|
+
{Key type definitions, schemas, configuration blocks, or patterns that the implementer needs. Use fenced code blocks with language tags.}
|
|
51
|
+
|
|
52
|
+
### Environment Variables
|
|
53
|
+
|
|
54
|
+
{If applicable:}
|
|
55
|
+
- `VAR_NAME` — {Purpose and example value}
|
|
56
|
+
|
|
57
|
+
### API Endpoints
|
|
58
|
+
|
|
59
|
+
{If applicable:}
|
|
60
|
+
- `METHOD /path` — {Request/response shape}
|
|
61
|
+
|
|
62
|
+
## Acceptance Criteria
|
|
63
|
+
|
|
64
|
+
- [ ] {Criterion 1 — specific and verifiable}
|
|
65
|
+
- [ ] {Criterion 2}
|
|
66
|
+
- [ ] {Criterion 3}
|
|
67
|
+
|
|
68
|
+
## Notes
|
|
69
|
+
|
|
70
|
+
{Any additional context, edge cases, warnings, or architectural decisions relevant to this task. Omit this section if there's nothing to add.}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Key Points
|
|
74
|
+
|
|
75
|
+
- The **Status** field is updated by the `implement-feature` skill: `pending` → `in-progress` → `complete`.
|
|
76
|
+
- The **Dependencies** section includes prose context (not just filenames) so the agent understands its inputs without reading other files. This is the most important part of making task files self-contained.
|
|
77
|
+
- **Files to Create** and **Files to Modify** make the task's scope explicit. Tasks in the same wave should not overlap on these lists.
|
|
78
|
+
- **Technical Details** captures everything from the planning conversation — CLI commands, schemas, code snippets, file paths, env vars, API endpoints. If it was discussed during planning and is relevant to this task, it belongs here.
|
|
79
|
+
- **Acceptance Criteria** should be specific enough that completion can be verified objectively (by a code review agent or a human).
|