codingbuddy-rules 4.5.0 → 5.1.0
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/.ai-rules/adapters/aider.md +374 -0
- package/.ai-rules/adapters/antigravity.md +6 -6
- package/.ai-rules/adapters/claude-code.md +68 -4
- package/.ai-rules/adapters/codex.md +5 -5
- package/.ai-rules/adapters/cursor.md +2 -2
- package/.ai-rules/adapters/kiro.md +8 -8
- package/.ai-rules/adapters/opencode.md +7 -7
- package/.ai-rules/adapters/q.md +2 -2
- package/.ai-rules/adapters/windsurf.md +395 -0
- package/.ai-rules/agents/README.md +66 -16
- package/.ai-rules/agents/accessibility-specialist.json +8 -1
- package/.ai-rules/agents/act-mode.json +8 -1
- package/.ai-rules/agents/agent-architect.json +14 -7
- package/.ai-rules/agents/ai-ml-engineer.json +7 -0
- package/.ai-rules/agents/architecture-specialist.json +7 -0
- package/.ai-rules/agents/auto-mode.json +10 -2
- package/.ai-rules/agents/backend-developer.json +7 -0
- package/.ai-rules/agents/code-quality-specialist.json +7 -0
- package/.ai-rules/agents/code-reviewer.json +86 -64
- package/.ai-rules/agents/data-engineer.json +14 -7
- package/.ai-rules/agents/data-scientist.json +16 -9
- package/.ai-rules/agents/devops-engineer.json +7 -0
- package/.ai-rules/agents/documentation-specialist.json +7 -0
- package/.ai-rules/agents/eval-mode.json +30 -19
- package/.ai-rules/agents/event-architecture-specialist.json +7 -0
- package/.ai-rules/agents/frontend-developer.json +7 -0
- package/.ai-rules/agents/i18n-specialist.json +8 -1
- package/.ai-rules/agents/integration-specialist.json +7 -0
- package/.ai-rules/agents/migration-specialist.json +7 -0
- package/.ai-rules/agents/mobile-developer.json +8 -10
- package/.ai-rules/agents/observability-specialist.json +7 -0
- package/.ai-rules/agents/parallel-orchestrator.json +352 -0
- package/.ai-rules/agents/performance-specialist.json +7 -0
- package/.ai-rules/agents/plan-mode.json +9 -1
- package/.ai-rules/agents/plan-reviewer.json +211 -0
- package/.ai-rules/agents/platform-engineer.json +7 -0
- package/.ai-rules/agents/security-engineer.json +15 -8
- package/.ai-rules/agents/security-specialist.json +8 -1
- package/.ai-rules/agents/seo-specialist.json +7 -0
- package/.ai-rules/agents/software-engineer.json +7 -0
- package/.ai-rules/agents/solution-architect.json +17 -10
- package/.ai-rules/agents/systems-developer.json +15 -8
- package/.ai-rules/agents/technical-planner.json +17 -10
- package/.ai-rules/agents/test-engineer.json +13 -6
- package/.ai-rules/agents/test-strategy-specialist.json +7 -0
- package/.ai-rules/agents/tooling-engineer.json +10 -3
- package/.ai-rules/agents/ui-ux-designer.json +7 -0
- package/.ai-rules/keyword-modes.json +4 -4
- package/.ai-rules/rules/clarification-guide.md +14 -14
- package/.ai-rules/rules/core.md +73 -0
- package/.ai-rules/rules/parallel-execution.md +217 -0
- package/.ai-rules/schemas/agent.schema.json +38 -0
- package/.ai-rules/skills/README.md +29 -1
- package/.ai-rules/skills/agent-design/SKILL.md +5 -0
- package/.ai-rules/skills/agent-design/examples/agent-template.json +55 -0
- package/.ai-rules/skills/agent-design/references/expertise-guidelines.md +112 -0
- package/.ai-rules/skills/agent-discussion/SKILL.md +199 -0
- package/.ai-rules/skills/agent-discussion-panel/SKILL.md +448 -0
- package/.ai-rules/skills/api-design/SKILL.md +5 -0
- package/.ai-rules/skills/api-design/examples/error-response.json +159 -0
- package/.ai-rules/skills/api-design/examples/openapi-template.yaml +393 -0
- package/.ai-rules/skills/build-fix/SKILL.md +234 -0
- package/.ai-rules/skills/code-explanation/SKILL.md +4 -0
- package/.ai-rules/skills/context-management/SKILL.md +1 -0
- package/.ai-rules/skills/cost-budget/SKILL.md +348 -0
- package/.ai-rules/skills/cross-repo-issues/SKILL.md +257 -0
- package/.ai-rules/skills/database-migration/SKILL.md +1 -0
- package/.ai-rules/skills/deepsearch/SKILL.md +214 -0
- package/.ai-rules/skills/deployment-checklist/SKILL.md +1 -0
- package/.ai-rules/skills/error-analysis/SKILL.md +1 -0
- package/.ai-rules/skills/finishing-a-development-branch/SKILL.md +281 -0
- package/.ai-rules/skills/frontend-design/SKILL.md +5 -0
- package/.ai-rules/skills/frontend-design/examples/component-template.tsx +203 -0
- package/.ai-rules/skills/frontend-design/references/css-patterns.md +243 -0
- package/.ai-rules/skills/git-master/SKILL.md +358 -0
- package/.ai-rules/skills/incident-response/SKILL.md +1 -0
- package/.ai-rules/skills/legacy-modernization/SKILL.md +1 -0
- package/.ai-rules/skills/mcp-builder/SKILL.md +7 -0
- package/.ai-rules/skills/mcp-builder/examples/resource-example.ts +233 -0
- package/.ai-rules/skills/mcp-builder/examples/tool-example.ts +198 -0
- package/.ai-rules/skills/mcp-builder/references/protocol-spec.md +215 -0
- package/.ai-rules/skills/onboard/SKILL.md +150 -0
- package/.ai-rules/skills/performance-optimization/SKILL.md +3 -0
- package/.ai-rules/skills/plan-and-review/SKILL.md +115 -0
- package/.ai-rules/skills/plan-to-issues/SKILL.md +318 -0
- package/.ai-rules/skills/pr-all-in-one/SKILL.md +15 -13
- package/.ai-rules/skills/pr-all-in-one/configuration-guide.md +7 -7
- package/.ai-rules/skills/pr-all-in-one/pr-templates.md +10 -10
- package/.ai-rules/skills/pr-review/SKILL.md +4 -0
- package/.ai-rules/skills/receiving-code-review/SKILL.md +347 -0
- package/.ai-rules/skills/refactoring/SKILL.md +1 -0
- package/.ai-rules/skills/requesting-code-review/SKILL.md +348 -0
- package/.ai-rules/skills/retrospective/SKILL.md +192 -0
- package/.ai-rules/skills/rule-authoring/SKILL.md +5 -0
- package/.ai-rules/skills/rule-authoring/examples/rule-template.md +142 -0
- package/.ai-rules/skills/rule-authoring/examples/trigger-patterns.md +126 -0
- package/.ai-rules/skills/security-audit/SKILL.md +4 -0
- package/.ai-rules/skills/ship/SKILL.md +242 -0
- package/.ai-rules/skills/skill-creator/SKILL.md +461 -0
- package/.ai-rules/skills/skill-creator/agents/analyzer.md +206 -0
- package/.ai-rules/skills/skill-creator/agents/comparator.md +167 -0
- package/.ai-rules/skills/skill-creator/agents/grader.md +152 -0
- package/.ai-rules/skills/skill-creator/assets/eval_review.html +568 -0
- package/.ai-rules/skills/skill-creator/assets/skill-template.md +43 -0
- package/.ai-rules/skills/skill-creator/eval-viewer/generate_review.py +496 -0
- package/.ai-rules/skills/skill-creator/references/frontmatter-guide.md +632 -0
- package/.ai-rules/skills/skill-creator/references/multi-tool-compat.md +480 -0
- package/.ai-rules/skills/skill-creator/references/schemas.md +784 -0
- package/.ai-rules/skills/skill-creator/scripts/aggregate_benchmark.py +302 -0
- package/.ai-rules/skills/skill-creator/scripts/init_skill.sh +196 -0
- package/.ai-rules/skills/skill-creator/scripts/run_loop.py +327 -0
- package/.ai-rules/skills/systematic-debugging/SKILL.md +1 -0
- package/.ai-rules/skills/tech-debt/SKILL.md +1 -0
- package/.ai-rules/skills/test-coverage-gate/SKILL.md +303 -0
- package/.ai-rules/skills/tmux-master/SKILL.md +491 -0
- package/.ai-rules/skills/using-git-worktrees/SKILL.md +368 -0
- package/.ai-rules/skills/verification-before-completion/SKILL.md +234 -0
- package/.ai-rules/skills/widget-slot-architecture/SKILL.md +6 -0
- package/.ai-rules/skills/widget-slot-architecture/examples/parallel-route-setup.tsx +206 -0
- package/.ai-rules/skills/widget-slot-architecture/examples/widget-component.tsx +250 -0
- package/.ai-rules/skills/writing-plans/SKILL.md +78 -0
- package/bin/cli.js +170 -0
- package/lib/init/detect-stack.js +162 -0
- package/lib/init/generate-config.js +31 -0
- package/lib/init/index.js +86 -0
- package/lib/init/prompt.js +60 -0
- package/lib/init/scaffold.js +67 -0
- package/lib/init/suggest-agent.js +57 -0
- package/package.json +10 -2
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: onboard
|
|
3
|
+
description: "Guided onboarding for new projects - scans tech stack, generates codingbuddy.config.json, sets up adapters, and installs .ai-rules with interactive Q&A."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Onboard: New Project Setup
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
Guide users through setting up codingbuddy in a new project via interactive, step-by-step onboarding. Detect the tech stack automatically, generate configuration, and create adapter files for their AI tools.
|
|
11
|
+
|
|
12
|
+
## Step 1: Project Scanning
|
|
13
|
+
|
|
14
|
+
Scan the project root to detect:
|
|
15
|
+
|
|
16
|
+
**Package managers & languages:**
|
|
17
|
+
- `package.json` → Node.js/TypeScript (check for `typescript` dep)
|
|
18
|
+
- `requirements.txt` / `pyproject.toml` / `setup.py` → Python
|
|
19
|
+
- `go.mod` → Go
|
|
20
|
+
- `Cargo.toml` → Rust
|
|
21
|
+
- `pom.xml` / `build.gradle` → Java/Kotlin
|
|
22
|
+
- `Gemfile` → Ruby
|
|
23
|
+
- `composer.json` → PHP
|
|
24
|
+
|
|
25
|
+
**Frameworks** (from dependency files):
|
|
26
|
+
- React, Next.js, Vue, Angular, Svelte, Express, NestJS, Django, Flask, FastAPI, Spring Boot, Rails, Laravel, Gin, Echo, etc.
|
|
27
|
+
|
|
28
|
+
**Test setup:**
|
|
29
|
+
- Jest, Vitest, Mocha, Pytest, Go test, JUnit, RSpec, PHPUnit, etc.
|
|
30
|
+
|
|
31
|
+
**Monorepo indicators:**
|
|
32
|
+
- `workspaces` in package.json, `lerna.json`, `pnpm-workspace.yaml`, `nx.json`, `turbo.json`
|
|
33
|
+
|
|
34
|
+
**AI tools already present:**
|
|
35
|
+
- `.cursor/` → Cursor
|
|
36
|
+
- `.claude/` → Claude Code
|
|
37
|
+
- `.antigravity/` → Antigravity (Gemini)
|
|
38
|
+
- `.codex/` → Codex
|
|
39
|
+
- `.q/` → Amazon Q
|
|
40
|
+
- `.kiro/` → Kiro
|
|
41
|
+
- `.github/copilot/` → GitHub Copilot
|
|
42
|
+
|
|
43
|
+
After scanning, present findings to the user:
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
Detected:
|
|
47
|
+
- Language: TypeScript
|
|
48
|
+
- Framework: Next.js 14, React 18
|
|
49
|
+
- Test: Vitest
|
|
50
|
+
- Monorepo: Yarn workspaces
|
|
51
|
+
- AI tools: .claude/ (existing)
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Ask: "Does this look correct? Anything to add or change?" (use AskUserQuestion)
|
|
55
|
+
|
|
56
|
+
## Step 2: Generate codingbuddy.config.json
|
|
57
|
+
|
|
58
|
+
Based on detected info, generate a draft config:
|
|
59
|
+
|
|
60
|
+
```json
|
|
61
|
+
{
|
|
62
|
+
"language": "en",
|
|
63
|
+
"techStack": {
|
|
64
|
+
"languages": ["typescript"],
|
|
65
|
+
"frameworks": ["nextjs", "react"],
|
|
66
|
+
"testing": ["vitest"],
|
|
67
|
+
"packageManager": "yarn"
|
|
68
|
+
},
|
|
69
|
+
"architecture": {
|
|
70
|
+
"pattern": "layered",
|
|
71
|
+
"monorepo": true
|
|
72
|
+
},
|
|
73
|
+
"agents": {
|
|
74
|
+
"primary": "software-engineer",
|
|
75
|
+
"specialists": ["frontend-developer", "test-engineer"]
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Ask the user to confirm or adjust:
|
|
81
|
+
- Communication language (en, ko, ja, zh, es, etc.)
|
|
82
|
+
- Primary agent selection (show top 3 recommendations based on tech stack)
|
|
83
|
+
- Architecture pattern (layered, clean, hexagonal, or custom)
|
|
84
|
+
|
|
85
|
+
Write `codingbuddy.config.json` to project root after confirmation.
|
|
86
|
+
|
|
87
|
+
## Step 3: Adapter Setup
|
|
88
|
+
|
|
89
|
+
Based on detected AI tools (or ask which tools the user wants to set up):
|
|
90
|
+
|
|
91
|
+
| Tool | Config Path | What to Create |
|
|
92
|
+
|------|------------|----------------|
|
|
93
|
+
| Cursor | `.cursor/rules/codingbuddy.mdc` | Rules include pointing to .ai-rules |
|
|
94
|
+
| Claude Code | `.claude/settings.json` + `CLAUDE.md` | MCP server config + instructions |
|
|
95
|
+
| Antigravity | `.antigravity/rules/codingbuddy.md` | Gemini rules file |
|
|
96
|
+
| Codex | `.codex/AGENTS.md` | Codex agent instructions |
|
|
97
|
+
| Amazon Q | `.q/rules/codingbuddy.md` | Q rules file |
|
|
98
|
+
| Kiro | `.kiro/rules/codingbuddy.md` | Kiro rules file |
|
|
99
|
+
|
|
100
|
+
For each selected tool:
|
|
101
|
+
1. Create the config directory if it does not exist
|
|
102
|
+
2. Generate a starter config file referencing the shared `.ai-rules/` rules
|
|
103
|
+
3. Show the user what was created
|
|
104
|
+
|
|
105
|
+
Ask: "Which AI tools do you want to configure?" (use AskUserQuestion with multiSelect)
|
|
106
|
+
|
|
107
|
+
## Step 4: Optional .ai-rules Setup
|
|
108
|
+
|
|
109
|
+
Present two options:
|
|
110
|
+
|
|
111
|
+
**Option A: Copy rules locally** (recommended for customization)
|
|
112
|
+
- Copy `packages/rules/.ai-rules/` into the project as `.ai-rules/`
|
|
113
|
+
- User can customize rules for their project
|
|
114
|
+
|
|
115
|
+
**Option B: Install via npm package**
|
|
116
|
+
- `npm install codingbuddy-rules` / `yarn add codingbuddy-rules`
|
|
117
|
+
- Reference rules from `node_modules/codingbuddy-rules/.ai-rules/`
|
|
118
|
+
- Stays in sync with upstream updates
|
|
119
|
+
|
|
120
|
+
Ask: "How would you like to set up the AI rules?" (use AskUserQuestion)
|
|
121
|
+
|
|
122
|
+
If Option A: copy the rules directory and confirm.
|
|
123
|
+
If Option B: run the install command and update adapter configs to point to node_modules path.
|
|
124
|
+
|
|
125
|
+
## Step 5: Summary
|
|
126
|
+
|
|
127
|
+
Present a summary of everything that was created:
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
Onboarding complete!
|
|
131
|
+
|
|
132
|
+
Created files:
|
|
133
|
+
- codingbuddy.config.json (project configuration)
|
|
134
|
+
- .claude/settings.json (Claude Code MCP config)
|
|
135
|
+
- .ai-rules/ (shared AI coding rules)
|
|
136
|
+
|
|
137
|
+
Next steps:
|
|
138
|
+
1. Review codingbuddy.config.json and adjust settings
|
|
139
|
+
2. Start with: PLAN <your first task>
|
|
140
|
+
3. Use AUTO mode for autonomous development cycles
|
|
141
|
+
4. Run /help to see available commands
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## Key Principles
|
|
145
|
+
|
|
146
|
+
- **Interactive** — Ask one question at a time using AskUserQuestion, never assume
|
|
147
|
+
- **Non-destructive** — Never overwrite existing config files; ask before modifying
|
|
148
|
+
- **Detect first** — Auto-detect as much as possible, then confirm with user
|
|
149
|
+
- **Minimal setup** — Only create what the user needs; skip unnecessary adapters
|
|
150
|
+
- **Clear output** — Show exactly what files were created and what to do next
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: performance-optimization
|
|
3
3
|
description: Use when optimizing code performance, addressing slowness complaints, or measuring application speed improvements
|
|
4
|
+
context: fork
|
|
5
|
+
agent: general-purpose
|
|
6
|
+
allowed-tools: Read, Grep, Glob, Bash
|
|
4
7
|
---
|
|
5
8
|
|
|
6
9
|
# Performance Optimization
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: plan-and-review
|
|
3
|
+
description: Use when creating implementation plans that need quality review before execution — 4-phase workflow combining plan creation with automated plan-reviewer validation
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Plan and Review
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
Create implementation plans and validate them through automated review before execution. This skill combines the writing-plans methodology with plan-reviewer agent dispatch to catch quality issues (missing file paths, vague acceptance criteria, scope gaps, TDD omissions) before any code is written.
|
|
11
|
+
|
|
12
|
+
**Announce at start:** "I'm using the plan-and-review skill to create and validate the implementation plan."
|
|
13
|
+
|
|
14
|
+
**Core principle:** No plan reaches execution without passing review. Critical/High findings must be resolved first.
|
|
15
|
+
|
|
16
|
+
## The 4 Phases
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
Phase 1: Create Plan → Phase 2: Review → Phase 3: Revise (if needed) → Phase 4: Approved
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### Phase 1: Create Plan
|
|
23
|
+
|
|
24
|
+
Use the writing-plans methodology to create the implementation plan.
|
|
25
|
+
|
|
26
|
+
1. **Invoke the writing-plans skill** (superpowers:writing-plans or equivalent)
|
|
27
|
+
2. Follow all writing-plans requirements:
|
|
28
|
+
- Bite-sized tasks (2-5 minutes each)
|
|
29
|
+
- Exact file paths for all changes
|
|
30
|
+
- TDD structure (Red-Green-Refactor) for core logic
|
|
31
|
+
- Complete code in plan (no placeholders)
|
|
32
|
+
- Alternatives exploration for non-trivial decisions
|
|
33
|
+
3. Save plan to `docs/plans/YYYY-MM-DD-<feature-name>.md`
|
|
34
|
+
|
|
35
|
+
### Phase 2: Dispatch Plan Reviewer
|
|
36
|
+
|
|
37
|
+
Dispatch the plan-reviewer agent as a subAgent to review the plan.
|
|
38
|
+
|
|
39
|
+
1. **Dispatch plan-reviewer** using the Agent tool:
|
|
40
|
+
```
|
|
41
|
+
subagent_type: "general-purpose"
|
|
42
|
+
prompt: |
|
|
43
|
+
You are the Plan Reviewer agent. Review the implementation plan at
|
|
44
|
+
docs/plans/<plan-file>.md against the original spec/issue.
|
|
45
|
+
|
|
46
|
+
Review checklist:
|
|
47
|
+
- File paths: All paths valid (Modify files exist, Create paths have valid parents)
|
|
48
|
+
- Acceptance criteria: Specific, measurable, verifiable (no vague terms)
|
|
49
|
+
- Scope alignment: Plan matches spec — no scope creep, no missing items
|
|
50
|
+
- TDD compliance: Red-Green-Refactor for core logic tasks
|
|
51
|
+
- Backward compatibility: Breaking changes documented with migration steps
|
|
52
|
+
|
|
53
|
+
Output a severity-rated findings table:
|
|
54
|
+
| Finding | Location | Severity | Recommendation |
|
|
55
|
+
|
|
56
|
+
End with Review Summary showing counts per severity and verdict:
|
|
57
|
+
APPROVED (Critical=0 AND High=0) or REVISE REQUIRED.
|
|
58
|
+
```
|
|
59
|
+
2. Collect the review results
|
|
60
|
+
|
|
61
|
+
### Phase 3: Revise Plan (if Critical/High findings)
|
|
62
|
+
|
|
63
|
+
If the review verdict is **REVISE REQUIRED**:
|
|
64
|
+
|
|
65
|
+
1. Read each Critical and High finding
|
|
66
|
+
2. Revise the plan to address each finding:
|
|
67
|
+
- Fix invalid file paths
|
|
68
|
+
- Make acceptance criteria specific and testable
|
|
69
|
+
- Add missing spec requirements as tasks
|
|
70
|
+
- Add TDD structure where missing
|
|
71
|
+
- Document breaking changes with migration steps
|
|
72
|
+
3. Save the revised plan (overwrite the same file)
|
|
73
|
+
4. **Re-dispatch plan-reviewer** (return to Phase 2)
|
|
74
|
+
5. Repeat until verdict is **APPROVED**
|
|
75
|
+
|
|
76
|
+
**Maximum iterations:** 3 revision cycles. If still not approved after 3 cycles, present remaining findings to user for manual resolution.
|
|
77
|
+
|
|
78
|
+
### Phase 4: Plan Approved
|
|
79
|
+
|
|
80
|
+
When the review verdict is **APPROVED**:
|
|
81
|
+
|
|
82
|
+
1. Announce: "Plan approved by plan-reviewer — ready for execution."
|
|
83
|
+
2. Present remaining Medium/Low findings as optional improvements
|
|
84
|
+
3. Offer execution choice:
|
|
85
|
+
- **Subagent-Driven (this session):** Use superpowers:subagent-driven-development
|
|
86
|
+
- **Parallel Session (separate):** Use superpowers:executing-plans
|
|
87
|
+
|
|
88
|
+
## When to Use This Skill
|
|
89
|
+
|
|
90
|
+
- Creating implementation plans for non-trivial features
|
|
91
|
+
- Plans that will be executed by other agents or in separate sessions
|
|
92
|
+
- When plan quality is critical (e.g., parallel execution with multiple workers)
|
|
93
|
+
- When the spec is complex and scope alignment matters
|
|
94
|
+
|
|
95
|
+
## When NOT to Use This Skill
|
|
96
|
+
|
|
97
|
+
- Single-file changes or trivial fixes
|
|
98
|
+
- Plans you will execute yourself immediately in the same session
|
|
99
|
+
- Exploratory prototyping where the plan will evolve rapidly
|
|
100
|
+
|
|
101
|
+
## Integration with Parallel Orchestrator
|
|
102
|
+
|
|
103
|
+
When used within parallel execution workflows:
|
|
104
|
+
|
|
105
|
+
- The conductor generates worker directives that include plan creation
|
|
106
|
+
- Each worker can use this skill to self-validate their plan before ACT mode
|
|
107
|
+
- The plan-reviewer findings feed into the conductor's quality gates
|
|
108
|
+
|
|
109
|
+
## Key Principles
|
|
110
|
+
|
|
111
|
+
- **No plan without review** — every plan gets at least one review pass
|
|
112
|
+
- **Severity drives action** — Critical/High must be fixed, Medium/Low are optional
|
|
113
|
+
- **Evidence-based findings** — every finding references a specific plan section
|
|
114
|
+
- **Bounded iteration** — maximum 3 revision cycles to prevent infinite loops
|
|
115
|
+
- **Clear verdict** — APPROVED or REVISE REQUIRED, no ambiguity
|
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: plan-to-issues
|
|
3
|
+
description: Decompose specs or implementation plans into independent GitHub issues with dependency graphs, wave grouping, and file overlap analysis for safe parallel execution.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Plan to Issues
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
Turn specs and implementation plans into a set of independent, well-structured GitHub issues ready for parallel execution. Each issue gets acceptance criteria, file dependency mapping, wave assignment, and priority labels.
|
|
11
|
+
|
|
12
|
+
**Core principle:** Issues that touch the same files MUST NOT be in the same wave. File overlap = sequential execution.
|
|
13
|
+
|
|
14
|
+
**Announce at start:** "I'm using the plan-to-issues skill to decompose this plan into GitHub issues."
|
|
15
|
+
|
|
16
|
+
**Iron Law:**
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
ISSUES MODIFYING THE SAME FILE MUST NEVER RUN IN THE SAME WAVE
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## When to Use
|
|
23
|
+
|
|
24
|
+
- Implementation plan is ready and needs to be broken into trackable units of work
|
|
25
|
+
- Spec document needs decomposition into parallel-safe issues
|
|
26
|
+
- Planning a multi-issue feature that will use `/taskmaestro` for parallel execution
|
|
27
|
+
- Roadmap or design doc needs to become actionable GitHub issues
|
|
28
|
+
|
|
29
|
+
**Use this ESPECIALLY when:**
|
|
30
|
+
- The plan has 3+ independent deliverables
|
|
31
|
+
- Multiple developers or agents will work in parallel
|
|
32
|
+
- You need wave grouping for `/taskmaestro` execution
|
|
33
|
+
|
|
34
|
+
**Don't use when:**
|
|
35
|
+
- Single-file change or trivial fix (just create the issue directly)
|
|
36
|
+
- Requirements are still unclear (use brainstorming skill first)
|
|
37
|
+
- Plan hasn't been written yet (use writing-plans skill first)
|
|
38
|
+
|
|
39
|
+
## Input
|
|
40
|
+
|
|
41
|
+
The skill accepts one of:
|
|
42
|
+
- **Spec document path**: `docs/plans/YYYY-MM-DD-<feature>.md`
|
|
43
|
+
- **Plan document path**: Any markdown file with implementation steps
|
|
44
|
+
- **Inline description**: Direct feature description in the prompt
|
|
45
|
+
|
|
46
|
+
## The Five Phases
|
|
47
|
+
|
|
48
|
+
### Phase 1: Analyze — Identify Independent Deliverables
|
|
49
|
+
|
|
50
|
+
**Read the plan and extract discrete units of work:**
|
|
51
|
+
|
|
52
|
+
1. **Parse the plan document**
|
|
53
|
+
- Read the spec/plan file
|
|
54
|
+
- Identify each distinct feature, component, or change
|
|
55
|
+
- Note dependencies between items
|
|
56
|
+
|
|
57
|
+
2. **Define each deliverable**
|
|
58
|
+
- Summary: What does this issue deliver?
|
|
59
|
+
- Scope: Which files will be created or modified?
|
|
60
|
+
- Dependencies: What must be done before this?
|
|
61
|
+
- Acceptance criteria: How do we know it's done?
|
|
62
|
+
|
|
63
|
+
3. **Estimate file touchpoints**
|
|
64
|
+
- List every file each deliverable will create or modify
|
|
65
|
+
- Be specific — `src/utils/parse.ts` not `src/utils/`
|
|
66
|
+
- Include test files: `src/utils/parse.test.ts`
|
|
67
|
+
|
|
68
|
+
**Completion criteria:**
|
|
69
|
+
- [ ] All deliverables identified with clear scope
|
|
70
|
+
- [ ] File touchpoints listed for each deliverable
|
|
71
|
+
- [ ] Dependencies between deliverables noted
|
|
72
|
+
|
|
73
|
+
### Phase 2: Overlap Detection — Map File Conflicts
|
|
74
|
+
|
|
75
|
+
**Use `validate_parallel_issues` to verify safety:**
|
|
76
|
+
|
|
77
|
+
1. **Build the file overlap matrix**
|
|
78
|
+
- Compare file lists between all deliverables
|
|
79
|
+
- Identify any shared files
|
|
80
|
+
|
|
81
|
+
2. **Validate with MCP tool**
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
Call: codingbuddy validate_parallel_issues
|
|
85
|
+
issues: [issue_numbers]
|
|
86
|
+
issueContents: { "1": "body1", "2": "body2", ... }
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
3. **Apply the Iron Rule**
|
|
90
|
+
- Same file in two deliverables = different waves
|
|
91
|
+
- No exceptions — even "small" changes to shared files cause merge conflicts
|
|
92
|
+
|
|
93
|
+
**Decision matrix:**
|
|
94
|
+
|
|
95
|
+
| Overlap | Action |
|
|
96
|
+
|---------|--------|
|
|
97
|
+
| No shared files | Same wave OK |
|
|
98
|
+
| Shared test helpers only | Same wave OK (read-only imports) |
|
|
99
|
+
| Shared source files | Different waves MANDATORY |
|
|
100
|
+
| Shared config files | Different waves MANDATORY |
|
|
101
|
+
|
|
102
|
+
**Completion criteria:**
|
|
103
|
+
- [ ] File overlap matrix built
|
|
104
|
+
- [ ] `validate_parallel_issues` called (if issues already exist)
|
|
105
|
+
- [ ] Conflicts resolved via wave separation
|
|
106
|
+
|
|
107
|
+
### Phase 3: Prioritize — Assign Priority and Wave Groups
|
|
108
|
+
|
|
109
|
+
**Priority levels:**
|
|
110
|
+
|
|
111
|
+
| Priority | Meaning | Criteria |
|
|
112
|
+
|----------|---------|----------|
|
|
113
|
+
| `P0` | Critical | Blocks other issues; foundational setup |
|
|
114
|
+
| `P1` | High | Core feature; needed for MVP |
|
|
115
|
+
| `P2` | Medium | Enhancement; improves quality |
|
|
116
|
+
| `P3` | Low | Nice-to-have; polish |
|
|
117
|
+
|
|
118
|
+
**Wave assignment rules:**
|
|
119
|
+
|
|
120
|
+
1. **Wave 1**: All P0 issues + any P1 issues with zero file overlaps with P0
|
|
121
|
+
2. **Wave 2**: Issues that depend on Wave 1 completion + P1/P2 with no overlap with each other
|
|
122
|
+
3. **Wave N**: Remaining issues grouped by zero-overlap constraint
|
|
123
|
+
|
|
124
|
+
```
|
|
125
|
+
Wave 1: [#1, #2, #3] ← No file overlaps between these
|
|
126
|
+
Wave 2: [#4, #5] ← Depend on Wave 1; no overlaps between these
|
|
127
|
+
Wave 3: [#6] ← Depends on Wave 2
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
**Completion criteria:**
|
|
131
|
+
- [ ] All deliverables have priority labels
|
|
132
|
+
- [ ] Wave groups assigned with zero intra-wave file overlap
|
|
133
|
+
- [ ] Dependency chain is clear
|
|
134
|
+
|
|
135
|
+
### Phase 4: Create — Generate GitHub Issues
|
|
136
|
+
|
|
137
|
+
**Create each issue with structured body:**
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
gh issue create \
|
|
141
|
+
--title "<type>(<scope>): <description>" \
|
|
142
|
+
--label "<priority>,<wave>,<feature-area>" \
|
|
143
|
+
--body "$(cat <<'EOF'
|
|
144
|
+
## Summary
|
|
145
|
+
|
|
146
|
+
<1-2 sentence description of what this issue delivers>
|
|
147
|
+
|
|
148
|
+
## Details
|
|
149
|
+
|
|
150
|
+
<Implementation details, approach, key decisions>
|
|
151
|
+
|
|
152
|
+
## Files to Create/Modify
|
|
153
|
+
|
|
154
|
+
- [ ] `path/to/file.ts` — <what changes>
|
|
155
|
+
- [ ] `path/to/file.test.ts` — <what tests>
|
|
156
|
+
|
|
157
|
+
## Acceptance Criteria
|
|
158
|
+
|
|
159
|
+
- [ ] <Criterion 1>
|
|
160
|
+
- [ ] <Criterion 2>
|
|
161
|
+
- [ ] <Criterion 3>
|
|
162
|
+
|
|
163
|
+
## Dependencies
|
|
164
|
+
|
|
165
|
+
- Depends on: #<number> (if any)
|
|
166
|
+
- Blocks: #<number> (if any)
|
|
167
|
+
|
|
168
|
+
## Wave Assignment
|
|
169
|
+
|
|
170
|
+
**Wave <N>** — <reason for this wave>
|
|
171
|
+
Can run in parallel with: #<numbers>
|
|
172
|
+
Must wait for: #<numbers> (if any)
|
|
173
|
+
EOF
|
|
174
|
+
)"
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
**Label conventions:**
|
|
178
|
+
|
|
179
|
+
| Label | Format | Example |
|
|
180
|
+
|-------|--------|---------|
|
|
181
|
+
| Priority | `P0` through `P3` | `P1` |
|
|
182
|
+
| Wave | `wave-<N>` | `wave-1` |
|
|
183
|
+
| Feature area | Project-specific | `auth`, `api`, `ui` |
|
|
184
|
+
| Type | Conventional commits | `feat`, `fix`, `refactor` |
|
|
185
|
+
|
|
186
|
+
**Auto-create missing labels:**
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
gh label create "wave-1" --color "4ECDC4" --description "Wave 1: parallel group" 2>/dev/null || true
|
|
190
|
+
gh label create "wave-2" --color "45B7D1" --description "Wave 2: parallel group" 2>/dev/null || true
|
|
191
|
+
gh label create "P0" --color "FF0000" --description "Critical priority" 2>/dev/null || true
|
|
192
|
+
gh label create "P1" --color "FF6B6B" --description "High priority" 2>/dev/null || true
|
|
193
|
+
gh label create "P2" --color "FFD93D" --description "Medium priority" 2>/dev/null || true
|
|
194
|
+
gh label create "P3" --color "95E1D3" --description "Low priority" 2>/dev/null || true
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
**Completion criteria:**
|
|
198
|
+
- [ ] All issues created with structured body
|
|
199
|
+
- [ ] Labels applied (created if missing)
|
|
200
|
+
- [ ] Dependencies linked between issues
|
|
201
|
+
|
|
202
|
+
### Phase 5: Summarize — Output Dependency Graph and Execution Plan
|
|
203
|
+
|
|
204
|
+
**Present the final decomposition:**
|
|
205
|
+
|
|
206
|
+
```markdown
|
|
207
|
+
## Decomposition Summary
|
|
208
|
+
|
|
209
|
+
### Dependency Graph
|
|
210
|
+
|
|
211
|
+
#1 ─┬─► #3
|
|
212
|
+
└─► #4 ──► #6
|
|
213
|
+
#2 ────► #5
|
|
214
|
+
|
|
215
|
+
### Wave Execution Plan
|
|
216
|
+
|
|
217
|
+
| Wave | Issues | Parallel Safe | Depends On |
|
|
218
|
+
|------|--------|---------------|------------|
|
|
219
|
+
| 1 | #1, #2 | Yes (0 file overlaps) | — |
|
|
220
|
+
| 2 | #3, #4, #5 | Yes (0 file overlaps) | Wave 1 |
|
|
221
|
+
| 3 | #6 | N/A (single) | Wave 2 |
|
|
222
|
+
|
|
223
|
+
### File Overlap Matrix
|
|
224
|
+
|
|
225
|
+
| | #1 | #2 | #3 | #4 | #5 | #6 |
|
|
226
|
+
|---|---|---|---|---|---|---|
|
|
227
|
+
| #1 | — | 0 | 1 | 0 | 0 | 0 |
|
|
228
|
+
| #2 | 0 | — | 0 | 0 | 1 | 0 |
|
|
229
|
+
...
|
|
230
|
+
|
|
231
|
+
Total issues: 6
|
|
232
|
+
Waves: 3
|
|
233
|
+
Estimated parallel speedup: ~3x
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
**Completion criteria:**
|
|
237
|
+
- [ ] Dependency graph visualized
|
|
238
|
+
- [ ] Wave execution plan table complete
|
|
239
|
+
- [ ] File overlap matrix shown
|
|
240
|
+
- [ ] Summary shared with user
|
|
241
|
+
|
|
242
|
+
## Integration with taskmaestro
|
|
243
|
+
|
|
244
|
+
The wave grouping output is designed for direct use with `/taskmaestro`:
|
|
245
|
+
|
|
246
|
+
```
|
|
247
|
+
/taskmaestro --issues "#1,#2,#3" --wave 1
|
|
248
|
+
/taskmaestro --issues "#4,#5" --wave 2
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
Each wave runs in parallel tmux panes with git worktree isolation.
|
|
252
|
+
|
|
253
|
+
## Quick Reference
|
|
254
|
+
|
|
255
|
+
| Phase | Action | Tool |
|
|
256
|
+
|-------|--------|------|
|
|
257
|
+
| **1. Analyze** | Extract deliverables from plan | Read tool |
|
|
258
|
+
| **2. Overlap** | Detect file conflicts | `validate_parallel_issues` |
|
|
259
|
+
| **3. Prioritize** | Assign P0-P3 and waves | Manual analysis |
|
|
260
|
+
| **4. Create** | Generate GitHub issues | `gh issue create` |
|
|
261
|
+
| **5. Summarize** | Dependency graph + execution plan | Output |
|
|
262
|
+
|
|
263
|
+
## Safety Checklist
|
|
264
|
+
|
|
265
|
+
Before creating issues:
|
|
266
|
+
|
|
267
|
+
- [ ] Plan document read completely
|
|
268
|
+
- [ ] Every deliverable has specific file touchpoints (not directories)
|
|
269
|
+
- [ ] File overlap matrix checked — no intra-wave conflicts
|
|
270
|
+
- [ ] Priority levels assigned based on dependency chain
|
|
271
|
+
- [ ] Issue bodies include acceptance criteria
|
|
272
|
+
- [ ] Wave assignments respect the Iron Rule
|
|
273
|
+
- [ ] Labels exist or will be auto-created
|
|
274
|
+
- [ ] `validate_parallel_issues` called for final verification
|
|
275
|
+
|
|
276
|
+
## Red Flags — STOP
|
|
277
|
+
|
|
278
|
+
| Thought | Reality |
|
|
279
|
+
|---------|---------|
|
|
280
|
+
| "These issues probably don't overlap" | CHECK. Run overlap detection. Assumptions cause merge conflicts. |
|
|
281
|
+
| "I'll put them all in Wave 1 for speed" | STOP. Overlapping files in one wave = guaranteed conflicts. |
|
|
282
|
+
| "File overlap is minor, just a config file" | STOP. Config conflicts are the hardest to resolve. Different waves. |
|
|
283
|
+
| "I don't need acceptance criteria" | You do. Issues without AC get implemented wrong. |
|
|
284
|
+
| "I'll figure out waves later" | Waves are determined by file overlap. Do it now. |
|
|
285
|
+
| "This deliverable is too small for its own issue" | Small, focused issues are easier to parallelize and review. |
|
|
286
|
+
| "I'll skip validate_parallel_issues" | The MCP tool catches overlaps you missed. Always validate. |
|
|
287
|
+
|
|
288
|
+
## Examples
|
|
289
|
+
|
|
290
|
+
### Spec to Issues
|
|
291
|
+
|
|
292
|
+
```
|
|
293
|
+
Input: docs/plans/2025-03-15-auth-redesign.md
|
|
294
|
+
Output: 5 GitHub issues across 2 waves
|
|
295
|
+
|
|
296
|
+
Wave 1 (parallel):
|
|
297
|
+
#101 feat(auth): add JWT token service [P0, wave-1]
|
|
298
|
+
#102 feat(auth): add password hashing utils [P0, wave-1]
|
|
299
|
+
#103 feat(db): add users migration [P0, wave-1]
|
|
300
|
+
|
|
301
|
+
Wave 2 (parallel, after Wave 1):
|
|
302
|
+
#104 feat(auth): add login/register endpoints [P1, wave-2]
|
|
303
|
+
#105 feat(auth): add auth middleware [P1, wave-2]
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
### Plan with Overlaps
|
|
307
|
+
|
|
308
|
+
```
|
|
309
|
+
Input: docs/plans/2025-04-01-api-v2.md
|
|
310
|
+
|
|
311
|
+
Overlap detected:
|
|
312
|
+
Issue A: modifies src/routes/index.ts
|
|
313
|
+
Issue B: modifies src/routes/index.ts
|
|
314
|
+
→ A and B MUST be in different waves
|
|
315
|
+
|
|
316
|
+
Wave 1: [A, C, D] ← A here
|
|
317
|
+
Wave 2: [B, E] ← B here (after A merges)
|
|
318
|
+
```
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: pr-all-in-one
|
|
3
3
|
description: Unified commit and PR workflow. Auto-commits changes, creates/updates PRs with smart issue linking and multi-language support.
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
argument-hint: [target-branch] [issue-id]
|
|
4
6
|
---
|
|
5
7
|
|
|
6
8
|
# PR All-in-One
|
|
@@ -92,7 +94,7 @@ Step 7: Update existing PR (if exists)
|
|
|
92
94
|
│ └── "bilingual" → Bilingual Template
|
|
93
95
|
├── Generate title:
|
|
94
96
|
│ ├── "en"/"bilingual" → English title
|
|
95
|
-
│ └── "ko" →
|
|
97
|
+
│ └── "ko" → Korean title
|
|
96
98
|
├── Generate body with selected template
|
|
97
99
|
├── Merge with .github/pull_request_template.md (if exists)
|
|
98
100
|
├── NO AI signature
|
|
@@ -107,7 +109,7 @@ Step 8: Create new PR (if not exists)
|
|
|
107
109
|
│ └── "bilingual" → Bilingual Template
|
|
108
110
|
├── Generate title:
|
|
109
111
|
│ ├── "en"/"bilingual" → English (e.g., "feat: add auth")
|
|
110
|
-
│ └── "ko" →
|
|
112
|
+
│ └── "ko" → Korean (e.g., "feat: add authentication")
|
|
111
113
|
├── Generate body with selected template + commit analysis
|
|
112
114
|
├── Merge with project template if exists
|
|
113
115
|
├── NO AI signature
|
|
@@ -246,22 +248,22 @@ N/A (no UI changes)
|
|
|
246
248
|
|
|
247
249
|
#### When `prLanguage: "ko"`
|
|
248
250
|
|
|
249
|
-
**Title**: `feat:
|
|
251
|
+
**Title**: `feat: add user authentication`
|
|
250
252
|
|
|
251
253
|
**Body**:
|
|
252
254
|
```markdown
|
|
253
|
-
##
|
|
255
|
+
## Context
|
|
254
256
|
|
|
255
|
-
|
|
256
|
-
-
|
|
257
|
+
**Related Links:**
|
|
258
|
+
- Issue: [AUTH-123](https://jira.example.com/browse/AUTH-123)
|
|
257
259
|
|
|
258
|
-
|
|
260
|
+
**Description Details:**
|
|
259
261
|
|
|
260
|
-
JWT
|
|
262
|
+
Added JWT-based authentication with refresh token support.
|
|
261
263
|
|
|
262
|
-
##
|
|
264
|
+
## Screenshots or Videos
|
|
263
265
|
|
|
264
|
-
N/A (UI
|
|
266
|
+
N/A (no UI changes)
|
|
265
267
|
```
|
|
266
268
|
|
|
267
269
|
#### When `prLanguage: "bilingual"`
|
|
@@ -281,13 +283,13 @@ Added JWT-based authentication with refresh token support.
|
|
|
281
283
|
|
|
282
284
|
---
|
|
283
285
|
|
|
284
|
-
|
|
286
|
+
**Description Details (Korean):**
|
|
285
287
|
|
|
286
|
-
JWT
|
|
288
|
+
Added JWT-based authentication with refresh token support. (Korean translation here)
|
|
287
289
|
|
|
288
290
|
## Screenshots or Videos
|
|
289
291
|
|
|
290
|
-
N/A (no UI changes
|
|
292
|
+
N/A (no UI changes)
|
|
291
293
|
```
|
|
292
294
|
|
|
293
295
|
### Template Definitions
|