gspec 1.3.0 → 1.4.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.
Files changed (51) hide show
  1. package/README.md +4 -1
  2. package/bin/gspec.js +11 -3
  3. package/dist/antigravity/gspec-architect/SKILL.md +1 -1
  4. package/dist/antigravity/gspec-dor/SKILL.md +2 -2
  5. package/dist/antigravity/gspec-epic/SKILL.md +1 -1
  6. package/dist/antigravity/gspec-feature/SKILL.md +1 -1
  7. package/dist/antigravity/gspec-implement/SKILL.md +2 -2
  8. package/dist/antigravity/gspec-migrate/SKILL.md +5 -5
  9. package/dist/antigravity/gspec-practices/SKILL.md +1 -1
  10. package/dist/antigravity/gspec-profile/SKILL.md +1 -1
  11. package/dist/antigravity/gspec-record/SKILL.md +2 -2
  12. package/dist/antigravity/gspec-research/SKILL.md +3 -3
  13. package/dist/antigravity/gspec-stack/SKILL.md +1 -1
  14. package/dist/antigravity/gspec-style/SKILL.md +1 -1
  15. package/dist/claude/gspec-architect/SKILL.md +1 -1
  16. package/dist/claude/gspec-dor/SKILL.md +2 -2
  17. package/dist/claude/gspec-epic/SKILL.md +1 -1
  18. package/dist/claude/gspec-feature/SKILL.md +1 -1
  19. package/dist/claude/gspec-implement/SKILL.md +2 -2
  20. package/dist/claude/gspec-migrate/SKILL.md +5 -5
  21. package/dist/claude/gspec-practices/SKILL.md +1 -1
  22. package/dist/claude/gspec-profile/SKILL.md +1 -1
  23. package/dist/claude/gspec-record/SKILL.md +2 -2
  24. package/dist/claude/gspec-research/SKILL.md +3 -3
  25. package/dist/claude/gspec-stack/SKILL.md +1 -1
  26. package/dist/claude/gspec-style/SKILL.md +1 -1
  27. package/dist/codex/gspec-architect/SKILL.md +337 -0
  28. package/dist/codex/gspec-dor/SKILL.md +224 -0
  29. package/dist/codex/gspec-epic/SKILL.md +232 -0
  30. package/dist/codex/gspec-feature/SKILL.md +174 -0
  31. package/dist/codex/gspec-implement/SKILL.md +325 -0
  32. package/dist/codex/gspec-migrate/SKILL.md +119 -0
  33. package/dist/codex/gspec-practices/SKILL.md +135 -0
  34. package/dist/codex/gspec-profile/SKILL.md +221 -0
  35. package/dist/codex/gspec-record/SKILL.md +172 -0
  36. package/dist/codex/gspec-research/SKILL.md +280 -0
  37. package/dist/codex/gspec-stack/SKILL.md +300 -0
  38. package/dist/codex/gspec-style/SKILL.md +229 -0
  39. package/dist/cursor/gspec-architect.mdc +1 -1
  40. package/dist/cursor/gspec-dor.mdc +2 -2
  41. package/dist/cursor/gspec-epic.mdc +1 -1
  42. package/dist/cursor/gspec-feature.mdc +1 -1
  43. package/dist/cursor/gspec-implement.mdc +2 -2
  44. package/dist/cursor/gspec-migrate.mdc +5 -5
  45. package/dist/cursor/gspec-practices.mdc +1 -1
  46. package/dist/cursor/gspec-profile.mdc +1 -1
  47. package/dist/cursor/gspec-record.mdc +2 -2
  48. package/dist/cursor/gspec-research.mdc +3 -3
  49. package/dist/cursor/gspec-stack.mdc +1 -1
  50. package/dist/cursor/gspec-style.mdc +1 -1
  51. package/package.json +2 -1
package/README.md CHANGED
@@ -142,6 +142,7 @@ The CLI will ask which platform you're installing for:
142
142
  | Claude Code | `.claude/skills/` |
143
143
  | Cursor | `.cursor/commands/` |
144
144
  | Antigravity | `.agent/skills/` |
145
+ | Codex | `.agents/skills/` |
145
146
 
146
147
  You can skip the prompt by passing a target directly:
147
148
 
@@ -149,6 +150,7 @@ You can skip the prompt by passing a target directly:
149
150
  npx gspec --target claude
150
151
  npx gspec --target cursor
151
152
  npx gspec --target antigravity
153
+ npx gspec --target codex
152
154
  ```
153
155
 
154
156
  That's it. The commands are immediately available in your AI tool.
@@ -188,7 +190,7 @@ These are standard Markdown files. They live in your repo, are version-controlle
188
190
 
189
191
  **Competitive research.** The `research` command analyzes competitors named in your product profile, identifying table-stakes features you might be missing and opportunities for differentiation. Its output is saved to `gspec/research.md` and automatically used by `implement` when present.
190
192
 
191
- **Platform-agnostic.** A single set of source commands builds for Claude Code, Cursor, and Antigravity. The build system handles platform-specific formatting so the commands stay consistent across tools.
193
+ **Platform-agnostic.** A single set of source commands builds for Claude Code, Cursor, Antigravity, and Codex. The build system handles platform-specific formatting so the commands stay consistent across tools.
192
194
 
193
195
  ## Supported Platforms
194
196
 
@@ -197,6 +199,7 @@ These are standard Markdown files. They live in your repo, are version-controlle
197
199
  | [Claude Code](https://docs.anthropic.com/en/docs/claude-code) | Skills format | Supported |
198
200
  | [Cursor](https://www.cursor.com/) | Commands format | Supported |
199
201
  | [Antigravity](https://www.antigravity.dev/) | Skills format | Supported |
202
+ | [Codex](https://developers.openai.com/codex/cli/) | Skills format | Supported |
200
203
 
201
204
  ## Project Status
202
205
 
package/bin/gspec.js CHANGED
@@ -45,12 +45,19 @@ const TARGETS = {
45
45
  label: 'Antigravity',
46
46
  layout: 'directory',
47
47
  },
48
+ codex: {
49
+ sourceDir: join(DIST_DIR, 'codex'),
50
+ installDir: '.agents/skills',
51
+ label: 'Codex',
52
+ layout: 'directory',
53
+ },
48
54
  };
49
55
 
50
56
  const TARGET_CHOICES = [
51
57
  { key: '1', name: 'claude', label: 'Claude Code' },
52
58
  { key: '2', name: 'cursor', label: 'Cursor' },
53
59
  { key: '3', name: 'antigravity', label: 'Antigravity' },
60
+ { key: '4', name: 'codex', label: 'Codex' },
54
61
  ];
55
62
 
56
63
  function promptTarget() {
@@ -63,7 +70,7 @@ function promptTarget() {
63
70
  console.log();
64
71
 
65
72
  return new Promise((resolve) => {
66
- rl.question(chalk.bold(' Select [1-3]: '), (answer) => {
73
+ rl.question(chalk.bold(' Select [1-4]: '), (answer) => {
67
74
  rl.close();
68
75
  const trimmed = answer.trim().toLowerCase();
69
76
 
@@ -76,7 +83,7 @@ function promptTarget() {
76
83
  if (byName) return resolve(byName.name);
77
84
 
78
85
  console.error(chalk.red(`\nInvalid selection: "${answer.trim()}"`));
79
- console.error(`Valid options: 1, 2, 3, claude, cursor, antigravity`);
86
+ console.error(`Valid options: 1, 2, 3, 4, claude, cursor, antigravity, codex`);
80
87
  process.exit(1);
81
88
  });
82
89
  });
@@ -215,6 +222,7 @@ const MIGRATE_COMMANDS = {
215
222
  claude: '/gspec-migrate',
216
223
  cursor: '/gspec-migrate',
217
224
  antigravity: '/gspec-migrate',
225
+ codex: '/gspec-migrate',
218
226
  };
219
227
 
220
228
  function parseGspecVersion(content) {
@@ -297,7 +305,7 @@ program
297
305
  .name('gspec')
298
306
  .description('Install gspec specification commands')
299
307
  .version(pkg.version)
300
- .option('-t, --target <target>', 'target platform (claude, cursor, antigravity)')
308
+ .option('-t, --target <target>', 'target platform (claude, cursor, antigravity, codex)')
301
309
  .action(async (opts) => {
302
310
  console.log(BANNER);
303
311
 
@@ -42,7 +42,7 @@ All of these provide essential context. If any are missing, note the gap and mak
42
42
  - Begin the file with YAML frontmatter containing the gspec version:
43
43
  ```
44
44
  ---
45
- gspec-version: 1.3.0
45
+ gspec-version: 1.4.0
46
46
  ---
47
47
  ```
48
48
  The frontmatter must be the very first content in the file, before the main heading.
@@ -144,7 +144,7 @@ After approval, write the spec updates:
144
144
  - Dependencies (on other features or external services)
145
145
  - Assumptions & Risks (assumptions, open questions, key risks and mitigations — note in assumptions that this feature was identified during iterative development)
146
146
  - Success Metrics
147
- - Begin the file with YAML frontmatter: `---\ngspec-version: 1.3.0\n---`
147
+ - Begin the file with YAML frontmatter: `---\ngspec-version: 1.4.0\n---`
148
148
  - **Also update `gspec/architecture.md`** if the new feature introduces data entities, API endpoints, or new components — add them to the appropriate architecture sections
149
149
 
150
150
  ### Phase 7: Verify — Confirm Consistency
@@ -177,7 +177,7 @@ After writing spec updates:
177
177
 
178
178
  **Implementation checkboxes.** Feature PRDs use markdown checkboxes (`- [ ]` / `- [x]`) on capabilities to track implementation status for `gspec-implement`. When DOR adds new capabilities, use unchecked checkboxes (`- [ ]`). When modifying a capability that was already checked (`- [x]`) and the code change reflects the modification, keep it checked. When creating a new feature PRD, use unchecked checkboxes for all capabilities. Do not check off capabilities that DOR did not implement in the current session.
179
179
 
180
- **Version frontmatter.** When updating existing gspec files, preserve the `gspec-version` YAML frontmatter at the top of the file. If a file lacks frontmatter, add `---\ngspec-version: 1.3.0\n---` as the very first content before the main heading.
180
+ **Version frontmatter.** When updating existing gspec files, preserve the `gspec-version` YAML frontmatter at the top of the file. If a file lacks frontmatter, add `---\ngspec-version: 1.4.0\n---` as the very first content before the main heading.
181
181
 
182
182
  ---
183
183
 
@@ -78,7 +78,7 @@ Epic summaries and the feature PRDs they produce are designed to be **portable a
78
78
  - Begin every output file (both epic summary and individual feature PRDs) with YAML frontmatter containing the gspec version:
79
79
  ```
80
80
  ---
81
- gspec-version: 1.3.0
81
+ gspec-version: 1.4.0
82
82
  ---
83
83
  ```
84
84
  The frontmatter must be the very first content in the file, before the main heading.
@@ -68,7 +68,7 @@ Feature PRDs are designed to be **portable across projects**. A feature spec wri
68
68
  - Begin the file with YAML frontmatter containing the gspec version:
69
69
  ```
70
70
  ---
71
- gspec-version: 1.3.0
71
+ gspec-version: 1.4.0
72
72
  ---
73
73
  ```
74
74
  The frontmatter must be the very first content in the file, before the main heading.
@@ -139,7 +139,7 @@ For each approved feature that doesn't already have a PRD in `gspec/features/`:
139
139
  - Dependencies (on other features or external services)
140
140
  - Assumptions & Risks (assumptions, open questions, key risks and mitigations)
141
141
  - Success Metrics
142
- - Begin the file with YAML frontmatter: `---\ngspec-version: 1.3.0\n---`
142
+ - Begin the file with YAML frontmatter: `---\ngspec-version: 1.4.0\n---`
143
143
  2. **Name the file** descriptively based on the feature (e.g., `gspec/features/onboarding-wizard.md`, `gspec/features/export-csv.md`)
144
144
  3. **Keep the PRD portable** — use generic role descriptions (not project-specific persona names), define success metrics in terms of the feature's own outcomes (not project-level KPIs), and describe UX behavior generically (not tied to a specific design system). The PRD should be reusable across projects; project-specific context is resolved when `gspec-implement` reads all gspec documents at implementation time.
145
145
  4. **Keep the PRD product-focused** — describe *what* and *why*, not *how*. Implementation details belong in the code, not the PRD.
@@ -206,7 +206,7 @@ Present a brief scaffold summary to the user before proceeding to feature implem
206
206
  c. **Follow the style** — Apply the design system, tokens, and component patterns from `gspec/style.md`
207
207
  d. **Satisfy the requirements** — Trace each piece of code back to a functional requirement in the feature PRD (if available) or to the user's stated goals and the approved implementation plan
208
208
  e. *If `gspec/research.md` exists:* **Leverage competitive insights** — When making UX or interaction design decisions not fully specified in the style guide, consider established patterns from the competitive research. Don't blindly copy, but don't ignore proven conventions either.
209
- 3. **Mark capabilities as implemented** — After successfully implementing each capability, immediately update the feature PRD by changing its checkbox from `- [ ]` to `- [x]`. Do this incrementally as each capability is completed, not in a batch at the end. If a capability line did not have a checkbox prefix, add one as `- [x]`. This ensures that if the session is interrupted, progress is not lost. When updating gspec files, preserve existing `gspec-version` YAML frontmatter. If a file lacks frontmatter, add `---\ngspec-version: 1.3.0\n---` at the top.
209
+ 3. **Mark capabilities as implemented** — After successfully implementing each capability, immediately update the feature PRD by changing its checkbox from `- [ ]` to `- [x]`. Do this incrementally as each capability is completed, not in a batch at the end. If a capability line did not have a checkbox prefix, add one as `- [x]`. This ensures that if the session is interrupted, progress is not lost. When updating gspec files, preserve existing `gspec-version` YAML frontmatter. If a file lacks frontmatter, add `---\ngspec-version: 1.4.0\n---` at the top.
210
210
  4. **Update epic status** — When all capabilities in a feature PRD are checked, update the corresponding feature's checkbox in the epic summary file (if one exists) from `- [ ]` to `- [x]`.
211
211
  5. **Run tests** — Execute the tests defined for this phase (and any existing tests to catch regressions). Fix any failures before proceeding.
212
212
  6. **Surface new gaps** — If implementation reveals new ambiguities, pause and consult the user rather than making silent assumptions
@@ -5,7 +5,7 @@ description: Migrate existing gspec files to the current format when upgrading t
5
5
 
6
6
  You are a Technical Documentation Migration Specialist.
7
7
 
8
- Your task is to update existing gspec specification documents to match the current gspec format (version 1.3.0). You preserve all substantive content while ensuring documents follow the latest structural conventions.
8
+ Your task is to update existing gspec specification documents to match the current gspec format (version 1.4.0). You preserve all substantive content while ensuring documents follow the latest structural conventions.
9
9
 
10
10
  ---
11
11
 
@@ -21,14 +21,14 @@ Scan the `gspec/` directory for all Markdown files:
21
21
  For each file, check the YAML frontmatter at the top of the file:
22
22
  - If the file starts with `---` followed by YAML content and another `---`, read the `gspec-version` field
23
23
  - If no frontmatter exists, the file predates version tracking
24
- - If `gspec-version` matches `1.3.0`, the file is current — skip it
24
+ - If `gspec-version` matches `1.4.0`, the file is current — skip it
25
25
 
26
26
  Present an inventory to the user:
27
27
 
28
28
  > **gspec File Inventory:**
29
29
  > - `gspec/profile.md` — no version (needs migration)
30
30
  > - `gspec/stack.md` — version 1.0.3 (needs migration)
31
- > - `gspec/style.md` — version 1.3.0 (current, skipping)
31
+ > - `gspec/style.md` — version 1.4.0 (current, skipping)
32
32
  > - `gspec/features/user-auth.md` — no version (needs migration)
33
33
 
34
34
  Ask the user to confirm which files to migrate, or confirm all.
@@ -64,7 +64,7 @@ For each file to migrate:
64
64
  5. **Add or update the frontmatter** — Ensure the file starts with:
65
65
  ```
66
66
  ---
67
- gspec-version: 1.3.0
67
+ gspec-version: 1.4.0
68
68
  ---
69
69
  ```
70
70
  6. **Present the proposed changes** to the user before writing. Show what sections are being reorganized, what is being added, and confirm no content is being lost.
@@ -78,7 +78,7 @@ After migrating all files:
78
78
  3. **Present a completion summary**:
79
79
 
80
80
  > **Migration Complete:**
81
- > - 4 files migrated to version 1.3.0
81
+ > - 4 files migrated to version 1.4.0
82
82
  > - 2 files were already current (skipped)
83
83
  > - Content preserved in all files
84
84
  > - Sections reorganized: [list any structural changes]
@@ -25,7 +25,7 @@ You should:
25
25
  - Begin the file with YAML frontmatter containing the gspec version:
26
26
  ```
27
27
  ---
28
- gspec-version: 1.3.0
28
+ gspec-version: 1.4.0
29
29
  ---
30
30
  ```
31
31
  The frontmatter must be the very first content in the file, before the main heading.
@@ -25,7 +25,7 @@ You should:
25
25
  - Begin the file with YAML frontmatter containing the gspec version:
26
26
  ```
27
27
  ---
28
- gspec-version: 1.3.0
28
+ gspec-version: 1.4.0
29
29
  ---
30
30
  ```
31
31
  The frontmatter must be the very first content in the file, before the main heading.
@@ -128,7 +128,7 @@ After approval, write the spec updates:
128
128
  - Dependencies (on other features or external services)
129
129
  - Assumptions & Risks (assumptions, open questions, key risks and mitigations — note in assumptions that this feature was recorded during iterative development)
130
130
  - Success Metrics
131
- - Begin the file with YAML frontmatter: `---\ngspec-version: 1.3.0\n---`
131
+ - Begin the file with YAML frontmatter: `---\ngspec-version: 1.4.0\n---`
132
132
  - **Also update `gspec/architecture.md`** if the new feature introduces data entities, API endpoints, or new components — add them to the appropriate architecture sections
133
133
 
134
134
  ### Phase 6: Verify — Confirm Consistency
@@ -157,7 +157,7 @@ After writing spec updates:
157
157
 
158
158
  **When to create vs. update.** If a change adds a small capability that fits naturally within an existing feature PRD, update that PRD. If a change introduces a wholly new product area that does not belong in any existing PRD, create a new feature PRD. When in doubt, ask the user.
159
159
 
160
- **Version frontmatter.** When updating existing gspec files, preserve the `gspec-version` YAML frontmatter at the top of the file. If a file lacks frontmatter, add `---\ngspec-version: 1.3.0\n---` as the very first content before the main heading.
160
+ **Version frontmatter.** When updating existing gspec files, preserve the `gspec-version` YAML frontmatter at the top of the file. If a file lacks frontmatter, add `---\ngspec-version: 1.4.0\n---` as the very first content before the main heading.
161
161
 
162
162
  **No code changes.** This command never creates, modifies, or deletes code files. If the user needs code changes alongside spec updates, suggest using `gspec-dor` instead.
163
163
 
@@ -147,7 +147,7 @@ After writing `gspec/research.md`, ask the user:
147
147
  - Assumptions & Risks (assumptions, open questions, key risks and mitigations)
148
148
  - Success Metrics
149
149
  - Implementation Context (standard portability note)
150
- - Begin the file with YAML frontmatter: `---\ngspec-version: 1.3.0\n---`
150
+ - Begin the file with YAML frontmatter: `---\ngspec-version: 1.4.0\n---`
151
151
  2. **Name the file** descriptively based on the feature (e.g., `gspec/features/csv-export.md`, `gspec/features/onboarding-wizard.md`)
152
152
  3. **Keep the PRD portable** — use generic role descriptions (not project-specific persona names), define success metrics in terms of the feature's own outcomes (not project-level KPIs), and describe UX behavior generically (not tied to a specific design system). The PRD should be reusable across projects.
153
153
  4. **Keep the PRD product-focused** — describe *what* and *why*, not *how*. Implementation details belong in the code, not the PRD.
@@ -166,7 +166,7 @@ After writing `gspec/research.md`, ask the user:
166
166
  - Begin `gspec/research.md` with YAML frontmatter containing the gspec version:
167
167
  ```
168
168
  ---
169
- gspec-version: 1.3.0
169
+ gspec-version: 1.4.0
170
170
  ---
171
171
  ```
172
172
  The frontmatter must be the very first content in the file, before the main heading.
@@ -183,7 +183,7 @@ The `gspec/research.md` file must follow this structure:
183
183
 
184
184
  ```markdown
185
185
  ---
186
- gspec-version: 1.3.0
186
+ gspec-version: 1.4.0
187
187
  ---
188
188
 
189
189
  # Competitive Research
@@ -25,7 +25,7 @@ You should:
25
25
  - Begin the file with YAML frontmatter containing the gspec version:
26
26
  ```
27
27
  ---
28
- gspec-version: 1.3.0
28
+ gspec-version: 1.4.0
29
29
  ---
30
30
  ```
31
31
  The frontmatter must be the very first content in the file, before the main heading.
@@ -27,7 +27,7 @@ You should:
27
27
  - Begin the file with YAML frontmatter containing the gspec version:
28
28
  ```
29
29
  ---
30
- gspec-version: 1.3.0
30
+ gspec-version: 1.4.0
31
31
  ---
32
32
  ```
33
33
  The frontmatter must be the very first content in the file, before the main heading.
@@ -42,7 +42,7 @@ All of these provide essential context. If any are missing, note the gap and mak
42
42
  - Begin the file with YAML frontmatter containing the gspec version:
43
43
  ```
44
44
  ---
45
- gspec-version: 1.3.0
45
+ gspec-version: 1.4.0
46
46
  ---
47
47
  ```
48
48
  The frontmatter must be the very first content in the file, before the main heading.
@@ -144,7 +144,7 @@ After approval, write the spec updates:
144
144
  - Dependencies (on other features or external services)
145
145
  - Assumptions & Risks (assumptions, open questions, key risks and mitigations — note in assumptions that this feature was identified during iterative development)
146
146
  - Success Metrics
147
- - Begin the file with YAML frontmatter: `---\ngspec-version: 1.3.0\n---`
147
+ - Begin the file with YAML frontmatter: `---\ngspec-version: 1.4.0\n---`
148
148
  - **Also update `gspec/architecture.md`** if the new feature introduces data entities, API endpoints, or new components — add them to the appropriate architecture sections
149
149
 
150
150
  ### Phase 7: Verify — Confirm Consistency
@@ -177,7 +177,7 @@ After writing spec updates:
177
177
 
178
178
  **Implementation checkboxes.** Feature PRDs use markdown checkboxes (`- [ ]` / `- [x]`) on capabilities to track implementation status for `gspec-implement`. When DOR adds new capabilities, use unchecked checkboxes (`- [ ]`). When modifying a capability that was already checked (`- [x]`) and the code change reflects the modification, keep it checked. When creating a new feature PRD, use unchecked checkboxes for all capabilities. Do not check off capabilities that DOR did not implement in the current session.
179
179
 
180
- **Version frontmatter.** When updating existing gspec files, preserve the `gspec-version` YAML frontmatter at the top of the file. If a file lacks frontmatter, add `---\ngspec-version: 1.3.0\n---` as the very first content before the main heading.
180
+ **Version frontmatter.** When updating existing gspec files, preserve the `gspec-version` YAML frontmatter at the top of the file. If a file lacks frontmatter, add `---\ngspec-version: 1.4.0\n---` as the very first content before the main heading.
181
181
 
182
182
  ---
183
183
 
@@ -78,7 +78,7 @@ Epic summaries and the feature PRDs they produce are designed to be **portable a
78
78
  - Begin every output file (both epic summary and individual feature PRDs) with YAML frontmatter containing the gspec version:
79
79
  ```
80
80
  ---
81
- gspec-version: 1.3.0
81
+ gspec-version: 1.4.0
82
82
  ---
83
83
  ```
84
84
  The frontmatter must be the very first content in the file, before the main heading.
@@ -68,7 +68,7 @@ Feature PRDs are designed to be **portable across projects**. A feature spec wri
68
68
  - Begin the file with YAML frontmatter containing the gspec version:
69
69
  ```
70
70
  ---
71
- gspec-version: 1.3.0
71
+ gspec-version: 1.4.0
72
72
  ---
73
73
  ```
74
74
  The frontmatter must be the very first content in the file, before the main heading.
@@ -139,7 +139,7 @@ For each approved feature that doesn't already have a PRD in `gspec/features/`:
139
139
  - Dependencies (on other features or external services)
140
140
  - Assumptions & Risks (assumptions, open questions, key risks and mitigations)
141
141
  - Success Metrics
142
- - Begin the file with YAML frontmatter: `---\ngspec-version: 1.3.0\n---`
142
+ - Begin the file with YAML frontmatter: `---\ngspec-version: 1.4.0\n---`
143
143
  2. **Name the file** descriptively based on the feature (e.g., `gspec/features/onboarding-wizard.md`, `gspec/features/export-csv.md`)
144
144
  3. **Keep the PRD portable** — use generic role descriptions (not project-specific persona names), define success metrics in terms of the feature's own outcomes (not project-level KPIs), and describe UX behavior generically (not tied to a specific design system). The PRD should be reusable across projects; project-specific context is resolved when `gspec-implement` reads all gspec documents at implementation time.
145
145
  4. **Keep the PRD product-focused** — describe *what* and *why*, not *how*. Implementation details belong in the code, not the PRD.
@@ -206,7 +206,7 @@ Present a brief scaffold summary to the user before proceeding to feature implem
206
206
  c. **Follow the style** — Apply the design system, tokens, and component patterns from `gspec/style.md`
207
207
  d. **Satisfy the requirements** — Trace each piece of code back to a functional requirement in the feature PRD (if available) or to the user's stated goals and the approved implementation plan
208
208
  e. *If `gspec/research.md` exists:* **Leverage competitive insights** — When making UX or interaction design decisions not fully specified in the style guide, consider established patterns from the competitive research. Don't blindly copy, but don't ignore proven conventions either.
209
- 3. **Mark capabilities as implemented** — After successfully implementing each capability, immediately update the feature PRD by changing its checkbox from `- [ ]` to `- [x]`. Do this incrementally as each capability is completed, not in a batch at the end. If a capability line did not have a checkbox prefix, add one as `- [x]`. This ensures that if the session is interrupted, progress is not lost. When updating gspec files, preserve existing `gspec-version` YAML frontmatter. If a file lacks frontmatter, add `---\ngspec-version: 1.3.0\n---` at the top.
209
+ 3. **Mark capabilities as implemented** — After successfully implementing each capability, immediately update the feature PRD by changing its checkbox from `- [ ]` to `- [x]`. Do this incrementally as each capability is completed, not in a batch at the end. If a capability line did not have a checkbox prefix, add one as `- [x]`. This ensures that if the session is interrupted, progress is not lost. When updating gspec files, preserve existing `gspec-version` YAML frontmatter. If a file lacks frontmatter, add `---\ngspec-version: 1.4.0\n---` at the top.
210
210
  4. **Update epic status** — When all capabilities in a feature PRD are checked, update the corresponding feature's checkbox in the epic summary file (if one exists) from `- [ ]` to `- [x]`.
211
211
  5. **Run tests** — Execute the tests defined for this phase (and any existing tests to catch regressions). Fix any failures before proceeding.
212
212
  6. **Surface new gaps** — If implementation reveals new ambiguities, pause and consult the user rather than making silent assumptions
@@ -5,7 +5,7 @@ description: Migrate existing gspec files to the current format when upgrading t
5
5
 
6
6
  You are a Technical Documentation Migration Specialist.
7
7
 
8
- Your task is to update existing gspec specification documents to match the current gspec format (version 1.3.0). You preserve all substantive content while ensuring documents follow the latest structural conventions.
8
+ Your task is to update existing gspec specification documents to match the current gspec format (version 1.4.0). You preserve all substantive content while ensuring documents follow the latest structural conventions.
9
9
 
10
10
  ---
11
11
 
@@ -21,14 +21,14 @@ Scan the `gspec/` directory for all Markdown files:
21
21
  For each file, check the YAML frontmatter at the top of the file:
22
22
  - If the file starts with `---` followed by YAML content and another `---`, read the `gspec-version` field
23
23
  - If no frontmatter exists, the file predates version tracking
24
- - If `gspec-version` matches `1.3.0`, the file is current — skip it
24
+ - If `gspec-version` matches `1.4.0`, the file is current — skip it
25
25
 
26
26
  Present an inventory to the user:
27
27
 
28
28
  > **gspec File Inventory:**
29
29
  > - `gspec/profile.md` — no version (needs migration)
30
30
  > - `gspec/stack.md` — version 1.0.3 (needs migration)
31
- > - `gspec/style.md` — version 1.3.0 (current, skipping)
31
+ > - `gspec/style.md` — version 1.4.0 (current, skipping)
32
32
  > - `gspec/features/user-auth.md` — no version (needs migration)
33
33
 
34
34
  Ask the user to confirm which files to migrate, or confirm all.
@@ -64,7 +64,7 @@ For each file to migrate:
64
64
  5. **Add or update the frontmatter** — Ensure the file starts with:
65
65
  ```
66
66
  ---
67
- gspec-version: 1.3.0
67
+ gspec-version: 1.4.0
68
68
  ---
69
69
  ```
70
70
  6. **Present the proposed changes** to the user before writing. Show what sections are being reorganized, what is being added, and confirm no content is being lost.
@@ -78,7 +78,7 @@ After migrating all files:
78
78
  3. **Present a completion summary**:
79
79
 
80
80
  > **Migration Complete:**
81
- > - 4 files migrated to version 1.3.0
81
+ > - 4 files migrated to version 1.4.0
82
82
  > - 2 files were already current (skipped)
83
83
  > - Content preserved in all files
84
84
  > - Sections reorganized: [list any structural changes]
@@ -25,7 +25,7 @@ You should:
25
25
  - Begin the file with YAML frontmatter containing the gspec version:
26
26
  ```
27
27
  ---
28
- gspec-version: 1.3.0
28
+ gspec-version: 1.4.0
29
29
  ---
30
30
  ```
31
31
  The frontmatter must be the very first content in the file, before the main heading.
@@ -25,7 +25,7 @@ You should:
25
25
  - Begin the file with YAML frontmatter containing the gspec version:
26
26
  ```
27
27
  ---
28
- gspec-version: 1.3.0
28
+ gspec-version: 1.4.0
29
29
  ---
30
30
  ```
31
31
  The frontmatter must be the very first content in the file, before the main heading.
@@ -128,7 +128,7 @@ After approval, write the spec updates:
128
128
  - Dependencies (on other features or external services)
129
129
  - Assumptions & Risks (assumptions, open questions, key risks and mitigations — note in assumptions that this feature was recorded during iterative development)
130
130
  - Success Metrics
131
- - Begin the file with YAML frontmatter: `---\ngspec-version: 1.3.0\n---`
131
+ - Begin the file with YAML frontmatter: `---\ngspec-version: 1.4.0\n---`
132
132
  - **Also update `gspec/architecture.md`** if the new feature introduces data entities, API endpoints, or new components — add them to the appropriate architecture sections
133
133
 
134
134
  ### Phase 6: Verify — Confirm Consistency
@@ -157,7 +157,7 @@ After writing spec updates:
157
157
 
158
158
  **When to create vs. update.** If a change adds a small capability that fits naturally within an existing feature PRD, update that PRD. If a change introduces a wholly new product area that does not belong in any existing PRD, create a new feature PRD. When in doubt, ask the user.
159
159
 
160
- **Version frontmatter.** When updating existing gspec files, preserve the `gspec-version` YAML frontmatter at the top of the file. If a file lacks frontmatter, add `---\ngspec-version: 1.3.0\n---` as the very first content before the main heading.
160
+ **Version frontmatter.** When updating existing gspec files, preserve the `gspec-version` YAML frontmatter at the top of the file. If a file lacks frontmatter, add `---\ngspec-version: 1.4.0\n---` as the very first content before the main heading.
161
161
 
162
162
  **No code changes.** This command never creates, modifies, or deletes code files. If the user needs code changes alongside spec updates, suggest using `gspec-dor` instead.
163
163
 
@@ -147,7 +147,7 @@ After writing `gspec/research.md`, ask the user:
147
147
  - Assumptions & Risks (assumptions, open questions, key risks and mitigations)
148
148
  - Success Metrics
149
149
  - Implementation Context (standard portability note)
150
- - Begin the file with YAML frontmatter: `---\ngspec-version: 1.3.0\n---`
150
+ - Begin the file with YAML frontmatter: `---\ngspec-version: 1.4.0\n---`
151
151
  2. **Name the file** descriptively based on the feature (e.g., `gspec/features/csv-export.md`, `gspec/features/onboarding-wizard.md`)
152
152
  3. **Keep the PRD portable** — use generic role descriptions (not project-specific persona names), define success metrics in terms of the feature's own outcomes (not project-level KPIs), and describe UX behavior generically (not tied to a specific design system). The PRD should be reusable across projects.
153
153
  4. **Keep the PRD product-focused** — describe *what* and *why*, not *how*. Implementation details belong in the code, not the PRD.
@@ -166,7 +166,7 @@ After writing `gspec/research.md`, ask the user:
166
166
  - Begin `gspec/research.md` with YAML frontmatter containing the gspec version:
167
167
  ```
168
168
  ---
169
- gspec-version: 1.3.0
169
+ gspec-version: 1.4.0
170
170
  ---
171
171
  ```
172
172
  The frontmatter must be the very first content in the file, before the main heading.
@@ -183,7 +183,7 @@ The `gspec/research.md` file must follow this structure:
183
183
 
184
184
  ```markdown
185
185
  ---
186
- gspec-version: 1.3.0
186
+ gspec-version: 1.4.0
187
187
  ---
188
188
 
189
189
  # Competitive Research
@@ -25,7 +25,7 @@ You should:
25
25
  - Begin the file with YAML frontmatter containing the gspec version:
26
26
  ```
27
27
  ---
28
- gspec-version: 1.3.0
28
+ gspec-version: 1.4.0
29
29
  ---
30
30
  ```
31
31
  The frontmatter must be the very first content in the file, before the main heading.
@@ -27,7 +27,7 @@ You should:
27
27
  - Begin the file with YAML frontmatter containing the gspec version:
28
28
  ```
29
29
  ---
30
- gspec-version: 1.3.0
30
+ gspec-version: 1.4.0
31
31
  ---
32
32
  ```
33
33
  The frontmatter must be the very first content in the file, before the main heading.