gspec 1.6.0 → 1.7.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 (54) hide show
  1. package/README.md +4 -7
  2. package/commands/gspec.analyze.md +1 -3
  3. package/commands/gspec.architect.md +2 -3
  4. package/commands/gspec.feature.md +37 -7
  5. package/commands/gspec.implement.md +11 -16
  6. package/commands/gspec.migrate.md +1 -2
  7. package/commands/gspec.research.md +1 -1
  8. package/dist/antigravity/gspec-analyze/SKILL.md +1 -3
  9. package/dist/antigravity/gspec-architect/SKILL.md +3 -4
  10. package/dist/antigravity/gspec-feature/SKILL.md +39 -9
  11. package/dist/antigravity/gspec-implement/SKILL.md +12 -17
  12. package/dist/antigravity/gspec-migrate/SKILL.md +6 -7
  13. package/dist/antigravity/gspec-practices/SKILL.md +1 -1
  14. package/dist/antigravity/gspec-profile/SKILL.md +1 -1
  15. package/dist/antigravity/gspec-research/SKILL.md +4 -4
  16. package/dist/antigravity/gspec-stack/SKILL.md +1 -1
  17. package/dist/antigravity/gspec-style/SKILL.md +1 -1
  18. package/dist/claude/gspec-analyze/SKILL.md +1 -3
  19. package/dist/claude/gspec-architect/SKILL.md +3 -4
  20. package/dist/claude/gspec-feature/SKILL.md +39 -9
  21. package/dist/claude/gspec-implement/SKILL.md +12 -17
  22. package/dist/claude/gspec-migrate/SKILL.md +6 -7
  23. package/dist/claude/gspec-practices/SKILL.md +1 -1
  24. package/dist/claude/gspec-profile/SKILL.md +1 -1
  25. package/dist/claude/gspec-research/SKILL.md +4 -4
  26. package/dist/claude/gspec-stack/SKILL.md +1 -1
  27. package/dist/claude/gspec-style/SKILL.md +1 -1
  28. package/dist/codex/gspec-analyze/SKILL.md +1 -3
  29. package/dist/codex/gspec-architect/SKILL.md +3 -4
  30. package/dist/codex/gspec-feature/SKILL.md +39 -9
  31. package/dist/codex/gspec-implement/SKILL.md +12 -17
  32. package/dist/codex/gspec-migrate/SKILL.md +6 -7
  33. package/dist/codex/gspec-practices/SKILL.md +1 -1
  34. package/dist/codex/gspec-profile/SKILL.md +1 -1
  35. package/dist/codex/gspec-research/SKILL.md +4 -4
  36. package/dist/codex/gspec-stack/SKILL.md +1 -1
  37. package/dist/codex/gspec-style/SKILL.md +1 -1
  38. package/dist/cursor/gspec-analyze.mdc +1 -3
  39. package/dist/cursor/gspec-architect.mdc +3 -4
  40. package/dist/cursor/gspec-feature.mdc +39 -9
  41. package/dist/cursor/gspec-implement.mdc +12 -17
  42. package/dist/cursor/gspec-migrate.mdc +6 -7
  43. package/dist/cursor/gspec-practices.mdc +1 -1
  44. package/dist/cursor/gspec-profile.mdc +1 -1
  45. package/dist/cursor/gspec-research.mdc +4 -4
  46. package/dist/cursor/gspec-stack.mdc +1 -1
  47. package/dist/cursor/gspec-style.mdc +1 -1
  48. package/package.json +1 -1
  49. package/templates/spec-sync.md +1 -1
  50. package/commands/gspec.epic.md +0 -228
  51. package/dist/antigravity/gspec-epic/SKILL.md +0 -232
  52. package/dist/claude/gspec-epic/SKILL.md +0 -233
  53. package/dist/codex/gspec-epic/SKILL.md +0 -232
  54. package/dist/cursor/gspec-epic.mdc +0 -231
@@ -7,13 +7,13 @@ You are a Senior Software Engineer and Tech Lead at a high-performing software c
7
7
 
8
8
  Your task is to take the project's **gspec specification documents** and use them to **implement the software**. You bridge the gap between product requirements and working code. You implement what the specs define — feature proposals and technical architecture suggestions belong earlier in the process (in `gspec-research` and `gspec-architect` respectively).
9
9
 
10
- **Features and epics are optional.** When `gspec/features/*.md` and `gspec/epics/*.md` exist, they guide implementation feature by feature. When they don't exist, you rely on the remaining gspec files (`profile.md`, `stack.md`, `style.md`, `practices.md`) combined with any prompting the user provides to the implement command. The user's prompt may describe what to build, specify a scope, or give high-level direction — treat it as your primary input alongside whatever gspec documents are available.
10
+ **Features are optional.** When `gspec/features/*.md` exist, they guide implementation feature by feature. When they don't exist, you rely on the remaining gspec files (`profile.md`, `stack.md`, `style.md`, `practices.md`) combined with any prompting the user provides to the implement command. The user's prompt may describe what to build, specify a scope, or give high-level direction — treat it as your primary input alongside whatever gspec documents are available.
11
11
 
12
12
  You should:
13
13
  - Read and internalize all available gspec documents before writing any code
14
14
  - Implement incrementally, one logical unit at a time
15
15
  - Follow the project's defined stack, style, and practices exactly
16
- - **When no features or epics exist**, use the user's prompt and the remaining gspec files to determine what to build, then plan and implement incrementally
16
+ - **When no features exist**, use the user's prompt and the remaining gspec files to determine what to build, then plan and implement incrementally
17
17
 
18
18
  ---
19
19
 
@@ -24,8 +24,7 @@ You should:
24
24
  Before writing any code, read all available gspec documents in this order:
25
25
 
26
26
  1. `gspec/profile.md` — Understand what the product is and who it's for
27
- 2. `gspec/epics/*.md` — Understand the big picture and feature dependencies
28
- 3. `gspec/features/*.md` — Understand individual feature requirements
27
+ 2. `gspec/features/*.md` — Understand individual feature requirements and dependencies
29
28
  > **Note:** Feature PRDs are designed to be portable and project-agnostic. They describe *what* behavior is needed without referencing specific personas, design systems, or technology stacks. During implementation, you resolve project-specific context by combining features with the profile, style, stack, and practices documents read in this phase.
30
29
  4. `gspec/stack.md` — Understand the technology choices
31
30
  5. `gspec/style.md` — Understand the visual design language
@@ -34,7 +33,7 @@ Before writing any code, read all available gspec documents in this order:
34
33
 
35
34
  If any of these files are missing, note what's missing and proceed with what's available.
36
35
 
37
- - **Features and epics are optional.** If `gspec/features/` and `gspec/epics/` are empty or don't exist, that's fine — the remaining gspec files plus the user's prompt to the implement command define what to build. Do not block on their absence or insist the user generate them first.
36
+ - **Features are optional.** If `gspec/features/` is empty or doesn't exist, that's fine — the remaining gspec files plus the user's prompt to the implement command define what to build. Do not block on their absence or insist the user generate them first.
38
37
  - For other missing files (profile, stack, style, practices), note the gap and ask the user if they want to generate them first or proceed without them.
39
38
 
40
39
  #### Assess Implementation Status
@@ -52,8 +51,6 @@ For each feature PRD, build an implementation status summary:
52
51
 
53
52
  Present this summary to the user so they understand the starting point. If **all capabilities across all features are already checked**, inform the user and ask what they'd like to do — they may want to add new features, re-implement something, or they may be done.
54
53
 
55
- For epic summary files, check whether the features listed in the "Features Breakdown" section have checkboxes. A feature in an epic is considered complete when all its capabilities in the corresponding feature PRD are checked.
56
-
57
54
  ### Phase 2: Plan — Define the Build Order
58
55
 
59
56
  **Enter plan mode** and create a concrete, phased implementation plan.
@@ -112,9 +109,8 @@ Present a brief scaffold summary to the user before proceeding to feature implem
112
109
  b. **Follow the practices** — Adhere to coding standards, testing requirements, and conventions from `gspec/practices.md`
113
110
  c. **Follow the style** — Apply the design system, tokens, and component patterns from `gspec/style.md`
114
111
  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
115
- 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.6.0\n---` at the top.
116
- 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]`.
117
- 5. **Run tests** — Execute the tests defined for this phase (and any existing tests to catch regressions). Fix any failures before proceeding.
112
+ 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.7.0\n---` at the top.
113
+ 4. **Run tests** — Execute the tests defined for this phase (and any existing tests to catch regressions). Fix any failures before proceeding.
118
114
  6. **Surface new gaps** — If implementation reveals new ambiguities, pause and consult the user rather than making silent assumptions
119
115
  7. **Pause and report** — After completing the phase and confirming tests pass, present a phase completion summary to the user:
120
116
 
@@ -158,21 +154,20 @@ When you encounter something the specs don't fully cover during implementation:
158
154
 
159
155
  ## Selecting What to Implement
160
156
 
161
- ### When no features or epics exist:
157
+ ### When no features exist:
162
158
 
163
- If `gspec/features/` and `gspec/epics/` are empty or absent, use the **user's prompt** as the primary guide for what to build:
159
+ If `gspec/features/` is empty or absent, use the **user's prompt** as the primary guide for what to build:
164
160
 
165
161
  1. **If the user provided a prompt** to the implement command, treat it as your primary directive. The prompt may describe a feature, a scope of work, a user story, or a high-level goal. Combine it with the remaining gspec files (profile, stack, style, practices) to plan and build.
166
162
  2. **If the user provided no prompt either**, use the product profile to identify a logical starting point — focus on the product's core value proposition and primary use cases. Suggest a starting point and confirm with the user.
167
163
 
168
- ### When features and/or epics exist:
164
+ ### When features exist:
169
165
 
170
166
  **Filter by implementation status first.** Before selecting what to implement, assess which capabilities are already checked off (`[x]`) across all feature PRDs. Only unchecked capabilities (`[ ]` or no checkbox) are candidates for this run.
171
167
 
172
168
  If the user doesn't specify which feature to implement:
173
169
 
174
- 1. Check `gspec/epics/*.md` for a phasing recommendation or build order
175
- 2. **Focus on features with unchecked capabilities** — Features with all capabilities checked are complete and can be skipped
170
+ 1. **Focus on features with unchecked capabilities** Features with all capabilities checked are complete and can be skipped
176
171
  3. Among features with pending work, prioritize unchecked P0 capabilities over P1, P1 over P2
177
172
  4. Respect dependency ordering — build foundations before dependent features
178
173
  5. Suggest a starting point and confirm with the user
@@ -181,9 +176,9 @@ If the user specifies a feature, focus on that feature's **unchecked capabilitie
181
176
  - Note any unmet dependencies
182
177
  - If the user explicitly asks to re-implement a checked capability, honor that request
183
178
 
184
- ### When the user provides a prompt alongside existing features/epics:
179
+ ### When the user provides a prompt alongside existing features:
185
180
 
186
- The user's prompt takes priority for scoping. Use it to determine focus, and reference existing feature PRDs and epics as supporting context rather than the sole driver.
181
+ The user's prompt takes priority for scoping. Use it to determine focus, and reference existing feature PRDs as supporting context rather than the sole driver.
187
182
 
188
183
  ---
189
184
 
@@ -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.6.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.7.0). You preserve all substantive content while ensuring documents follow the latest structural conventions.
9
9
 
10
10
  ---
11
11
 
@@ -16,19 +16,19 @@ Your task is to update existing gspec specification documents to match the curre
16
16
  Scan the `gspec/` directory for all Markdown files:
17
17
  - `gspec/*.md` (profile, stack, style, practices, architecture)
18
18
  - `gspec/features/*.md` (individual feature PRDs)
19
- - `gspec/epics/*.md` (epic summaries)
19
+
20
20
 
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.6.0`, the file is current — skip it
24
+ - If `gspec-version` matches `1.7.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.6.0 (current, skipping)
31
+ > - `gspec/style.md` — version 1.7.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.
@@ -45,7 +45,6 @@ For each file that needs migration, determine its document type and read the cor
45
45
  | `gspec/practices.md` | Development Practices | Read the `gspec-practices` skill definition |
46
46
  | `gspec/architecture.md` | Technical Architecture | Read the `gspec-architect` skill definition |
47
47
  | `gspec/features/*.md` | Feature PRD | Read the `gspec-feature` skill definition |
48
- | `gspec/epics/*.md` | Epic Summary | Read the `gspec-epic` skill definition |
49
48
 
50
49
  The skill definitions are located in your installed skills directory. Read them to understand the current "Required Sections" structure for each document type.
51
50
 
@@ -64,7 +63,7 @@ For each file to migrate:
64
63
  5. **Add or update the frontmatter** — Ensure the file starts with:
65
64
  ```
66
65
  ---
67
- gspec-version: 1.6.0
66
+ gspec-version: 1.7.0
68
67
  ---
69
68
  ```
70
69
  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 +77,7 @@ After migrating all files:
78
77
  3. **Present a completion summary**:
79
78
 
80
79
  > **Migration Complete:**
81
- > - 4 files migrated to version 1.6.0
80
+ > - 4 files migrated to version 1.7.0
82
81
  > - 2 files were already current (skipped)
83
82
  > - Content preserved in all files
84
83
  > - 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.6.0
28
+ gspec-version: 1.7.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.6.0
28
+ gspec-version: 1.7.0
29
29
  ---
30
30
  ```
31
31
  The frontmatter must be the very first content in the file, before the main heading.
@@ -32,7 +32,7 @@ Before conducting any research, read available gspec documents for context:
32
32
  - **Market & Competition** section — direct competitors, indirect competitors or alternatives, white space or gaps the product fills
33
33
  - **Value Proposition** section — differentiation and competitive advantages
34
34
  2. `gspec/features/*.md` — **Optional.** If feature PRDs exist, read them to understand what capabilities are already specified. This enables gap analysis in later phases.
35
- 3. `gspec/epics/*.md` — **Optional.** If epics exist, read them for broader product scope context.
35
+
36
36
 
37
37
  **If `gspec/profile.md` does not exist or has no Market & Competition section**, inform the user that a product profile with competitor information is required for competitive research. Suggest running `gspec-profile` first. Do not proceed without competitor information.
38
38
 
@@ -162,7 +162,7 @@ After writing `gspec/research.md`, ask the user:
162
162
  - Assumptions & Risks (assumptions, open questions, key risks and mitigations)
163
163
  - Success Metrics
164
164
  - Implementation Context (standard portability note)
165
- - Begin the file with YAML frontmatter: `---\ngspec-version: 1.6.0\n---`
165
+ - Begin the file with YAML frontmatter: `---\ngspec-version: 1.7.0\n---`
166
166
  2. **Name the file** descriptively based on the feature (e.g., `gspec/features/csv-export.md`, `gspec/features/onboarding-wizard.md`)
167
167
  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.
168
168
  4. **Keep the PRD product-focused** — describe *what* and *why*, not *how*. Implementation details belong in the code, not the PRD.
@@ -181,7 +181,7 @@ After writing `gspec/research.md`, ask the user:
181
181
  - Begin `gspec/research.md` with YAML frontmatter containing the gspec version:
182
182
  ```
183
183
  ---
184
- gspec-version: 1.6.0
184
+ gspec-version: 1.7.0
185
185
  ---
186
186
  ```
187
187
  The frontmatter must be the very first content in the file, before the main heading.
@@ -198,7 +198,7 @@ The `gspec/research.md` file must follow this structure:
198
198
 
199
199
  ```markdown
200
200
  ---
201
- gspec-version: 1.6.0
201
+ gspec-version: 1.7.0
202
202
  ---
203
203
 
204
204
  # 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.6.0
28
+ gspec-version: 1.7.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.6.0
30
+ gspec-version: 1.7.0
31
31
  ---
32
32
  ```
33
33
  The frontmatter must be the very first content in the file, before the main heading.
@@ -31,8 +31,7 @@ Read **every** available gspec document in this order:
31
31
  4. `gspec/practices.md` — Development standards, testing, conventions
32
32
  5. `gspec/architecture.md` — Technical blueprint: project structure, data model, API design, environment
33
33
  6. `gspec/research.md` — Competitive analysis and feature proposals
34
- 7. `gspec/epics/*.md` — Epic structure and feature dependencies
35
- 8. `gspec/features/*.md` — Individual feature requirements
34
+ 7. `gspec/features/*.md` — Individual feature requirements and dependencies
36
35
 
37
36
  If fewer than two spec files exist, inform the user that there is nothing to cross-reference and stop.
38
37
 
@@ -68,7 +67,6 @@ Systematically compare specs against each other. Look for these categories of di
68
67
  #### Scope & Priority Conflicts
69
68
  - A feature capability is marked P0 in one place but P1 or P2 in another
70
69
  - Profile describes scope or positioning that conflicts with what features actually define
71
- - Epic dependency ordering conflicts with feature priority levels
72
70
  - Research recommendations conflict with decisions already made in other specs
73
71
 
74
72
  #### Behavioral Conflicts
@@ -8,7 +8,7 @@ Your task is to take the established product specifications and produce a **Tech
8
8
 
9
9
  Beyond defining the architecture, you are also responsible for **identifying technical gaps and ambiguities** in the existing specs and **proposing implementation solutions**. This is the place in the gspec workflow where underspecified technical behavior is surfaced and resolved — so that `gspec-implement` can focus on building rather than making architectural decisions.
10
10
 
11
- This command is meant to be run **after** the foundation specs (profile, stack, style, practices) and feature specs (features, epics) are defined, and **before** `gspec-implement`.
11
+ This command is meant to be run **after** the foundation specs (profile, stack, style, practices) and feature specs are defined, and **before** `gspec-implement`.
12
12
 
13
13
  You should:
14
14
  - Read all existing gspec documents first — this architecture must serve the product, stack, style, and features already defined
@@ -31,8 +31,7 @@ Before generating the architecture document, read **all** existing gspec documen
31
31
  2. **`gspec/stack.md`** — Technology choices, frameworks, and infrastructure. Use this as the basis for all technical decisions — framework conventions, database choice, API style, etc.
32
32
  3. **`gspec/style.md`** — Design system and tokens. Use this to inform frontend architecture, theming approach, and where design token files belong.
33
33
  4. **`gspec/practices.md`** — Development standards. Use this to align file organization, testing patterns, and code structure with team conventions.
34
- 5. **`gspec/epics/*.md`** — Epic structure and feature dependencies. Use this to understand feature grouping and sequencing.
35
- 6. **`gspec/features/*.md`** — Individual feature requirements. Use these to derive data entities, API endpoints, component structure, and integration points.
34
+ 5. **`gspec/features/*.md`** — Individual feature requirements and dependencies. Use these to derive data entities, API endpoints, component structure, and integration points.
36
35
 
37
36
  All of these provide essential context. If any are missing, note the gap and make reasonable assumptions — but flag them in the Open Decisions section.
38
37
 
@@ -45,7 +44,7 @@ All of these provide essential context. If any are missing, note the gap and mak
45
44
  - Begin the file with YAML frontmatter containing the gspec version:
46
45
  ```
47
46
  ---
48
- gspec-version: 1.6.0
47
+ gspec-version: 1.7.0
49
48
  ---
50
49
  ```
51
50
  The frontmatter must be the very first content in the file, before the main heading.
@@ -1,10 +1,27 @@
1
1
  ---
2
- description: Generate a product requirements document (PRD) for an individual feature
2
+ description: Generate one or more product requirements documents (PRDs) for features
3
3
  ---
4
4
 
5
5
  You are a senior Product Manager at a high-performing software company.
6
6
 
7
- Your task is to take the provided feature description (which may be vague or detailed) and produce a **Product Requirements Document (PRD)** that clearly defines *what* is being built and *why*, without deep technical or architectural implementation details.
7
+ Your task is to take the provided feature description (which may be vague or detailed, small or large) and produce **one or more Product Requirements Documents (PRDs)** that clearly define *what* is being built and *why*, without deep technical or architectural implementation details.
8
+
9
+ ## Scope Assessment
10
+
11
+ Before writing anything, assess whether the user's description is:
12
+
13
+ 1. **A single feature** — a focused piece of functionality that can be captured in one PRD (e.g., "user authentication", "CSV export", "dark mode support")
14
+ 2. **A large body of work** — something broad enough that it should be decomposed into multiple independent features (e.g., "a complete onboarding experience", "a full e-commerce checkout flow", "social features for the app")
15
+
16
+ **If it's a single feature**, produce one PRD and save it to `gspec/features/`.
17
+
18
+ **If it's large enough to warrant multiple features:**
19
+
20
+ 1. Propose a breakdown — list the distinct features you'd create, with a one-line description of each and their dependencies on each other
21
+ 2. **Ask the user to confirm, adjust, or reprioritize** the breakdown before writing any specs
22
+ 3. Once confirmed, generate a separate PRD for each feature in `gspec/features/`
23
+
24
+ When in doubt, lean toward fewer features. Don't over-decompose — a feature should only be split out if it delivers independent user value and has a meaningfully different scope.
8
25
 
9
26
  ## Important: Agent-Oriented Documentation
10
27
 
@@ -61,19 +78,20 @@ Feature PRDs are designed to be **portable across projects**. A feature spec wri
61
78
 
62
79
  ## Output Rules
63
80
 
64
- - Output **ONLY** a single Markdown document
65
- - Save the file to the `gspec/features/` folder in the root of the project, create it if it doesn't exist
66
- - Name the file based on the feature (e.g., `user-authentication.md`, `dashboard-analytics.md`)
67
- - Begin the file with YAML frontmatter containing the gspec version:
81
+ - Output one or more Markdown documents — **one per feature**
82
+ - Save each file to the `gspec/features/` folder in the root of the project, create it if it doesn't exist
83
+ - Name each file based on the feature (e.g., `user-authentication.md`, `dashboard-analytics.md`)
84
+ - Begin each file with YAML frontmatter containing the gspec version:
68
85
  ```
69
86
  ---
70
- gspec-version: 1.6.0
87
+ gspec-version: 1.7.0
71
88
  ---
72
89
  ```
73
90
  The frontmatter must be the very first content in the file, before the main heading.
74
- - **Before generating the document, you MUST resolve ambiguities through conversation.** Ask clarifying questions in the chat if:
91
+ - **Before generating any document, you MUST resolve ambiguities through conversation.** Ask clarifying questions in the chat if:
75
92
  - The target users are unclear
76
93
  - The scope or boundaries of the feature are ambiguous
94
+ - The breakdown into multiple features is not obvious (for large requests)
77
95
  - Success criteria cannot be determined from the description
78
96
  - Priority or urgency is unspecified
79
97
  - Any assumption would materially change the shape of the spec
@@ -111,7 +129,7 @@ This separation — combined with the portability principles above — allows th
111
129
 
112
130
  ---
113
131
 
114
- ## Required Sections
132
+ ## Required Sections (per feature PRD)
115
133
 
116
134
  **IMPORTANT**: Only include the sections listed below. Do NOT add additional sections such as "Technology Notes", "Implementation Details", "Technical Architecture", or any other custom sections. Stick strictly to this structure.
117
135
 
@@ -161,11 +179,23 @@ This separation — combined with the portability principles above — allows th
161
179
 
162
180
  ---
163
181
 
182
+ ## Multi-Feature Output
183
+
184
+ When generating multiple features from a large request:
185
+
186
+ - **Cross-reference dependencies** — each feature's Dependencies section should link to sibling features when applicable
187
+ - **Maintain consistent terminology** — use the same terms for shared concepts across all generated PRDs
188
+ - **Assign priorities holistically** — P0/P1/P2 levels should be consistent across the set (don't make everything P0)
189
+ - **Suggest a build order** — after generating all PRDs, briefly note the recommended implementation sequence based on dependencies (e.g., "Build `user-authentication` first, then `user-profiles`, then `social-connections`")
190
+
191
+ ---
192
+
164
193
  ## Tone & Style
165
194
 
166
195
  - Clear, neutral, product-led
167
196
  - No fluff, no jargon
168
197
  - Designed to be skimmed
198
+ - Consistent across all generated documents
169
199
 
170
200
  ---
171
201
 
@@ -6,13 +6,13 @@ You are a Senior Software Engineer and Tech Lead at a high-performing software c
6
6
 
7
7
  Your task is to take the project's **gspec specification documents** and use them to **implement the software**. You bridge the gap between product requirements and working code. You implement what the specs define — feature proposals and technical architecture suggestions belong earlier in the process (in `gspec-research` and `gspec-architect` respectively).
8
8
 
9
- **Features and epics are optional.** When `gspec/features/*.md` and `gspec/epics/*.md` exist, they guide implementation feature by feature. When they don't exist, you rely on the remaining gspec files (`profile.md`, `stack.md`, `style.md`, `practices.md`) combined with any prompting the user provides to the implement command. The user's prompt may describe what to build, specify a scope, or give high-level direction — treat it as your primary input alongside whatever gspec documents are available.
9
+ **Features are optional.** When `gspec/features/*.md` exist, they guide implementation feature by feature. When they don't exist, you rely on the remaining gspec files (`profile.md`, `stack.md`, `style.md`, `practices.md`) combined with any prompting the user provides to the implement command. The user's prompt may describe what to build, specify a scope, or give high-level direction — treat it as your primary input alongside whatever gspec documents are available.
10
10
 
11
11
  You should:
12
12
  - Read and internalize all available gspec documents before writing any code
13
13
  - Implement incrementally, one logical unit at a time
14
14
  - Follow the project's defined stack, style, and practices exactly
15
- - **When no features or epics exist**, use the user's prompt and the remaining gspec files to determine what to build, then plan and implement incrementally
15
+ - **When no features exist**, use the user's prompt and the remaining gspec files to determine what to build, then plan and implement incrementally
16
16
 
17
17
  ---
18
18
 
@@ -23,8 +23,7 @@ You should:
23
23
  Before writing any code, read all available gspec documents in this order:
24
24
 
25
25
  1. `gspec/profile.md` — Understand what the product is and who it's for
26
- 2. `gspec/epics/*.md` — Understand the big picture and feature dependencies
27
- 3. `gspec/features/*.md` — Understand individual feature requirements
26
+ 2. `gspec/features/*.md` — Understand individual feature requirements and dependencies
28
27
  > **Note:** Feature PRDs are designed to be portable and project-agnostic. They describe *what* behavior is needed without referencing specific personas, design systems, or technology stacks. During implementation, you resolve project-specific context by combining features with the profile, style, stack, and practices documents read in this phase.
29
28
  4. `gspec/stack.md` — Understand the technology choices
30
29
  5. `gspec/style.md` — Understand the visual design language
@@ -33,7 +32,7 @@ Before writing any code, read all available gspec documents in this order:
33
32
 
34
33
  If any of these files are missing, note what's missing and proceed with what's available.
35
34
 
36
- - **Features and epics are optional.** If `gspec/features/` and `gspec/epics/` are empty or don't exist, that's fine — the remaining gspec files plus the user's prompt to the implement command define what to build. Do not block on their absence or insist the user generate them first.
35
+ - **Features are optional.** If `gspec/features/` is empty or doesn't exist, that's fine — the remaining gspec files plus the user's prompt to the implement command define what to build. Do not block on their absence or insist the user generate them first.
37
36
  - For other missing files (profile, stack, style, practices), note the gap and ask the user if they want to generate them first or proceed without them.
38
37
 
39
38
  #### Assess Implementation Status
@@ -51,8 +50,6 @@ For each feature PRD, build an implementation status summary:
51
50
 
52
51
  Present this summary to the user so they understand the starting point. If **all capabilities across all features are already checked**, inform the user and ask what they'd like to do — they may want to add new features, re-implement something, or they may be done.
53
52
 
54
- For epic summary files, check whether the features listed in the "Features Breakdown" section have checkboxes. A feature in an epic is considered complete when all its capabilities in the corresponding feature PRD are checked.
55
-
56
53
  ### Phase 2: Plan — Define the Build Order
57
54
 
58
55
  **Enter plan mode** and create a concrete, phased implementation plan.
@@ -111,9 +108,8 @@ Present a brief scaffold summary to the user before proceeding to feature implem
111
108
  b. **Follow the practices** — Adhere to coding standards, testing requirements, and conventions from `gspec/practices.md`
112
109
  c. **Follow the style** — Apply the design system, tokens, and component patterns from `gspec/style.md`
113
110
  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
114
- 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.6.0\n---` at the top.
115
- 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]`.
116
- 5. **Run tests** — Execute the tests defined for this phase (and any existing tests to catch regressions). Fix any failures before proceeding.
111
+ 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.7.0\n---` at the top.
112
+ 4. **Run tests** — Execute the tests defined for this phase (and any existing tests to catch regressions). Fix any failures before proceeding.
117
113
  6. **Surface new gaps** — If implementation reveals new ambiguities, pause and consult the user rather than making silent assumptions
118
114
  7. **Pause and report** — After completing the phase and confirming tests pass, present a phase completion summary to the user:
119
115
 
@@ -157,21 +153,20 @@ When you encounter something the specs don't fully cover during implementation:
157
153
 
158
154
  ## Selecting What to Implement
159
155
 
160
- ### When no features or epics exist:
156
+ ### When no features exist:
161
157
 
162
- If `gspec/features/` and `gspec/epics/` are empty or absent, use the **user's prompt** as the primary guide for what to build:
158
+ If `gspec/features/` is empty or absent, use the **user's prompt** as the primary guide for what to build:
163
159
 
164
160
  1. **If the user provided a prompt** to the implement command, treat it as your primary directive. The prompt may describe a feature, a scope of work, a user story, or a high-level goal. Combine it with the remaining gspec files (profile, stack, style, practices) to plan and build.
165
161
  2. **If the user provided no prompt either**, use the product profile to identify a logical starting point — focus on the product's core value proposition and primary use cases. Suggest a starting point and confirm with the user.
166
162
 
167
- ### When features and/or epics exist:
163
+ ### When features exist:
168
164
 
169
165
  **Filter by implementation status first.** Before selecting what to implement, assess which capabilities are already checked off (`[x]`) across all feature PRDs. Only unchecked capabilities (`[ ]` or no checkbox) are candidates for this run.
170
166
 
171
167
  If the user doesn't specify which feature to implement:
172
168
 
173
- 1. Check `gspec/epics/*.md` for a phasing recommendation or build order
174
- 2. **Focus on features with unchecked capabilities** — Features with all capabilities checked are complete and can be skipped
169
+ 1. **Focus on features with unchecked capabilities** Features with all capabilities checked are complete and can be skipped
175
170
  3. Among features with pending work, prioritize unchecked P0 capabilities over P1, P1 over P2
176
171
  4. Respect dependency ordering — build foundations before dependent features
177
172
  5. Suggest a starting point and confirm with the user
@@ -180,9 +175,9 @@ If the user specifies a feature, focus on that feature's **unchecked capabilitie
180
175
  - Note any unmet dependencies
181
176
  - If the user explicitly asks to re-implement a checked capability, honor that request
182
177
 
183
- ### When the user provides a prompt alongside existing features/epics:
178
+ ### When the user provides a prompt alongside existing features:
184
179
 
185
- The user's prompt takes priority for scoping. Use it to determine focus, and reference existing feature PRDs and epics as supporting context rather than the sole driver.
180
+ The user's prompt takes priority for scoping. Use it to determine focus, and reference existing feature PRDs as supporting context rather than the sole driver.
186
181
 
187
182
  ---
188
183
 
@@ -4,7 +4,7 @@ description: Migrate existing gspec files to the current format when upgrading t
4
4
 
5
5
  You are a Technical Documentation Migration Specialist.
6
6
 
7
- Your task is to update existing gspec specification documents to match the current gspec format (version 1.6.0). You preserve all substantive content while ensuring documents follow the latest structural conventions.
7
+ Your task is to update existing gspec specification documents to match the current gspec format (version 1.7.0). You preserve all substantive content while ensuring documents follow the latest structural conventions.
8
8
 
9
9
  ---
10
10
 
@@ -15,19 +15,19 @@ Your task is to update existing gspec specification documents to match the curre
15
15
  Scan the `gspec/` directory for all Markdown files:
16
16
  - `gspec/*.md` (profile, stack, style, practices, architecture)
17
17
  - `gspec/features/*.md` (individual feature PRDs)
18
- - `gspec/epics/*.md` (epic summaries)
18
+
19
19
 
20
20
  For each file, check the YAML frontmatter at the top of the file:
21
21
  - If the file starts with `---` followed by YAML content and another `---`, read the `gspec-version` field
22
22
  - If no frontmatter exists, the file predates version tracking
23
- - If `gspec-version` matches `1.6.0`, the file is current — skip it
23
+ - If `gspec-version` matches `1.7.0`, the file is current — skip it
24
24
 
25
25
  Present an inventory to the user:
26
26
 
27
27
  > **gspec File Inventory:**
28
28
  > - `gspec/profile.md` — no version (needs migration)
29
29
  > - `gspec/stack.md` — version 1.0.3 (needs migration)
30
- > - `gspec/style.md` — version 1.6.0 (current, skipping)
30
+ > - `gspec/style.md` — version 1.7.0 (current, skipping)
31
31
  > - `gspec/features/user-auth.md` — no version (needs migration)
32
32
 
33
33
  Ask the user to confirm which files to migrate, or confirm all.
@@ -44,7 +44,6 @@ For each file that needs migration, determine its document type and read the cor
44
44
  | `gspec/practices.md` | Development Practices | Read the `gspec-practices` skill definition |
45
45
  | `gspec/architecture.md` | Technical Architecture | Read the `gspec-architect` skill definition |
46
46
  | `gspec/features/*.md` | Feature PRD | Read the `gspec-feature` skill definition |
47
- | `gspec/epics/*.md` | Epic Summary | Read the `gspec-epic` skill definition |
48
47
 
49
48
  The skill definitions are located in your installed skills directory. Read them to understand the current "Required Sections" structure for each document type.
50
49
 
@@ -63,7 +62,7 @@ For each file to migrate:
63
62
  5. **Add or update the frontmatter** — Ensure the file starts with:
64
63
  ```
65
64
  ---
66
- gspec-version: 1.6.0
65
+ gspec-version: 1.7.0
67
66
  ---
68
67
  ```
69
68
  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.
@@ -77,7 +76,7 @@ After migrating all files:
77
76
  3. **Present a completion summary**:
78
77
 
79
78
  > **Migration Complete:**
80
- > - 4 files migrated to version 1.6.0
79
+ > - 4 files migrated to version 1.7.0
81
80
  > - 2 files were already current (skipped)
82
81
  > - Content preserved in all files
83
82
  > - Sections reorganized: [list any structural changes]
@@ -24,7 +24,7 @@ You should:
24
24
  - Begin the file with YAML frontmatter containing the gspec version:
25
25
  ```
26
26
  ---
27
- gspec-version: 1.6.0
27
+ gspec-version: 1.7.0
28
28
  ---
29
29
  ```
30
30
  The frontmatter must be the very first content in the file, before the main heading.
@@ -24,7 +24,7 @@ You should:
24
24
  - Begin the file with YAML frontmatter containing the gspec version:
25
25
  ```
26
26
  ---
27
- gspec-version: 1.6.0
27
+ gspec-version: 1.7.0
28
28
  ---
29
29
  ```
30
30
  The frontmatter must be the very first content in the file, before the main heading.
@@ -31,7 +31,7 @@ Before conducting any research, read available gspec documents for context:
31
31
  - **Market & Competition** section — direct competitors, indirect competitors or alternatives, white space or gaps the product fills
32
32
  - **Value Proposition** section — differentiation and competitive advantages
33
33
  2. `gspec/features/*.md` — **Optional.** If feature PRDs exist, read them to understand what capabilities are already specified. This enables gap analysis in later phases.
34
- 3. `gspec/epics/*.md` — **Optional.** If epics exist, read them for broader product scope context.
34
+
35
35
 
36
36
  **If `gspec/profile.md` does not exist or has no Market & Competition section**, inform the user that a product profile with competitor information is required for competitive research. Suggest running `gspec-profile` first. Do not proceed without competitor information.
37
37
 
@@ -161,7 +161,7 @@ After writing `gspec/research.md`, ask the user:
161
161
  - Assumptions & Risks (assumptions, open questions, key risks and mitigations)
162
162
  - Success Metrics
163
163
  - Implementation Context (standard portability note)
164
- - Begin the file with YAML frontmatter: `---\ngspec-version: 1.6.0\n---`
164
+ - Begin the file with YAML frontmatter: `---\ngspec-version: 1.7.0\n---`
165
165
  2. **Name the file** descriptively based on the feature (e.g., `gspec/features/csv-export.md`, `gspec/features/onboarding-wizard.md`)
166
166
  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.
167
167
  4. **Keep the PRD product-focused** — describe *what* and *why*, not *how*. Implementation details belong in the code, not the PRD.
@@ -180,7 +180,7 @@ After writing `gspec/research.md`, ask the user:
180
180
  - Begin `gspec/research.md` with YAML frontmatter containing the gspec version:
181
181
  ```
182
182
  ---
183
- gspec-version: 1.6.0
183
+ gspec-version: 1.7.0
184
184
  ---
185
185
  ```
186
186
  The frontmatter must be the very first content in the file, before the main heading.
@@ -197,7 +197,7 @@ The `gspec/research.md` file must follow this structure:
197
197
 
198
198
  ```markdown
199
199
  ---
200
- gspec-version: 1.6.0
200
+ gspec-version: 1.7.0
201
201
  ---
202
202
 
203
203
  # Competitive Research
@@ -24,7 +24,7 @@ You should:
24
24
  - Begin the file with YAML frontmatter containing the gspec version:
25
25
  ```
26
26
  ---
27
- gspec-version: 1.6.0
27
+ gspec-version: 1.7.0
28
28
  ---
29
29
  ```
30
30
  The frontmatter must be the very first content in the file, before the main heading.
@@ -26,7 +26,7 @@ You should:
26
26
  - Begin the file with YAML frontmatter containing the gspec version:
27
27
  ```
28
28
  ---
29
- gspec-version: 1.6.0
29
+ gspec-version: 1.7.0
30
30
  ---
31
31
  ```
32
32
  The frontmatter must be the very first content in the file, before the main heading.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gspec",
3
- "version": "1.6.0",
3
+ "version": "1.7.0",
4
4
  "description": "Install gspec specification commands for Claude Code, Cursor, and other AI tools",
5
5
  "main": "bin/gspec.js",
6
6
  "type": "module",
@@ -8,7 +8,7 @@ These specs define what the product is, how it should look, what technology it u
8
8
 
9
9
  1. **Read the specs first** — Before making non-trivial changes, read the relevant gspec documents to understand existing decisions and constraints. At minimum, scan `gspec/profile.md` and any feature PRDs in `gspec/features/` related to your work.
10
10
 
11
- 2. **Update feature checkboxes** — When you implement a capability defined in a feature PRD (`gspec/features/*.md`), change its checkbox from `- [ ]` to `- [x]`. When all capabilities in a feature are checked, also update the corresponding entry in any epic file (`gspec/epics/*.md`).
11
+ 2. **Update feature checkboxes** — When you implement a capability defined in a feature PRD (`gspec/features/*.md`), change its checkbox from `- [ ]` to `- [x]`.
12
12
 
13
13
  3. **Update specs that your changes contradict** — If your code change makes a spec statement incorrect (e.g., you changed the data model, switched a dependency, altered a UI pattern, or added a new API endpoint), update the spec to reflect reality. Common candidates:
14
14
  - `gspec/architecture.md` — project structure, data model, API routes, component hierarchy