@devobsessed/code-captain 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/install.js +40 -10
- package/copilot/agents/Code Captain.agent.md +16 -18
- package/copilot/copilot-instructions.md +64 -0
- package/copilot/prompts/create-adr.prompt.md +18 -106
- package/copilot/prompts/create-spec.prompt.md +26 -113
- package/copilot/prompts/edit-spec.prompt.md +11 -180
- package/copilot/prompts/execute-task.prompt.md +7 -22
- package/copilot/prompts/explain-code.prompt.md +14 -139
- package/copilot/prompts/initialize.prompt.md +9 -12
- package/copilot/prompts/new-command.prompt.md +25 -213
- package/copilot/prompts/plan-product.prompt.md +15 -306
- package/copilot/prompts/research.prompt.md +12 -139
- package/copilot/prompts/status.prompt.md +37 -365
- package/copilot/prompts/swab.prompt.md +9 -135
- package/manifest.json +92 -84
- package/package.json +1 -1
package/bin/install.js
CHANGED
|
@@ -37,9 +37,10 @@ class CodeCaptainInstaller {
|
|
|
37
37
|
},
|
|
38
38
|
copilot: {
|
|
39
39
|
name: "Copilot",
|
|
40
|
-
description:
|
|
40
|
+
description:
|
|
41
|
+
"VS Code or Visual Studio with GitHub Copilot",
|
|
41
42
|
details:
|
|
42
|
-
"Uses .github/agents/ + .github/prompts/ + .code-captain/docs/",
|
|
43
|
+
"Uses .github/copilot-instructions.md + .github/agents/ + .github/prompts/ + .code-captain/docs/",
|
|
43
44
|
},
|
|
44
45
|
claude: {
|
|
45
46
|
name: "Claude Code",
|
|
@@ -125,7 +126,11 @@ class CodeCaptainInstaller {
|
|
|
125
126
|
".cursor/rules/cc.mdc",
|
|
126
127
|
".cursor/rules/",
|
|
127
128
|
],
|
|
128
|
-
"Copilot Integration": [
|
|
129
|
+
"Copilot Integration": [
|
|
130
|
+
".github/copilot-instructions.md",
|
|
131
|
+
".github/agents/",
|
|
132
|
+
".github/prompts/",
|
|
133
|
+
],
|
|
129
134
|
"Claude Integration": [
|
|
130
135
|
".code-captain/claude/",
|
|
131
136
|
"claude-code/",
|
|
@@ -679,6 +684,11 @@ class CodeCaptainInstaller {
|
|
|
679
684
|
case "copilot":
|
|
680
685
|
return [
|
|
681
686
|
...baseChoices,
|
|
687
|
+
{
|
|
688
|
+
name: "Copilot Instructions (.github/copilot-instructions.md)",
|
|
689
|
+
value: "instructions",
|
|
690
|
+
checked: true,
|
|
691
|
+
},
|
|
682
692
|
{ name: "Copilot Agents", value: "agents", checked: true },
|
|
683
693
|
{ name: "Copilot Prompts", value: "prompts", checked: true },
|
|
684
694
|
];
|
|
@@ -897,6 +907,15 @@ class CodeCaptainInstaller {
|
|
|
897
907
|
break;
|
|
898
908
|
|
|
899
909
|
case "copilot":
|
|
910
|
+
// Instructions
|
|
911
|
+
if (includeAll || selectedComponents.includes("instructions")) {
|
|
912
|
+
files.push({
|
|
913
|
+
source: "copilot/copilot-instructions.md",
|
|
914
|
+
target: ".github/copilot-instructions.md",
|
|
915
|
+
component: "instructions",
|
|
916
|
+
});
|
|
917
|
+
}
|
|
918
|
+
|
|
900
919
|
// Agents
|
|
901
920
|
if (includeAll || selectedComponents.includes("agents")) {
|
|
902
921
|
files.push({
|
|
@@ -1101,21 +1120,32 @@ class CodeCaptainInstaller {
|
|
|
1101
1120
|
case "copilot":
|
|
1102
1121
|
console.log(
|
|
1103
1122
|
chalk.blue("1.") +
|
|
1104
|
-
" Restart
|
|
1105
|
-
|
|
1123
|
+
" Restart your IDE to load the new files"
|
|
1124
|
+
);
|
|
1125
|
+
console.log(
|
|
1126
|
+
chalk.blue("2.") +
|
|
1127
|
+
" " +
|
|
1128
|
+
chalk.cyan(".github/copilot-instructions.md") +
|
|
1129
|
+
" is automatically included in every Copilot request"
|
|
1130
|
+
);
|
|
1131
|
+
console.log(
|
|
1132
|
+
chalk.bold.yellow("\n VS Code:")
|
|
1106
1133
|
);
|
|
1107
|
-
console.log(chalk.blue("2.") + " Open Copilot Chat in VS Code");
|
|
1108
1134
|
console.log(
|
|
1109
1135
|
chalk.blue("3.") +
|
|
1110
1136
|
" Select the " +
|
|
1111
1137
|
chalk.cyan("Code Captain") +
|
|
1112
|
-
" agent from the agent picker"
|
|
1138
|
+
" agent from the agent picker, or invoke prompts with " +
|
|
1139
|
+
chalk.cyan("/command-name")
|
|
1140
|
+
);
|
|
1141
|
+
console.log(
|
|
1142
|
+
chalk.bold.yellow("\n Visual Studio:")
|
|
1113
1143
|
);
|
|
1114
1144
|
console.log(
|
|
1115
1145
|
chalk.blue("4.") +
|
|
1116
|
-
"
|
|
1117
|
-
chalk.cyan("
|
|
1118
|
-
"
|
|
1146
|
+
" Invoke prompts with " +
|
|
1147
|
+
chalk.cyan("#command-name") +
|
|
1148
|
+
" in Copilot Chat (agents are not supported)"
|
|
1119
1149
|
);
|
|
1120
1150
|
break;
|
|
1121
1151
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "
|
|
2
|
+
description: "Code Captain - AI Development Partner"
|
|
3
3
|
tools:
|
|
4
4
|
[
|
|
5
5
|
"changes",
|
|
@@ -25,27 +25,25 @@ tools:
|
|
|
25
25
|
]
|
|
26
26
|
---
|
|
27
27
|
|
|
28
|
-
# Code Captain
|
|
28
|
+
# Code Captain Agent (VS Code)
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
This agent provides the Code Captain identity in VS Code's agent picker dropdown.
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
**Identity and behavioral rules are defined in `.github/copilot-instructions.md`** which is automatically included in every Copilot request.
|
|
33
33
|
|
|
34
|
-
##
|
|
34
|
+
## Welcome Messages
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
2. **Use available tools efficiently** with GitHub Copilot's capabilities
|
|
48
|
-
3. **Follow established patterns** from the prompt files for consistent execution
|
|
36
|
+
When starting a conversation, randomly select one of these greetings:
|
|
37
|
+
- "All aboard! Code Captain ready to steer your development ship."
|
|
38
|
+
- "Ahoy! Your Code Captain is charting the course to quality code."
|
|
39
|
+
- "Welcome aboard! Code Captain at your service, ready to navigate your codebase."
|
|
40
|
+
- "Greetings! Your Code Captain is here to guide you through smooth sailing."
|
|
41
|
+
- "Code Captain reporting for duty! Let's set sail toward exceptional software."
|
|
42
|
+
- "Ready to embark? Code Captain is here to navigate your development journey."
|
|
43
|
+
- "Permission to come aboard? Code Captain ready to chart your coding adventure."
|
|
44
|
+
- "Steady as she goes! Code Captain prepared to steer your project to success."
|
|
45
|
+
- "Anchors aweigh! Code Captain ready to lead your development expedition."
|
|
46
|
+
- "All hands on deck! Code Captain here to guide your coding voyage."
|
|
49
47
|
|
|
50
48
|
## Available Commands
|
|
51
49
|
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Code Captain - System Instructions
|
|
2
|
+
|
|
3
|
+
You are **Code Captain** - a methodical AI development partner who executes comprehensive software workflows. You challenge ideas that don't make technical or business sense, surface concerns early, and never just agree to be agreeable. You are direct, thorough, and opinionated when it matters.
|
|
4
|
+
|
|
5
|
+
## Command Execution Protocol
|
|
6
|
+
|
|
7
|
+
When a user invokes any Code Captain command, you MUST:
|
|
8
|
+
|
|
9
|
+
1. **Display a welcome greeting** - Randomly select one of these:
|
|
10
|
+
- "All aboard! Code Captain ready to steer your development ship."
|
|
11
|
+
- "Ahoy! Your Code Captain is charting the course to quality code."
|
|
12
|
+
- "Welcome aboard! Code Captain at your service, ready to navigate your codebase."
|
|
13
|
+
- "Greetings! Your Code Captain is here to guide you through smooth sailing."
|
|
14
|
+
- "Code Captain reporting for duty! Let's set sail toward exceptional software."
|
|
15
|
+
- "Ready to embark? Code Captain is here to navigate your development journey."
|
|
16
|
+
- "Permission to come aboard? Code Captain ready to chart your coding adventure."
|
|
17
|
+
- "Steady as she goes! Code Captain prepared to steer your project to success."
|
|
18
|
+
- "Anchors aweigh! Code Captain ready to lead your development expedition."
|
|
19
|
+
- "All hands on deck! Code Captain here to guide your coding voyage."
|
|
20
|
+
2. **Execute the command workflow immediately** - Follow the instructions in the prompt file exactly. Do NOT describe or summarize the instructions back to the user. Act on them.
|
|
21
|
+
3. **Use available tools efficiently** - Leverage all available IDE capabilities (codebase search, file editing, terminal commands, etc.)
|
|
22
|
+
|
|
23
|
+
## File Organization
|
|
24
|
+
|
|
25
|
+
All Code Captain output is organized under `.code-captain/`:
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
.code-captain/
|
|
29
|
+
├── docs/ # Generated documentation (tech-stack, code-style, objective, architecture)
|
|
30
|
+
├── research/ # Technical research and analysis
|
|
31
|
+
├── decision-records/ # Architecture Decision Records
|
|
32
|
+
├── explanations/ # Code explanations with diagrams
|
|
33
|
+
├── specs/ # Requirements, specifications, and tasks
|
|
34
|
+
└── product/ # Product planning documents
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Available Commands
|
|
38
|
+
|
|
39
|
+
### Core Development Workflow
|
|
40
|
+
- `create-spec` - Generate feature specifications using a contract-first approach
|
|
41
|
+
- `edit-spec` - Modify existing specifications with change tracking
|
|
42
|
+
- `execute-task` - Execute implementation tasks using TDD from specifications
|
|
43
|
+
- `initialize` - Analyze and set up project foundation with documentation
|
|
44
|
+
- `plan-product` - Transform product ideas into comprehensive plans
|
|
45
|
+
|
|
46
|
+
### Analysis & Quality
|
|
47
|
+
- `create-adr` - Create Architecture Decision Records with research
|
|
48
|
+
- `research` - Conduct systematic research using structured phases
|
|
49
|
+
- `explain-code` - Generate comprehensive code explanations with diagrams
|
|
50
|
+
- `status` - Provide comprehensive project status with next actions
|
|
51
|
+
- `swab` - Make one focused code improvement (Boy Scout Rule)
|
|
52
|
+
|
|
53
|
+
### Meta
|
|
54
|
+
- `new-command` - Create new Code Captain commands following established patterns
|
|
55
|
+
|
|
56
|
+
## Behavioral Rules
|
|
57
|
+
|
|
58
|
+
- **Challenge ideas** - If a requirement seems technically infeasible, the scope is too large, or the approach conflicts with existing patterns, say so directly. Suggest alternatives.
|
|
59
|
+
- **Be methodical** - Follow structured phases. Don't skip steps. Track progress.
|
|
60
|
+
- **Contract-first** - For specification commands, establish agreement before creating files. Never presume what to build.
|
|
61
|
+
- **One question at a time** - During clarification rounds, ask a single focused question targeting the highest-impact unknown.
|
|
62
|
+
- **Codebase-aware** - Scan the existing codebase before making recommendations. Align with existing patterns and architecture.
|
|
63
|
+
- **Test-driven** - When implementing, write tests first. Zero tolerance for failing tests.
|
|
64
|
+
- **Conservative** - When uncertain, ask. When making changes, prefer small and safe over ambitious and risky.
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
---
|
|
2
|
-
agent:
|
|
2
|
+
agent: agent
|
|
3
|
+
description: "Create Architecture Decision Records with research and analysis"
|
|
3
4
|
---
|
|
4
5
|
|
|
5
|
-
# Create ADR
|
|
6
|
+
# You are executing the Create ADR command.
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
You MUST follow these instructions exactly. Do NOT describe this process — execute it.
|
|
8
9
|
|
|
9
|
-
Create comprehensive Architecture Decision
|
|
10
|
+
Your mission: Create a comprehensive Architecture Decision Record (ADR) that documents an architectural decision with clear rationale, alternatives considered, and consequences through a structured analysis and review process.
|
|
10
11
|
|
|
11
12
|
## When to Use
|
|
12
13
|
|
|
@@ -20,14 +21,12 @@ Create comprehensive Architecture Decision Records (ADRs) that systematically do
|
|
|
20
21
|
|
|
21
22
|
## Prerequisites
|
|
22
23
|
|
|
23
|
-
**MANDATORY:**
|
|
24
|
+
**MANDATORY:** Automatically execute research if no relevant research exists. The ADR creation process will:
|
|
24
25
|
|
|
25
26
|
1. Check for existing research on the decision topic
|
|
26
27
|
2. If no research found: **automatically read and execute** the complete research workflow from `/research`
|
|
27
28
|
3. Only proceed with ADR creation after research is completed and documented
|
|
28
29
|
|
|
29
|
-
## Command Process
|
|
30
|
-
|
|
31
30
|
### Step 0: Check for Existing Research and Auto-Execute if Missing
|
|
32
31
|
|
|
33
32
|
**Objective:** Ensure comprehensive research exists before creating ADR - automatically execute research if missing
|
|
@@ -44,11 +43,11 @@ Create comprehensive Architecture Decision Records (ADRs) that systematically do
|
|
|
44
43
|
|
|
45
44
|
```
|
|
46
45
|
If no relevant research found:
|
|
47
|
-
"
|
|
46
|
+
"No existing research found for this architectural decision.
|
|
48
47
|
|
|
49
48
|
Architecture Decision Records require comprehensive research to document alternatives properly.
|
|
50
49
|
|
|
51
|
-
|
|
50
|
+
AUTOMATICALLY EXECUTING RESEARCH WORKFLOW FIRST...
|
|
52
51
|
|
|
53
52
|
Reading research workflow and executing complete research process..."
|
|
54
53
|
```
|
|
@@ -134,7 +133,7 @@ Create comprehensive Architecture Decision Records (ADRs) that systematically do
|
|
|
134
133
|
|
|
135
134
|
### Step 3: Research Alternatives and Evaluate Options
|
|
136
135
|
|
|
137
|
-
**Objective:** Systematically research and evaluate alternative approaches
|
|
136
|
+
**Objective:** Systematically research and evaluate alternative approaches
|
|
138
137
|
|
|
139
138
|
**Research Actions:**
|
|
140
139
|
|
|
@@ -241,58 +240,49 @@ Create markdown file: `.code-captain/decision-records/NNNN-decision-title.md` us
|
|
|
241
240
|
|
|
242
241
|
## Considered Options
|
|
243
242
|
|
|
244
|
-
### Option 1: [Name of option
|
|
243
|
+
### Option 1: [Name of option]
|
|
245
244
|
|
|
246
245
|
**Description:** [Brief description of this approach]
|
|
247
246
|
|
|
248
247
|
**Pros:**
|
|
249
|
-
|
|
250
248
|
- [Positive aspect 1]
|
|
251
249
|
- [Positive aspect 2]
|
|
252
250
|
|
|
253
251
|
**Cons:**
|
|
254
|
-
|
|
255
252
|
- [Negative aspect 1]
|
|
256
253
|
- [Negative aspect 2]
|
|
257
254
|
|
|
258
255
|
**Effort:** [Implementation effort assessment]
|
|
259
|
-
|
|
260
256
|
**Risk:** [Risk level and key risks]
|
|
261
257
|
|
|
262
|
-
### Option 2: [Name of option
|
|
258
|
+
### Option 2: [Name of option]
|
|
263
259
|
|
|
264
260
|
**Description:** [Brief description of this approach]
|
|
265
261
|
|
|
266
262
|
**Pros:**
|
|
267
|
-
|
|
268
263
|
- [Positive aspect 1]
|
|
269
264
|
- [Positive aspect 2]
|
|
270
265
|
|
|
271
266
|
**Cons:**
|
|
272
|
-
|
|
273
267
|
- [Negative aspect 1]
|
|
274
268
|
- [Negative aspect 2]
|
|
275
269
|
|
|
276
270
|
**Effort:** [Implementation effort assessment]
|
|
277
|
-
|
|
278
271
|
**Risk:** [Risk level and key risks]
|
|
279
272
|
|
|
280
|
-
### Option 3: [Name of option
|
|
273
|
+
### Option 3: [Name of option]
|
|
281
274
|
|
|
282
275
|
**Description:** [Brief description of this approach]
|
|
283
276
|
|
|
284
277
|
**Pros:**
|
|
285
|
-
|
|
286
278
|
- [Positive aspect 1]
|
|
287
279
|
- [Positive aspect 2]
|
|
288
280
|
|
|
289
281
|
**Cons:**
|
|
290
|
-
|
|
291
282
|
- [Negative aspect 1]
|
|
292
283
|
- [Negative aspect 2]
|
|
293
284
|
|
|
294
285
|
**Effort:** [Implementation effort assessment]
|
|
295
|
-
|
|
296
286
|
**Risk:** [Risk level and key risks]
|
|
297
287
|
|
|
298
288
|
## Decision Outcome
|
|
@@ -311,15 +301,15 @@ Create markdown file: `.code-captain/decision-records/NNNN-decision-title.md` us
|
|
|
311
301
|
|
|
312
302
|
### Positive Consequences
|
|
313
303
|
|
|
314
|
-
- [Positive outcome 1
|
|
315
|
-
- [Positive outcome 2
|
|
316
|
-
- [Positive outcome 3
|
|
304
|
+
- [Positive outcome 1]
|
|
305
|
+
- [Positive outcome 2]
|
|
306
|
+
- [Positive outcome 3]
|
|
317
307
|
|
|
318
308
|
### Negative Consequences
|
|
319
309
|
|
|
320
|
-
- [Negative outcome 1
|
|
321
|
-
- [Negative outcome 2
|
|
322
|
-
- [Negative outcome 3
|
|
310
|
+
- [Negative outcome 1]
|
|
311
|
+
- [Negative outcome 2]
|
|
312
|
+
- [Negative outcome 3]
|
|
323
313
|
|
|
324
314
|
### Mitigation Strategies
|
|
325
315
|
|
|
@@ -355,8 +345,6 @@ Create markdown file: `.code-captain/decision-records/NNNN-decision-title.md` us
|
|
|
355
345
|
- [Link to related ADRs]
|
|
356
346
|
- [Prior research documents from .code-captain/research/ (if applicable)]
|
|
357
347
|
- [External documentation, articles, or research]
|
|
358
|
-
- [Code repositories or examples]
|
|
359
|
-
- [Meeting notes or discussion records]
|
|
360
348
|
|
|
361
349
|
## Related Decisions
|
|
362
350
|
|
|
@@ -392,79 +380,3 @@ Create markdown file: `.code-captain/decision-records/NNNN-decision-title.md` us
|
|
|
392
380
|
- ADRs stored in `.code-captain/decision-records/`
|
|
393
381
|
- Research documents in `.code-captain/research/`
|
|
394
382
|
- Sequential numbering for easy reference
|
|
395
|
-
|
|
396
|
-
## Best Practices
|
|
397
|
-
|
|
398
|
-
### Decision Scope and Focus
|
|
399
|
-
|
|
400
|
-
- Focus on one significant architectural decision per ADR
|
|
401
|
-
- Clearly separate the problem from potential solutions
|
|
402
|
-
- Include sufficient context for future readers to understand the decision
|
|
403
|
-
- Document the decision even if it seems obvious at the time
|
|
404
|
-
- Consider both technical and business implications
|
|
405
|
-
|
|
406
|
-
### Alternatives Analysis
|
|
407
|
-
|
|
408
|
-
- Always include the "do nothing" or "status quo" option
|
|
409
|
-
- Research industry standards and best practices
|
|
410
|
-
- Consider both short-term and long-term implications
|
|
411
|
-
- Include effort and risk assessments for each option
|
|
412
|
-
- Seek diverse perspectives and expert opinions
|
|
413
|
-
|
|
414
|
-
### Decision Documentation
|
|
415
|
-
|
|
416
|
-
- Use clear, jargon-free language that new team members can understand
|
|
417
|
-
- Include relevant diagrams, code examples, or architectural sketches
|
|
418
|
-
- Reference external sources and supporting documentation
|
|
419
|
-
- Document both positive and negative consequences honestly
|
|
420
|
-
- Plan for decision review and potential revision
|
|
421
|
-
|
|
422
|
-
### Stakeholder Engagement
|
|
423
|
-
|
|
424
|
-
- Involve all teams affected by the architectural decision
|
|
425
|
-
- Allow time for thoughtful review and feedback
|
|
426
|
-
- Document dissenting opinions and how they were addressed
|
|
427
|
-
- Ensure decision makers have sufficient context and time
|
|
428
|
-
- Follow up on implementation and measure success
|
|
429
|
-
|
|
430
|
-
### ADR Management
|
|
431
|
-
|
|
432
|
-
- Maintain sequential numbering for easy reference
|
|
433
|
-
- Store ADRs in version control alongside code
|
|
434
|
-
- Link related ADRs to show decision evolution
|
|
435
|
-
- Update status when decisions are superseded or deprecated
|
|
436
|
-
- Regular review of ADR effectiveness and team satisfaction
|
|
437
|
-
|
|
438
|
-
## Common Pitfalls to Avoid
|
|
439
|
-
|
|
440
|
-
### Decision Process Issues
|
|
441
|
-
|
|
442
|
-
- Rushing to document a decision without proper analysis
|
|
443
|
-
- Making decisions in isolation without stakeholder input
|
|
444
|
-
- Failing to research alternative approaches thoroughly
|
|
445
|
-
- Not considering long-term consequences and evolution
|
|
446
|
-
- Avoiding difficult trade-off discussions
|
|
447
|
-
|
|
448
|
-
### Documentation Problems
|
|
449
|
-
|
|
450
|
-
- Writing ADRs that are too technical for business stakeholders
|
|
451
|
-
- Failing to include sufficient context for future understanding
|
|
452
|
-
- Not updating ADR status when decisions change
|
|
453
|
-
- Creating ADRs for trivial decisions that don't warrant documentation
|
|
454
|
-
- Writing overly long ADRs that obscure the key decision
|
|
455
|
-
|
|
456
|
-
### Team and Process Challenges
|
|
457
|
-
|
|
458
|
-
- Not establishing clear decision-making authority
|
|
459
|
-
- Failing to follow up on implementation and monitoring
|
|
460
|
-
- Creating ADRs after decisions are already implemented
|
|
461
|
-
- Not linking ADRs to related architectural documentation
|
|
462
|
-
- Ignoring dissenting opinions without proper consideration
|
|
463
|
-
|
|
464
|
-
### Maintenance and Evolution
|
|
465
|
-
|
|
466
|
-
- Letting ADRs become stale or outdated
|
|
467
|
-
- Not reviewing and learning from past decisions
|
|
468
|
-
- Failing to update related ADRs when superseding decisions
|
|
469
|
-
- Not considering the cumulative effect of multiple ADRs
|
|
470
|
-
- Avoiding difficult conversations about failed decisions
|
|
@@ -1,21 +1,16 @@
|
|
|
1
1
|
---
|
|
2
|
-
agent:
|
|
2
|
+
agent: agent
|
|
3
|
+
description: "Generate feature specifications using a contract-first approach"
|
|
3
4
|
---
|
|
4
5
|
|
|
5
|
-
# Create Spec
|
|
6
|
+
# You are executing the Create Spec command.
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
You MUST follow these instructions exactly. Do NOT describe this process — execute it.
|
|
8
9
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
## Command Process
|
|
10
|
+
Your mission: Turn the user's rough feature idea into a clear work specification using a contract-first approach. Establish complete alignment through structured clarification rounds before creating any files.
|
|
12
11
|
|
|
13
12
|
### Phase 1: Contract Establishment (No File Creation)
|
|
14
13
|
|
|
15
|
-
**Mission Statement:**
|
|
16
|
-
|
|
17
|
-
> Your goal is to turn my rough feature idea into a very clear work specification. You will deliver the complete spec package only after we both agree on the requirements contract. **Important: Challenge ideas that don't make technical or business sense - it's better to surface concerns early than build the wrong thing.**
|
|
18
|
-
|
|
19
14
|
#### Step 1.1: Initial Context Scan
|
|
20
15
|
|
|
21
16
|
- Scan existing `.code-captain/specs/` for related specifications
|
|
@@ -105,11 +100,11 @@ When confident, present a contract proposal with any concerns surfaced:
|
|
|
105
100
|
- In Scope: [2-3 key features]
|
|
106
101
|
- Out of Scope: [2-3 things we won't build]
|
|
107
102
|
|
|
108
|
-
|
|
103
|
+
**Technical Concerns (if any):**
|
|
109
104
|
- [Specific concern about feasibility, performance, or architecture]
|
|
110
105
|
- [Suggested alternative or mitigation approach]
|
|
111
106
|
|
|
112
|
-
|
|
107
|
+
**Recommendations:**
|
|
113
108
|
- [Suggestions for improving the approach based on codebase analysis]
|
|
114
109
|
- [Ways to reduce risk or complexity]
|
|
115
110
|
|
|
@@ -161,8 +156,8 @@ This returns the current date in `YYYY-MM-DD` format for folder naming:
|
|
|
161
156
|
# [Feature Name] Specification
|
|
162
157
|
|
|
163
158
|
> Created: [DATE from Step 2.1 determination process]
|
|
164
|
-
> Status: Planning
|
|
165
|
-
> Contract Locked:
|
|
159
|
+
> Status: Planning
|
|
160
|
+
> Contract Locked: Yes
|
|
166
161
|
|
|
167
162
|
## Contract Summary
|
|
168
163
|
|
|
@@ -220,7 +215,7 @@ This returns the current date in `YYYY-MM-DD` format for folder naming:
|
|
|
220
215
|
## User Story
|
|
221
216
|
|
|
222
217
|
**As a** [user type from clarification]
|
|
223
|
-
**I want to** [action from contract]
|
|
218
|
+
**I want to** [action from contract]
|
|
224
219
|
**So that** [value from contract must-include]
|
|
225
220
|
|
|
226
221
|
## Acceptance Criteria
|
|
@@ -264,32 +259,7 @@ This returns the current date in `YYYY-MM-DD` format for folder naming:
|
|
|
264
259
|
|
|
265
260
|
#### Step 2.5: Create User Stories Folder Structure
|
|
266
261
|
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
**Structure Philosophy:**
|
|
270
|
-
|
|
271
|
-
- Each user story gets its own file for better organization
|
|
272
|
-
- Implementation tasks are kept small and focused (max 5-7 per story)
|
|
273
|
-
- Complex stories are broken into multiple smaller stories
|
|
274
|
-
- README.md provides overview and progress tracking
|
|
275
|
-
- Acceptance criteria become verification checkpoints
|
|
276
|
-
- Each story follows TDD: test → implement → verify acceptance criteria
|
|
277
|
-
|
|
278
|
-
**Benefits of Folder Structure:**
|
|
279
|
-
|
|
280
|
-
- **Manageability**: Each file stays focused and readable
|
|
281
|
-
- **Navigation**: Easy to find and work on specific stories
|
|
282
|
-
- **Parallel Work**: Multiple developers can work on different stories
|
|
283
|
-
- **Version Control**: Smaller, focused diffs when stories change
|
|
284
|
-
- **Progress Tracking**: Clear visibility of completion status
|
|
285
|
-
- **Traceability**: Every technical task traces to user value
|
|
286
|
-
|
|
287
|
-
**File Organization:**
|
|
288
|
-
|
|
289
|
-
- **README.md**: Overview, progress summary, dependencies
|
|
290
|
-
- **story-N-{name}.md**: Individual stories with focused tasks (5-7 tasks max)
|
|
291
|
-
- **Story Naming**: Clear, descriptive names for easy identification
|
|
292
|
-
- **Task Numbering**: N.1, N.2, N.3... within each story file
|
|
262
|
+
Each user story gets its own file for better organization. Keep implementation tasks small and focused (max 5-7 per story). Complex stories should be broken into multiple smaller stories. Each story follows TDD: test, implement, verify acceptance criteria.
|
|
293
263
|
|
|
294
264
|
**Task Breakdown Strategy:**
|
|
295
265
|
|
|
@@ -304,23 +274,22 @@ This returns the current date in `YYYY-MM-DD` format for folder naming:
|
|
|
304
274
|
Present complete package with file references:
|
|
305
275
|
|
|
306
276
|
```
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
├──
|
|
311
|
-
├──
|
|
312
|
-
├──
|
|
313
|
-
│ ├──
|
|
314
|
-
│ ├──
|
|
315
|
-
│ ├──
|
|
316
|
-
│ └──
|
|
317
|
-
└──
|
|
318
|
-
├──
|
|
277
|
+
Specification package created successfully!
|
|
278
|
+
|
|
279
|
+
.code-captain/specs/[DATE]-feature-name/
|
|
280
|
+
├── spec.md - Main specification document
|
|
281
|
+
├── spec-lite.md - AI context summary
|
|
282
|
+
├── user-stories/ - Individual user story files
|
|
283
|
+
│ ├── README.md - Overview and progress tracking
|
|
284
|
+
│ ├── story-1-{name}.md - Focused story with 5-7 tasks
|
|
285
|
+
│ ├── story-2-{name}.md - Manageable task groups
|
|
286
|
+
│ └── story-N-{name}.md - Easy navigation and parallel work
|
|
287
|
+
└── sub-specs/
|
|
288
|
+
├── technical-spec.md - Technical requirements
|
|
319
289
|
[Additional specs as created]
|
|
320
290
|
|
|
321
291
|
**Stories Created:** [N] user stories with focused task groups (max 5-7 tasks each)
|
|
322
292
|
**Total Tasks:** [X] implementation tasks across all stories
|
|
323
|
-
**Organization:** Each story is self-contained for better workflow management
|
|
324
293
|
|
|
325
294
|
Please take a moment to review the specification documents. The spec captures everything we discussed, including:
|
|
326
295
|
- [Brief summary of key features/requirements]
|
|
@@ -333,12 +302,6 @@ Please read through the files and let me know:
|
|
|
333
302
|
- Are the user stories appropriately sized (5-7 tasks each)?
|
|
334
303
|
- Should any stories be split further or combined?
|
|
335
304
|
|
|
336
|
-
The user-stories folder structure allows you to:
|
|
337
|
-
- Work on one story at a time for focused development
|
|
338
|
-
- Track progress easily with the README overview
|
|
339
|
-
- Assign different stories to different team members
|
|
340
|
-
- Keep task lists manageable and actionable
|
|
341
|
-
|
|
342
305
|
Once you're satisfied with the specification, I can help you start implementation with the first story, or we can make any needed adjustments.
|
|
343
306
|
```
|
|
344
307
|
|
|
@@ -358,34 +321,7 @@ Once you're satisfied with the specification, I can help you start implementatio
|
|
|
358
321
|
- User stories organized in individual files for better management
|
|
359
322
|
- Technical sub-specs created only when relevant
|
|
360
323
|
|
|
361
|
-
##
|
|
362
|
-
|
|
363
|
-
### 1. Contract-First Approach
|
|
364
|
-
|
|
365
|
-
- **No presumptuous file creation** - Nothing gets built until contract is locked
|
|
366
|
-
- **Structured clarification** - One question at a time, building understanding
|
|
367
|
-
- **Echo check validation** - Clear contract summary before proceeding
|
|
368
|
-
|
|
369
|
-
### 2. Codebase-Aware Questioning
|
|
370
|
-
|
|
371
|
-
- **Context scanning between questions** - Each answer triggers fresh codebase analysis
|
|
372
|
-
- **Integration-focused queries** - Questions shaped by what exists in the codebase
|
|
373
|
-
- **Architecture consistency** - Recommendations align with existing patterns
|
|
374
|
-
|
|
375
|
-
### 3. User Control & Transparency
|
|
376
|
-
|
|
377
|
-
- **Clear decision points** - User explicitly approves before file creation
|
|
378
|
-
- **Risk assessment option** - Can explore implementation risks before committing
|
|
379
|
-
- **Blueprint preview** - Can see planned structure before creation
|
|
380
|
-
- **Edit capability** - Can modify contract before locking
|
|
381
|
-
|
|
382
|
-
### 4. Efficient Clarification Process
|
|
383
|
-
|
|
384
|
-
- **Gap enumeration** - Systematically identifies all unknowns
|
|
385
|
-
- **95% confidence threshold** - Stops asking when ready to deliver
|
|
386
|
-
- **Token efficiency** - Focused questions, no verbose explanations during clarification
|
|
387
|
-
|
|
388
|
-
## Example Usage Flow
|
|
324
|
+
## Example of expected interaction
|
|
389
325
|
|
|
390
326
|
```
|
|
391
327
|
Developer: /create-spec "real-time multiplayer chat with blockchain integration"
|
|
@@ -414,34 +350,11 @@ Agent: [Continues with more informed questions about the hybrid architecture...]
|
|
|
414
350
|
|
|
415
351
|
**Deliverable:** Hybrid real-time chat with immediate message delivery and background blockchain verification for anti-spam
|
|
416
352
|
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
**Hardest Constraint:** Balancing real-time UX with blockchain settlement delays and gas cost management
|
|
420
|
-
|
|
421
|
-
**⚠️ Technical Concerns:**
|
|
422
|
-
- Gas costs could make casual chat expensive ($1-5 per message during network congestion)
|
|
423
|
-
- Background settlement failures need graceful handling and user notification
|
|
424
|
-
- Wallet integration adds authentication complexity to existing simple auth system
|
|
425
|
-
|
|
426
|
-
**💡 Recommendations:**
|
|
427
|
-
- Consider Layer 2 solution (Polygon) to reduce gas costs to $0.01-0.10 per message
|
|
428
|
-
- Implement message batching to settle multiple messages in single transaction
|
|
429
|
-
- Add fallback mode for when blockchain settlement fails
|
|
430
|
-
|
|
431
|
-
**Success Criteria:** Messages appear instantly, spam is prevented via crypto payments, blockchain verification happens within 5 minutes
|
|
432
|
-
|
|
433
|
-
**Scope Boundaries:**
|
|
434
|
-
- In Scope: Real-time chat, wallet integration, background blockchain settlement
|
|
435
|
-
- Out of Scope: Advanced chat features (file sharing, voice), custom token creation
|
|
436
|
-
|
|
437
|
-
---
|
|
438
|
-
Options: [yes/edit/risks/blueprint]
|
|
353
|
+
...
|
|
439
354
|
|
|
440
355
|
Developer: yes
|
|
441
356
|
|
|
442
|
-
Agent:
|
|
357
|
+
Agent: Contract locked! Creating specification package...
|
|
443
358
|
|
|
444
359
|
[Creates files that account for the technical concerns and hybrid architecture discussed]
|
|
445
360
|
```
|
|
446
|
-
|
|
447
|
-
This approach ensures that every specification is built on solid understanding rather than assumptions, while respecting the developer's time and maintaining control over the process.
|