gspec 1.6.0 → 1.10.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.
- package/README.md +4 -7
- package/bin/gspec.js +275 -8
- package/commands/gspec.analyze.md +2 -4
- package/commands/gspec.architect.md +2 -3
- package/commands/gspec.feature.md +37 -7
- package/commands/gspec.implement.md +14 -19
- package/commands/gspec.migrate.md +1 -2
- package/commands/gspec.practices.md +3 -1
- package/commands/gspec.research.md +1 -1
- package/commands/gspec.stack.md +11 -6
- package/commands/gspec.style.md +18 -23
- package/dist/antigravity/gspec-analyze/SKILL.md +2 -4
- package/dist/antigravity/gspec-architect/SKILL.md +3 -4
- package/dist/antigravity/gspec-feature/SKILL.md +39 -9
- package/dist/antigravity/gspec-implement/SKILL.md +15 -20
- package/dist/antigravity/gspec-migrate/SKILL.md +6 -7
- package/dist/antigravity/gspec-practices/SKILL.md +4 -2
- package/dist/antigravity/gspec-profile/SKILL.md +1 -1
- package/dist/antigravity/gspec-research/SKILL.md +4 -4
- package/dist/antigravity/gspec-stack/SKILL.md +12 -7
- package/dist/antigravity/gspec-style/SKILL.md +19 -24
- package/dist/claude/gspec-analyze/SKILL.md +2 -4
- package/dist/claude/gspec-architect/SKILL.md +3 -4
- package/dist/claude/gspec-feature/SKILL.md +39 -9
- package/dist/claude/gspec-implement/SKILL.md +15 -20
- package/dist/claude/gspec-migrate/SKILL.md +6 -7
- package/dist/claude/gspec-practices/SKILL.md +4 -2
- package/dist/claude/gspec-profile/SKILL.md +1 -1
- package/dist/claude/gspec-research/SKILL.md +4 -4
- package/dist/claude/gspec-stack/SKILL.md +12 -7
- package/dist/claude/gspec-style/SKILL.md +19 -24
- package/dist/codex/gspec-analyze/SKILL.md +2 -4
- package/dist/codex/gspec-architect/SKILL.md +3 -4
- package/dist/codex/gspec-feature/SKILL.md +39 -9
- package/dist/codex/gspec-implement/SKILL.md +15 -20
- package/dist/codex/gspec-migrate/SKILL.md +6 -7
- package/dist/codex/gspec-practices/SKILL.md +4 -2
- package/dist/codex/gspec-profile/SKILL.md +1 -1
- package/dist/codex/gspec-research/SKILL.md +4 -4
- package/dist/codex/gspec-stack/SKILL.md +12 -7
- package/dist/codex/gspec-style/SKILL.md +19 -24
- package/dist/cursor/gspec-analyze.mdc +2 -4
- package/dist/cursor/gspec-architect.mdc +3 -4
- package/dist/cursor/gspec-feature.mdc +39 -9
- package/dist/cursor/gspec-implement.mdc +15 -20
- package/dist/cursor/gspec-migrate.mdc +6 -7
- package/dist/cursor/gspec-practices.mdc +4 -2
- package/dist/cursor/gspec-profile.mdc +1 -1
- package/dist/cursor/gspec-research.mdc +4 -4
- package/dist/cursor/gspec-stack.mdc +12 -7
- package/dist/cursor/gspec-style.mdc +19 -24
- package/dist/opencode/gspec-analyze/SKILL.md +168 -0
- package/dist/opencode/gspec-architect/SKILL.md +361 -0
- package/dist/opencode/gspec-feature/SKILL.md +204 -0
- package/dist/opencode/gspec-implement/SKILL.md +200 -0
- package/dist/opencode/gspec-migrate/SKILL.md +118 -0
- package/dist/opencode/gspec-practices/SKILL.md +137 -0
- package/dist/opencode/gspec-profile/SKILL.md +221 -0
- package/dist/opencode/gspec-research/SKILL.md +302 -0
- package/dist/opencode/gspec-stack/SKILL.md +305 -0
- package/dist/opencode/gspec-style/SKILL.md +224 -0
- package/package.json +3 -1
- package/starters/features/about-page.md +98 -0
- package/starters/features/contact-form.md +147 -0
- package/starters/features/contact-page.md +103 -0
- package/starters/features/home-page.md +103 -0
- package/starters/features/responsive-navbar.md +113 -0
- package/starters/features/services-page.md +103 -0
- package/starters/features/site-footer.md +121 -0
- package/starters/features/theme-switcher.md +124 -0
- package/starters/practices/tdd-pipeline-first.md +192 -0
- package/starters/stacks/astro-tailwind-github-pages.md +283 -0
- package/starters/stacks/nextjs-supabase-vercel.md +319 -0
- package/starters/stacks/nextjs-vercel-typescript.md +264 -0
- package/starters/styles/clean-professional.md +316 -0
- package/starters/styles/dark-minimal-developer.md +442 -0
- package/templates/spec-sync.md +2 -2
- package/commands/gspec.epic.md +0 -228
- package/dist/antigravity/gspec-epic/SKILL.md +0 -232
- package/dist/claude/gspec-epic/SKILL.md +0 -233
- package/dist/codex/gspec-epic/SKILL.md +0 -232
- package/dist/cursor/gspec-epic.mdc +0 -231
|
@@ -34,8 +34,10 @@ You should:
|
|
|
34
34
|
- Focus on practices that matter for this specific project
|
|
35
35
|
- Avoid generic advice that doesn't apply
|
|
36
36
|
- **Do NOT include technology stack information** — this is documented separately
|
|
37
|
-
- **Do NOT prescribe specific testing frameworks, tools, or libraries** — focus on testing principles, patterns, and practices
|
|
37
|
+
- **Do NOT prescribe specific testing frameworks, tools, or libraries** — focus on testing principles, patterns, and practices. The stack document (`gspec/stack.md`) is the single authority for which test tools are used.
|
|
38
|
+
- **DO define CI/CD pipeline structure** — the practices document defines pipeline stages, gates, and ordering (lint → typecheck → test → build → deploy). The stack document defines which CI/CD platform technology is used (GitHub Actions, GitLab CI, etc.).
|
|
38
39
|
- **Mark sections as "Not Applicable"** when they don't apply to this project
|
|
40
|
+
- **Precedence rule**: Where this document conflicts with technology-specific practices in `gspec/stack.md`, the stack's technology-specific practices take precedence for framework-specific concerns (e.g., file naming conventions dictated by a framework). This document governs general engineering principles.
|
|
39
41
|
|
|
40
42
|
---
|
|
41
43
|
|
|
@@ -27,7 +27,7 @@ Before conducting any research, read available gspec documents for context:
|
|
|
27
27
|
- **Market & Competition** section — direct competitors, indirect competitors or alternatives, white space or gaps the product fills
|
|
28
28
|
- **Value Proposition** section — differentiation and competitive advantages
|
|
29
29
|
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.
|
|
30
|
-
|
|
30
|
+
|
|
31
31
|
|
|
32
32
|
**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.
|
|
33
33
|
|
package/commands/gspec.stack.md
CHANGED
|
@@ -91,6 +91,8 @@ You should:
|
|
|
91
91
|
- Responsive design tooling
|
|
92
92
|
|
|
93
93
|
- **Note**: Visual design values (colors, typography, spacing) are documented separately as framework-agnostic design tokens; include here how the chosen CSS framework maps to those tokens
|
|
94
|
+
- **Component library** (if applicable) — e.g., shadcn/ui, Headless UI, Radix UI. Component libraries are framework-specific technology choices and belong in the stack, not the style guide.
|
|
95
|
+
- **Note**: Icon libraries (e.g., HeroIcons, Lucide) are defined in `gspec/style.md`, not here. The stack defines the CSS framework and component library; the style defines the icon set. Do NOT include an iconography section in the stack document.
|
|
94
96
|
|
|
95
97
|
### 5. Backend Stack
|
|
96
98
|
**Mark as N/A if this is a frontend-only or static site project**
|
|
@@ -129,9 +131,9 @@ You should:
|
|
|
129
131
|
- Scaling approach
|
|
130
132
|
|
|
131
133
|
#### CI/CD Pipeline
|
|
132
|
-
- CI/CD platform (GitHub Actions, GitLab CI, Jenkins, etc.)
|
|
133
|
-
-
|
|
134
|
-
-
|
|
134
|
+
- CI/CD platform technology (GitHub Actions, GitLab CI, Jenkins, etc.) and rationale
|
|
135
|
+
- Deployment automation and trigger configuration
|
|
136
|
+
- **Note**: The stack defines *which CI/CD technology* is used. The pipeline structure (stages, gates, ordering) is defined in `gspec/practices.md`. Include platform-specific configuration details here (e.g., workflow YAML format, runner setup), not pipeline philosophy.
|
|
135
137
|
|
|
136
138
|
#### Infrastructure as Code
|
|
137
139
|
- IaC tool (Terraform, CloudFormation, Pulumi, etc.)
|
|
@@ -189,10 +191,13 @@ You should:
|
|
|
189
191
|
|
|
190
192
|
### 10. Testing Infrastructure
|
|
191
193
|
|
|
194
|
+
> **The stack is the single authority for test tooling choices.** Define which frameworks and tools are used here. Testing philosophy, patterns, and coverage requirements are defined in `gspec/practices.md`.
|
|
195
|
+
|
|
192
196
|
#### Testing Frameworks
|
|
193
|
-
- Unit testing framework
|
|
197
|
+
- Unit testing framework (Vitest, Jest, pytest, etc.) and rationale
|
|
194
198
|
- Integration testing tools
|
|
195
|
-
- E2E testing framework (Playwright, Cypress, etc.)
|
|
199
|
+
- E2E testing framework (Playwright, Cypress, etc.) and rationale
|
|
200
|
+
- Component testing tools (if applicable)
|
|
196
201
|
|
|
197
202
|
#### Test Data Management
|
|
198
203
|
- Test database strategy
|
|
@@ -219,7 +224,7 @@ You should:
|
|
|
219
224
|
### 12. Development Tools
|
|
220
225
|
|
|
221
226
|
#### Package Management
|
|
222
|
-
- Package manager (npm, yarn, pnpm, pip, maven, etc.)
|
|
227
|
+
- **Package manager** — Explicitly declare the package manager (npm, yarn, pnpm, pip, maven, etc.) with rationale for the choice. This must be stated clearly so all other gspec commands and CI/CD configuration use the correct tool.
|
|
223
228
|
- Dependency management strategy
|
|
224
229
|
- Private package registry (if applicable)
|
|
225
230
|
|
package/commands/gspec.style.md
CHANGED
|
@@ -110,34 +110,27 @@ You should:
|
|
|
110
110
|
- Component color adjustments
|
|
111
111
|
- Contrast considerations
|
|
112
112
|
|
|
113
|
-
|
|
114
|
-
- How themes interact with the color palette
|
|
115
|
-
- Token mapping between themes
|
|
113
|
+
### 6. Component Styling
|
|
116
114
|
|
|
117
|
-
|
|
115
|
+
> **Focus on visual styling only** — colors, borders, typography, spacing, and state appearances. Do NOT define component structure, layout behavior, or interaction patterns (those belong in feature PRDs). The goal is to answer "what does it look like?" not "how does it work?"
|
|
118
116
|
|
|
119
117
|
#### Buttons
|
|
120
|
-
-
|
|
121
|
-
- States
|
|
122
|
-
- Sizes and
|
|
123
|
-
- Border radius
|
|
118
|
+
- Color treatments for primary, secondary, ghost variants
|
|
119
|
+
- States: default, hover, active, disabled appearances
|
|
120
|
+
- Sizes and border radius
|
|
124
121
|
|
|
125
122
|
#### Form Elements
|
|
126
|
-
- Input
|
|
127
|
-
-
|
|
128
|
-
-
|
|
129
|
-
- Validation states
|
|
123
|
+
- Input field colors, borders, and focus ring styles
|
|
124
|
+
- Label and helper text typography
|
|
125
|
+
- Validation state colors (error, success)
|
|
130
126
|
|
|
131
127
|
#### Cards & Containers
|
|
132
|
-
- Background colors
|
|
133
|
-
-
|
|
134
|
-
- Shadow elevations
|
|
135
|
-
- Corner radius
|
|
128
|
+
- Background colors and border styles
|
|
129
|
+
- Shadow elevations and corner radius
|
|
136
130
|
|
|
137
|
-
#### Navigation
|
|
138
|
-
-
|
|
139
|
-
-
|
|
140
|
-
- Active states
|
|
131
|
+
#### Navigation Elements
|
|
132
|
+
- Link colors: default, hover, active states
|
|
133
|
+
- Background treatments for navigation surfaces
|
|
141
134
|
|
|
142
135
|
### 7. Visual Effects
|
|
143
136
|
|
|
@@ -157,11 +150,13 @@ You should:
|
|
|
157
150
|
|
|
158
151
|
### 8. Iconography
|
|
159
152
|
|
|
160
|
-
|
|
161
|
-
|
|
153
|
+
> **The style guide is the single authority for icon library choices.** The stack document defines the CSS framework and component library (e.g., shadcn/ui); the style guide defines which icon set is used. This separation ensures icon decisions are driven by design rationale (visual consistency, stroke style) while component library decisions remain with the technology stack (framework compatibility).
|
|
154
|
+
|
|
155
|
+
#### Icon Library
|
|
156
|
+
- Specific icon library recommendation with rationale
|
|
157
|
+
- Outlined vs filled style
|
|
162
158
|
- Stroke width
|
|
163
159
|
- Size standards
|
|
164
|
-
- Icon library recommendation
|
|
165
160
|
|
|
166
161
|
#### Usage Guidelines
|
|
167
162
|
- When to use icons
|
|
@@ -28,12 +28,11 @@ Read **every** available gspec document in this order:
|
|
|
28
28
|
|
|
29
29
|
1. `gspec/profile.md` — Product identity, scope, audience, and positioning
|
|
30
30
|
2. `gspec/stack.md` — Technology choices, frameworks, infrastructure
|
|
31
|
-
3. `gspec/style.md` — Visual design language, tokens, component
|
|
31
|
+
3. `gspec/style.md` — Visual design language, tokens, component styling
|
|
32
32
|
4. `gspec/practices.md` — Development standards, testing, conventions
|
|
33
33
|
5. `gspec/architecture.md` — Technical blueprint: project structure, data model, API design, environment
|
|
34
34
|
6. `gspec/research.md` — Competitive analysis and feature proposals
|
|
35
|
-
7. `gspec/
|
|
36
|
-
8. `gspec/features/*.md` — Individual feature requirements
|
|
35
|
+
7. `gspec/features/*.md` — Individual feature requirements and dependencies
|
|
37
36
|
|
|
38
37
|
If fewer than two spec files exist, inform the user that there is nothing to cross-reference and stop.
|
|
39
38
|
|
|
@@ -69,7 +68,6 @@ Systematically compare specs against each other. Look for these categories of di
|
|
|
69
68
|
#### Scope & Priority Conflicts
|
|
70
69
|
- A feature capability is marked P0 in one place but P1 or P2 in another
|
|
71
70
|
- Profile describes scope or positioning that conflicts with what features actually define
|
|
72
|
-
- Epic dependency ordering conflicts with feature priority levels
|
|
73
71
|
- Research recommendations conflict with decisions already made in other specs
|
|
74
72
|
|
|
75
73
|
#### Behavioral Conflicts
|
|
@@ -9,7 +9,7 @@ Your task is to take the established product specifications and produce a **Tech
|
|
|
9
9
|
|
|
10
10
|
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.
|
|
11
11
|
|
|
12
|
-
This command is meant to be run **after** the foundation specs (profile, stack, style, practices) and feature specs
|
|
12
|
+
This command is meant to be run **after** the foundation specs (profile, stack, style, practices) and feature specs are defined, and **before** `gspec-implement`.
|
|
13
13
|
|
|
14
14
|
You should:
|
|
15
15
|
- Read all existing gspec documents first — this architecture must serve the product, stack, style, and features already defined
|
|
@@ -32,8 +32,7 @@ Before generating the architecture document, read **all** existing gspec documen
|
|
|
32
32
|
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.
|
|
33
33
|
3. **`gspec/style.md`** — Design system and tokens. Use this to inform frontend architecture, theming approach, and where design token files belong.
|
|
34
34
|
4. **`gspec/practices.md`** — Development standards. Use this to align file organization, testing patterns, and code structure with team conventions.
|
|
35
|
-
5. **`gspec/
|
|
36
|
-
6. **`gspec/features/*.md`** — Individual feature requirements. Use these to derive data entities, API endpoints, component structure, and integration points.
|
|
35
|
+
5. **`gspec/features/*.md`** — Individual feature requirements and dependencies. Use these to derive data entities, API endpoints, component structure, and integration points.
|
|
37
36
|
|
|
38
37
|
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.
|
|
39
38
|
|
|
@@ -46,7 +45,7 @@ All of these provide essential context. If any are missing, note the gap and mak
|
|
|
46
45
|
- Begin the file with YAML frontmatter containing the gspec version:
|
|
47
46
|
```
|
|
48
47
|
---
|
|
49
|
-
gspec-version: 1.
|
|
48
|
+
gspec-version: 1.10.0
|
|
50
49
|
---
|
|
51
50
|
```
|
|
52
51
|
The frontmatter must be the very first content in the file, before the main heading.
|
|
@@ -1,11 +1,28 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-feature
|
|
3
|
-
description: Generate
|
|
3
|
+
description: Generate one or more product requirements documents (PRDs) for features
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a senior Product Manager at a high-performing software company.
|
|
7
7
|
|
|
8
|
-
Your task is to take the provided feature description (which may be vague or detailed) and produce
|
|
8
|
+
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.
|
|
9
|
+
|
|
10
|
+
## Scope Assessment
|
|
11
|
+
|
|
12
|
+
Before writing anything, assess whether the user's description is:
|
|
13
|
+
|
|
14
|
+
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")
|
|
15
|
+
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")
|
|
16
|
+
|
|
17
|
+
**If it's a single feature**, produce one PRD and save it to `gspec/features/`.
|
|
18
|
+
|
|
19
|
+
**If it's large enough to warrant multiple features:**
|
|
20
|
+
|
|
21
|
+
1. Propose a breakdown — list the distinct features you'd create, with a one-line description of each and their dependencies on each other
|
|
22
|
+
2. **Ask the user to confirm, adjust, or reprioritize** the breakdown before writing any specs
|
|
23
|
+
3. Once confirmed, generate a separate PRD for each feature in `gspec/features/`
|
|
24
|
+
|
|
25
|
+
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.
|
|
9
26
|
|
|
10
27
|
## Important: Agent-Oriented Documentation
|
|
11
28
|
|
|
@@ -62,19 +79,20 @@ Feature PRDs are designed to be **portable across projects**. A feature spec wri
|
|
|
62
79
|
|
|
63
80
|
## Output Rules
|
|
64
81
|
|
|
65
|
-
- Output
|
|
66
|
-
- Save
|
|
67
|
-
- Name
|
|
68
|
-
- Begin
|
|
82
|
+
- Output one or more Markdown documents — **one per feature**
|
|
83
|
+
- Save each file to the `gspec/features/` folder in the root of the project, create it if it doesn't exist
|
|
84
|
+
- Name each file based on the feature (e.g., `user-authentication.md`, `dashboard-analytics.md`)
|
|
85
|
+
- Begin each file with YAML frontmatter containing the gspec version:
|
|
69
86
|
```
|
|
70
87
|
---
|
|
71
|
-
gspec-version: 1.
|
|
88
|
+
gspec-version: 1.10.0
|
|
72
89
|
---
|
|
73
90
|
```
|
|
74
91
|
The frontmatter must be the very first content in the file, before the main heading.
|
|
75
|
-
- **Before generating
|
|
92
|
+
- **Before generating any document, you MUST resolve ambiguities through conversation.** Ask clarifying questions in the chat if:
|
|
76
93
|
- The target users are unclear
|
|
77
94
|
- The scope or boundaries of the feature are ambiguous
|
|
95
|
+
- The breakdown into multiple features is not obvious (for large requests)
|
|
78
96
|
- Success criteria cannot be determined from the description
|
|
79
97
|
- Priority or urgency is unspecified
|
|
80
98
|
- Any assumption would materially change the shape of the spec
|
|
@@ -112,7 +130,7 @@ This separation — combined with the portability principles above — allows th
|
|
|
112
130
|
|
|
113
131
|
---
|
|
114
132
|
|
|
115
|
-
## Required Sections
|
|
133
|
+
## Required Sections (per feature PRD)
|
|
116
134
|
|
|
117
135
|
**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.
|
|
118
136
|
|
|
@@ -162,11 +180,23 @@ This separation — combined with the portability principles above — allows th
|
|
|
162
180
|
|
|
163
181
|
---
|
|
164
182
|
|
|
183
|
+
## Multi-Feature Output
|
|
184
|
+
|
|
185
|
+
When generating multiple features from a large request:
|
|
186
|
+
|
|
187
|
+
- **Cross-reference dependencies** — each feature's Dependencies section should link to sibling features when applicable
|
|
188
|
+
- **Maintain consistent terminology** — use the same terms for shared concepts across all generated PRDs
|
|
189
|
+
- **Assign priorities holistically** — P0/P1/P2 levels should be consistent across the set (don't make everything P0)
|
|
190
|
+
- **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`")
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
165
194
|
## Tone & Style
|
|
166
195
|
|
|
167
196
|
- Clear, neutral, product-led
|
|
168
197
|
- No fluff, no jargon
|
|
169
198
|
- Designed to be skimmed
|
|
199
|
+
- Consistent across all generated documents
|
|
170
200
|
|
|
171
201
|
---
|
|
172
202
|
|
|
@@ -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
|
|
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
|
|
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/
|
|
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
|
|
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.
|
|
@@ -108,13 +105,12 @@ Present a brief scaffold summary to the user before proceeding to feature implem
|
|
|
108
105
|
|
|
109
106
|
1. **Announce the phase** — State which phase you're starting, what it covers, and what capabilities will be implemented
|
|
110
107
|
2. **Implement the phase:**
|
|
111
|
-
a. **Follow the stack** — Use the exact technologies, frameworks, and patterns defined in `gspec/stack.md`
|
|
112
|
-
b. **Follow the practices** — Adhere to coding standards, testing
|
|
113
|
-
c. **Follow the style** — Apply the design system, tokens, and
|
|
108
|
+
a. **Follow the stack** — Use the exact technologies, frameworks, and patterns defined in `gspec/stack.md`. The stack is the single authority for technology choices (testing tools, CI/CD platform, package manager). Where stack-specific practices (Section 15 of `stack.md`) conflict with general practices in `practices.md`, the stack's technology-specific guidance takes precedence for framework-specific concerns.
|
|
109
|
+
b. **Follow the practices** — Adhere to coding standards, testing philosophy, pipeline structure, and conventions from `gspec/practices.md`
|
|
110
|
+
c. **Follow the style** — Apply the design system, tokens, and icon library from `gspec/style.md`. The style is the single authority for icon library choices. Component libraries (e.g., shadcn/ui) are defined in `gspec/stack.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.
|
|
116
|
-
4. **
|
|
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.10.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
|
|
157
|
+
### When no features exist:
|
|
162
158
|
|
|
163
|
-
If `gspec/features/`
|
|
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
|
|
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.
|
|
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
|
|
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
|
|
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.
|
|
8
|
+
Your task is to update existing gspec specification documents to match the current gspec format (version 1.10.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
|
-
|
|
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.
|
|
24
|
+
- If `gspec-version` matches `1.10.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.
|
|
31
|
+
> - `gspec/style.md` — version 1.10.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.
|
|
66
|
+
gspec-version: 1.10.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.
|
|
80
|
+
> - 4 files migrated to version 1.10.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.
|
|
28
|
+
gspec-version: 1.10.0
|
|
29
29
|
---
|
|
30
30
|
```
|
|
31
31
|
The frontmatter must be the very first content in the file, before the main heading.
|
|
@@ -39,8 +39,10 @@ You should:
|
|
|
39
39
|
- Focus on practices that matter for this specific project
|
|
40
40
|
- Avoid generic advice that doesn't apply
|
|
41
41
|
- **Do NOT include technology stack information** — this is documented separately
|
|
42
|
-
- **Do NOT prescribe specific testing frameworks, tools, or libraries** — focus on testing principles, patterns, and practices
|
|
42
|
+
- **Do NOT prescribe specific testing frameworks, tools, or libraries** — focus on testing principles, patterns, and practices. The stack document (`gspec/stack.md`) is the single authority for which test tools are used.
|
|
43
|
+
- **DO define CI/CD pipeline structure** — the practices document defines pipeline stages, gates, and ordering (lint → typecheck → test → build → deploy). The stack document defines which CI/CD platform technology is used (GitHub Actions, GitLab CI, etc.).
|
|
43
44
|
- **Mark sections as "Not Applicable"** when they don't apply to this project
|
|
45
|
+
- **Precedence rule**: Where this document conflicts with technology-specific practices in `gspec/stack.md`, the stack's technology-specific practices take precedence for framework-specific concerns (e.g., file naming conventions dictated by a framework). This document governs general engineering principles.
|
|
44
46
|
|
|
45
47
|
---
|
|
46
48
|
|
|
@@ -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
|
-
|
|
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.
|
|
165
|
+
- Begin the file with YAML frontmatter: `---\ngspec-version: 1.10.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.
|
|
184
|
+
gspec-version: 1.10.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.
|
|
201
|
+
gspec-version: 1.10.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.
|
|
28
|
+
gspec-version: 1.10.0
|
|
29
29
|
---
|
|
30
30
|
```
|
|
31
31
|
The frontmatter must be the very first content in the file, before the main heading.
|
|
@@ -96,6 +96,8 @@ You should:
|
|
|
96
96
|
- Responsive design tooling
|
|
97
97
|
|
|
98
98
|
- **Note**: Visual design values (colors, typography, spacing) are documented separately as framework-agnostic design tokens; include here how the chosen CSS framework maps to those tokens
|
|
99
|
+
- **Component library** (if applicable) — e.g., shadcn/ui, Headless UI, Radix UI. Component libraries are framework-specific technology choices and belong in the stack, not the style guide.
|
|
100
|
+
- **Note**: Icon libraries (e.g., HeroIcons, Lucide) are defined in `gspec/style.md`, not here. The stack defines the CSS framework and component library; the style defines the icon set. Do NOT include an iconography section in the stack document.
|
|
99
101
|
|
|
100
102
|
### 5. Backend Stack
|
|
101
103
|
**Mark as N/A if this is a frontend-only or static site project**
|
|
@@ -134,9 +136,9 @@ You should:
|
|
|
134
136
|
- Scaling approach
|
|
135
137
|
|
|
136
138
|
#### CI/CD Pipeline
|
|
137
|
-
- CI/CD platform (GitHub Actions, GitLab CI, Jenkins, etc.)
|
|
138
|
-
-
|
|
139
|
-
-
|
|
139
|
+
- CI/CD platform technology (GitHub Actions, GitLab CI, Jenkins, etc.) and rationale
|
|
140
|
+
- Deployment automation and trigger configuration
|
|
141
|
+
- **Note**: The stack defines *which CI/CD technology* is used. The pipeline structure (stages, gates, ordering) is defined in `gspec/practices.md`. Include platform-specific configuration details here (e.g., workflow YAML format, runner setup), not pipeline philosophy.
|
|
140
142
|
|
|
141
143
|
#### Infrastructure as Code
|
|
142
144
|
- IaC tool (Terraform, CloudFormation, Pulumi, etc.)
|
|
@@ -194,10 +196,13 @@ You should:
|
|
|
194
196
|
|
|
195
197
|
### 10. Testing Infrastructure
|
|
196
198
|
|
|
199
|
+
> **The stack is the single authority for test tooling choices.** Define which frameworks and tools are used here. Testing philosophy, patterns, and coverage requirements are defined in `gspec/practices.md`.
|
|
200
|
+
|
|
197
201
|
#### Testing Frameworks
|
|
198
|
-
- Unit testing framework
|
|
202
|
+
- Unit testing framework (Vitest, Jest, pytest, etc.) and rationale
|
|
199
203
|
- Integration testing tools
|
|
200
|
-
- E2E testing framework (Playwright, Cypress, etc.)
|
|
204
|
+
- E2E testing framework (Playwright, Cypress, etc.) and rationale
|
|
205
|
+
- Component testing tools (if applicable)
|
|
201
206
|
|
|
202
207
|
#### Test Data Management
|
|
203
208
|
- Test database strategy
|
|
@@ -224,7 +229,7 @@ You should:
|
|
|
224
229
|
### 12. Development Tools
|
|
225
230
|
|
|
226
231
|
#### Package Management
|
|
227
|
-
- Package manager (npm, yarn, pnpm, pip, maven, etc.)
|
|
232
|
+
- **Package manager** — Explicitly declare the package manager (npm, yarn, pnpm, pip, maven, etc.) with rationale for the choice. This must be stated clearly so all other gspec commands and CI/CD configuration use the correct tool.
|
|
228
233
|
- Dependency management strategy
|
|
229
234
|
- Private package registry (if applicable)
|
|
230
235
|
|