@wbern/claude-instructions 1.21.0 → 2.0.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/README.md +4 -2
- package/bin/cli.js +329 -192
- package/package.json +2 -3
- package/src/README.md +279 -0
- package/src/fragments/aaa-pattern.md +7 -0
- package/src/fragments/beads-awareness.md +1 -0
- package/src/fragments/beads-integration.md +8 -0
- package/{downloads/without-beads/commit.md → src/fragments/commit-process.md} +0 -17
- package/src/fragments/consistency-check.md +1 -0
- package/src/fragments/discovery-phase.md +22 -0
- package/src/fragments/fallback-arguments-beads.md +3 -0
- package/src/fragments/fallback-arguments.md +1 -0
- package/src/fragments/fullwidth-dollar-note.md +1 -0
- package/src/fragments/gap-beads.md +1 -0
- package/src/fragments/git-host-detection.md +19 -0
- package/src/fragments/github-issue-fetch.md +10 -0
- package/src/fragments/peeping-tom-warning.md +9 -0
- package/src/fragments/plan-beads-context-hint.md +1 -0
- package/src/fragments/plan-beads-details.md +49 -0
- package/src/fragments/plan-beads-integration.md +2 -0
- package/src/fragments/summarize-beads.md +8 -0
- package/{downloads/without-beads/summarize.md → src/fragments/summarize-structure.md} +0 -20
- package/{downloads/without-beads/tdd.md → src/fragments/tdd-fundamentals.md} +0 -21
- package/src/fragments/test-quality-criteria.md +24 -0
- package/src/fragments/universal-guidelines.md +6 -0
- package/{downloads/without-beads → src/sources}/add-command.md +11 -25
- package/{downloads/without-beads → src/sources}/ask.md +11 -6
- package/{downloads/without-beads → src/sources}/beepboop.md +7 -6
- package/{downloads/without-beads → src/sources}/busycommit.md +9 -36
- package/{downloads/without-beads → src/sources}/code-review.md +16 -30
- package/src/sources/commit.md +20 -0
- package/src/sources/cycle.md +23 -0
- package/{downloads/without-beads → src/sources}/gap.md +11 -8
- package/src/sources/green.md +23 -0
- package/src/sources/issue.md +42 -0
- package/{downloads/without-beads → src/sources}/kata.md +10 -9
- package/{downloads/without-beads → src/sources}/plan.md +18 -39
- package/{downloads/without-beads → src/sources}/pr.md +10 -6
- package/src/sources/red.md +26 -0
- package/src/sources/refactor.md +27 -0
- package/{downloads/without-beads → src/sources}/ship.md +11 -6
- package/{downloads/without-beads → src/sources}/show.md +11 -6
- package/src/sources/spike.md +23 -0
- package/src/sources/summarize.md +23 -0
- package/{downloads/without-beads → src/sources}/tdd-review.md +11 -31
- package/src/sources/tdd.md +24 -0
- package/{downloads/without-beads → src/sources}/worktree-add.md +13 -31
- package/{downloads/without-beads → src/sources}/worktree-cleanup.md +9 -27
- package/downloads/with-beads/add-command.md +0 -159
- package/downloads/with-beads/ask.md +0 -144
- package/downloads/with-beads/beepboop.md +0 -47
- package/downloads/with-beads/busycommit.md +0 -78
- package/downloads/with-beads/code-review.md +0 -263
- package/downloads/with-beads/commands-metadata.json +0 -155
- package/downloads/with-beads/commit.md +0 -49
- package/downloads/with-beads/cycle.md +0 -95
- package/downloads/with-beads/gap.md +0 -38
- package/downloads/with-beads/green.md +0 -95
- package/downloads/with-beads/issue.md +0 -152
- package/downloads/with-beads/kata.md +0 -444
- package/downloads/with-beads/plan.md +0 -186
- package/downloads/with-beads/pr.md +0 -82
- package/downloads/with-beads/red.md +0 -103
- package/downloads/with-beads/refactor.md +0 -105
- package/downloads/with-beads/ship.md +0 -98
- package/downloads/with-beads/show.md +0 -114
- package/downloads/with-beads/spike.md +0 -95
- package/downloads/with-beads/summarize.md +0 -54
- package/downloads/with-beads/tdd-review.md +0 -102
- package/downloads/with-beads/tdd.md +0 -94
- package/downloads/with-beads/worktree-add.md +0 -357
- package/downloads/with-beads/worktree-cleanup.md +0 -250
- package/downloads/without-beads/commands-metadata.json +0 -155
- package/downloads/without-beads/cycle.md +0 -90
- package/downloads/without-beads/green.md +0 -90
- package/downloads/without-beads/issue.md +0 -140
- package/downloads/without-beads/red.md +0 -98
- package/downloads/without-beads/refactor.md +0 -100
- package/downloads/without-beads/spike.md +0 -90
|
@@ -1,22 +1,21 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Guide for creating new slash commands
|
|
3
3
|
argument-hint: <command-name> <description>
|
|
4
|
+
_hint: Create command
|
|
5
|
+
_category: Utilities
|
|
6
|
+
_order: 3
|
|
4
7
|
---
|
|
5
8
|
|
|
6
|
-
|
|
9
|
+
<!-- docs INCLUDE path='src/fragments/universal-guidelines.md' -->
|
|
10
|
+
<!-- /docs -->
|
|
7
11
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
- **Never explicitly mention TDD** in code, comments, commits, PRs, or issues
|
|
11
|
-
- Write natural, descriptive code without meta-commentary about the development process
|
|
12
|
-
- The code should speak for itself - TDD is the process, not the product
|
|
12
|
+
<!-- docs INCLUDE path='src/fragments/beads-awareness.md' featureFlag='beads' -->
|
|
13
|
+
<!-- /docs -->
|
|
13
14
|
|
|
14
15
|
# Slash Command Creator Guide
|
|
15
16
|
|
|
16
17
|
## How This Command Works
|
|
17
|
-
|
|
18
18
|
The `/add-command` command shows this guide for creating new slash commands. It includes:
|
|
19
|
-
|
|
20
19
|
- Command structure and syntax
|
|
21
20
|
- Common patterns and examples
|
|
22
21
|
- Security restrictions and limitations
|
|
@@ -25,7 +24,6 @@ The `/add-command` command shows this guide for creating new slash commands. It
|
|
|
25
24
|
**Note for AI**: When creating commands, you CAN use bash tools like `Bash(mkdir:*)`, `Bash(ls:*)`, `Bash(git status:*)` in the `allowed-tools` frontmatter of NEW commands - but ONLY for operations within the current project directory. This command itself doesn't need bash tools since it's just documentation.
|
|
26
25
|
|
|
27
26
|
## Command Locations
|
|
28
|
-
|
|
29
27
|
- **Personal**: `~/.claude/commands/` (available across all projects)
|
|
30
28
|
- **Project**: `.claude/commands/` (shared with team, shows "(project)")
|
|
31
29
|
|
|
@@ -52,40 +50,34 @@ Bash command output: (exclamation)git status(backticks)
|
|
|
52
50
|
## ⚠️ Security Restrictions
|
|
53
51
|
|
|
54
52
|
**Bash Commands (exclamation prefix)**: Limited to current working directory only.
|
|
55
|
-
|
|
56
53
|
- ✅ Works: `! + backtick + git status + backtick` (in project dir)
|
|
57
54
|
- ❌ Blocked: `! + backtick + ls /outside/project + backtick` (outside project)
|
|
58
55
|
- ❌ Blocked: `! + backtick + pwd + backtick` (if referencing dirs outside project)
|
|
59
56
|
|
|
60
57
|
**File References (`@` prefix)**: No directory restrictions.
|
|
61
|
-
|
|
62
58
|
- ✅ Works: `@/path/to/system/file.md`
|
|
63
59
|
- ✅ Works: `@../other-project/file.js`
|
|
64
60
|
|
|
65
61
|
## Common Patterns
|
|
66
62
|
|
|
67
63
|
### Simple Command
|
|
68
|
-
|
|
69
64
|
```bash
|
|
70
65
|
echo "Review this code for bugs and suggest fixes" > ~/.claude/commands/review.md
|
|
71
66
|
```
|
|
72
67
|
|
|
73
68
|
### Command with Arguments
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
69
|
+
<!-- docs INCLUDE path='src/fragments/fullwidth-dollar-note.md' -->
|
|
70
|
+
<!-- /docs -->
|
|
77
71
|
```markdown
|
|
78
72
|
Fix issue $ARGUMENTS following our coding standards
|
|
79
73
|
```
|
|
80
74
|
|
|
81
75
|
### Command with File References
|
|
82
|
-
|
|
83
76
|
```markdown
|
|
84
77
|
Compare @src/old.js with @src/new.js and explain differences
|
|
85
78
|
```
|
|
86
79
|
|
|
87
80
|
### Command with Bash Output (Project Directory Only)
|
|
88
|
-
|
|
89
81
|
```markdown
|
|
90
82
|
---
|
|
91
83
|
allowed-tools: Bash(git status:*), Bash(git branch:*), Bash(git log:*)
|
|
@@ -100,9 +92,8 @@ Create commit for these changes.
|
|
|
100
92
|
**Note**: Only works with commands in the current project directory.
|
|
101
93
|
|
|
102
94
|
### Namespaced Command
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
95
|
+
<!-- docs INCLUDE path='src/fragments/fullwidth-dollar-note.md' -->
|
|
96
|
+
<!-- /docs -->
|
|
106
97
|
```bash
|
|
107
98
|
mkdir -p ~/.claude/commands/ai
|
|
108
99
|
echo "Ask GPT-5 about: $ARGUMENTS" > ~/.claude/commands/ai/gpt5.md
|
|
@@ -110,7 +101,6 @@ echo "Ask GPT-5 about: $ARGUMENTS" > ~/.claude/commands/ai/gpt5.md
|
|
|
110
101
|
```
|
|
111
102
|
|
|
112
103
|
## Frontmatter Options
|
|
113
|
-
|
|
114
104
|
- `allowed-tools`: Tools this command can use
|
|
115
105
|
- **Important**: Intrusive tools like `Write`, `Edit`, `NotebookEdit` should NEVER be allowed in commands unless the user explicitly requests them. These tools modify files and should only be used when the command's purpose is to make changes.
|
|
116
106
|
- ✅ Safe for most commands: `Read`, `Glob`, `Grep`, `Bash(git status:*)`, `Task`, `AskUserQuestion`
|
|
@@ -121,7 +111,6 @@ echo "Ask GPT-5 about: $ARGUMENTS" > ~/.claude/commands/ai/gpt5.md
|
|
|
121
111
|
## Best Practices
|
|
122
112
|
|
|
123
113
|
### Safe Commands (No Security Issues)
|
|
124
|
-
|
|
125
114
|
```markdown
|
|
126
115
|
# System prompt editor (file reference only)
|
|
127
116
|
(@)path/to/system/prompt.md
|
|
@@ -130,7 +119,6 @@ Edit your system prompt above.
|
|
|
130
119
|
```
|
|
131
120
|
|
|
132
121
|
### Project-Specific Commands (Bash OK)
|
|
133
|
-
|
|
134
122
|
```markdown
|
|
135
123
|
---
|
|
136
124
|
allowed-tools: Bash(git status:*), Bash(npm list:*)
|
|
@@ -142,7 +130,6 @@ Review project state and suggest next steps.
|
|
|
142
130
|
```
|
|
143
131
|
|
|
144
132
|
### Cross-Directory File Access (Use @ not !)
|
|
145
|
-
|
|
146
133
|
```markdown
|
|
147
134
|
# Compare config files
|
|
148
135
|
Compare (@)path/to/system.md with (@)project/config.md
|
|
@@ -151,7 +138,6 @@ Show differences and suggest improvements.
|
|
|
151
138
|
```
|
|
152
139
|
|
|
153
140
|
## Usage
|
|
154
|
-
|
|
155
141
|
After creating: `/<command-name> [arguments]`
|
|
156
142
|
|
|
157
143
|
Example: `/review` or `/ai:gpt5 "explain this code"`
|
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Request team review and approval - for complex changes needing discussion
|
|
3
3
|
argument-hint: [optional-pr-title-and-description]
|
|
4
|
+
_hint: Request review
|
|
5
|
+
_category: Ship / Show / Ask
|
|
6
|
+
_order: 3
|
|
7
|
+
_selectedByDefault: false
|
|
4
8
|
---
|
|
5
9
|
|
|
6
10
|
# Ask - Request Review and Approval
|
|
7
11
|
|
|
8
|
-
|
|
12
|
+
<!-- docs INCLUDE path='src/fragments/universal-guidelines.md' -->
|
|
13
|
+
<!-- /docs -->
|
|
9
14
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
- **Never explicitly mention TDD** in code, comments, commits, PRs, or issues
|
|
13
|
-
- Write natural, descriptive code without meta-commentary about the development process
|
|
14
|
-
- The code should speak for itself - TDD is the process, not the product
|
|
15
|
+
<!-- docs INCLUDE path='src/fragments/beads-awareness.md' featureFlag='beads' -->
|
|
16
|
+
<!-- /docs -->
|
|
15
17
|
|
|
16
18
|
**Ship/Show/Ask Pattern - ASK**
|
|
17
19
|
|
|
@@ -130,3 +132,6 @@ Use **Ask** when:
|
|
|
130
132
|
Use **/show** instead if: confident in approach, just want visibility
|
|
131
133
|
|
|
132
134
|
Use **/ship** instead if: change is tiny, obvious, and safe
|
|
135
|
+
|
|
136
|
+
<!-- docs INCLUDE path='src/fragments/beads-integration.md' featureFlag='beads' -->
|
|
137
|
+
<!-- /docs -->
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Communicate AI-generated content with transparent attribution
|
|
3
3
|
argument-hint: <task-description>
|
|
4
|
+
_hint: AI attribution
|
|
5
|
+
_category: Utilities
|
|
6
|
+
_order: 2
|
|
4
7
|
---
|
|
5
8
|
|
|
6
9
|
# AI-Attributed Communication Command
|
|
7
10
|
|
|
8
11
|
Execute the user's requested task (e.g., posting PR comments, GitHub issue comments, or other communications through various MCPs), but frame the output with clear AI attribution.
|
|
9
12
|
|
|
10
|
-
|
|
13
|
+
<!-- docs INCLUDE path='src/fragments/universal-guidelines.md' -->
|
|
14
|
+
<!-- /docs -->
|
|
11
15
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
- **Never explicitly mention TDD** in code, comments, commits, PRs, or issues
|
|
15
|
-
- Write natural, descriptive code without meta-commentary about the development process
|
|
16
|
-
- The code should speak for itself - TDD is the process, not the product
|
|
16
|
+
<!-- docs INCLUDE path='src/fragments/beads-awareness.md' featureFlag='beads' -->
|
|
17
|
+
<!-- /docs -->
|
|
17
18
|
|
|
18
19
|
## Instructions
|
|
19
20
|
|
|
@@ -1,50 +1,23 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Create multiple atomic git commits, one logical change at a time
|
|
3
3
|
argument-hint: [optional-commit-description]
|
|
4
|
+
_hint: Atomic commits
|
|
5
|
+
_category: Workflow
|
|
6
|
+
_order: 2
|
|
4
7
|
---
|
|
5
8
|
|
|
6
|
-
|
|
9
|
+
<!-- docs INCLUDE path='src/fragments/universal-guidelines.md' -->
|
|
10
|
+
<!-- /docs -->
|
|
7
11
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
- **Never explicitly mention TDD** in code, comments, commits, PRs, or issues
|
|
11
|
-
- Write natural, descriptive code without meta-commentary about the development process
|
|
12
|
-
- The code should speak for itself - TDD is the process, not the product
|
|
12
|
+
<!-- docs INCLUDE path='src/fragments/beads-awareness.md' featureFlag='beads' -->
|
|
13
|
+
<!-- /docs -->
|
|
13
14
|
|
|
14
15
|
Create multiple atomic git commits, committing the smallest possible logical unit at a time
|
|
15
16
|
|
|
16
17
|
Include any of the following info if specified: $ARGUMENTS
|
|
17
18
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
Follows [Conventional Commits](https://www.conventionalcommits.org/) standard.
|
|
21
|
-
|
|
22
|
-
1. **Format**: `type(#issue): description`
|
|
23
|
-
- Use `#123` for local repo issues
|
|
24
|
-
- Use `owner/repo#123` for cross-repo issues
|
|
25
|
-
- Common types: `feat`, `fix`, `docs`, `refactor`, `test`, `chore`
|
|
26
|
-
|
|
27
|
-
2. **AI Credits**: **NEVER include AI credits in commit messages**
|
|
28
|
-
- No "Generated with Claude Code"
|
|
29
|
-
- No "Co-Authored-By: Claude" or "Co-Authored-By: Happy"
|
|
30
|
-
- Focus on the actual changes made, not conversation history
|
|
31
|
-
|
|
32
|
-
3. **Content**: Write clear, concise commit messages describing what changed and why
|
|
33
|
-
|
|
34
|
-
## Process
|
|
35
|
-
|
|
36
|
-
1. Run `git status` and `git diff` to review changes
|
|
37
|
-
2. Run `git log --oneline -5` to see recent commit style
|
|
38
|
-
3. Stage relevant files with `git add`
|
|
39
|
-
4. Create commit with descriptive message
|
|
40
|
-
5. Verify with `git status`
|
|
41
|
-
|
|
42
|
-
## Example
|
|
43
|
-
|
|
44
|
-
```bash
|
|
45
|
-
git add <files>
|
|
46
|
-
git commit -m "feat(#123): add validation to user input form"
|
|
47
|
-
```
|
|
19
|
+
<!-- docs INCLUDE path='src/fragments/commit-process.md' -->
|
|
20
|
+
<!-- /docs -->
|
|
48
21
|
|
|
49
22
|
## Atomic Commit Approach
|
|
50
23
|
|
|
@@ -1,15 +1,23 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Code review using dynamic category detection and domain-specific analysis
|
|
3
3
|
argument-hint: (optional) [branch, PR#, or PR URL] - defaults to current branch
|
|
4
|
+
_hint: Review code
|
|
5
|
+
_category: Workflow
|
|
6
|
+
_order: 35
|
|
7
|
+
_requested-tools:
|
|
8
|
+
- Bash(git diff:*)
|
|
9
|
+
- Bash(git status:*)
|
|
10
|
+
- Bash(git log:*)
|
|
11
|
+
- Bash(git rev-parse:*)
|
|
12
|
+
- Bash(git merge-base:*)
|
|
13
|
+
- Bash(git branch:*)
|
|
4
14
|
---
|
|
5
15
|
|
|
6
|
-
|
|
16
|
+
<!-- docs INCLUDE path='src/fragments/universal-guidelines.md' -->
|
|
17
|
+
<!-- /docs -->
|
|
7
18
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
- **Never explicitly mention TDD** in code, comments, commits, PRs, or issues
|
|
11
|
-
- Write natural, descriptive code without meta-commentary about the development process
|
|
12
|
-
- The code should speak for itself - TDD is the process, not the product
|
|
19
|
+
<!-- docs INCLUDE path='src/fragments/beads-awareness.md' featureFlag='beads' -->
|
|
20
|
+
<!-- /docs -->
|
|
13
21
|
|
|
14
22
|
# Code Review
|
|
15
23
|
|
|
@@ -161,30 +169,8 @@ For each detected category with changes, run a targeted review. Skip categories
|
|
|
161
169
|
|
|
162
170
|
### Tests Review Criteria
|
|
163
171
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
| Principle | What to Check |
|
|
167
|
-
|-----------|---------------|
|
|
168
|
-
| **Fast** | Tests complete quickly, no I/O, no network calls, no sleep()/setTimeout delays |
|
|
169
|
-
| **Independent** | No shared mutable state, no execution order dependencies between tests |
|
|
170
|
-
| **Repeatable** | No Date.now(), no Math.random() without seeding, no external service dependencies |
|
|
171
|
-
| **Self-validating** | Meaningful assertions that verify behavior, no manual verification needed |
|
|
172
|
-
|
|
173
|
-
#### TDD Anti-patterns
|
|
174
|
-
|
|
175
|
-
| Anti-pattern | Detection Signals |
|
|
176
|
-
|--------------|-------------------|
|
|
177
|
-
| **The Liar** | `expect(true).toBe(true)`, empty test bodies, tests with no assertions |
|
|
178
|
-
| **Excessive Setup** | >20 lines of arrange code, >5 mocks, deep nested object construction |
|
|
179
|
-
| **The One** | >5 assertions testing unrelated behaviors in a single test |
|
|
180
|
-
| **The Peeping Tom** | Testing private methods, asserting on internal state, tests that break on any refactor |
|
|
181
|
-
| **The Slow Poke** | Real database/network calls, file I/O, hard-coded timeouts |
|
|
182
|
-
|
|
183
|
-
#### Test Structure (AAA Pattern)
|
|
184
|
-
|
|
185
|
-
- **Arrange**: Clear setup with minimal fixtures
|
|
186
|
-
- **Act**: Single action being tested
|
|
187
|
-
- **Assert**: Specific, behavior-focused assertions
|
|
172
|
+
<!-- docs INCLUDE path='src/fragments/test-quality-criteria.md' -->
|
|
173
|
+
<!-- /docs -->
|
|
188
174
|
|
|
189
175
|
### Docs Review Criteria
|
|
190
176
|
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create a git commit following project standards
|
|
3
|
+
argument-hint: [optional-commit-description]
|
|
4
|
+
_hint: Git commit
|
|
5
|
+
_category: Workflow
|
|
6
|
+
_order: 1
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
<!-- docs INCLUDE path='src/fragments/universal-guidelines.md' -->
|
|
10
|
+
<!-- /docs -->
|
|
11
|
+
|
|
12
|
+
<!-- docs INCLUDE path='src/fragments/beads-awareness.md' featureFlag='beads' -->
|
|
13
|
+
<!-- /docs -->
|
|
14
|
+
|
|
15
|
+
Create a git commit following project standards
|
|
16
|
+
|
|
17
|
+
Include any of the following info if specified: $ARGUMENTS
|
|
18
|
+
|
|
19
|
+
<!-- docs INCLUDE path='src/fragments/commit-process.md' -->
|
|
20
|
+
<!-- /docs -->
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Execute complete TDD cycle - Red, Green, and Refactor phases in sequence
|
|
3
|
+
argument-hint: <feature or requirement description>
|
|
4
|
+
_hint: Full TDD cycle
|
|
5
|
+
_category: Test-Driven Development
|
|
6
|
+
_order: 5
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
RED+GREEN+REFACTOR (one cycle) PHASE! Apply the below to the info given by user input here:
|
|
10
|
+
|
|
11
|
+
$ARGUMENTS
|
|
12
|
+
|
|
13
|
+
<!-- docs INCLUDE path='src/fragments/universal-guidelines.md' -->
|
|
14
|
+
<!-- /docs -->
|
|
15
|
+
|
|
16
|
+
<!-- docs INCLUDE path='src/fragments/beads-awareness.md' featureFlag='beads' -->
|
|
17
|
+
<!-- /docs -->
|
|
18
|
+
|
|
19
|
+
<!-- docs INCLUDE path='src/fragments/fallback-arguments-beads.md' featureFlag='beads' elsePath='src/fragments/fallback-arguments.md' -->
|
|
20
|
+
<!-- /docs -->
|
|
21
|
+
|
|
22
|
+
<!-- docs INCLUDE path='src/fragments/tdd-fundamentals.md' -->
|
|
23
|
+
<!-- /docs -->
|
|
@@ -1,27 +1,30 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Analyze conversation context for unaddressed items and gaps
|
|
3
3
|
argument-hint: [optional additional info]
|
|
4
|
+
_hint: Find gaps
|
|
5
|
+
_category: Workflow
|
|
6
|
+
_order: 11
|
|
4
7
|
---
|
|
5
8
|
|
|
6
|
-
|
|
9
|
+
<!-- docs INCLUDE path='src/fragments/universal-guidelines.md' -->
|
|
10
|
+
<!-- /docs -->
|
|
7
11
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
- **Never explicitly mention TDD** in code, comments, commits, PRs, or issues
|
|
11
|
-
- Write natural, descriptive code without meta-commentary about the development process
|
|
12
|
-
- The code should speak for itself - TDD is the process, not the product
|
|
12
|
+
<!-- docs INCLUDE path='src/fragments/beads-awareness.md' featureFlag='beads' -->
|
|
13
|
+
<!-- /docs -->
|
|
13
14
|
|
|
14
15
|
Analyze the current conversation context and identify things that have not yet been addressed. Look for:
|
|
15
16
|
|
|
16
17
|
1. **Incomplete implementations** - Code that was started but not finished
|
|
17
18
|
2. **Unused variables/results** - Values that were captured but never used
|
|
18
19
|
3. **Missing tests** - Functionality without test coverage
|
|
19
|
-
|
|
20
|
+
<!-- docs INCLUDE path='src/fragments/gap-beads.md' featureFlag='beads' -->
|
|
21
|
+
<!-- /docs -->
|
|
20
22
|
4. **User requests** - Things the user asked for that weren't fully completed
|
|
21
23
|
5. **TODO comments** - Any TODOs mentioned in conversation
|
|
22
24
|
6. **Error handling gaps** - Missing error cases or edge cases
|
|
23
25
|
7. **Documentation gaps** - Undocumented APIs or features
|
|
24
|
-
|
|
26
|
+
<!-- docs INCLUDE path='src/fragments/consistency-check.md' -->
|
|
27
|
+
<!-- /docs -->
|
|
25
28
|
|
|
26
29
|
Present findings as a prioritized list with:
|
|
27
30
|
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Execute TDD Green Phase - write minimal implementation to pass the failing test
|
|
3
|
+
argument-hint: <implementation description>
|
|
4
|
+
_hint: Make it pass
|
|
5
|
+
_category: Test-Driven Development
|
|
6
|
+
_order: 3
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
GREEN PHASE! Apply the below to the info given by user input here:
|
|
10
|
+
|
|
11
|
+
$ARGUMENTS
|
|
12
|
+
|
|
13
|
+
<!-- docs INCLUDE path='src/fragments/universal-guidelines.md' -->
|
|
14
|
+
<!-- /docs -->
|
|
15
|
+
|
|
16
|
+
<!-- docs INCLUDE path='src/fragments/beads-awareness.md' featureFlag='beads' -->
|
|
17
|
+
<!-- /docs -->
|
|
18
|
+
|
|
19
|
+
<!-- docs INCLUDE path='src/fragments/fallback-arguments-beads.md' featureFlag='beads' elsePath='src/fragments/fallback-arguments.md' -->
|
|
20
|
+
<!-- /docs -->
|
|
21
|
+
|
|
22
|
+
<!-- docs INCLUDE path='src/fragments/tdd-fundamentals.md' -->
|
|
23
|
+
<!-- /docs -->
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Analyze GitHub issue and create TDD implementation plan
|
|
3
|
+
argument-hint: [optional-issue-number]
|
|
4
|
+
_hint: Analyze issue
|
|
5
|
+
_category: Planning
|
|
6
|
+
_order: 1
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
Analyze GitHub issue and create TDD implementation plan.
|
|
10
|
+
|
|
11
|
+
<!-- docs INCLUDE path='src/fragments/universal-guidelines.md' -->
|
|
12
|
+
<!-- /docs -->
|
|
13
|
+
|
|
14
|
+
<!-- docs INCLUDE path='src/fragments/beads-awareness.md' featureFlag='beads' -->
|
|
15
|
+
<!-- /docs -->
|
|
16
|
+
|
|
17
|
+
Process:
|
|
18
|
+
|
|
19
|
+
1. Get Issue Number
|
|
20
|
+
|
|
21
|
+
- Either from branch name use that issue number
|
|
22
|
+
- Patterns: issue-123, 123-feature, feature/123, fix/123
|
|
23
|
+
- Or from this bullet point with custom info: $ARGUMENTS
|
|
24
|
+
- If not found: ask user
|
|
25
|
+
|
|
26
|
+
2. Fetch Issue
|
|
27
|
+
|
|
28
|
+
<!-- docs INCLUDE path='src/fragments/github-issue-fetch.md' -->
|
|
29
|
+
<!-- /docs -->
|
|
30
|
+
|
|
31
|
+
3. Analyze and Plan
|
|
32
|
+
|
|
33
|
+
Summarize the issue and requirements, then:
|
|
34
|
+
|
|
35
|
+
<!-- docs INCLUDE path='src/fragments/discovery-phase.md' -->
|
|
36
|
+
<!-- /docs -->
|
|
37
|
+
|
|
38
|
+
<!-- docs INCLUDE path='src/fragments/beads-integration.md' featureFlag='beads' -->
|
|
39
|
+
<!-- /docs -->
|
|
40
|
+
|
|
41
|
+
<!-- docs INCLUDE path='src/fragments/tdd-fundamentals.md' -->
|
|
42
|
+
<!-- /docs -->
|
|
@@ -1,23 +1,26 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Generate a TDD practice challenge with boilerplate test setup
|
|
3
3
|
argument-hint: (no arguments - interactive)
|
|
4
|
+
_hint: Practice kata
|
|
5
|
+
_category: Utilities
|
|
6
|
+
_order: 10
|
|
7
|
+
_requested-tools:
|
|
8
|
+
- WebFetch(domain:raw.githubusercontent.com)
|
|
9
|
+
- WebFetch(domain:api.github.com)
|
|
4
10
|
---
|
|
5
11
|
|
|
6
12
|
# Kata: TDD Practice Challenge Generator
|
|
7
13
|
|
|
8
14
|
Generate a complete TDD practice setup:
|
|
9
|
-
|
|
10
15
|
- `CHALLENGE.md` - Problem description
|
|
11
16
|
- Test file with first test placeholder
|
|
12
17
|
- Implementation file with empty function
|
|
13
18
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
### Output Style
|
|
19
|
+
<!-- docs INCLUDE path='src/fragments/universal-guidelines.md' -->
|
|
20
|
+
<!-- /docs -->
|
|
17
21
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
- The code should speak for itself - TDD is the process, not the product
|
|
22
|
+
<!-- docs INCLUDE path='src/fragments/beads-awareness.md' featureFlag='beads' -->
|
|
23
|
+
<!-- /docs -->
|
|
21
24
|
|
|
22
25
|
## Input
|
|
23
26
|
|
|
@@ -312,11 +315,9 @@ Use conversational AskUserQuestion flow. User can skip to suggestions at any poi
|
|
|
312
315
|
# Kata: {$SELECTED_KATA}
|
|
313
316
|
|
|
314
317
|
## Difficulty
|
|
315
|
-
|
|
316
318
|
{$DIFFICULTY_STARS based on category}
|
|
317
319
|
|
|
318
320
|
## Problem
|
|
319
|
-
|
|
320
321
|
{$KATA_CONTENT from readme.txt}
|
|
321
322
|
|
|
322
323
|
## TDD Approach
|
|
@@ -1,30 +1,31 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Create implementation plan from feature/requirement with PRD-style discovery and TDD acceptance criteria
|
|
3
3
|
argument-hint: <feature/requirement description or GitHub issue URL/number>
|
|
4
|
+
_hint: Plan feature
|
|
5
|
+
_category: Planning
|
|
6
|
+
_order: 2
|
|
4
7
|
---
|
|
5
8
|
|
|
6
9
|
# Plan: PRD-Informed Task Planning for TDD
|
|
7
10
|
|
|
8
11
|
Create structured implementation plan that bridges product thinking (PRD) with test-driven development.
|
|
9
12
|
|
|
10
|
-
|
|
13
|
+
<!-- docs INCLUDE path='src/fragments/universal-guidelines.md' -->
|
|
14
|
+
<!-- /docs -->
|
|
11
15
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
- **Never explicitly mention TDD** in code, comments, commits, PRs, or issues
|
|
15
|
-
- Write natural, descriptive code without meta-commentary about the development process
|
|
16
|
-
- The code should speak for itself - TDD is the process, not the product
|
|
16
|
+
<!-- docs INCLUDE path='src/fragments/beads-awareness.md' featureFlag='beads' -->
|
|
17
|
+
<!-- /docs -->
|
|
17
18
|
|
|
18
19
|
## Input
|
|
19
20
|
|
|
20
21
|
$ARGUMENTS
|
|
21
22
|
|
|
22
|
-
(If no input provided, check conversation context
|
|
23
|
+
(If no input provided, check conversation context<!-- docs INCLUDE path='src/fragments/plan-beads-context-hint.md' featureFlag='beads' -->
|
|
24
|
+
<!-- /docs -->)
|
|
23
25
|
|
|
24
26
|
## Input Processing
|
|
25
27
|
|
|
26
28
|
The input can be one of:
|
|
27
|
-
|
|
28
29
|
1. **GitHub Issue URL** (e.g., `https://github.com/owner/repo/issues/123`)
|
|
29
30
|
2. **GitHub Issue Number** (e.g., `#123` or `123`)
|
|
30
31
|
3. **Feature Description** (e.g., "Add user authentication")
|
|
@@ -35,14 +36,12 @@ The input can be one of:
|
|
|
35
36
|
If input looks like a GitHub issue:
|
|
36
37
|
|
|
37
38
|
**Step 1: Extract Issue Number**
|
|
38
|
-
|
|
39
39
|
- From URL: extract owner/repo/number
|
|
40
40
|
- From number: try to infer repo from git remote
|
|
41
41
|
- From branch name: check patterns like `issue-123`, `123-feature`, `feature/123`
|
|
42
42
|
|
|
43
43
|
**Step 2: Fetch Issue**
|
|
44
44
|
Try GitHub MCP first:
|
|
45
|
-
|
|
46
45
|
- If available: use `mcp__github__issue_read` to fetch issue details
|
|
47
46
|
- If not available: show message and try `gh issue view <number>`
|
|
48
47
|
|
|
@@ -53,7 +52,6 @@ Trying GitHub CLI fallback...
|
|
|
53
52
|
```
|
|
54
53
|
|
|
55
54
|
**Step 3: Use Issue as Discovery Input**
|
|
56
|
-
|
|
57
55
|
- Title → Feature name
|
|
58
56
|
- Description → Problem statement and context
|
|
59
57
|
- Labels → Type/priority hints
|
|
@@ -61,7 +59,6 @@ Trying GitHub CLI fallback...
|
|
|
61
59
|
- Linked issues → Dependencies
|
|
62
60
|
|
|
63
61
|
Extract from GitHub issue:
|
|
64
|
-
|
|
65
62
|
- Problem statement and context
|
|
66
63
|
- Acceptance criteria (if present)
|
|
67
64
|
- Technical notes (if present)
|
|
@@ -69,48 +66,30 @@ Extract from GitHub issue:
|
|
|
69
66
|
|
|
70
67
|
## Process
|
|
71
68
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
Understand the requirement by asking (use AskUserQuestion if needed):
|
|
75
|
-
|
|
76
|
-
**Problem Statement**
|
|
77
|
-
|
|
78
|
-
- What problem does this solve?
|
|
79
|
-
- Who experiences this problem?
|
|
80
|
-
- What's the current pain point?
|
|
69
|
+
<!-- docs INCLUDE path='src/fragments/discovery-phase.md' -->
|
|
70
|
+
<!-- /docs -->
|
|
81
71
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
- What should happen after this is built?
|
|
85
|
-
- How will users interact with it?
|
|
86
|
-
- What does success look like?
|
|
87
|
-
|
|
88
|
-
**Scope & Constraints**
|
|
89
|
-
|
|
90
|
-
- What's in scope vs. out of scope?
|
|
91
|
-
- Any technical constraints?
|
|
92
|
-
- Dependencies on other systems/features?
|
|
93
|
-
|
|
94
|
-
**Context Check**
|
|
95
|
-
|
|
96
|
-
- Search codebase for related features/modules
|
|
97
|
-
- Check for existing test files that might be relevant
|
|
72
|
+
<!-- docs INCLUDE path='src/fragments/plan-beads-details.md' featureFlag='beads' -->
|
|
73
|
+
<!-- /docs -->
|
|
98
74
|
|
|
99
75
|
## Key Principles
|
|
100
76
|
|
|
101
77
|
**From PRD World:**
|
|
102
|
-
|
|
103
78
|
- Start with user problems, not solutions
|
|
104
79
|
- Define success criteria upfront
|
|
105
80
|
- Understand constraints and scope
|
|
106
81
|
|
|
107
82
|
**From TDD World:**
|
|
108
|
-
|
|
109
83
|
- Make acceptance criteria test-ready
|
|
110
84
|
- Break work into small, testable pieces
|
|
111
85
|
- Each task should map to test(s)
|
|
112
86
|
|
|
87
|
+
<!-- docs INCLUDE path='src/fragments/beads-integration.md' featureFlag='beads' -->
|
|
88
|
+
<!-- /docs -->
|
|
89
|
+
|
|
113
90
|
## Integration with Other Commands
|
|
114
91
|
|
|
115
92
|
- **Before /plan**: Use `/spike` if you need technical exploration first
|
|
116
93
|
- **After /plan**: Use `/red` to start TDD on first task
|
|
94
|
+
<!-- docs INCLUDE path='src/fragments/plan-beads-integration.md' featureFlag='beads' -->
|
|
95
|
+
<!-- /docs -->
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Creates a pull request using GitHub MCP
|
|
3
3
|
argument-hint: [optional-pr-title-and-description]
|
|
4
|
+
_hint: Create PR
|
|
5
|
+
_category: Workflow
|
|
6
|
+
_order: 5
|
|
4
7
|
---
|
|
5
8
|
|
|
6
9
|
# Create Pull Request
|
|
7
10
|
|
|
8
|
-
|
|
11
|
+
<!-- docs INCLUDE path='src/fragments/universal-guidelines.md' -->
|
|
12
|
+
<!-- /docs -->
|
|
9
13
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
- **Never explicitly mention TDD** in code, comments, commits, PRs, or issues
|
|
13
|
-
- Write natural, descriptive code without meta-commentary about the development process
|
|
14
|
-
- The code should speak for itself - TDD is the process, not the product
|
|
14
|
+
<!-- docs INCLUDE path='src/fragments/beads-awareness.md' featureFlag='beads' -->
|
|
15
|
+
<!-- /docs -->
|
|
15
16
|
|
|
16
17
|
Create a pull request for the current branch using GitHub MCP tools.
|
|
17
18
|
|
|
@@ -68,3 +69,6 @@ Arguments: $ARGUMENTS
|
|
|
68
69
|
2. Create a well-formatted pull request with proper title and description
|
|
69
70
|
3. Set the base branch (default: main)
|
|
70
71
|
4. Include relevant issue references if found in commit messages
|
|
72
|
+
|
|
73
|
+
<!-- docs INCLUDE path='src/fragments/beads-integration.md' featureFlag='beads' -->
|
|
74
|
+
<!-- /docs -->
|