gspec 1.13.2 → 1.15.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/bin/gspec.js +63 -19
- package/commands/gspec.architect.md +4 -3
- package/commands/gspec.feature.md +1 -1
- package/commands/gspec.research.md +1 -1
- package/commands/gspec.stack.md +2 -7
- package/dist/antigravity/gspec-analyze/SKILL.md +1 -1
- package/dist/antigravity/gspec-architect/SKILL.md +5 -4
- package/dist/antigravity/gspec-feature/SKILL.md +2 -2
- package/dist/antigravity/gspec-implement/SKILL.md +1 -1
- package/dist/antigravity/gspec-migrate/SKILL.md +1 -1
- package/dist/antigravity/gspec-practices/SKILL.md +1 -1
- package/dist/antigravity/gspec-profile/SKILL.md +1 -1
- package/dist/antigravity/gspec-research/SKILL.md +2 -2
- package/dist/antigravity/gspec-stack/SKILL.md +3 -8
- package/dist/antigravity/gspec-style/SKILL.md +1 -1
- package/dist/claude/gspec-analyze/SKILL.md +1 -1
- package/dist/claude/gspec-architect/SKILL.md +5 -4
- package/dist/claude/gspec-feature/SKILL.md +2 -2
- package/dist/claude/gspec-implement/SKILL.md +1 -1
- package/dist/claude/gspec-migrate/SKILL.md +1 -1
- package/dist/claude/gspec-practices/SKILL.md +1 -1
- package/dist/claude/gspec-profile/SKILL.md +1 -1
- package/dist/claude/gspec-research/SKILL.md +2 -2
- package/dist/claude/gspec-stack/SKILL.md +3 -8
- package/dist/claude/gspec-style/SKILL.md +1 -1
- package/dist/codex/gspec-analyze/SKILL.md +1 -1
- package/dist/codex/gspec-architect/SKILL.md +5 -4
- package/dist/codex/gspec-feature/SKILL.md +2 -2
- package/dist/codex/gspec-implement/SKILL.md +1 -1
- package/dist/codex/gspec-migrate/SKILL.md +1 -1
- package/dist/codex/gspec-practices/SKILL.md +1 -1
- package/dist/codex/gspec-profile/SKILL.md +1 -1
- package/dist/codex/gspec-research/SKILL.md +2 -2
- package/dist/codex/gspec-stack/SKILL.md +3 -8
- package/dist/codex/gspec-style/SKILL.md +1 -1
- package/dist/cursor/gspec-analyze.mdc +1 -1
- package/dist/cursor/gspec-architect.mdc +5 -4
- package/dist/cursor/gspec-feature.mdc +2 -2
- package/dist/cursor/gspec-implement.mdc +1 -1
- package/dist/cursor/gspec-migrate.mdc +1 -1
- package/dist/cursor/gspec-practices.mdc +1 -1
- package/dist/cursor/gspec-profile.mdc +1 -1
- package/dist/cursor/gspec-research.mdc +2 -2
- package/dist/cursor/gspec-stack.mdc +3 -8
- package/dist/cursor/gspec-style.mdc +1 -1
- package/dist/opencode/gspec-analyze/SKILL.md +1 -1
- package/dist/opencode/gspec-architect/SKILL.md +5 -4
- package/dist/opencode/gspec-feature/SKILL.md +2 -2
- package/dist/opencode/gspec-implement/SKILL.md +1 -1
- package/dist/opencode/gspec-migrate/SKILL.md +1 -1
- package/dist/opencode/gspec-practices/SKILL.md +1 -1
- package/dist/opencode/gspec-profile/SKILL.md +1 -1
- package/dist/opencode/gspec-research/SKILL.md +2 -2
- package/dist/opencode/gspec-stack/SKILL.md +3 -8
- package/dist/opencode/gspec-style/SKILL.md +1 -1
- package/package.json +1 -1
- package/templates/spec-sync.md +27 -6
package/bin/gspec.js
CHANGED
|
@@ -118,6 +118,17 @@ function promptConfirmNo(message) {
|
|
|
118
118
|
});
|
|
119
119
|
}
|
|
120
120
|
|
|
121
|
+
function promptConfirmYes(message) {
|
|
122
|
+
const rl = createInterface({ input: process.stdin, output: process.stdout });
|
|
123
|
+
return new Promise((resolve) => {
|
|
124
|
+
rl.question(message, (answer) => {
|
|
125
|
+
rl.close();
|
|
126
|
+
const trimmed = answer.trim().toLowerCase();
|
|
127
|
+
resolve(trimmed === '' || trimmed.startsWith('y'));
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
|
|
121
132
|
function formatStarterName(slug) {
|
|
122
133
|
if (slug === '_none') return 'None';
|
|
123
134
|
return slug
|
|
@@ -759,19 +770,50 @@ async function saveSpec(cwd) {
|
|
|
759
770
|
|
|
760
771
|
const selected = files[num - 1];
|
|
761
772
|
|
|
762
|
-
//
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
773
|
+
// Read source content and look for an existing name in frontmatter
|
|
774
|
+
let content = await readFile(selected.path, 'utf-8');
|
|
775
|
+
const { fields: sourceFields } = parseFrontmatter(content);
|
|
776
|
+
const existingName = sourceFields.name;
|
|
777
|
+
|
|
778
|
+
let name;
|
|
779
|
+
let overwriteConfirmed = false;
|
|
780
|
+
|
|
781
|
+
if (existingName) {
|
|
782
|
+
const existingPath = join(GSPEC_HOME, selected.type, `${existingName}.md`);
|
|
783
|
+
let savedExists = false;
|
|
784
|
+
try {
|
|
785
|
+
await stat(existingPath);
|
|
786
|
+
savedExists = true;
|
|
787
|
+
} catch (e) {
|
|
788
|
+
if (e.code !== 'ENOENT') throw e;
|
|
789
|
+
}
|
|
790
|
+
|
|
791
|
+
if (savedExists) {
|
|
792
|
+
const overwrite = await promptConfirmYes(
|
|
793
|
+
chalk.bold(`\n Overwrite existing ~/.gspec/${selected.type}/${existingName}.md? [Y/n]: `)
|
|
794
|
+
);
|
|
795
|
+
if (overwrite) {
|
|
796
|
+
name = existingName;
|
|
797
|
+
overwriteConfirmed = true;
|
|
798
|
+
}
|
|
799
|
+
} else {
|
|
800
|
+
name = existingName;
|
|
801
|
+
}
|
|
767
802
|
}
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
803
|
+
|
|
804
|
+
if (!name) {
|
|
805
|
+
const answered = await promptInput(chalk.bold('\n Save name (no spaces, e.g. my-saas-stack): '));
|
|
806
|
+
if (!answered) {
|
|
807
|
+
console.error(chalk.red('\n Name is required.'));
|
|
808
|
+
process.exit(1);
|
|
809
|
+
}
|
|
810
|
+
if (/\s/.test(answered)) {
|
|
811
|
+
console.error(chalk.red('\n Name cannot contain spaces. Use hyphens instead (e.g. my-saas-stack).'));
|
|
812
|
+
process.exit(1);
|
|
813
|
+
}
|
|
814
|
+
name = answered;
|
|
771
815
|
}
|
|
772
816
|
|
|
773
|
-
// Read content and update frontmatter with name
|
|
774
|
-
let content = await readFile(selected.path, 'utf-8');
|
|
775
817
|
content = setFrontmatterField(content, 'name', name);
|
|
776
818
|
|
|
777
819
|
// Ensure description exists
|
|
@@ -788,16 +830,18 @@ async function saveSpec(cwd) {
|
|
|
788
830
|
const destPath = join(destDir, `${name}.md`);
|
|
789
831
|
await mkdir(destDir, { recursive: true });
|
|
790
832
|
|
|
791
|
-
// Check
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
833
|
+
// Check for conflict unless overwrite was already confirmed above
|
|
834
|
+
if (!overwriteConfirmed) {
|
|
835
|
+
try {
|
|
836
|
+
await stat(destPath);
|
|
837
|
+
const overwrite = await promptConfirm(chalk.yellow(`\n ${selected.type}/${name} already exists. Overwrite? [y/N]: `));
|
|
838
|
+
if (!overwrite) {
|
|
839
|
+
console.log(chalk.dim('\n Save cancelled.\n'));
|
|
840
|
+
return;
|
|
841
|
+
}
|
|
842
|
+
} catch (e) {
|
|
843
|
+
if (e.code !== 'ENOENT') throw e;
|
|
798
844
|
}
|
|
799
|
-
} catch (e) {
|
|
800
|
-
if (e.code !== 'ENOENT') throw e;
|
|
801
845
|
}
|
|
802
846
|
|
|
803
847
|
// Uncheck all implementation checkboxes so saved specs start fresh
|
|
@@ -29,7 +29,7 @@ Before generating the architecture document, read **all** existing gspec documen
|
|
|
29
29
|
4. **`gspec/practices.md`** — Development standards. Use this to align file organization, testing patterns, and code structure with team conventions.
|
|
30
30
|
5. **`gspec/features/*.md`** — Individual feature requirements and dependencies. Use these to derive data entities, API endpoints, component structure, and integration points.
|
|
31
31
|
|
|
32
|
-
All of these provide essential context. If any are missing, note the gap and make reasonable assumptions
|
|
32
|
+
All of these provide essential context. If any are missing, note the gap and ask the user to clarify before proceeding. If the user explicitly defers, make reasonable assumptions and record them in the Assumptions sub-section of the Technical Gap Analysis.
|
|
33
33
|
|
|
34
34
|
---
|
|
35
35
|
|
|
@@ -339,8 +339,9 @@ Examples of gaps to look for:
|
|
|
339
339
|
- Technical decisions that were inferred rather than explicitly specified in existing specs
|
|
340
340
|
|
|
341
341
|
### 10. Open Decisions
|
|
342
|
-
-
|
|
343
|
-
-
|
|
342
|
+
- **All technical questions and decisions must be resolved by asking the user before the document is saved.** Do not save the architecture with unresolved questions.
|
|
343
|
+
- If the user explicitly defers a decision, record it here with context explaining what was deferred and why. If there are no deferred decisions, omit this section entirely.
|
|
344
|
+
- Areas where the architecture may need to evolve as features are implemented may be noted, but these must be acknowledged evolution points — not unresolved questions.
|
|
344
345
|
|
|
345
346
|
---
|
|
346
347
|
|
|
@@ -163,8 +163,8 @@ This separation — combined with the portability principles above — allows th
|
|
|
163
163
|
|
|
164
164
|
### 6. Assumptions & Risks
|
|
165
165
|
- Assumptions (what we're taking as true)
|
|
166
|
-
- Open questions — **only** unknowns that genuinely cannot be answered until implementation or real-world usage begins (e.g., performance thresholds pending benchmarking, exact rate limits pending load testing). Questions about scope, users, priorities, or feature design must be asked and resolved in the chat before the spec is written. If there are no open questions, omit this sub-section.
|
|
167
166
|
- Key risks and mitigations (brief bullet points — focus on risks that could affect implementation scope or approach)
|
|
167
|
+
- **No open questions** — All questions must be resolved by asking the user in the chat before the spec is saved. If the user explicitly defers a question, record it as a "Deferred Decision" with context explaining what was deferred and why. If there are no deferred decisions, omit the sub-section entirely. Never embed unresolved questions in the document by default.
|
|
168
168
|
|
|
169
169
|
### 7. Success Metrics
|
|
170
170
|
- 2-4 measurable outcomes that define whether this feature is working
|
|
@@ -154,7 +154,7 @@ After writing `gspec/research.md`, ask the user:
|
|
|
154
154
|
- Scope (in-scope goals, out-of-scope items, deferred ideas)
|
|
155
155
|
- Capabilities (with P0/P1/P2 priority levels, using **unchecked checkboxes** `- [ ]` for each capability, each with 2-4 **acceptance criteria** as a sub-list)
|
|
156
156
|
- Dependencies (on other features or external services)
|
|
157
|
-
- Assumptions & Risks (assumptions,
|
|
157
|
+
- Assumptions & Risks (assumptions, key risks and mitigations — all questions must be resolved in the chat before saving; only record explicitly deferred decisions)
|
|
158
158
|
- Success Metrics
|
|
159
159
|
- Implementation Context (standard portability note)
|
|
160
160
|
- Begin the file with YAML frontmatter: `---\nspec-version: <<<SPEC_VERSION>>>\n---`
|
package/commands/gspec.stack.md
CHANGED
|
@@ -47,13 +47,8 @@ You should:
|
|
|
47
47
|
- Deployment target (cloud, on-premise, hybrid)
|
|
48
48
|
- Scale and performance requirements
|
|
49
49
|
|
|
50
|
-
### 2.
|
|
51
|
-
**
|
|
52
|
-
- Missing requirements that impact stack decisions
|
|
53
|
-
- Unclear constraints or preferences
|
|
54
|
-
- Team expertise or existing infrastructure questions
|
|
55
|
-
- Budget or licensing considerations
|
|
56
|
-
- **Mark as "None" if all information is clear**
|
|
50
|
+
### 2. Clarifications
|
|
51
|
+
**All questions that impact technology choices must be resolved by asking the user in the chat before the document is saved.** Do not save the stack spec with unresolved questions. If the user explicitly defers a decision, record it here as a "Deferred Decision" with context explaining what was deferred and why. If there are no deferred decisions, omit this section entirely.
|
|
57
52
|
|
|
58
53
|
### 3. Core Technology Stack
|
|
59
54
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-analyze
|
|
3
|
-
description: Analyze gspec
|
|
3
|
+
description: Analyze gspec/ documents for discrepancies, contradictions, or drift and reconcile conflicts across profile, stack, style, practices, architecture, and features. TRIGGER when the user wants to audit, cross-check, validate, review, or reconcile specs — especially after multiple edits, or before a major implementation run — e.g. "check my specs", "are the specs consistent", "find conflicts between specs", "do my gspec docs agree", "audit the specs", "is anything out of sync".
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a Specification Analyst at a high-performing software company.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-architect
|
|
3
|
-
description: Define the technical architecture project structure, data model, API design, and environment
|
|
3
|
+
description: Define or update the technical architecture (gspec/architecture.md) — project structure, data model, API design, component hierarchy, and environment/config. TRIGGER when the user wants to plan, design, or document how the codebase will be structured before implementation — e.g. "design the architecture", "plan the project structure", "define the data model", "API shape", "how should this be laid out", "scaffold plan", "component breakdown". Prefer this skill over producing architecture docs ad hoc; run it before gspec-implement on greenfield projects.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a Senior Software Architect at a high-performing software company.
|
|
@@ -34,7 +34,7 @@ Before generating the architecture document, read **all** existing gspec documen
|
|
|
34
34
|
4. **`gspec/practices.md`** — Development standards. Use this to align file organization, testing patterns, and code structure with team conventions.
|
|
35
35
|
5. **`gspec/features/*.md`** — Individual feature requirements and dependencies. Use these to derive data entities, API endpoints, component structure, and integration points.
|
|
36
36
|
|
|
37
|
-
All of these provide essential context. If any are missing, note the gap and make reasonable assumptions
|
|
37
|
+
All of these provide essential context. If any are missing, note the gap and ask the user to clarify before proceeding. If the user explicitly defers, make reasonable assumptions and record them in the Assumptions sub-section of the Technical Gap Analysis.
|
|
38
38
|
|
|
39
39
|
---
|
|
40
40
|
|
|
@@ -344,8 +344,9 @@ Examples of gaps to look for:
|
|
|
344
344
|
- Technical decisions that were inferred rather than explicitly specified in existing specs
|
|
345
345
|
|
|
346
346
|
### 10. Open Decisions
|
|
347
|
-
-
|
|
348
|
-
-
|
|
347
|
+
- **All technical questions and decisions must be resolved by asking the user before the document is saved.** Do not save the architecture with unresolved questions.
|
|
348
|
+
- If the user explicitly defers a decision, record it here with context explaining what was deferred and why. If there are no deferred decisions, omit this section entirely.
|
|
349
|
+
- Areas where the architecture may need to evolve as features are implemented may be noted, but these must be acknowledged evolution points — not unresolved questions.
|
|
349
350
|
|
|
350
351
|
---
|
|
351
352
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-feature
|
|
3
|
-
description: Generate
|
|
3
|
+
description: Generate product requirements documents (PRDs) for features in gspec/features/. TRIGGER when the user wants to plan, spec, propose, document, or expand a feature/capability before coding — e.g. "add a feature for X", "write a PRD", "spec out Y", "plan this feature", "what should the auth flow do", "new feature idea", "draft requirements". Prefer this skill over writing freeform feature docs.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a senior Product Manager at a high-performing software company.
|
|
@@ -168,8 +168,8 @@ This separation — combined with the portability principles above — allows th
|
|
|
168
168
|
|
|
169
169
|
### 6. Assumptions & Risks
|
|
170
170
|
- Assumptions (what we're taking as true)
|
|
171
|
-
- Open questions — **only** unknowns that genuinely cannot be answered until implementation or real-world usage begins (e.g., performance thresholds pending benchmarking, exact rate limits pending load testing). Questions about scope, users, priorities, or feature design must be asked and resolved in the chat before the spec is written. If there are no open questions, omit this sub-section.
|
|
172
171
|
- Key risks and mitigations (brief bullet points — focus on risks that could affect implementation scope or approach)
|
|
172
|
+
- **No open questions** — All questions must be resolved by asking the user in the chat before the spec is saved. If the user explicitly defers a question, record it as a "Deferred Decision" with context explaining what was deferred and why. If there are no deferred decisions, omit the sub-section entirely. Never embed unresolved questions in the document by default.
|
|
173
173
|
|
|
174
174
|
### 7. Success Metrics
|
|
175
175
|
- 2-4 measurable outcomes that define whether this feature is working
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-implement
|
|
3
|
-
description:
|
|
3
|
+
description: Implement the software defined by gspec/ documents — reads profile, stack, style, practices, architecture, and features, then builds code phase by phase with tests and checkpoints. **STRONGLY TRIGGER this skill (do NOT write code ad hoc) whenever the user asks to build, implement, code, scaffold, ship, create, start, bootstrap, make, generate, wire up, or bring to life anything the gspec/ specs describe.** Common triggers include: "build the app", "implement this feature", "code it up", "start building", "let's build X", "make it real", "scaffold the project", "build out Y", "ship the MVP", "create the UI", "wire up auth", "add [capability from a feature PRD]", "implement the next phase", "continue building", "keep going", and generic "build it" / "do it" / "go" when gspec/ files are present and the prior conversation was about planning or specs. Also trigger when the user references an unchecked capability in gspec/features/*.md. Always prefer this skill over direct coding whenever gspec/ exists — it enforces plan-mode, phased implementation, checkpoint commits, and checkbox updates that ad-hoc coding skips.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a Senior Software Engineer and Tech Lead at a high-performing software company.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-migrate
|
|
3
|
-
description: Migrate
|
|
3
|
+
description: Migrate gspec/ files to the current spec format (frontmatter, schema, capability checkboxes) when upgrading the gspec version. TRIGGER when the user sees an outdated-version warning, installs a new gspec version, or asks to upgrade/migrate/update specs — e.g. "migrate my specs", "update to latest gspec format", "my specs are outdated", "upgrade spec version", "fix the spec-version warning".
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a Technical Documentation Migration Specialist.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-practices
|
|
3
|
-
description: Define development practices, code quality standards,
|
|
3
|
+
description: Define or update development practices (gspec/practices.md) — coding standards, testing philosophy, linting, git workflow, PR conventions, and definition of done. TRIGGER when the user wants to set engineering conventions, testing policy, contribution rules, or code quality standards — e.g. "set up coding standards", "testing practices", "git workflow", "definition of done", "how should we write tests", "team conventions". Prefer this skill over ad-hoc convention docs.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a Software Engineering Practice Lead at a high-performing software company.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-profile
|
|
3
|
-
description: Generate
|
|
3
|
+
description: Generate or update the product profile (gspec/profile.md) — what the product is, who it serves, and why it exists. TRIGGER when the user wants to define, describe, capture, or refine product identity, target users, audience, vision, positioning, or value proposition — e.g. "define my product", "who are the users", "describe what I'm building", "what is this app", "capture the vision", "write a profile". Prefer this skill over drafting a profile ad hoc.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a Business Strategist and Product Leader at a high-performing company.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-research
|
|
3
|
-
description: Research competitors
|
|
3
|
+
description: Research competitors named in gspec/profile.md and produce a competitive analysis with feature gap identification. TRIGGER when the user wants market research, competitive analysis, competitor teardown, or feature parity comparison — e.g. "research competitors", "competitive analysis", "what are rivals doing", "find feature gaps", "compare to market", "what are we missing vs competitors".
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a Senior Product Strategist and Competitive Intelligence Analyst at a high-performing software company.
|
|
@@ -159,7 +159,7 @@ After writing `gspec/research.md`, ask the user:
|
|
|
159
159
|
- Scope (in-scope goals, out-of-scope items, deferred ideas)
|
|
160
160
|
- Capabilities (with P0/P1/P2 priority levels, using **unchecked checkboxes** `- [ ]` for each capability, each with 2-4 **acceptance criteria** as a sub-list)
|
|
161
161
|
- Dependencies (on other features or external services)
|
|
162
|
-
- Assumptions & Risks (assumptions,
|
|
162
|
+
- Assumptions & Risks (assumptions, key risks and mitigations — all questions must be resolved in the chat before saving; only record explicitly deferred decisions)
|
|
163
163
|
- Success Metrics
|
|
164
164
|
- Implementation Context (standard portability note)
|
|
165
165
|
- Begin the file with YAML frontmatter: `---\nspec-version: v1\n---`
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-stack
|
|
3
|
-
description: Define the technology stack
|
|
3
|
+
description: Define or update the technology stack (gspec/stack.md) — frameworks, libraries, databases, hosting, CI/CD, and infrastructure. TRIGGER when the user wants to pick, define, revise, or document technology choices — e.g. "what stack should I use", "pick a framework", "define the stack", "choose a database", "set up the tech choices", "what should I build this with". Prefer this skill over suggesting ad-hoc tech picks.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a Senior Software Architect at a high-performing software company.
|
|
@@ -52,13 +52,8 @@ You should:
|
|
|
52
52
|
- Deployment target (cloud, on-premise, hybrid)
|
|
53
53
|
- Scale and performance requirements
|
|
54
54
|
|
|
55
|
-
### 2.
|
|
56
|
-
**
|
|
57
|
-
- Missing requirements that impact stack decisions
|
|
58
|
-
- Unclear constraints or preferences
|
|
59
|
-
- Team expertise or existing infrastructure questions
|
|
60
|
-
- Budget or licensing considerations
|
|
61
|
-
- **Mark as "None" if all information is clear**
|
|
55
|
+
### 2. Clarifications
|
|
56
|
+
**All questions that impact technology choices must be resolved by asking the user in the chat before the document is saved.** Do not save the stack spec with unresolved questions. If the user explicitly defers a decision, record it here as a "Deferred Decision" with context explaining what was deferred and why. If there are no deferred decisions, omit this section entirely.
|
|
62
57
|
|
|
63
58
|
### 3. Core Technology Stack
|
|
64
59
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-style
|
|
3
|
-
description: Generate
|
|
3
|
+
description: Generate or update the visual style guide (gspec/style.md) — design tokens, color palette, typography, spacing, and component visual patterns. TRIGGER when the user wants to define or revise the design system, visual language, theme, brand look, or UI aesthetic — e.g. "set up a design system", "pick brand colors", "define the style", "dark mode tokens", "what should this look like", "visual guidelines". Prefer this skill over producing style docs ad hoc.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a senior UI/UX Designer and Design Systems Architect at a high-performing software company.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-analyze
|
|
3
|
-
description: Analyze gspec
|
|
3
|
+
description: Analyze gspec/ documents for discrepancies, contradictions, or drift and reconcile conflicts across profile, stack, style, practices, architecture, and features. TRIGGER when the user wants to audit, cross-check, validate, review, or reconcile specs — especially after multiple edits, or before a major implementation run — e.g. "check my specs", "are the specs consistent", "find conflicts between specs", "do my gspec docs agree", "audit the specs", "is anything out of sync".
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a Specification Analyst at a high-performing software company.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-architect
|
|
3
|
-
description: Define the technical architecture project structure, data model, API design, and environment
|
|
3
|
+
description: Define or update the technical architecture (gspec/architecture.md) — project structure, data model, API design, component hierarchy, and environment/config. TRIGGER when the user wants to plan, design, or document how the codebase will be structured before implementation — e.g. "design the architecture", "plan the project structure", "define the data model", "API shape", "how should this be laid out", "scaffold plan", "component breakdown". Prefer this skill over producing architecture docs ad hoc; run it before gspec-implement on greenfield projects.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a Senior Software Architect at a high-performing software company.
|
|
@@ -34,7 +34,7 @@ Before generating the architecture document, read **all** existing gspec documen
|
|
|
34
34
|
4. **`gspec/practices.md`** — Development standards. Use this to align file organization, testing patterns, and code structure with team conventions.
|
|
35
35
|
5. **`gspec/features/*.md`** — Individual feature requirements and dependencies. Use these to derive data entities, API endpoints, component structure, and integration points.
|
|
36
36
|
|
|
37
|
-
All of these provide essential context. If any are missing, note the gap and make reasonable assumptions
|
|
37
|
+
All of these provide essential context. If any are missing, note the gap and ask the user to clarify before proceeding. If the user explicitly defers, make reasonable assumptions and record them in the Assumptions sub-section of the Technical Gap Analysis.
|
|
38
38
|
|
|
39
39
|
---
|
|
40
40
|
|
|
@@ -344,8 +344,9 @@ Examples of gaps to look for:
|
|
|
344
344
|
- Technical decisions that were inferred rather than explicitly specified in existing specs
|
|
345
345
|
|
|
346
346
|
### 10. Open Decisions
|
|
347
|
-
-
|
|
348
|
-
-
|
|
347
|
+
- **All technical questions and decisions must be resolved by asking the user before the document is saved.** Do not save the architecture with unresolved questions.
|
|
348
|
+
- If the user explicitly defers a decision, record it here with context explaining what was deferred and why. If there are no deferred decisions, omit this section entirely.
|
|
349
|
+
- Areas where the architecture may need to evolve as features are implemented may be noted, but these must be acknowledged evolution points — not unresolved questions.
|
|
349
350
|
|
|
350
351
|
---
|
|
351
352
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-feature
|
|
3
|
-
description: Generate
|
|
3
|
+
description: Generate product requirements documents (PRDs) for features in gspec/features/. TRIGGER when the user wants to plan, spec, propose, document, or expand a feature/capability before coding — e.g. "add a feature for X", "write a PRD", "spec out Y", "plan this feature", "what should the auth flow do", "new feature idea", "draft requirements". Prefer this skill over writing freeform feature docs.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a senior Product Manager at a high-performing software company.
|
|
@@ -168,8 +168,8 @@ This separation — combined with the portability principles above — allows th
|
|
|
168
168
|
|
|
169
169
|
### 6. Assumptions & Risks
|
|
170
170
|
- Assumptions (what we're taking as true)
|
|
171
|
-
- Open questions — **only** unknowns that genuinely cannot be answered until implementation or real-world usage begins (e.g., performance thresholds pending benchmarking, exact rate limits pending load testing). Questions about scope, users, priorities, or feature design must be asked and resolved in the chat before the spec is written. If there are no open questions, omit this sub-section.
|
|
172
171
|
- Key risks and mitigations (brief bullet points — focus on risks that could affect implementation scope or approach)
|
|
172
|
+
- **No open questions** — All questions must be resolved by asking the user in the chat before the spec is saved. If the user explicitly defers a question, record it as a "Deferred Decision" with context explaining what was deferred and why. If there are no deferred decisions, omit the sub-section entirely. Never embed unresolved questions in the document by default.
|
|
173
173
|
|
|
174
174
|
### 7. Success Metrics
|
|
175
175
|
- 2-4 measurable outcomes that define whether this feature is working
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-implement
|
|
3
|
-
description:
|
|
3
|
+
description: Implement the software defined by gspec/ documents — reads profile, stack, style, practices, architecture, and features, then builds code phase by phase with tests and checkpoints. **STRONGLY TRIGGER this skill (do NOT write code ad hoc) whenever the user asks to build, implement, code, scaffold, ship, create, start, bootstrap, make, generate, wire up, or bring to life anything the gspec/ specs describe.** Common triggers include: "build the app", "implement this feature", "code it up", "start building", "let's build X", "make it real", "scaffold the project", "build out Y", "ship the MVP", "create the UI", "wire up auth", "add [capability from a feature PRD]", "implement the next phase", "continue building", "keep going", and generic "build it" / "do it" / "go" when gspec/ files are present and the prior conversation was about planning or specs. Also trigger when the user references an unchecked capability in gspec/features/*.md. Always prefer this skill over direct coding whenever gspec/ exists — it enforces plan-mode, phased implementation, checkpoint commits, and checkbox updates that ad-hoc coding skips.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a Senior Software Engineer and Tech Lead at a high-performing software company.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-migrate
|
|
3
|
-
description: Migrate
|
|
3
|
+
description: Migrate gspec/ files to the current spec format (frontmatter, schema, capability checkboxes) when upgrading the gspec version. TRIGGER when the user sees an outdated-version warning, installs a new gspec version, or asks to upgrade/migrate/update specs — e.g. "migrate my specs", "update to latest gspec format", "my specs are outdated", "upgrade spec version", "fix the spec-version warning".
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a Technical Documentation Migration Specialist.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-practices
|
|
3
|
-
description: Define development practices, code quality standards,
|
|
3
|
+
description: Define or update development practices (gspec/practices.md) — coding standards, testing philosophy, linting, git workflow, PR conventions, and definition of done. TRIGGER when the user wants to set engineering conventions, testing policy, contribution rules, or code quality standards — e.g. "set up coding standards", "testing practices", "git workflow", "definition of done", "how should we write tests", "team conventions". Prefer this skill over ad-hoc convention docs.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a Software Engineering Practice Lead at a high-performing software company.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-profile
|
|
3
|
-
description: Generate
|
|
3
|
+
description: Generate or update the product profile (gspec/profile.md) — what the product is, who it serves, and why it exists. TRIGGER when the user wants to define, describe, capture, or refine product identity, target users, audience, vision, positioning, or value proposition — e.g. "define my product", "who are the users", "describe what I'm building", "what is this app", "capture the vision", "write a profile". Prefer this skill over drafting a profile ad hoc.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a Business Strategist and Product Leader at a high-performing company.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-research
|
|
3
|
-
description: Research competitors
|
|
3
|
+
description: Research competitors named in gspec/profile.md and produce a competitive analysis with feature gap identification. TRIGGER when the user wants market research, competitive analysis, competitor teardown, or feature parity comparison — e.g. "research competitors", "competitive analysis", "what are rivals doing", "find feature gaps", "compare to market", "what are we missing vs competitors".
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a Senior Product Strategist and Competitive Intelligence Analyst at a high-performing software company.
|
|
@@ -159,7 +159,7 @@ After writing `gspec/research.md`, ask the user:
|
|
|
159
159
|
- Scope (in-scope goals, out-of-scope items, deferred ideas)
|
|
160
160
|
- Capabilities (with P0/P1/P2 priority levels, using **unchecked checkboxes** `- [ ]` for each capability, each with 2-4 **acceptance criteria** as a sub-list)
|
|
161
161
|
- Dependencies (on other features or external services)
|
|
162
|
-
- Assumptions & Risks (assumptions,
|
|
162
|
+
- Assumptions & Risks (assumptions, key risks and mitigations — all questions must be resolved in the chat before saving; only record explicitly deferred decisions)
|
|
163
163
|
- Success Metrics
|
|
164
164
|
- Implementation Context (standard portability note)
|
|
165
165
|
- Begin the file with YAML frontmatter: `---\nspec-version: v1\n---`
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-stack
|
|
3
|
-
description: Define the technology stack
|
|
3
|
+
description: Define or update the technology stack (gspec/stack.md) — frameworks, libraries, databases, hosting, CI/CD, and infrastructure. TRIGGER when the user wants to pick, define, revise, or document technology choices — e.g. "what stack should I use", "pick a framework", "define the stack", "choose a database", "set up the tech choices", "what should I build this with". Prefer this skill over suggesting ad-hoc tech picks.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a Senior Software Architect at a high-performing software company.
|
|
@@ -52,13 +52,8 @@ You should:
|
|
|
52
52
|
- Deployment target (cloud, on-premise, hybrid)
|
|
53
53
|
- Scale and performance requirements
|
|
54
54
|
|
|
55
|
-
### 2.
|
|
56
|
-
**
|
|
57
|
-
- Missing requirements that impact stack decisions
|
|
58
|
-
- Unclear constraints or preferences
|
|
59
|
-
- Team expertise or existing infrastructure questions
|
|
60
|
-
- Budget or licensing considerations
|
|
61
|
-
- **Mark as "None" if all information is clear**
|
|
55
|
+
### 2. Clarifications
|
|
56
|
+
**All questions that impact technology choices must be resolved by asking the user in the chat before the document is saved.** Do not save the stack spec with unresolved questions. If the user explicitly defers a decision, record it here as a "Deferred Decision" with context explaining what was deferred and why. If there are no deferred decisions, omit this section entirely.
|
|
62
57
|
|
|
63
58
|
### 3. Core Technology Stack
|
|
64
59
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-style
|
|
3
|
-
description: Generate
|
|
3
|
+
description: Generate or update the visual style guide (gspec/style.md) — design tokens, color palette, typography, spacing, and component visual patterns. TRIGGER when the user wants to define or revise the design system, visual language, theme, brand look, or UI aesthetic — e.g. "set up a design system", "pick brand colors", "define the style", "dark mode tokens", "what should this look like", "visual guidelines". Prefer this skill over producing style docs ad hoc.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a senior UI/UX Designer and Design Systems Architect at a high-performing software company.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-analyze
|
|
3
|
-
description: Analyze gspec
|
|
3
|
+
description: Analyze gspec/ documents for discrepancies, contradictions, or drift and reconcile conflicts across profile, stack, style, practices, architecture, and features. TRIGGER when the user wants to audit, cross-check, validate, review, or reconcile specs — especially after multiple edits, or before a major implementation run — e.g. "check my specs", "are the specs consistent", "find conflicts between specs", "do my gspec docs agree", "audit the specs", "is anything out of sync".
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a Specification Analyst at a high-performing software company.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-architect
|
|
3
|
-
description: Define the technical architecture project structure, data model, API design, and environment
|
|
3
|
+
description: Define or update the technical architecture (gspec/architecture.md) — project structure, data model, API design, component hierarchy, and environment/config. TRIGGER when the user wants to plan, design, or document how the codebase will be structured before implementation — e.g. "design the architecture", "plan the project structure", "define the data model", "API shape", "how should this be laid out", "scaffold plan", "component breakdown". Prefer this skill over producing architecture docs ad hoc; run it before gspec-implement on greenfield projects.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a Senior Software Architect at a high-performing software company.
|
|
@@ -34,7 +34,7 @@ Before generating the architecture document, read **all** existing gspec documen
|
|
|
34
34
|
4. **`gspec/practices.md`** — Development standards. Use this to align file organization, testing patterns, and code structure with team conventions.
|
|
35
35
|
5. **`gspec/features/*.md`** — Individual feature requirements and dependencies. Use these to derive data entities, API endpoints, component structure, and integration points.
|
|
36
36
|
|
|
37
|
-
All of these provide essential context. If any are missing, note the gap and make reasonable assumptions
|
|
37
|
+
All of these provide essential context. If any are missing, note the gap and ask the user to clarify before proceeding. If the user explicitly defers, make reasonable assumptions and record them in the Assumptions sub-section of the Technical Gap Analysis.
|
|
38
38
|
|
|
39
39
|
---
|
|
40
40
|
|
|
@@ -344,8 +344,9 @@ Examples of gaps to look for:
|
|
|
344
344
|
- Technical decisions that were inferred rather than explicitly specified in existing specs
|
|
345
345
|
|
|
346
346
|
### 10. Open Decisions
|
|
347
|
-
-
|
|
348
|
-
-
|
|
347
|
+
- **All technical questions and decisions must be resolved by asking the user before the document is saved.** Do not save the architecture with unresolved questions.
|
|
348
|
+
- If the user explicitly defers a decision, record it here with context explaining what was deferred and why. If there are no deferred decisions, omit this section entirely.
|
|
349
|
+
- Areas where the architecture may need to evolve as features are implemented may be noted, but these must be acknowledged evolution points — not unresolved questions.
|
|
349
350
|
|
|
350
351
|
---
|
|
351
352
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-feature
|
|
3
|
-
description: Generate
|
|
3
|
+
description: Generate product requirements documents (PRDs) for features in gspec/features/. TRIGGER when the user wants to plan, spec, propose, document, or expand a feature/capability before coding — e.g. "add a feature for X", "write a PRD", "spec out Y", "plan this feature", "what should the auth flow do", "new feature idea", "draft requirements". Prefer this skill over writing freeform feature docs.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a senior Product Manager at a high-performing software company.
|
|
@@ -168,8 +168,8 @@ This separation — combined with the portability principles above — allows th
|
|
|
168
168
|
|
|
169
169
|
### 6. Assumptions & Risks
|
|
170
170
|
- Assumptions (what we're taking as true)
|
|
171
|
-
- Open questions — **only** unknowns that genuinely cannot be answered until implementation or real-world usage begins (e.g., performance thresholds pending benchmarking, exact rate limits pending load testing). Questions about scope, users, priorities, or feature design must be asked and resolved in the chat before the spec is written. If there are no open questions, omit this sub-section.
|
|
172
171
|
- Key risks and mitigations (brief bullet points — focus on risks that could affect implementation scope or approach)
|
|
172
|
+
- **No open questions** — All questions must be resolved by asking the user in the chat before the spec is saved. If the user explicitly defers a question, record it as a "Deferred Decision" with context explaining what was deferred and why. If there are no deferred decisions, omit the sub-section entirely. Never embed unresolved questions in the document by default.
|
|
173
173
|
|
|
174
174
|
### 7. Success Metrics
|
|
175
175
|
- 2-4 measurable outcomes that define whether this feature is working
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-implement
|
|
3
|
-
description:
|
|
3
|
+
description: Implement the software defined by gspec/ documents — reads profile, stack, style, practices, architecture, and features, then builds code phase by phase with tests and checkpoints. **STRONGLY TRIGGER this skill (do NOT write code ad hoc) whenever the user asks to build, implement, code, scaffold, ship, create, start, bootstrap, make, generate, wire up, or bring to life anything the gspec/ specs describe.** Common triggers include: "build the app", "implement this feature", "code it up", "start building", "let's build X", "make it real", "scaffold the project", "build out Y", "ship the MVP", "create the UI", "wire up auth", "add [capability from a feature PRD]", "implement the next phase", "continue building", "keep going", and generic "build it" / "do it" / "go" when gspec/ files are present and the prior conversation was about planning or specs. Also trigger when the user references an unchecked capability in gspec/features/*.md. Always prefer this skill over direct coding whenever gspec/ exists — it enforces plan-mode, phased implementation, checkpoint commits, and checkbox updates that ad-hoc coding skips.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a Senior Software Engineer and Tech Lead at a high-performing software company.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-migrate
|
|
3
|
-
description: Migrate
|
|
3
|
+
description: Migrate gspec/ files to the current spec format (frontmatter, schema, capability checkboxes) when upgrading the gspec version. TRIGGER when the user sees an outdated-version warning, installs a new gspec version, or asks to upgrade/migrate/update specs — e.g. "migrate my specs", "update to latest gspec format", "my specs are outdated", "upgrade spec version", "fix the spec-version warning".
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a Technical Documentation Migration Specialist.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-practices
|
|
3
|
-
description: Define development practices, code quality standards,
|
|
3
|
+
description: Define or update development practices (gspec/practices.md) — coding standards, testing philosophy, linting, git workflow, PR conventions, and definition of done. TRIGGER when the user wants to set engineering conventions, testing policy, contribution rules, or code quality standards — e.g. "set up coding standards", "testing practices", "git workflow", "definition of done", "how should we write tests", "team conventions". Prefer this skill over ad-hoc convention docs.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a Software Engineering Practice Lead at a high-performing software company.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-profile
|
|
3
|
-
description: Generate
|
|
3
|
+
description: Generate or update the product profile (gspec/profile.md) — what the product is, who it serves, and why it exists. TRIGGER when the user wants to define, describe, capture, or refine product identity, target users, audience, vision, positioning, or value proposition — e.g. "define my product", "who are the users", "describe what I'm building", "what is this app", "capture the vision", "write a profile". Prefer this skill over drafting a profile ad hoc.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a Business Strategist and Product Leader at a high-performing company.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-research
|
|
3
|
-
description: Research competitors
|
|
3
|
+
description: Research competitors named in gspec/profile.md and produce a competitive analysis with feature gap identification. TRIGGER when the user wants market research, competitive analysis, competitor teardown, or feature parity comparison — e.g. "research competitors", "competitive analysis", "what are rivals doing", "find feature gaps", "compare to market", "what are we missing vs competitors".
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a Senior Product Strategist and Competitive Intelligence Analyst at a high-performing software company.
|
|
@@ -159,7 +159,7 @@ After writing `gspec/research.md`, ask the user:
|
|
|
159
159
|
- Scope (in-scope goals, out-of-scope items, deferred ideas)
|
|
160
160
|
- Capabilities (with P0/P1/P2 priority levels, using **unchecked checkboxes** `- [ ]` for each capability, each with 2-4 **acceptance criteria** as a sub-list)
|
|
161
161
|
- Dependencies (on other features or external services)
|
|
162
|
-
- Assumptions & Risks (assumptions,
|
|
162
|
+
- Assumptions & Risks (assumptions, key risks and mitigations — all questions must be resolved in the chat before saving; only record explicitly deferred decisions)
|
|
163
163
|
- Success Metrics
|
|
164
164
|
- Implementation Context (standard portability note)
|
|
165
165
|
- Begin the file with YAML frontmatter: `---\nspec-version: v1\n---`
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-stack
|
|
3
|
-
description: Define the technology stack
|
|
3
|
+
description: Define or update the technology stack (gspec/stack.md) — frameworks, libraries, databases, hosting, CI/CD, and infrastructure. TRIGGER when the user wants to pick, define, revise, or document technology choices — e.g. "what stack should I use", "pick a framework", "define the stack", "choose a database", "set up the tech choices", "what should I build this with". Prefer this skill over suggesting ad-hoc tech picks.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a Senior Software Architect at a high-performing software company.
|
|
@@ -52,13 +52,8 @@ You should:
|
|
|
52
52
|
- Deployment target (cloud, on-premise, hybrid)
|
|
53
53
|
- Scale and performance requirements
|
|
54
54
|
|
|
55
|
-
### 2.
|
|
56
|
-
**
|
|
57
|
-
- Missing requirements that impact stack decisions
|
|
58
|
-
- Unclear constraints or preferences
|
|
59
|
-
- Team expertise or existing infrastructure questions
|
|
60
|
-
- Budget or licensing considerations
|
|
61
|
-
- **Mark as "None" if all information is clear**
|
|
55
|
+
### 2. Clarifications
|
|
56
|
+
**All questions that impact technology choices must be resolved by asking the user in the chat before the document is saved.** Do not save the stack spec with unresolved questions. If the user explicitly defers a decision, record it here as a "Deferred Decision" with context explaining what was deferred and why. If there are no deferred decisions, omit this section entirely.
|
|
62
57
|
|
|
63
58
|
### 3. Core Technology Stack
|
|
64
59
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-style
|
|
3
|
-
description: Generate
|
|
3
|
+
description: Generate or update the visual style guide (gspec/style.md) — design tokens, color palette, typography, spacing, and component visual patterns. TRIGGER when the user wants to define or revise the design system, visual language, theme, brand look, or UI aesthetic — e.g. "set up a design system", "pick brand colors", "define the style", "dark mode tokens", "what should this look like", "visual guidelines". Prefer this skill over producing style docs ad hoc.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a senior UI/UX Designer and Design Systems Architect at a high-performing software company.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Analyze gspec
|
|
2
|
+
description: Analyze gspec/ documents for discrepancies, contradictions, or drift and reconcile conflicts across profile, stack, style, practices, architecture, and features. TRIGGER when the user wants to audit, cross-check, validate, review, or reconcile specs — especially after multiple edits, or before a major implementation run — e.g. "check my specs", "are the specs consistent", "find conflicts between specs", "do my gspec docs agree", "audit the specs", "is anything out of sync".
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
You are a Specification Analyst at a high-performing software company.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Define the technical architecture project structure, data model, API design, and environment
|
|
2
|
+
description: Define or update the technical architecture (gspec/architecture.md) — project structure, data model, API design, component hierarchy, and environment/config. TRIGGER when the user wants to plan, design, or document how the codebase will be structured before implementation — e.g. "design the architecture", "plan the project structure", "define the data model", "API shape", "how should this be laid out", "scaffold plan", "component breakdown". Prefer this skill over producing architecture docs ad hoc; run it before gspec-implement on greenfield projects.
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
You are a Senior Software Architect at a high-performing software company.
|
|
@@ -33,7 +33,7 @@ Before generating the architecture document, read **all** existing gspec documen
|
|
|
33
33
|
4. **`gspec/practices.md`** — Development standards. Use this to align file organization, testing patterns, and code structure with team conventions.
|
|
34
34
|
5. **`gspec/features/*.md`** — Individual feature requirements and dependencies. Use these to derive data entities, API endpoints, component structure, and integration points.
|
|
35
35
|
|
|
36
|
-
All of these provide essential context. If any are missing, note the gap and make reasonable assumptions
|
|
36
|
+
All of these provide essential context. If any are missing, note the gap and ask the user to clarify before proceeding. If the user explicitly defers, make reasonable assumptions and record them in the Assumptions sub-section of the Technical Gap Analysis.
|
|
37
37
|
|
|
38
38
|
---
|
|
39
39
|
|
|
@@ -343,8 +343,9 @@ Examples of gaps to look for:
|
|
|
343
343
|
- Technical decisions that were inferred rather than explicitly specified in existing specs
|
|
344
344
|
|
|
345
345
|
### 10. Open Decisions
|
|
346
|
-
-
|
|
347
|
-
-
|
|
346
|
+
- **All technical questions and decisions must be resolved by asking the user before the document is saved.** Do not save the architecture with unresolved questions.
|
|
347
|
+
- If the user explicitly defers a decision, record it here with context explaining what was deferred and why. If there are no deferred decisions, omit this section entirely.
|
|
348
|
+
- Areas where the architecture may need to evolve as features are implemented may be noted, but these must be acknowledged evolution points — not unresolved questions.
|
|
348
349
|
|
|
349
350
|
---
|
|
350
351
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Generate
|
|
2
|
+
description: Generate product requirements documents (PRDs) for features in gspec/features/. TRIGGER when the user wants to plan, spec, propose, document, or expand a feature/capability before coding — e.g. "add a feature for X", "write a PRD", "spec out Y", "plan this feature", "what should the auth flow do", "new feature idea", "draft requirements". Prefer this skill over writing freeform feature docs.
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
You are a senior Product Manager at a high-performing software company.
|
|
@@ -167,8 +167,8 @@ This separation — combined with the portability principles above — allows th
|
|
|
167
167
|
|
|
168
168
|
### 6. Assumptions & Risks
|
|
169
169
|
- Assumptions (what we're taking as true)
|
|
170
|
-
- Open questions — **only** unknowns that genuinely cannot be answered until implementation or real-world usage begins (e.g., performance thresholds pending benchmarking, exact rate limits pending load testing). Questions about scope, users, priorities, or feature design must be asked and resolved in the chat before the spec is written. If there are no open questions, omit this sub-section.
|
|
171
170
|
- Key risks and mitigations (brief bullet points — focus on risks that could affect implementation scope or approach)
|
|
171
|
+
- **No open questions** — All questions must be resolved by asking the user in the chat before the spec is saved. If the user explicitly defers a question, record it as a "Deferred Decision" with context explaining what was deferred and why. If there are no deferred decisions, omit the sub-section entirely. Never embed unresolved questions in the document by default.
|
|
172
172
|
|
|
173
173
|
### 7. Success Metrics
|
|
174
174
|
- 2-4 measurable outcomes that define whether this feature is working
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
2
|
+
description: Implement the software defined by gspec/ documents — reads profile, stack, style, practices, architecture, and features, then builds code phase by phase with tests and checkpoints. **STRONGLY TRIGGER this skill (do NOT write code ad hoc) whenever the user asks to build, implement, code, scaffold, ship, create, start, bootstrap, make, generate, wire up, or bring to life anything the gspec/ specs describe.** Common triggers include: "build the app", "implement this feature", "code it up", "start building", "let's build X", "make it real", "scaffold the project", "build out Y", "ship the MVP", "create the UI", "wire up auth", "add [capability from a feature PRD]", "implement the next phase", "continue building", "keep going", and generic "build it" / "do it" / "go" when gspec/ files are present and the prior conversation was about planning or specs. Also trigger when the user references an unchecked capability in gspec/features/*.md. Always prefer this skill over direct coding whenever gspec/ exists — it enforces plan-mode, phased implementation, checkpoint commits, and checkbox updates that ad-hoc coding skips.
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
You are a Senior Software Engineer and Tech Lead at a high-performing software company.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Migrate
|
|
2
|
+
description: Migrate gspec/ files to the current spec format (frontmatter, schema, capability checkboxes) when upgrading the gspec version. TRIGGER when the user sees an outdated-version warning, installs a new gspec version, or asks to upgrade/migrate/update specs — e.g. "migrate my specs", "update to latest gspec format", "my specs are outdated", "upgrade spec version", "fix the spec-version warning".
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
You are a Technical Documentation Migration Specialist.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Define development practices, code quality standards,
|
|
2
|
+
description: Define or update development practices (gspec/practices.md) — coding standards, testing philosophy, linting, git workflow, PR conventions, and definition of done. TRIGGER when the user wants to set engineering conventions, testing policy, contribution rules, or code quality standards — e.g. "set up coding standards", "testing practices", "git workflow", "definition of done", "how should we write tests", "team conventions". Prefer this skill over ad-hoc convention docs.
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
You are a Software Engineering Practice Lead at a high-performing software company.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Generate
|
|
2
|
+
description: Generate or update the product profile (gspec/profile.md) — what the product is, who it serves, and why it exists. TRIGGER when the user wants to define, describe, capture, or refine product identity, target users, audience, vision, positioning, or value proposition — e.g. "define my product", "who are the users", "describe what I'm building", "what is this app", "capture the vision", "write a profile". Prefer this skill over drafting a profile ad hoc.
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
You are a Business Strategist and Product Leader at a high-performing company.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Research competitors
|
|
2
|
+
description: Research competitors named in gspec/profile.md and produce a competitive analysis with feature gap identification. TRIGGER when the user wants market research, competitive analysis, competitor teardown, or feature parity comparison — e.g. "research competitors", "competitive analysis", "what are rivals doing", "find feature gaps", "compare to market", "what are we missing vs competitors".
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
You are a Senior Product Strategist and Competitive Intelligence Analyst at a high-performing software company.
|
|
@@ -158,7 +158,7 @@ After writing `gspec/research.md`, ask the user:
|
|
|
158
158
|
- Scope (in-scope goals, out-of-scope items, deferred ideas)
|
|
159
159
|
- Capabilities (with P0/P1/P2 priority levels, using **unchecked checkboxes** `- [ ]` for each capability, each with 2-4 **acceptance criteria** as a sub-list)
|
|
160
160
|
- Dependencies (on other features or external services)
|
|
161
|
-
- Assumptions & Risks (assumptions,
|
|
161
|
+
- Assumptions & Risks (assumptions, key risks and mitigations — all questions must be resolved in the chat before saving; only record explicitly deferred decisions)
|
|
162
162
|
- Success Metrics
|
|
163
163
|
- Implementation Context (standard portability note)
|
|
164
164
|
- Begin the file with YAML frontmatter: `---\nspec-version: v1\n---`
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Define the technology stack
|
|
2
|
+
description: Define or update the technology stack (gspec/stack.md) — frameworks, libraries, databases, hosting, CI/CD, and infrastructure. TRIGGER when the user wants to pick, define, revise, or document technology choices — e.g. "what stack should I use", "pick a framework", "define the stack", "choose a database", "set up the tech choices", "what should I build this with". Prefer this skill over suggesting ad-hoc tech picks.
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
You are a Senior Software Architect at a high-performing software company.
|
|
@@ -51,13 +51,8 @@ You should:
|
|
|
51
51
|
- Deployment target (cloud, on-premise, hybrid)
|
|
52
52
|
- Scale and performance requirements
|
|
53
53
|
|
|
54
|
-
### 2.
|
|
55
|
-
**
|
|
56
|
-
- Missing requirements that impact stack decisions
|
|
57
|
-
- Unclear constraints or preferences
|
|
58
|
-
- Team expertise or existing infrastructure questions
|
|
59
|
-
- Budget or licensing considerations
|
|
60
|
-
- **Mark as "None" if all information is clear**
|
|
54
|
+
### 2. Clarifications
|
|
55
|
+
**All questions that impact technology choices must be resolved by asking the user in the chat before the document is saved.** Do not save the stack spec with unresolved questions. If the user explicitly defers a decision, record it here as a "Deferred Decision" with context explaining what was deferred and why. If there are no deferred decisions, omit this section entirely.
|
|
61
56
|
|
|
62
57
|
### 3. Core Technology Stack
|
|
63
58
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Generate
|
|
2
|
+
description: Generate or update the visual style guide (gspec/style.md) — design tokens, color palette, typography, spacing, and component visual patterns. TRIGGER when the user wants to define or revise the design system, visual language, theme, brand look, or UI aesthetic — e.g. "set up a design system", "pick brand colors", "define the style", "dark mode tokens", "what should this look like", "visual guidelines". Prefer this skill over producing style docs ad hoc.
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
You are a senior UI/UX Designer and Design Systems Architect at a high-performing software company.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-analyze
|
|
3
|
-
description: Analyze gspec
|
|
3
|
+
description: Analyze gspec/ documents for discrepancies, contradictions, or drift and reconcile conflicts across profile, stack, style, practices, architecture, and features. TRIGGER when the user wants to audit, cross-check, validate, review, or reconcile specs — especially after multiple edits, or before a major implementation run — e.g. "check my specs", "are the specs consistent", "find conflicts between specs", "do my gspec docs agree", "audit the specs", "is anything out of sync".
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a Specification Analyst at a high-performing software company.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-architect
|
|
3
|
-
description: Define the technical architecture project structure, data model, API design, and environment
|
|
3
|
+
description: Define or update the technical architecture (gspec/architecture.md) — project structure, data model, API design, component hierarchy, and environment/config. TRIGGER when the user wants to plan, design, or document how the codebase will be structured before implementation — e.g. "design the architecture", "plan the project structure", "define the data model", "API shape", "how should this be laid out", "scaffold plan", "component breakdown". Prefer this skill over producing architecture docs ad hoc; run it before gspec-implement on greenfield projects.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a Senior Software Architect at a high-performing software company.
|
|
@@ -34,7 +34,7 @@ Before generating the architecture document, read **all** existing gspec documen
|
|
|
34
34
|
4. **`gspec/practices.md`** — Development standards. Use this to align file organization, testing patterns, and code structure with team conventions.
|
|
35
35
|
5. **`gspec/features/*.md`** — Individual feature requirements and dependencies. Use these to derive data entities, API endpoints, component structure, and integration points.
|
|
36
36
|
|
|
37
|
-
All of these provide essential context. If any are missing, note the gap and make reasonable assumptions
|
|
37
|
+
All of these provide essential context. If any are missing, note the gap and ask the user to clarify before proceeding. If the user explicitly defers, make reasonable assumptions and record them in the Assumptions sub-section of the Technical Gap Analysis.
|
|
38
38
|
|
|
39
39
|
---
|
|
40
40
|
|
|
@@ -344,8 +344,9 @@ Examples of gaps to look for:
|
|
|
344
344
|
- Technical decisions that were inferred rather than explicitly specified in existing specs
|
|
345
345
|
|
|
346
346
|
### 10. Open Decisions
|
|
347
|
-
-
|
|
348
|
-
-
|
|
347
|
+
- **All technical questions and decisions must be resolved by asking the user before the document is saved.** Do not save the architecture with unresolved questions.
|
|
348
|
+
- If the user explicitly defers a decision, record it here with context explaining what was deferred and why. If there are no deferred decisions, omit this section entirely.
|
|
349
|
+
- Areas where the architecture may need to evolve as features are implemented may be noted, but these must be acknowledged evolution points — not unresolved questions.
|
|
349
350
|
|
|
350
351
|
---
|
|
351
352
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-feature
|
|
3
|
-
description: Generate
|
|
3
|
+
description: Generate product requirements documents (PRDs) for features in gspec/features/. TRIGGER when the user wants to plan, spec, propose, document, or expand a feature/capability before coding — e.g. "add a feature for X", "write a PRD", "spec out Y", "plan this feature", "what should the auth flow do", "new feature idea", "draft requirements". Prefer this skill over writing freeform feature docs.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a senior Product Manager at a high-performing software company.
|
|
@@ -168,8 +168,8 @@ This separation — combined with the portability principles above — allows th
|
|
|
168
168
|
|
|
169
169
|
### 6. Assumptions & Risks
|
|
170
170
|
- Assumptions (what we're taking as true)
|
|
171
|
-
- Open questions — **only** unknowns that genuinely cannot be answered until implementation or real-world usage begins (e.g., performance thresholds pending benchmarking, exact rate limits pending load testing). Questions about scope, users, priorities, or feature design must be asked and resolved in the chat before the spec is written. If there are no open questions, omit this sub-section.
|
|
172
171
|
- Key risks and mitigations (brief bullet points — focus on risks that could affect implementation scope or approach)
|
|
172
|
+
- **No open questions** — All questions must be resolved by asking the user in the chat before the spec is saved. If the user explicitly defers a question, record it as a "Deferred Decision" with context explaining what was deferred and why. If there are no deferred decisions, omit the sub-section entirely. Never embed unresolved questions in the document by default.
|
|
173
173
|
|
|
174
174
|
### 7. Success Metrics
|
|
175
175
|
- 2-4 measurable outcomes that define whether this feature is working
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-implement
|
|
3
|
-
description:
|
|
3
|
+
description: Implement the software defined by gspec/ documents — reads profile, stack, style, practices, architecture, and features, then builds code phase by phase with tests and checkpoints. **STRONGLY TRIGGER this skill (do NOT write code ad hoc) whenever the user asks to build, implement, code, scaffold, ship, create, start, bootstrap, make, generate, wire up, or bring to life anything the gspec/ specs describe.** Common triggers include: "build the app", "implement this feature", "code it up", "start building", "let's build X", "make it real", "scaffold the project", "build out Y", "ship the MVP", "create the UI", "wire up auth", "add [capability from a feature PRD]", "implement the next phase", "continue building", "keep going", and generic "build it" / "do it" / "go" when gspec/ files are present and the prior conversation was about planning or specs. Also trigger when the user references an unchecked capability in gspec/features/*.md. Always prefer this skill over direct coding whenever gspec/ exists — it enforces plan-mode, phased implementation, checkpoint commits, and checkbox updates that ad-hoc coding skips.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a Senior Software Engineer and Tech Lead at a high-performing software company.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-migrate
|
|
3
|
-
description: Migrate
|
|
3
|
+
description: Migrate gspec/ files to the current spec format (frontmatter, schema, capability checkboxes) when upgrading the gspec version. TRIGGER when the user sees an outdated-version warning, installs a new gspec version, or asks to upgrade/migrate/update specs — e.g. "migrate my specs", "update to latest gspec format", "my specs are outdated", "upgrade spec version", "fix the spec-version warning".
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a Technical Documentation Migration Specialist.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-practices
|
|
3
|
-
description: Define development practices, code quality standards,
|
|
3
|
+
description: Define or update development practices (gspec/practices.md) — coding standards, testing philosophy, linting, git workflow, PR conventions, and definition of done. TRIGGER when the user wants to set engineering conventions, testing policy, contribution rules, or code quality standards — e.g. "set up coding standards", "testing practices", "git workflow", "definition of done", "how should we write tests", "team conventions". Prefer this skill over ad-hoc convention docs.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a Software Engineering Practice Lead at a high-performing software company.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-profile
|
|
3
|
-
description: Generate
|
|
3
|
+
description: Generate or update the product profile (gspec/profile.md) — what the product is, who it serves, and why it exists. TRIGGER when the user wants to define, describe, capture, or refine product identity, target users, audience, vision, positioning, or value proposition — e.g. "define my product", "who are the users", "describe what I'm building", "what is this app", "capture the vision", "write a profile". Prefer this skill over drafting a profile ad hoc.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a Business Strategist and Product Leader at a high-performing company.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-research
|
|
3
|
-
description: Research competitors
|
|
3
|
+
description: Research competitors named in gspec/profile.md and produce a competitive analysis with feature gap identification. TRIGGER when the user wants market research, competitive analysis, competitor teardown, or feature parity comparison — e.g. "research competitors", "competitive analysis", "what are rivals doing", "find feature gaps", "compare to market", "what are we missing vs competitors".
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a Senior Product Strategist and Competitive Intelligence Analyst at a high-performing software company.
|
|
@@ -159,7 +159,7 @@ After writing `gspec/research.md`, ask the user:
|
|
|
159
159
|
- Scope (in-scope goals, out-of-scope items, deferred ideas)
|
|
160
160
|
- Capabilities (with P0/P1/P2 priority levels, using **unchecked checkboxes** `- [ ]` for each capability, each with 2-4 **acceptance criteria** as a sub-list)
|
|
161
161
|
- Dependencies (on other features or external services)
|
|
162
|
-
- Assumptions & Risks (assumptions,
|
|
162
|
+
- Assumptions & Risks (assumptions, key risks and mitigations — all questions must be resolved in the chat before saving; only record explicitly deferred decisions)
|
|
163
163
|
- Success Metrics
|
|
164
164
|
- Implementation Context (standard portability note)
|
|
165
165
|
- Begin the file with YAML frontmatter: `---\nspec-version: v1\n---`
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-stack
|
|
3
|
-
description: Define the technology stack
|
|
3
|
+
description: Define or update the technology stack (gspec/stack.md) — frameworks, libraries, databases, hosting, CI/CD, and infrastructure. TRIGGER when the user wants to pick, define, revise, or document technology choices — e.g. "what stack should I use", "pick a framework", "define the stack", "choose a database", "set up the tech choices", "what should I build this with". Prefer this skill over suggesting ad-hoc tech picks.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a Senior Software Architect at a high-performing software company.
|
|
@@ -52,13 +52,8 @@ You should:
|
|
|
52
52
|
- Deployment target (cloud, on-premise, hybrid)
|
|
53
53
|
- Scale and performance requirements
|
|
54
54
|
|
|
55
|
-
### 2.
|
|
56
|
-
**
|
|
57
|
-
- Missing requirements that impact stack decisions
|
|
58
|
-
- Unclear constraints or preferences
|
|
59
|
-
- Team expertise or existing infrastructure questions
|
|
60
|
-
- Budget or licensing considerations
|
|
61
|
-
- **Mark as "None" if all information is clear**
|
|
55
|
+
### 2. Clarifications
|
|
56
|
+
**All questions that impact technology choices must be resolved by asking the user in the chat before the document is saved.** Do not save the stack spec with unresolved questions. If the user explicitly defers a decision, record it here as a "Deferred Decision" with context explaining what was deferred and why. If there are no deferred decisions, omit this section entirely.
|
|
62
57
|
|
|
63
58
|
### 3. Core Technology Stack
|
|
64
59
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gspec-style
|
|
3
|
-
description: Generate
|
|
3
|
+
description: Generate or update the visual style guide (gspec/style.md) — design tokens, color palette, typography, spacing, and component visual patterns. TRIGGER when the user wants to define or revise the design system, visual language, theme, brand look, or UI aesthetic — e.g. "set up a design system", "pick brand colors", "define the style", "dark mode tokens", "what should this look like", "visual guidelines". Prefer this skill over producing style docs ad hoc.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
You are a senior UI/UX Designer and Design Systems Architect at a high-performing software company.
|
package/package.json
CHANGED
package/templates/spec-sync.md
CHANGED
|
@@ -4,23 +4,44 @@ This project uses **gspec** for living product specifications stored in `gspec/`
|
|
|
4
4
|
|
|
5
5
|
These specs define what the product is, how it should look, what technology it uses, and what features it supports. They are the source of truth for product decisions — and they must stay in sync with the code.
|
|
6
6
|
|
|
7
|
+
### Prefer gspec skills over ad-hoc work
|
|
8
|
+
|
|
9
|
+
Because `gspec/` exists in this project, **route the user's request through the matching gspec skill** instead of producing the equivalent output ad hoc. This applies even when the user's phrasing is casual (e.g. "just build it", "let's code this", "write a quick spec"). The skills enforce plan-mode, phased execution, checkpointing, and checkbox updates that freeform responses skip.
|
|
10
|
+
|
|
11
|
+
Use this mapping whenever the user's intent matches:
|
|
12
|
+
|
|
13
|
+
- **Building, implementing, coding, scaffolding, shipping, or "making it real"** — invoke `gspec-implement`. This is the most commonly-missed skill. If the user asks you to write code for anything the specs describe (or a new capability that should be specced), route through `gspec-implement` rather than editing files directly. Generic prompts like "build it", "go", "keep going", "continue", or "do the next phase" should also invoke it when recent conversation has been about specs or planning.
|
|
14
|
+
- **Defining the product, users, or vision** — invoke `gspec-profile`.
|
|
15
|
+
- **Planning or writing a new feature / PRD** — invoke `gspec-feature`.
|
|
16
|
+
- **Choosing or revising the tech stack** — invoke `gspec-stack`.
|
|
17
|
+
- **Defining visual design, tokens, or theme** — invoke `gspec-style`.
|
|
18
|
+
- **Setting coding standards, testing, or workflow conventions** — invoke `gspec-practices`.
|
|
19
|
+
- **Designing project structure, data model, or API shape** — invoke `gspec-architect`.
|
|
20
|
+
- **Researching competitors or finding feature gaps** — invoke `gspec-research`.
|
|
21
|
+
- **Auditing specs for contradictions or drift** — invoke `gspec-analyze`.
|
|
22
|
+
- **Upgrading outdated spec files** — invoke `gspec-migrate`.
|
|
23
|
+
|
|
24
|
+
If the user explicitly asks you to skip the skill and just do the work, honor that — but by default, prefer the skill.
|
|
25
|
+
|
|
7
26
|
### When you make code changes, follow these rules:
|
|
8
27
|
|
|
9
28
|
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
29
|
|
|
11
|
-
2. **
|
|
30
|
+
2. **Spec before you build** — If the user asks for a feature or capability that isn't covered by an existing feature PRD in `gspec/features/`, run the `gspec-feature` command to create a new feature PRD before implementing it. Every feature should be specified before it's built — don't skip straight to code.
|
|
31
|
+
|
|
32
|
+
3. **Update feature checkboxes** — When you implement a capability defined in a feature PRD (`gspec/features/*.md`), change its checkbox from `- [ ]` to `- [x]`.
|
|
12
33
|
|
|
13
|
-
|
|
34
|
+
4. **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
35
|
- `gspec/architecture.md` — project structure, data model, API routes, component hierarchy
|
|
15
36
|
- `gspec/stack.md` — dependencies, frameworks, infrastructure
|
|
16
37
|
- `gspec/style.md` — design tokens, component styling, visual conventions
|
|
17
38
|
- `gspec/practices.md` — coding standards, testing conventions, workflows
|
|
18
39
|
- `gspec/profile.md` — product scope, target users, value proposition (rarely changes)
|
|
19
40
|
|
|
20
|
-
|
|
41
|
+
5. **Be surgical** — Change only what is necessary. Preserve the existing voice, structure, and formatting of each spec document. Do not rewrite sections that are still accurate.
|
|
21
42
|
|
|
22
|
-
|
|
43
|
+
6. **Announce spec updates** — When you update a spec, briefly mention what changed and why in your response. Never silently modify specs.
|
|
23
44
|
|
|
24
|
-
|
|
45
|
+
7. **Preserve frontmatter** — gspec files use YAML frontmatter with a `spec-version` field. Preserve it when editing. If a file lacks frontmatter, leave it as-is.
|
|
25
46
|
|
|
26
|
-
|
|
47
|
+
8. **Don't create new foundation specs** — Only update existing spec files. If you believe a new spec document is needed, suggest it to the user rather than creating it yourself.
|