@rpamis/comet 0.1.3 → 0.1.5
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 +5 -4
- package/assets/manifest.json +19 -15
- package/assets/skills/comet/SKILL.md +204 -204
- package/assets/skills/comet-archive/SKILL.md +151 -151
- package/assets/skills/comet-build/SKILL.md +161 -161
- package/assets/skills/comet-design/SKILL.md +108 -108
- package/assets/skills/comet-hotfix/SKILL.md +165 -165
- package/assets/skills/comet-open/SKILL.md +123 -123
- package/assets/skills/comet-tweak/SKILL.md +152 -152
- package/assets/skills/comet-verify/SKILL.md +164 -164
- package/assets/skills-zh/comet/SKILL.md +204 -0
- package/assets/skills-zh/comet-archive/SKILL.md +151 -0
- package/assets/skills-zh/comet-build/SKILL.md +161 -0
- package/assets/skills-zh/comet-design/SKILL.md +108 -0
- package/assets/skills-zh/comet-hotfix/SKILL.md +165 -0
- package/assets/skills-zh/comet-open/SKILL.md +123 -0
- package/assets/skills-zh/comet-tweak/SKILL.md +152 -0
- package/assets/skills-zh/comet-verify/SKILL.md +164 -0
- package/dist/core/init.d.ts.map +1 -1
- package/dist/core/init.js +122 -17
- package/dist/core/init.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,151 +1,151 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: comet-archive
|
|
3
|
-
description: "Comet
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Comet
|
|
7
|
-
|
|
8
|
-
##
|
|
9
|
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
- `openspec/changes/<name>/.comet.yaml`
|
|
13
|
-
|
|
14
|
-
##
|
|
15
|
-
|
|
16
|
-
### 0.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
1. `openspec/changes/<name>/.comet.yaml`
|
|
22
|
-
2. `phase`
|
|
23
|
-
3. `verify_result`
|
|
24
|
-
4. `archived`
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
- `cat openspec/changes/<name>/.comet.yaml`
|
|
28
|
-
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
```
|
|
32
|
-
[HARD STOP] Entry check failed for comet-archive
|
|
33
|
-
Expected: phase=archive, verify_result=pass, archived=false|null
|
|
34
|
-
Actual: phase
|
|
35
|
-
Suggestion: Run comet-verify first, or this change was already archived.
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
### 1.
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
1.
|
|
48
|
-
2.
|
|
49
|
-
3.
|
|
50
|
-
|
|
51
|
-
### 1b.
|
|
52
|
-
|
|
53
|
-
`openspec-archive-change`
|
|
54
|
-
|
|
55
|
-
```bash
|
|
56
|
-
mv openspec/changes/<name>/.comet.yaml openspec/changes/archive/YYYY-MM-DD-<name>/.comet.yaml
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
test -f openspec/changes/archive/YYYY-MM-DD-<name>/.comet.yaml
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
### 2. Delta Spec
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
```
|
|
69
|
-
openspec/changes/<name>/specs/<capability>/spec.md
|
|
70
|
-
↓
|
|
71
|
-
openspec/specs/<capability>/spec.md ←
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
### 3. Design Doc & Plan
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
**3a. Design Doc
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
-
|
|
82
|
-
-
|
|
83
|
-
|
|
84
|
-
```yaml
|
|
85
|
-
---
|
|
86
|
-
archived-with: YYYY-MM-DD-<name>
|
|
87
|
-
status: superseded-by-main-spec
|
|
88
|
-
implementation-notes: |
|
|
89
|
-
|
|
90
|
-
---
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
-
|
|
94
|
-
|
|
95
|
-
```yaml
|
|
96
|
-
---
|
|
97
|
-
archived-with: YYYY-MM-DD-<name>
|
|
98
|
-
status: final
|
|
99
|
-
---
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
**3b. Plan
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
### 4.
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
```
|
|
111
|
-
openspec/changes/archive/YYYY-MM-DD-<name>/
|
|
112
|
-
├── .openspec.yaml
|
|
113
|
-
├── .comet.yaml
|
|
114
|
-
├── proposal.md
|
|
115
|
-
├── design.md
|
|
116
|
-
├── specs/<capability>/spec.md
|
|
117
|
-
└── tasks.md
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
### 5.
|
|
121
|
-
|
|
122
|
-
Spec
|
|
123
|
-
```
|
|
124
|
-
brainstorming → delta spec →
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
##
|
|
128
|
-
|
|
129
|
-
-
|
|
130
|
-
-
|
|
131
|
-
-
|
|
132
|
-
-
|
|
133
|
-
- `.comet.yaml`
|
|
134
|
-
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
```yaml
|
|
139
|
-
phase: archive
|
|
140
|
-
archived: true
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
cat openspec/changes/archive/YYYY-MM-DD-<name>/.comet.yaml
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
##
|
|
150
|
-
|
|
151
|
-
Comet
|
|
1
|
+
---
|
|
2
|
+
name: comet-archive
|
|
3
|
+
description: "Comet Phase 5: Archive. Invoke with /comet-archive. Sync delta spec to main spec, archive change."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Comet Phase 5: Archive (Archive)
|
|
7
|
+
|
|
8
|
+
## Prerequisites
|
|
9
|
+
|
|
10
|
+
- Verification passed (Phase 4 complete)
|
|
11
|
+
- Branch handled
|
|
12
|
+
- `verify_result: pass` in `openspec/changes/<name>/.comet.yaml`
|
|
13
|
+
|
|
14
|
+
## Steps
|
|
15
|
+
|
|
16
|
+
### 0. Entry State Verification (Entry Check)
|
|
17
|
+
|
|
18
|
+
Before performing any operations, read and verify the current state:
|
|
19
|
+
|
|
20
|
+
**Checklist:**
|
|
21
|
+
1. `openspec/changes/<name>/.comet.yaml` exists
|
|
22
|
+
2. `phase` field value is `"archive"`
|
|
23
|
+
3. `verify_result` field value is `"pass"`
|
|
24
|
+
4. `archived` field is `"false"` or null (not yet archived)
|
|
25
|
+
|
|
26
|
+
**Verification method:**
|
|
27
|
+
- `cat openspec/changes/<name>/.comet.yaml` to read all fields
|
|
28
|
+
- If `verify_result` is not `"pass"`, must complete verification first
|
|
29
|
+
|
|
30
|
+
**Failure output:**
|
|
31
|
+
```
|
|
32
|
+
[HARD STOP] Entry check failed for comet-archive
|
|
33
|
+
Expected: phase=archive, verify_result=pass, archived=false|null
|
|
34
|
+
Actual: phase=<actual-value>, verify_result=<actual-value>, archived=<actual-value>
|
|
35
|
+
Suggestion: Run comet-verify first, or this change was already archived.
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Proceed to Step 1 only after verification passes.
|
|
39
|
+
|
|
40
|
+
### 1. Execute Archive
|
|
41
|
+
|
|
42
|
+
Before archiving, if `verify_result` is not `pass`, stop archiving and return to `/comet-verify`.
|
|
43
|
+
|
|
44
|
+
**Immediately execute:** Use the Skill tool to load the `openspec-archive-change` skill. Skipping this step is prohibited.
|
|
45
|
+
|
|
46
|
+
After the skill loads, follow its guidance to archive. Automatic checks:
|
|
47
|
+
1. Artifact completion status (proposal, design, specs, tasks)
|
|
48
|
+
2. All tasks marked `[x]`
|
|
49
|
+
3. Delta specs sync status
|
|
50
|
+
|
|
51
|
+
### 1b. Move Comet State File
|
|
52
|
+
|
|
53
|
+
`openspec-archive-change` is not aware of `.comet.yaml`, so Comet needs to move this file itself after OpenSpec archiving completes:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
mv openspec/changes/<name>/.comet.yaml openspec/changes/archive/YYYY-MM-DD-<name>/.comet.yaml
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
【Write verification】After move completion, must verify:
|
|
60
|
+
test -f openspec/changes/archive/YYYY-MM-DD-<name>/.comet.yaml
|
|
61
|
+
Confirm .comet.yaml exists in archive directory
|
|
62
|
+
If file is not at expected location, check if mv command executed successfully.
|
|
63
|
+
|
|
64
|
+
### 2. Delta Spec Sync
|
|
65
|
+
|
|
66
|
+
Sync delta specs to main specs during archiving:
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
openspec/changes/<name>/specs/<capability>/spec.md
|
|
70
|
+
↓ sync
|
|
71
|
+
openspec/specs/<capability>/spec.md ← main spec (persistent)
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### 3. Design Doc & Plan Handling
|
|
75
|
+
|
|
76
|
+
Handle associated files under `docs/superpowers/` during archiving. If target file already has YAML frontmatter, merge archive fields into existing frontmatter; if no frontmatter, create new frontmatter.
|
|
77
|
+
|
|
78
|
+
**3a. Design Doc Consistency Annotation**
|
|
79
|
+
|
|
80
|
+
Find design documents associated with current change in `docs/superpowers/specs/`:
|
|
81
|
+
- Compare delta spec final version with design doc content
|
|
82
|
+
- If there are discrepancies (incremental spec modifications during implementation), set the following metadata in design doc's YAML frontmatter:
|
|
83
|
+
|
|
84
|
+
```yaml
|
|
85
|
+
---
|
|
86
|
+
archived-with: YYYY-MM-DD-<name>
|
|
87
|
+
status: superseded-by-main-spec
|
|
88
|
+
implementation-notes: |
|
|
89
|
+
<briefly describe key changes deviating from original design during implementation>
|
|
90
|
+
---
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
- If completely consistent, only set:
|
|
94
|
+
|
|
95
|
+
```yaml
|
|
96
|
+
---
|
|
97
|
+
archived-with: YYYY-MM-DD-<name>
|
|
98
|
+
status: final
|
|
99
|
+
---
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
**3b. Plan Association Annotation**
|
|
103
|
+
|
|
104
|
+
Find implementation plans associated with current change in `docs/superpowers/plans/`, set the same `archived-with` metadata in YAML frontmatter.
|
|
105
|
+
|
|
106
|
+
### 4. Archive Directory
|
|
107
|
+
|
|
108
|
+
Change moves to archive directory:
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
openspec/changes/archive/YYYY-MM-DD-<name>/
|
|
112
|
+
├── .openspec.yaml
|
|
113
|
+
├── .comet.yaml
|
|
114
|
+
├── proposal.md
|
|
115
|
+
├── design.md
|
|
116
|
+
├── specs/<capability>/spec.md
|
|
117
|
+
└── tasks.md
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### 5. Lifecycle Closed Loop
|
|
121
|
+
|
|
122
|
+
Spec lifecycle completes here:
|
|
123
|
+
```
|
|
124
|
+
brainstorming → delta spec → implementation (incremental modifications) → verification → main spec sync → design doc annotation → archive
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## Exit Conditions
|
|
128
|
+
|
|
129
|
+
- Change archived (removed from active list)
|
|
130
|
+
- Main specs updated (delta → main sync complete)
|
|
131
|
+
- Associated design doc annotated with archive status
|
|
132
|
+
- Associated plan annotated with archive status
|
|
133
|
+
- `.comet.yaml` `archived` recorded as `true`
|
|
134
|
+
- **Phase guard**: Run `bash $COMET_GUARD <change-name> archive`, confirm archive complete after all PASS
|
|
135
|
+
|
|
136
|
+
After archiving completes, update `.comet.yaml` in archive directory:
|
|
137
|
+
|
|
138
|
+
```yaml
|
|
139
|
+
phase: archive
|
|
140
|
+
archived: true
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
【Write verification】After update completion, must verify:
|
|
144
|
+
cat openspec/changes/archive/YYYY-MM-DD-<name>/.comet.yaml
|
|
145
|
+
Confirm phase line value is "archive"
|
|
146
|
+
Confirm archived line value is "true"
|
|
147
|
+
If any field does not match, retry write then verify again. Maximum 2 retries, report error and terminate if still fails.
|
|
148
|
+
|
|
149
|
+
## Complete
|
|
150
|
+
|
|
151
|
+
Comet workflow complete. To start new work, invoke `/comet` or `/comet-open`.
|
|
@@ -1,161 +1,161 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: comet-build
|
|
3
|
-
description: "Comet
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Comet
|
|
7
|
-
|
|
8
|
-
##
|
|
9
|
-
|
|
10
|
-
- Design Doc
|
|
11
|
-
-
|
|
12
|
-
|
|
13
|
-
##
|
|
14
|
-
|
|
15
|
-
### 0.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
1. `openspec/changes/<name>/.comet.yaml`
|
|
21
|
-
2. `phase`
|
|
22
|
-
3. `design_doc`
|
|
23
|
-
4. `design_doc`
|
|
24
|
-
5. `openspec/changes/<name>/proposal.md`
|
|
25
|
-
6. `openspec/changes/<name>/tasks.md`
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
- `cat openspec/changes/<name>/.comet.yaml`
|
|
29
|
-
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
```
|
|
33
|
-
[HARD STOP] Entry check failed for comet-build
|
|
34
|
-
Expected: phase=build, design_doc=<path> exists
|
|
35
|
-
Actual: phase
|
|
36
|
-
Suggestion: Run comet-design first, or verify design_doc file exists.
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
### 1.
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
-
|
|
47
|
-
-
|
|
48
|
-
- **Plan
|
|
49
|
-
|
|
50
|
-
```yaml
|
|
51
|
-
---
|
|
52
|
-
change: <openspec-change-name>
|
|
53
|
-
design-doc: docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md
|
|
54
|
-
---
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
### 2.
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
```yaml
|
|
62
|
-
phase: build
|
|
63
|
-
plan: docs/superpowers/plans/YYYY-MM-DD-feature.md
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
cat openspec/changes/<name>/.comet.yaml
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
### 3.
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
|
76
|
-
|
|
77
|
-
| A | `superpowers:subagent-driven-development` |
|
|
78
|
-
| B | `superpowers:executing-plans` |
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
-
|
|
82
|
-
-
|
|
83
|
-
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
- `subagent-driven-development`
|
|
88
|
-
- `executing-plans`
|
|
89
|
-
- `direct
|
|
90
|
-
|
|
91
|
-
Few-shot
|
|
92
|
-
|
|
93
|
-
```yaml
|
|
94
|
-
#
|
|
95
|
-
build_mode: subagent-driven-development
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
```yaml
|
|
99
|
-
#
|
|
100
|
-
build_mode: executing-plans
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
cat openspec/changes/<name>/.comet.yaml
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
-
|
|
114
|
-
-
|
|
115
|
-
-
|
|
116
|
-
|
|
117
|
-
### 4. Spec
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
|
122
|
-
|
|
123
|
-
|
|
|
124
|
-
|
|
|
125
|
-
|
|
|
126
|
-
|
|
127
|
-
**50%
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
-
|
|
131
|
-
-
|
|
132
|
-
-
|
|
133
|
-
-
|
|
134
|
-
-
|
|
135
|
-
|
|
136
|
-
##
|
|
137
|
-
|
|
138
|
-
- tasks.md
|
|
139
|
-
-
|
|
140
|
-
-
|
|
141
|
-
- `.comet.yaml`
|
|
142
|
-
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
```yaml
|
|
147
|
-
phase: verify
|
|
148
|
-
verify_result: pending
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
cat openspec/changes/<name>/.comet.yaml
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
##
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
> **REQUIRED NEXT SKILL:**
|
|
1
|
+
---
|
|
2
|
+
name: comet-build
|
|
3
|
+
description: "Comet Phase 3: Plan and Build. Invoke with /comet-build. Create plans and execute implementation through subagent-driven-development."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Comet Phase 3: Plan and Build (Build)
|
|
7
|
+
|
|
8
|
+
## Prerequisites
|
|
9
|
+
|
|
10
|
+
- Design Doc has been created (Phase 2 complete)
|
|
11
|
+
- Active change exists
|
|
12
|
+
|
|
13
|
+
## Steps
|
|
14
|
+
|
|
15
|
+
### 0. Entry State Verification (Entry Check)
|
|
16
|
+
|
|
17
|
+
Before performing any operations, read and verify the current state:
|
|
18
|
+
|
|
19
|
+
**Checklist:**
|
|
20
|
+
1. `openspec/changes/<name>/.comet.yaml` exists
|
|
21
|
+
2. `phase` field value is `"build"`
|
|
22
|
+
3. `design_doc` field is non-null and non-empty
|
|
23
|
+
4. File referenced by `design_doc` exists (e.g., `docs/superpowers/specs/YYYY-MM-DD-topic-design.md`)
|
|
24
|
+
5. `openspec/changes/<name>/proposal.md` exists and is non-empty
|
|
25
|
+
6. `openspec/changes/<name>/tasks.md` exists and is non-empty
|
|
26
|
+
|
|
27
|
+
**Verification method:**
|
|
28
|
+
- `cat openspec/changes/<name>/.comet.yaml` to read all fields
|
|
29
|
+
- Use `ls` or `test -f` to confirm design_doc file exists
|
|
30
|
+
|
|
31
|
+
**Failure output:**
|
|
32
|
+
```
|
|
33
|
+
[HARD STOP] Entry check failed for comet-build
|
|
34
|
+
Expected: phase=build, design_doc=<path> exists
|
|
35
|
+
Actual: phase=<actual-value>, design_doc=<actual-value or file does not exist>
|
|
36
|
+
Suggestion: Run comet-design first, or verify design_doc file exists.
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Proceed to Step 1 only after verification passes.
|
|
40
|
+
|
|
41
|
+
### 1. Create Plan
|
|
42
|
+
|
|
43
|
+
**Immediately execute:** Use the Skill tool to load the `superpowers:writing-plans` skill. Skipping this step is prohibited.
|
|
44
|
+
|
|
45
|
+
After the skill loads, follow its guidance to create a plan. Plan requirements:
|
|
46
|
+
- Save to `docs/superpowers/plans/YYYY-MM-DD-<feature>.md`
|
|
47
|
+
- Reference design document, break down into executable tasks
|
|
48
|
+
- **Plan file header must contain associated metadata**:
|
|
49
|
+
|
|
50
|
+
```yaml
|
|
51
|
+
---
|
|
52
|
+
change: <openspec-change-name>
|
|
53
|
+
design-doc: docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md
|
|
54
|
+
---
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### 2. Update Plan Status
|
|
58
|
+
|
|
59
|
+
Merge and update the following fields in `openspec/changes/<name>/.comet.yaml` (keep other fields unchanged):
|
|
60
|
+
|
|
61
|
+
```yaml
|
|
62
|
+
phase: build
|
|
63
|
+
plan: docs/superpowers/plans/YYYY-MM-DD-feature.md
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
【Write verification】After update completion, must verify:
|
|
67
|
+
cat openspec/changes/<name>/.comet.yaml
|
|
68
|
+
Confirm plan line value is "docs/superpowers/plans/YYYY-MM-DD-feature.md"
|
|
69
|
+
If not matching, retry write then verify again. Maximum 2 retries, report error and terminate if still fails.
|
|
70
|
+
|
|
71
|
+
### 3. Select Execution Method
|
|
72
|
+
|
|
73
|
+
Present plan summary to user (task count, involved modules), then ask for execution method:
|
|
74
|
+
|
|
75
|
+
| Option | Skill | Applicable Scenario |
|
|
76
|
+
|------|------|-------------------|
|
|
77
|
+
| A | `superpowers:subagent-driven-development` | Independent tasks, high complexity, requires two-phase review |
|
|
78
|
+
| B | `superpowers:executing-plans` | Simple tasks, no subagent environment, lightweight and fast |
|
|
79
|
+
|
|
80
|
+
**Recommendation rules**:
|
|
81
|
+
- Task count ≥ 3 → Recommend A
|
|
82
|
+
- Task count ≤ 2 and no cross-module dependencies → Recommend B
|
|
83
|
+
- From hotfix path → Recommend B
|
|
84
|
+
|
|
85
|
+
After user selection, merge and update `build_mode` in `openspec/changes/<name>/.comet.yaml` (keep other fields unchanged). `build_mode` only allows one of the following values:
|
|
86
|
+
|
|
87
|
+
- `subagent-driven-development`
|
|
88
|
+
- `executing-plans`
|
|
89
|
+
- `direct` (only for hotfix preset use)
|
|
90
|
+
|
|
91
|
+
Few-shot examples:
|
|
92
|
+
|
|
93
|
+
```yaml
|
|
94
|
+
# User selects robust mode / A
|
|
95
|
+
build_mode: subagent-driven-development
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
```yaml
|
|
99
|
+
# User selects fast mode / B
|
|
100
|
+
build_mode: executing-plans
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
【Write verification】After update completion, must verify:
|
|
104
|
+
cat openspec/changes/<name>/.comet.yaml
|
|
105
|
+
Confirm build_mode line value is "<subagent-driven-development or executing-plans or direct>"
|
|
106
|
+
If not matching, retry write then verify again. Maximum 2 retries, report error and terminate if still fails.
|
|
107
|
+
|
|
108
|
+
Then, **immediately execute:** Use the Skill tool to load the corresponding skill. Skipping this step is prohibited.
|
|
109
|
+
|
|
110
|
+
If the selected Superpowers skill is unavailable, stop the process and prompt to install or enable the corresponding skill. Do not substitute this step with normal conversation.
|
|
111
|
+
|
|
112
|
+
After the skill loads, follow its guidance to execute:
|
|
113
|
+
- Execute tasks according to plan
|
|
114
|
+
- Complete tasks.md check (`- [ ]` → `- [x]`)
|
|
115
|
+
- Commit code after each task completion
|
|
116
|
+
|
|
117
|
+
### 4. Spec Incremental Updates
|
|
118
|
+
|
|
119
|
+
When the initial spec is found incomplete during implementation, handle by scale:
|
|
120
|
+
|
|
121
|
+
| Scale | Trigger Conditions | Approach |
|
|
122
|
+
|------|-------------------|----------|
|
|
123
|
+
| Small | Missing acceptance scenarios, edge cases | Directly edit delta spec + design.md, append tasks.md tasks |
|
|
124
|
+
| Medium | Interface changes, new components, data flow changes | Re-run `superpowers:brainstorming` to update Design Doc + delta spec |
|
|
125
|
+
| Large | Brand-new capability requirements | `/opsx:new` to create independent change |
|
|
126
|
+
|
|
127
|
+
**50% Threshold Determination**: Using initial task count in tasks.md as baseline, if new tasks exceed half of that total, it's considered outside original plan scope, should consider splitting into new change.
|
|
128
|
+
|
|
129
|
+
**Principles**:
|
|
130
|
+
- Delta spec is a living document, can be modified at any time during this phase
|
|
131
|
+
- Each update should be committed with commit message explaining the change reason
|
|
132
|
+
- Do not sync to main spec in advance, sync uniformly during archiving
|
|
133
|
+
- If incremental tasks exceed 50% of initial tasks.md total task count, consider splitting into new change
|
|
134
|
+
- For small-scale incremental direct delta spec edits, note in commit message to facilitate design doc drift assessment during archiving
|
|
135
|
+
|
|
136
|
+
## Exit Conditions
|
|
137
|
+
|
|
138
|
+
- All tasks.md checked
|
|
139
|
+
- Code committed
|
|
140
|
+
- Tests pass
|
|
141
|
+
- `.comet.yaml` `phase` updated to `verify`
|
|
142
|
+
- **Phase guard**: Run `bash $COMET_GUARD <change-name> build`, allow transition only after all PASS
|
|
143
|
+
|
|
144
|
+
Before exit, merge and update the following fields in `.comet.yaml` (keep other fields unchanged):
|
|
145
|
+
|
|
146
|
+
```yaml
|
|
147
|
+
phase: verify
|
|
148
|
+
verify_result: pending
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
【Write verification】After update completion, must verify:
|
|
152
|
+
cat openspec/changes/<name>/.comet.yaml
|
|
153
|
+
Confirm phase line value is "verify"
|
|
154
|
+
Confirm verify_result line value is "pending"
|
|
155
|
+
If any field does not match, retry write then verify again. Maximum 2 retries, report error and terminate if still fails.
|
|
156
|
+
|
|
157
|
+
## Automatic Transition
|
|
158
|
+
|
|
159
|
+
After exit conditions are met, **proceed immediately to the next phase without waiting for user input**:
|
|
160
|
+
|
|
161
|
+
> **REQUIRED NEXT SKILL:** Invoke `comet-verify` skill to enter the verification and completion phase.
|