@rpamis/comet 0.1.4 → 0.1.6
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 +206 -204
- package/assets/skills/comet/scripts/comet-yaml-validate.sh +4 -2
- package/assets/skills/comet-archive/SKILL.md +151 -151
- package/assets/skills/comet-build/SKILL.md +203 -161
- package/assets/skills/comet-design/SKILL.md +108 -108
- package/assets/skills/comet-hotfix/SKILL.md +167 -165
- package/assets/skills/comet-open/SKILL.md +123 -123
- package/assets/skills/comet-tweak/SKILL.md +154 -152
- package/assets/skills/comet-verify/SKILL.md +164 -164
- package/assets/skills-zh/comet/SKILL.md +206 -0
- package/assets/skills-zh/comet-archive/SKILL.md +151 -0
- package/assets/skills-zh/comet-build/SKILL.md +203 -0
- package/assets/skills-zh/comet-design/SKILL.md +108 -0
- package/assets/skills-zh/comet-hotfix/SKILL.md +167 -0
- package/assets/skills-zh/comet-open/SKILL.md +123 -0
- package/assets/skills-zh/comet-tweak/SKILL.md +154 -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 +32 -3
- package/dist/core/init.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,165 +1,167 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: comet-hotfix
|
|
3
|
-
description: "Comet
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Comet
|
|
7
|
-
|
|
8
|
-
Hotfix
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
1.
|
|
14
|
-
2.
|
|
15
|
-
3.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
---
|
|
20
|
-
|
|
21
|
-
##
|
|
22
|
-
|
|
23
|
-
### 0.
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
1. `openspec/changes/<name>/`
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
- `test -d openspec/changes/<name>`
|
|
32
|
-
-
|
|
33
|
-
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
```
|
|
37
|
-
[HARD STOP] Entry check failed for comet-hotfix
|
|
38
|
-
Expected: openspec/changes/<name>/.comet.yaml does not exist (new change)
|
|
39
|
-
Actual: .comet.yaml exists with phase
|
|
40
|
-
Suggestion: Pick a different change name, or check if an existing hotfix is in progress.
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
### 1.
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
- `proposal.md` —
|
|
55
|
-
- `design.md` —
|
|
56
|
-
- `tasks.md` —
|
|
57
|
-
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
```yaml
|
|
62
|
-
workflow: hotfix
|
|
63
|
-
phase: build
|
|
64
|
-
design_doc: null
|
|
65
|
-
plan: null
|
|
66
|
-
build_mode: direct
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
-
|
|
97
|
-
-
|
|
98
|
-
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
-
|
|
165
|
-
-
|
|
1
|
+
---
|
|
2
|
+
name: comet-hotfix
|
|
3
|
+
description: "Comet preset path: Bug fix / hotfix. Skip brainstorming, directly open → build → verify → archive. Applicable for behavior fixes, scenarios not involving new capability design."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Comet Preset Path: Hotfix
|
|
7
|
+
|
|
8
|
+
Hotfix is a preset workflow of Comet's five-phase capabilities, not a separate parallel process. It reuses open, build, verify, archive capabilities, only skipping brainstorming and full plan.
|
|
9
|
+
|
|
10
|
+
Applicable for bug fixes, hotfixes, small-scale behavior corrections. Does not involve new capability design, does not require deep brainstorming.
|
|
11
|
+
|
|
12
|
+
**Applicable conditions** (all must be met):
|
|
13
|
+
1. Fix bugs in existing functionality, no new capability
|
|
14
|
+
2. No interface changes or architecture adjustments
|
|
15
|
+
3. Change scope is predictable (usually < 5 files)
|
|
16
|
+
|
|
17
|
+
**Not applicable**: If fix process discovers need for architecture adjustments, should upgrade to full `/comet` workflow.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Process (preset workflow, 4 phases)
|
|
22
|
+
|
|
23
|
+
### 0. Entry State Verification (Entry Check)
|
|
24
|
+
|
|
25
|
+
Before performing any operations, verify current state:
|
|
26
|
+
|
|
27
|
+
**Checklist:**
|
|
28
|
+
1. `openspec/changes/<name>/` directory does not exist, or directory exists but `.comet.yaml` does not exist (no conflict)
|
|
29
|
+
|
|
30
|
+
**Verification method:**
|
|
31
|
+
- `test -d openspec/changes/<name>` to check directory
|
|
32
|
+
- If directory exists, `test -f openspec/changes/<name>/.comet.yaml` to check config file
|
|
33
|
+
- If `.comet.yaml` exists, read `phase` to check if it's an incomplete hotfix
|
|
34
|
+
|
|
35
|
+
**Failure output (has conflict):**
|
|
36
|
+
```
|
|
37
|
+
[HARD STOP] Entry check failed for comet-hotfix
|
|
38
|
+
Expected: openspec/changes/<name>/.comet.yaml does not exist (new change)
|
|
39
|
+
Actual: .comet.yaml exists with phase=<actual-value>
|
|
40
|
+
Suggestion: Pick a different change name, or check if an existing hotfix is in progress.
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Proceed to process steps only after verification passes.
|
|
44
|
+
|
|
45
|
+
Execution chain: open → build → verify → archive. Hotfix provides default decisions for each phase: streamlined open, direct build, scale-based verification, archive after verification passes.
|
|
46
|
+
|
|
47
|
+
### 1. Quick Open (preset open)
|
|
48
|
+
|
|
49
|
+
Reuse Comet open capability to create change, but use hotfix defaults: do not execute `openspec-explore` long exploration, directly enter streamlined change creation.
|
|
50
|
+
|
|
51
|
+
**Immediately execute:** Use the Skill tool to load the `openspec-new-change` skill. Skipping this step is prohibited.
|
|
52
|
+
|
|
53
|
+
After the skill loads, follow its guidance to create streamlined artifacts:
|
|
54
|
+
- `proposal.md` — problem description + root cause analysis + fix goal (no solution comparison needed)
|
|
55
|
+
- `design.md` — fix solution (one is enough, no multi-solution comparison needed)
|
|
56
|
+
- `tasks.md` — fix task list
|
|
57
|
+
- **No delta spec needed** (unless fix changes existing spec acceptance scenarios)
|
|
58
|
+
|
|
59
|
+
Create independent `.comet.yaml` file under `openspec/changes/<name>/`:
|
|
60
|
+
|
|
61
|
+
```yaml
|
|
62
|
+
workflow: hotfix
|
|
63
|
+
phase: build
|
|
64
|
+
design_doc: null
|
|
65
|
+
plan: null
|
|
66
|
+
build_mode: direct
|
|
67
|
+
isolation: branch
|
|
68
|
+
verify_mode: light
|
|
69
|
+
verify_result: pending
|
|
70
|
+
verified_at: null
|
|
71
|
+
archived: false
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
【Write verification】After creation completion, must verify:
|
|
75
|
+
cat openspec/changes/<name>/.comet.yaml
|
|
76
|
+
Confirm workflow line value is "hotfix"
|
|
77
|
+
Confirm phase line value is "build"
|
|
78
|
+
Confirm design_doc line value is "null"
|
|
79
|
+
Confirm plan line value is "null"
|
|
80
|
+
Confirm build_mode line value is "direct"
|
|
81
|
+
Confirm isolation line value is "branch"
|
|
82
|
+
Confirm verify_mode line value is "light"
|
|
83
|
+
Confirm verify_result line value is "pending"
|
|
84
|
+
Confirm verified_at line value is "null"
|
|
85
|
+
Confirm archived line value is "false"
|
|
86
|
+
If any field does not match, retry write then verify again. Maximum 2 retries, report error and terminate if still fails.
|
|
87
|
+
|
|
88
|
+
### 2. Direct Build (preset build)
|
|
89
|
+
|
|
90
|
+
Use hotfix defaults: `build_mode: direct`. Skip `superpowers:brainstorming` and `superpowers:writing-plans` (unless tasks > 3; if exceeds 3 tasks, transfer to `/comet-build`'s plan and execution method selection).
|
|
91
|
+
|
|
92
|
+
**Immediately execute:** Execute tasks one by one according to tasks.md:
|
|
93
|
+
|
|
94
|
+
1. Read `openspec/changes/<name>/tasks.md`, get incomplete task list
|
|
95
|
+
2. For each incomplete task:
|
|
96
|
+
- Modify code according to task description
|
|
97
|
+
- Run `mvn spotless:apply` to format
|
|
98
|
+
- Run related tests to confirm pass
|
|
99
|
+
- Check corresponding `- [ ]` to `- [x]` in tasks.md
|
|
100
|
+
- Commit code, commit message format: `fix: <brief fix description>`
|
|
101
|
+
3. After all tasks complete, enter verification
|
|
102
|
+
|
|
103
|
+
**If fix affects existing spec acceptance scenarios**:
|
|
104
|
+
- Create delta spec in `openspec/changes/<name>/specs/<capability>/spec.md`
|
|
105
|
+
- Only include `## MODIFIED Requirements` section
|
|
106
|
+
|
|
107
|
+
### 3. Verification (preset verify)
|
|
108
|
+
|
|
109
|
+
Reuse `/comet-verify`, with comet-verify's scale assessment deciding lightweight or full verification.
|
|
110
|
+
|
|
111
|
+
**Immediately execute:** Use the Skill tool to load the `comet-verify` skill. Skipping this step is prohibited.
|
|
112
|
+
|
|
113
|
+
Small-scale hotfixes without delta spec usually meet lightweight verification conditions (≤ 3 tasks, ≤ 5 files), comet-verify's scale assessment will select lightweight verification path (5 quick checks). If hotfix created delta spec, enter full verification path according to comet-verify's scale assessment rules.
|
|
114
|
+
|
|
115
|
+
**Additional Hotfix-Exclusive Checks** (execute after comet-verify lightweight verification passes):
|
|
116
|
+
|
|
117
|
+
1. **Root cause elimination**: Compare proposal.md's root cause analysis, confirm problem code eliminated
|
|
118
|
+
- Read bug description and root cause in proposal.md
|
|
119
|
+
- Search and verify problem code no longer exists
|
|
120
|
+
- If root cause not eliminated, return to Step 2 to continue fix
|
|
121
|
+
|
|
122
|
+
**Verification phase upgrade conditions**:
|
|
123
|
+
- Regression testing reveals deep architecture issues → Stop hotfix, upgrade to `/comet`
|
|
124
|
+
- Fix requires additional interface changes → Stop hotfix, upgrade to `/comet`
|
|
125
|
+
|
|
126
|
+
After verification passes, record `.comet.yaml` `verify_result` as `pass` according to `/comet-verify` rules, must not skip this status before archiving.
|
|
127
|
+
|
|
128
|
+
### 4. Archive (preset archive)
|
|
129
|
+
|
|
130
|
+
Reuse `/comet-archive`. Must satisfy `verify_result: pass` in `.comet.yaml` before archiving.
|
|
131
|
+
|
|
132
|
+
**Immediately execute:** Use the Skill tool to load the `comet-archive` skill to archive. Skipping this step is prohibited.
|
|
133
|
+
If there is delta spec, sync to main spec according to comet-archive rules, and handle associated Design Doc and Plan archiving annotations.
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Continuous Execution Mode
|
|
138
|
+
|
|
139
|
+
<IMPORTANT>
|
|
140
|
+
Hotfix workflow is **one-time continuous execution**. After invoking `/comet-hotfix`, agent must automatically complete all 4 phases, without pausing to wait for user input mid-way (unless encountering upgrade conditions requiring user confirmation).
|
|
141
|
+
|
|
142
|
+
Execution order: quick open → direct build → verification → archive → complete
|
|
143
|
+
|
|
144
|
+
After each phase completes, immediately enter next phase, no need for user input again. Within each phase, must still call corresponding Comet/OpenSpec/Superpowers skill according to above requirements.
|
|
145
|
+
</IMPORTANT>
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Upgrade Conditions
|
|
150
|
+
|
|
151
|
+
When the following situations occur during fix process, stop hotfix workflow, upgrade to full `/comet`:
|
|
152
|
+
|
|
153
|
+
1. Root cause discovered involves architecture defects
|
|
154
|
+
2. Fix requires new interfaces or components
|
|
155
|
+
3. Impact scope expands to > 10 files
|
|
156
|
+
4. Needs new capability spec
|
|
157
|
+
|
|
158
|
+
Upgrade method: On current change basis, supplement Design Doc (execute `/comet-design`), then proceed normally with full workflow.
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## Exit Conditions
|
|
163
|
+
|
|
164
|
+
- Bug fixed, tests pass
|
|
165
|
+
- Change archived
|
|
166
|
+
- If spec changes, synced to main spec
|
|
167
|
+
- **Phase guard**: Before build → verify run `bash $COMET_GUARD <change-name> build`, before verify → archive run `bash $COMET_GUARD <change-name> verify`
|
|
@@ -1,123 +1,123 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: comet-open
|
|
3
|
-
description: "Comet
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Comet
|
|
7
|
-
|
|
8
|
-
##
|
|
9
|
-
|
|
10
|
-
-
|
|
11
|
-
|
|
12
|
-
##
|
|
13
|
-
|
|
14
|
-
### 0.
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
1. `openspec/changes/<name>/`
|
|
20
|
-
2. `openspec/changes/<name>/.comet.yaml`
|
|
21
|
-
3. `openspec/changes/<name>/proposal.md`
|
|
22
|
-
4. `openspec/changes/<name>/design.md`
|
|
23
|
-
5. `openspec/changes/<name>/tasks.md`
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
```
|
|
31
|
-
[HARD STOP] Entry check failed for comet-open
|
|
32
|
-
Expected: .comet.yaml does not exist, proposal.md + design.md + tasks.md exist
|
|
33
|
-
Actual: phase
|
|
34
|
-
Suggestion: Check if another change with the same name is already active.
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
### 1.
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
### 2.
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
```
|
|
52
|
-
openspec/changes/<name>/
|
|
53
|
-
├── .openspec.yaml
|
|
54
|
-
├── .comet.yaml
|
|
55
|
-
├── proposal.md # Why + What
|
|
56
|
-
├── design.md # How
|
|
57
|
-
└── tasks.md #
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
### 2b.
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
1.
|
|
68
|
-
2.
|
|
69
|
-
|
|
70
|
-
```bash
|
|
71
|
-
mkdir -p openspec/changes/<name>/specs/<capability>/
|
|
72
|
-
cp openspec/specs/<capability>/spec.md openspec/changes/<name>/specs/<capability>/spec.md
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
3.
|
|
76
|
-
4.
|
|
77
|
-
|
|
78
|
-
### 3.
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
```yaml
|
|
83
|
-
workflow: full
|
|
84
|
-
phase: design
|
|
85
|
-
design_doc: null
|
|
86
|
-
plan: null
|
|
87
|
-
build_mode: null
|
|
88
|
-
verify_mode: null
|
|
89
|
-
verify_result: pending
|
|
90
|
-
verified_at: null
|
|
91
|
-
archived: false
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
cat openspec/changes/<name>/.comet.yaml
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
### 4.
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
- **proposal.md
|
|
111
|
-
- **design.md
|
|
112
|
-
- **tasks.md
|
|
113
|
-
|
|
114
|
-
##
|
|
115
|
-
|
|
116
|
-
- proposal.md
|
|
117
|
-
-
|
|
118
|
-
|
|
119
|
-
##
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
> **REQUIRED NEXT SKILL:**
|
|
1
|
+
---
|
|
2
|
+
name: comet-open
|
|
3
|
+
description: "Comet Phase 1: Open. Invoke with /comet-open. Explore ideas through OpenSpec and create change structure (proposal + design + tasks)."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Comet Phase 1: Open
|
|
7
|
+
|
|
8
|
+
## Prerequisites
|
|
9
|
+
|
|
10
|
+
- No active change, or user wishes to create a new change
|
|
11
|
+
|
|
12
|
+
## Steps
|
|
13
|
+
|
|
14
|
+
### 0. Entry State Verification (Entry Check)
|
|
15
|
+
|
|
16
|
+
Before performing any operations, read and verify the current state:
|
|
17
|
+
|
|
18
|
+
**Checklist:**
|
|
19
|
+
1. `openspec/changes/<name>/` directory exists (created by openspec-new-change)
|
|
20
|
+
2. `openspec/changes/<name>/.comet.yaml` file does not exist (not yet initialized)
|
|
21
|
+
3. `openspec/changes/<name>/proposal.md` exists and is non-empty
|
|
22
|
+
4. `openspec/changes/<name>/design.md` exists and is non-empty
|
|
23
|
+
5. `openspec/changes/<name>/tasks.md` exists and is non-empty
|
|
24
|
+
|
|
25
|
+
**Verification method:**
|
|
26
|
+
- Read the above paths to confirm existence/non-existence
|
|
27
|
+
- If `.comet.yaml` already exists, read its `phase` field: if phase is not empty, output `[HARD STOP]` and prompt that there may already be an active change
|
|
28
|
+
|
|
29
|
+
**Failure output:**
|
|
30
|
+
```
|
|
31
|
+
[HARD STOP] Entry check failed for comet-open
|
|
32
|
+
Expected: .comet.yaml does not exist, proposal.md + design.md + tasks.md exist
|
|
33
|
+
Actual: phase=<actual-value>, design_doc=<actual-value> (or file does not exist)
|
|
34
|
+
Suggestion: Check if another change with the same name is already active.
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Proceed to Step 1 only after verification passes.
|
|
38
|
+
|
|
39
|
+
### 1. Explore Idea
|
|
40
|
+
|
|
41
|
+
**Immediately execute:** Use the Skill tool to load the `openspec-explore` skill. Skipping this step is prohibited.
|
|
42
|
+
|
|
43
|
+
After the skill loads, freely explore the problem space following its guidance.
|
|
44
|
+
|
|
45
|
+
### 2. Create Change Structure
|
|
46
|
+
|
|
47
|
+
**Immediately execute:** Use the Skill tool to load the `openspec-new-change` skill. If user intent is unclear and needs to form a proposal first, load `openspec-propose` instead. Skipping this step is prohibited.
|
|
48
|
+
|
|
49
|
+
Confirm the following artifacts have been created:
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
openspec/changes/<name>/
|
|
53
|
+
├── .openspec.yaml
|
|
54
|
+
├── .comet.yaml
|
|
55
|
+
├── proposal.md # Why + What: problem, goals, scope
|
|
56
|
+
├── design.md # How (high-level): architectural decisions, solution selection
|
|
57
|
+
└── tasks.md # Task checklist (checkboxes)
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### 2b. Incrementally Modify Existing Capability (Optional)
|
|
61
|
+
|
|
62
|
+
**Trigger condition:** proposal.md mentions modifying an existing capability, or user explicitly requests incremental modification.
|
|
63
|
+
|
|
64
|
+
**Applicable scenario:** Incremental modification to archived functionality (not a brand-new capability).
|
|
65
|
+
|
|
66
|
+
When proposal.md goals involve modifying an existing capability:
|
|
67
|
+
1. Check if `openspec/specs/<capability>/spec.md` main spec already exists
|
|
68
|
+
2. If it exists, copy the main spec as a delta spec baseline:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
mkdir -p openspec/changes/<name>/specs/<capability>/
|
|
72
|
+
cp openspec/specs/<capability>/spec.md openspec/changes/<name>/specs/<capability>/spec.md
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
3. In the copied delta spec, organize changes in delta format (`## ADDED`, `## MODIFIED`, `## REMOVED`)
|
|
76
|
+
4. Note in proposal.md: `based on existing capability: <capability-name>`
|
|
77
|
+
|
|
78
|
+
### 3. Initialize Comet State
|
|
79
|
+
|
|
80
|
+
Create an independent `.comet.yaml` file under `openspec/changes/<name>/`:
|
|
81
|
+
|
|
82
|
+
```yaml
|
|
83
|
+
workflow: full
|
|
84
|
+
phase: design
|
|
85
|
+
design_doc: null
|
|
86
|
+
plan: null
|
|
87
|
+
build_mode: null
|
|
88
|
+
verify_mode: null
|
|
89
|
+
verify_result: pending
|
|
90
|
+
verified_at: null
|
|
91
|
+
archived: false
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
【Write verification】After creation, must verify:
|
|
95
|
+
cat openspec/changes/<name>/.comet.yaml
|
|
96
|
+
Confirm workflow line value is "full"
|
|
97
|
+
Confirm phase line value is "design"
|
|
98
|
+
Confirm design_doc line value is "null"
|
|
99
|
+
Confirm plan line value is "null"
|
|
100
|
+
Confirm build_mode line value is "null"
|
|
101
|
+
Confirm verify_mode line value is "null"
|
|
102
|
+
Confirm verify_result line value is "pending"
|
|
103
|
+
Confirm verified_at line value is "null"
|
|
104
|
+
Confirm archived line value is "false"
|
|
105
|
+
If any field does not match, retry write then verify again. Maximum 2 retries, report error and terminate if still fails.
|
|
106
|
+
|
|
107
|
+
### 4. Content Completeness Check
|
|
108
|
+
|
|
109
|
+
Confirm the three documents have complete content:
|
|
110
|
+
- **proposal.md**: problem background, goals, scope, non-goals
|
|
111
|
+
- **design.md**: high-level architectural decisions, solution selection, data flow
|
|
112
|
+
- **tasks.md**: task list, each task has a clear description
|
|
113
|
+
|
|
114
|
+
## Exit Conditions
|
|
115
|
+
|
|
116
|
+
- proposal.md, design.md, and tasks.md are all created with complete content
|
|
117
|
+
- **Phase guard**: Run `bash $COMET_GUARD <change-name> open`, allow transition only after all PASS
|
|
118
|
+
|
|
119
|
+
## Automatic Transition
|
|
120
|
+
|
|
121
|
+
After exit conditions are met, **proceed immediately to the next phase without waiting for user input**:
|
|
122
|
+
|
|
123
|
+
> **REQUIRED NEXT SKILL:** Invoke `comet-design` skill to enter the deep design phase.
|