cc-dev-template 0.1.50 → 0.1.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/bin/install.js +30 -6
  2. package/package.json +1 -1
  3. package/src/skills/claude-md/SKILL.md +1 -8
  4. package/src/skills/claude-md/references/audit.md +1 -10
  5. package/src/skills/claude-md/references/create.md +2 -2
  6. package/src/skills/initialize-project/SKILL.md +17 -68
  7. package/src/skills/initialize-project/templates/CLAUDE.md.template +10 -0
  8. package/src/skills/initialize-project/templates/CURRENT_WORK.md.template +13 -0
  9. package/src/skills/initialize-project/templates/INDEX.md.template +7 -0
  10. package/src/skills/prompting/SKILL.md +9 -116
  11. package/src/skills/prompting/references/create.md +59 -0
  12. package/src/skills/prompting/references/principles.md +60 -0
  13. package/src/skills/prompting/references/review.md +78 -0
  14. package/src/skills/spec-interview/SKILL.md +4 -26
  15. package/src/skills/spec-interview/references/step-1-opening.md +21 -0
  16. package/src/skills/spec-interview/references/step-2-deep-dive.md +77 -0
  17. package/src/skills/spec-interview/references/step-3-finalize.md +19 -0
  18. package/src/skills/spec-review/SKILL.md +12 -14
  19. package/src/skills/spec-to-tasks/SKILL.md +3 -85
  20. package/src/skills/spec-to-tasks/references/step-1-identify-spec.md +30 -0
  21. package/src/skills/spec-to-tasks/references/step-2-explore.md +25 -0
  22. package/src/skills/spec-to-tasks/references/step-3-generate.md +31 -0
  23. package/src/skills/spec-to-tasks/templates/tasks.yaml +25 -0
  24. package/src/mcp-servers/qa-server/README.md +0 -122
  25. package/src/mcp-servers/qa-server/package-lock.json +0 -2015
  26. package/src/mcp-servers/qa-server/package.json +0 -28
  27. package/src/mcp-servers/qa-server/src/index.ts +0 -220
  28. package/src/mcp-servers/qa-server/tsconfig.json +0 -17
  29. package/src/skills/spec-interview/references/interview-guide.md +0 -123
  30. package/src/skills/youtube-to-notes/SKILL.md +0 -11
  31. package/src/skills/youtube-to-notes/references/step-1-setup.md +0 -15
  32. package/src/skills/youtube-to-notes/references/step-2-download-transcribe.md +0 -13
  33. package/src/skills/youtube-to-notes/references/step-3-create-documents.md +0 -31
@@ -0,0 +1,77 @@
1
+ # Step 2: Deep Dive
2
+
3
+ Cover all specification areas through conversation. Update `docs/specs/<name>/spec.md` incrementally as information emerges.
4
+
5
+ ## Areas to Cover
6
+
7
+ ### Intent & Goals
8
+ - Primary goal and business/user value
9
+ - Success metrics and how to verify it works
10
+
11
+ ### Integration Points
12
+ - Existing system components this touches
13
+ - External services, APIs, or libraries
14
+ - Data flows in and out
15
+
16
+ Spawn exploration subagents to investigate the codebase when integration questions arise. They return only relevant findings.
17
+
18
+ ### Data Model
19
+ - Entities and relationships
20
+ - Constraints (required fields, validations, limits)
21
+ - Extending existing models vs creating new ones
22
+
23
+ ### Behavior & Flows
24
+ - Main user flows, step by step
25
+ - Triggers and resulting actions
26
+ - Different modes or variations
27
+
28
+ ### Edge Cases & Error Handling
29
+ - Failure modes and how to handle them
30
+ - Invalid input handling
31
+ - Boundary conditions
32
+ - Partial failure recovery
33
+
34
+ ### Blockers & Dependencies
35
+ - External dependencies (APIs, services, libraries)
36
+ - Credentials or access needed
37
+ - Decisions that must be made before implementation
38
+
39
+ ## Spec Structure
40
+
41
+ Write to `docs/specs/<name>/spec.md` with this structure:
42
+
43
+ ```markdown
44
+ # [Feature Name]
45
+
46
+ ## Overview
47
+ [2-3 sentences: what and why]
48
+
49
+ ## Goals
50
+ - [Primary goal]
51
+ - [Secondary goals]
52
+
53
+ ## Integration Points
54
+ - Touches: [existing components]
55
+ - External: [APIs, services, libraries]
56
+ - Data flows: [in/out]
57
+
58
+ ## Data Model
59
+ [Entities, relationships, constraints]
60
+
61
+ ## Behavior
62
+ ### [Flow 1]
63
+ [Step by step]
64
+
65
+ ## Edge Cases
66
+ - [Case]: [handling]
67
+
68
+ ## Acceptance Criteria
69
+ - [ ] [Testable requirement]
70
+
71
+ ## Blockers
72
+ - [ ] [Blocker]: [what's needed]
73
+ ```
74
+
75
+ ## When to Move On
76
+
77
+ Move to `references/step-3-finalize.md` when all areas have been covered and the spec document is substantially complete.
@@ -0,0 +1,19 @@
1
+ # Step 3: Finalize
2
+
3
+ Review the spec for completeness and hand off.
4
+
5
+ ## Review for Gaps
6
+
7
+ Invoke the `spec-review` skill, specifying which spec to review. It analyzes the spec and returns feedback.
8
+
9
+ If gaps are found, ask follow-up questions to address them. Repeat until review passes.
10
+
11
+ ## Complete the Interview
12
+
13
+ Once review passes:
14
+
15
+ 1. Show the user the final spec
16
+ 2. Confirm they are satisfied
17
+ 3. Ask if they want to proceed to task breakdown
18
+
19
+ If yes, invoke `spec-to-tasks` and specify which spec to break down.
@@ -1,20 +1,18 @@
1
1
  ---
2
2
  name: spec-review
3
- description: Reviews a feature specification for completeness. Called by spec-interview when a spec seems complete, or invoke directly with "review the spec", "check spec completeness", "is this spec ready".
3
+ description: This skill should be used when the user says "review the spec", "check spec completeness", or "is this spec ready". Also invoked by spec-interview when a spec is complete.
4
4
  argument-hint: <spec-name>
5
5
  context: fork
6
6
  ---
7
7
 
8
8
  # Spec Review
9
9
 
10
- Analyze a specification for completeness and identify gaps.
10
+ ## Steps
11
11
 
12
- ## What To Do
13
-
14
- 1. **Identify the spec to review** - use the spec path if specified in the prompt, otherwise check git for the most recently modified spec in `docs/specs/`
12
+ 1. **Find the spec** - Use the path from the prompt if provided. Otherwise, find the most recently modified file in `docs/specs/`. If no specs exist, inform the user and stop.
15
13
  2. **Read the spec file**
16
14
  3. **Evaluate against the checklist below**
17
- 4. **Return structured feedback**
15
+ 4. **Return structured feedback using the output format**
18
16
 
19
17
  ## Completeness Checklist
20
18
 
@@ -36,13 +34,13 @@ A spec is implementation-ready when ALL of these are satisfied:
36
34
 
37
35
  ### Implementation Readiness
38
36
 
39
- Ask yourself: "Could someone implement this feature completely hands-off, with zero questions?"
37
+ The test: could someone implement this feature completely hands-off, with zero questions?
40
38
 
41
- Check for:
42
- - Vague language ("should handle errors appropriately" HOW?)
43
- - Missing details ("integrates with auth" WHERE? HOW?)
44
- - Unstated assumptions ("uses the standard pattern" WHICH pattern?)
45
- - Blocking dependencies ("needs API access" DO WE HAVE IT?)
39
+ Flag these problems:
40
+ - Vague language ("should handle errors appropriately" HOW?)
41
+ - Missing details ("integrates with auth" WHERE? HOW?)
42
+ - Unstated assumptions ("uses the standard pattern" WHICH pattern?)
43
+ - Blocking dependencies ("needs API access" DO WE HAVE IT?)
46
44
 
47
45
  ## Output Format
48
46
 
@@ -66,5 +64,5 @@ Return the review as:
66
64
  [Specific questions to ask the user, or "Spec is implementation-ready"]
67
65
  ```
68
66
 
69
- If status is READY, the spec can proceed to task breakdown.
70
- If status is NEEDS WORK, list the specific questions that need answers.
67
+ **READY**: Spec can proceed to task breakdown.
68
+ **NEEDS WORK**: List specific questions that need answers.
@@ -1,94 +1,12 @@
1
1
  ---
2
2
  name: spec-to-tasks
3
- description: Breaks a feature specification into implementation tasks. Use when the user says "break down the spec", "create tasks from spec", "generate task list", or after a spec review passes.
3
+ description: Converts a feature specification into implementation tasks. Use after a spec is complete and approved, or when planning work for a defined feature.
4
4
  argument-hint: <spec-name>
5
5
  context: fork
6
6
  ---
7
7
 
8
8
  # Spec to Tasks
9
9
 
10
- Convert a completed specification into an ordered list of atomic implementation tasks.
10
+ ## What To Do Now
11
11
 
12
- ## What To Do
13
-
14
- 1. **Identify the spec** - use the spec path if specified in the prompt, otherwise check git for the most recently modified spec in `docs/specs/`
15
- 2. **Explore the codebase** - use a subagent to identify existing patterns, conventions, and where code should live
16
- 3. **Generate the task manifest** - create `tasks.yaml` in the same directory as the spec
17
- 4. **Review with user** - show the task list for approval
18
-
19
- ## Task Principles
20
-
21
- **Atomic tasks.** Each task is a single, focused change:
22
- - One model/entity
23
- - One endpoint/route
24
- - One component
25
- - One test file
26
-
27
- A task should take an AI agent one focused session to complete.
28
-
29
- **Ordered by dependency.** Tasks are sequenced so each can be completed in order without blocking.
30
-
31
- **Include file paths.** Each task specifies the target file(s) based on codebase exploration.
32
-
33
- **No code in tasks.** Tasks describe WHAT to do, not HOW. Implementation details are in the spec.
34
-
35
- ## Task Format
36
-
37
- Write to `docs/specs/<name>/tasks.yaml`:
38
-
39
- ```yaml
40
- spec: <name>
41
- spec_path: docs/specs/<name>/spec.md
42
- generated: <ISO timestamp>
43
-
44
- tasks:
45
- - id: T001
46
- title: <Short descriptive title>
47
- description: |
48
- <What to implement>
49
- <Reference to spec section if applicable>
50
- files:
51
- - <path/to/file.ts>
52
- depends_on: []
53
- acceptance: |
54
- <How to verify this task is complete>
55
-
56
- - id: T002
57
- title: <Next task>
58
- description: |
59
- <What to implement>
60
- files:
61
- - <path/to/file.ts>
62
- depends_on: [T001]
63
- acceptance: |
64
- <Verification criteria>
65
- ```
66
-
67
- ## Generating File Paths
68
-
69
- Before writing tasks, explore the codebase to understand:
70
- - Existing file patterns (where do models live? services? routes?)
71
- - Specific files that need modification
72
- - New files that need creation and where they should go
73
-
74
- Use these findings to populate the `files` field for each task.
75
-
76
- ## Ordering Tasks
77
-
78
- Sequence by dependency:
79
- 1. **Data layer first** - Models, schemas, database changes
80
- 2. **Business logic** - Services, utilities, core functions
81
- 3. **API layer** - Routes, controllers, endpoints
82
- 4. **Integration** - Connecting components, wiring up
83
- 5. **Tests** - Can be parallel with implementation or after
84
-
85
- If tasks are independent, give them the same `depends_on`. This signals they could run in parallel.
86
-
87
- ## Output
88
-
89
- After generating:
90
- 1. Show the user a summary: number of tasks, estimated scope
91
- 2. List the task titles in order
92
- 3. Ask if they want to see the full YAML or proceed to implementation
93
-
94
- Save the manifest to `docs/specs/<name>/tasks.yaml`.
12
+ Read `references/step-1-identify-spec.md` and begin.
@@ -0,0 +1,30 @@
1
+ # Step 1: Identify the Spec
2
+
3
+ Locate the specification to convert into tasks.
4
+
5
+ ## If Spec Path Provided
6
+
7
+ Use the path from the user's prompt. Verify the file exists and read it.
8
+
9
+ ## If No Path Provided
10
+
11
+ Find the most recently modified spec:
12
+
13
+ ```bash
14
+ git log -1 --name-only --diff-filter=AM -- 'docs/specs/**/*.md' | tail -1
15
+ ```
16
+
17
+ If no specs found in git history, check `docs/specs/` for any spec files and ask the user which one to use.
18
+
19
+ ## Verify the Spec
20
+
21
+ Read the spec file. Confirm it contains enough detail to generate implementation tasks:
22
+ - Clear requirements or user stories
23
+ - Technical approach or architecture decisions
24
+ - Defined scope
25
+
26
+ If the spec is incomplete or unclear, inform the user and ask if they want to complete the spec first.
27
+
28
+ ## Next Step
29
+
30
+ Once the spec is identified and verified, read `references/step-2-explore.md`.
@@ -0,0 +1,25 @@
1
+ # Step 2: Explore the Codebase
2
+
3
+ Before generating tasks, understand the codebase structure to determine accurate file paths.
4
+
5
+ ## Launch Exploration Subagent
6
+
7
+ Use a subagent to explore the codebase. The subagent should identify:
8
+
9
+ - **Existing patterns**: Where do models, services, routes, and components live?
10
+ - **Naming conventions**: How are files and directories named?
11
+ - **Files to modify**: Which existing files need changes for this feature?
12
+ - **Files to create**: What new files are needed and where should they go?
13
+
14
+ Provide the subagent with the spec content so it understands what is being implemented.
15
+
16
+ ## Capture Findings
17
+
18
+ The subagent should return:
19
+ - A list of directories and their purposes
20
+ - Specific file paths for each aspect of the feature
21
+ - Any existing code that the new feature should integrate with
22
+
23
+ ## Next Step
24
+
25
+ Once exploration is complete and file paths are known, read `references/step-3-generate.md`.
@@ -0,0 +1,31 @@
1
+ # Step 3: Generate Task Manifest
2
+
3
+ Create the task manifest based on the spec and codebase exploration.
4
+
5
+ ## Task Principles
6
+
7
+ **Atomic**: Each task is a single, focused change — one model, one endpoint, one component, or one test file. A task should take an AI agent one focused session to complete.
8
+
9
+ **Ordered**: Sequence tasks so each can be completed without blocking. Tasks with no dependencies can share the same `depends_on` value to signal parallel execution.
10
+
11
+ **Concrete file paths**: Use the file paths discovered in Step 2. Every task specifies which files it touches.
12
+
13
+ **Declarative**: Tasks describe WHAT to implement, not HOW. Implementation details live in the spec.
14
+
15
+ ## Generate the Manifest
16
+
17
+ Write to `docs/specs/<name>/tasks.yaml` using the template in `templates/tasks.yaml`.
18
+
19
+ Derive tasks from the spec:
20
+ - Break each requirement or feature section into atomic units
21
+ - Sequence by dependency (data layer, then business logic, then API, then integration)
22
+ - Reference specific spec sections in task descriptions where helpful
23
+
24
+ ## Review with User
25
+
26
+ Present:
27
+ 1. Number of tasks and estimated scope
28
+ 2. Task titles in dependency order
29
+ 3. Offer to show full YAML or proceed to implementation
30
+
31
+ Save the manifest to `docs/specs/<name>/tasks.yaml`.
@@ -0,0 +1,25 @@
1
+ spec: <name>
2
+ spec_path: docs/specs/<name>/spec.md
3
+ generated: <ISO timestamp>
4
+
5
+ tasks:
6
+ - id: T001
7
+ title: <Short descriptive title>
8
+ description: |
9
+ <What to implement>
10
+ <Reference to spec section if applicable>
11
+ files:
12
+ - <path/to/file.ts>
13
+ depends_on: []
14
+ acceptance: |
15
+ <How to verify this task is complete>
16
+
17
+ - id: T002
18
+ title: <Next task>
19
+ description: |
20
+ <What to implement>
21
+ files:
22
+ - <path/to/file.ts>
23
+ depends_on: [T001]
24
+ acceptance: |
25
+ <Verification criteria>
@@ -1,122 +0,0 @@
1
- # QA Server
2
-
3
- MCP server that spawns a Claude sub-agent for frontend visual inspection.
4
-
5
- ## Problem
6
-
7
- Playwright MCP adds ~20k tokens to context just from tool definitions, even when browser inspection isn't needed. This wastes context in long sessions.
8
-
9
- ## Solution
10
-
11
- This server exposes a single `inspect_frontend` tool (~500 tokens) that spawns a sub-agent with full browser capabilities on-demand.
12
-
13
- ```
14
- Main Conversation (~500 tokens)
15
-
16
- └── mcp__qa__inspect_frontend
17
-
18
- └── Sub-agent with @playwright/mcp (full browser control)
19
-
20
- └── Returns QA report
21
- ```
22
-
23
- **Note:** No system Chrome installation is required. Playwright automatically downloads and manages its own Chromium browser.
24
-
25
- ## Installation
26
-
27
- ```bash
28
- cd src/mcp-servers/qa-server
29
- npm install
30
- npm run build
31
- ```
32
-
33
- Then add to Claude Code:
34
-
35
- ```bash
36
- claude mcp add qa node /path/to/qa-server/dist/index.js
37
- ```
38
-
39
- Or in `~/.claude.json`:
40
-
41
- ```json
42
- {
43
- "mcpServers": {
44
- "qa": {
45
- "type": "stdio",
46
- "command": "node",
47
- "args": ["/path/to/qa-server/dist/index.js"]
48
- }
49
- }
50
- }
51
- ```
52
-
53
- ## After Setup
54
-
55
- Remove Playwright MCP from your main config to save tokens (if previously added):
56
-
57
- ```bash
58
- claude mcp remove playwright
59
- ```
60
-
61
- ## Usage
62
-
63
- From Claude Code conversation:
64
-
65
- ```
66
- Inspect http://localhost:3000 and verify the login form works
67
- ```
68
-
69
- Claude will call `mcp__qa__inspect_frontend` with:
70
- - url: "http://localhost:3000"
71
- - task: "verify the login form works"
72
-
73
- The sub-agent will:
74
- 1. Navigate to the URL
75
- 2. Take screenshots
76
- 3. Check console errors
77
- 4. Perform the task (click, fill forms, etc.)
78
- 5. Return a structured QA report
79
-
80
- ## Tool Definition
81
-
82
- ```typescript
83
- {
84
- name: "inspect_frontend",
85
- description: "Spawn a QA sub-agent to visually inspect a frontend...",
86
- inputSchema: {
87
- type: "object",
88
- properties: {
89
- url: { type: "string", description: "URL to inspect" },
90
- task: { type: "string", description: "What to inspect or test" }
91
- },
92
- required: ["url", "task"]
93
- }
94
- }
95
- ```
96
-
97
- ## Sub-agent Capabilities
98
-
99
- The spawned sub-agent uses Opus (best visual understanding) and has access to Playwright MCP tools:
100
-
101
- - **Navigation**: browser_navigate, browser_tab_new, browser_tab_list, browser_tab_select, browser_wait_for
102
- - **Inspection**: browser_screenshot, browser_snapshot, browser_console_messages
103
- - **Interaction**: browser_click, browser_type, browser_hover, browser_press_key, browser_handle_dialog
104
-
105
- ## Token Savings
106
-
107
- | Before | After |
108
- |--------|-------|
109
- | ~20k tokens (26 browser tools always loaded) | ~500 tokens (1 tool) |
110
-
111
- ## Development
112
-
113
- ```bash
114
- # Run in development mode
115
- npm run dev
116
-
117
- # Build for production
118
- npm run build
119
-
120
- # Run production build
121
- npm start
122
- ```