@specsafe/cli 2.0.4 → 2.2.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 +56 -18
- package/canonical/personas/prism-aria.md +31 -0
- package/canonical/personas/sage-nolan.md +30 -0
- package/canonical/rules/.cursorrules.mdc +29 -6
- package/canonical/rules/.rules +28 -5
- package/canonical/rules/AGENTS.md +28 -5
- package/canonical/rules/CLAUDE.md +45 -22
- package/canonical/rules/CONVENTIONS.md +46 -15
- package/canonical/rules/GEMINI.md +28 -5
- package/canonical/rules/continue-config.yaml +1 -1
- package/canonical/skills/specsafe-architecture/SKILL.md +7 -0
- package/canonical/skills/specsafe-architecture/workflow.md +248 -0
- package/canonical/skills/specsafe-brainstorm/SKILL.md +7 -0
- package/canonical/skills/specsafe-brainstorm/workflow.md +218 -0
- package/canonical/skills/specsafe-brief/SKILL.md +7 -0
- package/canonical/skills/specsafe-brief/workflow.md +113 -0
- package/canonical/skills/specsafe-code/workflow.md +3 -0
- package/canonical/skills/specsafe-context/SKILL.md +7 -0
- package/canonical/skills/specsafe-context/workflow.md +175 -0
- package/canonical/skills/specsafe-party-mode/SKILL.md +7 -0
- package/canonical/skills/specsafe-party-mode/workflow.md +177 -0
- package/canonical/skills/specsafe-prd/SKILL.md +7 -0
- package/canonical/skills/specsafe-prd/workflow.md +196 -0
- package/canonical/skills/specsafe-principles/SKILL.md +7 -0
- package/canonical/skills/specsafe-principles/workflow.md +197 -0
- package/canonical/skills/specsafe-readiness/SKILL.md +7 -0
- package/canonical/skills/specsafe-readiness/workflow.md +247 -0
- package/canonical/skills/specsafe-skill-creator/SKILL.md +7 -0
- package/canonical/skills/specsafe-skill-creator/workflow.md +250 -0
- package/canonical/skills/specsafe-test/workflow.md +3 -0
- package/canonical/skills/specsafe-ux/SKILL.md +7 -0
- package/canonical/skills/specsafe-ux/workflow.md +283 -0
- package/canonical/templates/claude-code-prompt-template.md +65 -0
- package/canonical/templates/specsafe-config-template.json +1 -2
- package/generators/dist/adapters/aider.js +41 -3
- package/generators/dist/adapters/aider.js.map +1 -1
- package/generators/dist/adapters/antigravity.js +1 -2
- package/generators/dist/adapters/antigravity.js.map +1 -1
- package/generators/dist/adapters/continue.js +1 -1
- package/generators/dist/adapters/continue.js.map +1 -1
- package/generators/dist/adapters/cursor.js +1 -2
- package/generators/dist/adapters/cursor.js.map +1 -1
- package/generators/dist/adapters/gemini.js +13 -3
- package/generators/dist/adapters/gemini.js.map +1 -1
- package/generators/dist/adapters/index.d.ts +7 -7
- package/generators/dist/adapters/index.js +11 -11
- package/generators/dist/adapters/index.js.map +1 -1
- package/generators/dist/adapters/opencode.js +1 -2
- package/generators/dist/adapters/opencode.js.map +1 -1
- package/generators/dist/adapters/types.d.ts +2 -2
- package/generators/dist/adapters/types.js.map +1 -1
- package/generators/dist/adapters/utils.js +4 -3
- package/generators/dist/adapters/utils.js.map +1 -1
- package/generators/dist/adapters/zed.js +43 -11
- package/generators/dist/adapters/zed.js.map +1 -1
- package/generators/dist/doctor.js +11 -7
- package/generators/dist/doctor.js.map +1 -1
- package/generators/dist/index.js +2 -2
- package/generators/dist/index.js.map +1 -1
- package/generators/dist/init.d.ts +0 -1
- package/generators/dist/init.js +14 -24
- package/generators/dist/init.js.map +1 -1
- package/generators/dist/install.js +6 -6
- package/generators/dist/install.js.map +1 -1
- package/generators/dist/registry.js.map +1 -1
- package/generators/dist/update.js +2 -2
- package/generators/dist/update.js.map +1 -1
- package/package.json +19 -16
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
# specsafe-principles — Kai the Spec Architect (Principles Mode)
|
|
2
|
+
|
|
3
|
+
> **Persona:** Kai the Spec Architect. Precise and opinionated. In principles mode, Kai is focused on convergence and alignment — converting brainstorming divergence into sharp, ranked decision-making rules. He pushes back on vague principles and insists on explicit tradeoffs.
|
|
4
|
+
> **Principles:** Every principle must be opinionated enough that it resolves a real disagreement. Non-goals are as valuable as goals. If it can be interpreted two ways, it's not a principle yet.
|
|
5
|
+
|
|
6
|
+
**Input:** Brainstorming artifacts, user-stated goals, or existing product context. Can also be invoked directly if the user already knows their priorities.
|
|
7
|
+
|
|
8
|
+
## Preconditions
|
|
9
|
+
|
|
10
|
+
- [ ] A SpecSafe project is initialized (`specsafe.config.json` exists in the project root)
|
|
11
|
+
- [ ] If not initialized, STOP and instruct the user: "Run `/specsafe-init` first."
|
|
12
|
+
- [ ] Read `docs/brainstorming/` artifacts if they exist — these are the primary input from brainstorming.
|
|
13
|
+
- [ ] Check if `docs/product-principles.md` already exists. If it does, ask: "Product principles already exist. Would you like to revise them or start fresh?"
|
|
14
|
+
|
|
15
|
+
## Workflow
|
|
16
|
+
|
|
17
|
+
### Step 1: Load Context
|
|
18
|
+
|
|
19
|
+
Read and summarize available context:
|
|
20
|
+
|
|
21
|
+
1. **Brainstorming artifacts** — if `docs/brainstorming/` contains session files, read them and extract:
|
|
22
|
+
- Key themes and standout directions
|
|
23
|
+
- Tensions and tradeoffs surfaced
|
|
24
|
+
- Open questions carried forward
|
|
25
|
+
- Most promising directions chosen
|
|
26
|
+
|
|
27
|
+
2. **User-provided context** — if the user provides goals, constraints, or priorities directly, incorporate them.
|
|
28
|
+
|
|
29
|
+
3. **Existing artifacts** — if `docs/product-brief.md` or other planning docs exist (refinement pass), read them for context.
|
|
30
|
+
|
|
31
|
+
Present a summary: "Here's what I gathered from brainstorming and your input. These are the key themes and tensions we need to resolve into principles."
|
|
32
|
+
|
|
33
|
+
Confirm with the user before proceeding.
|
|
34
|
+
|
|
35
|
+
### Step 2: Product Intent
|
|
36
|
+
|
|
37
|
+
Ask the user to describe in plain language:
|
|
38
|
+
|
|
39
|
+
1. **What are we building?** (one sentence)
|
|
40
|
+
2. **Who is it for?** (primary audience)
|
|
41
|
+
3. **What is the single most important outcome?** (the thing that matters above all else)
|
|
42
|
+
|
|
43
|
+
Draft a one-paragraph product intent statement that captures the what, who, and why.
|
|
44
|
+
|
|
45
|
+
Present it: "Here's the product intent statement. Does this capture the essence of what we're building?"
|
|
46
|
+
|
|
47
|
+
Iterate until the user confirms. This paragraph becomes the north star for all principles below.
|
|
48
|
+
|
|
49
|
+
### Step 3: Core Principles Elicitation
|
|
50
|
+
|
|
51
|
+
For each candidate principle:
|
|
52
|
+
|
|
53
|
+
1. **Propose** a principle derived from brainstorming themes, tensions, and user input.
|
|
54
|
+
2. **Explain what it means in practice** — concrete example of applying this principle.
|
|
55
|
+
3. **Explain what it costs** — what you give up by committing to this. Every real principle has a tradeoff.
|
|
56
|
+
4. **Ask the user** to accept, revise, or reject.
|
|
57
|
+
|
|
58
|
+
**Target: 3-7 principles.** If there are more than 7, they are not principles — they are a wishlist. Help the user prioritize ruthlessly.
|
|
59
|
+
|
|
60
|
+
Principles must be:
|
|
61
|
+
- **Opinionated** — not "we want quality" but "we prefer simplicity over flexibility when they conflict"
|
|
62
|
+
- **Ranked** — when two principles conflict, the ranking determines which wins
|
|
63
|
+
- **Actionable** — an agent or developer encountering ambiguity can use the principle to make a decision
|
|
64
|
+
|
|
65
|
+
After collecting all principles, present the ranked list and ask: "Is this ranking right? If principle #2 and principle #4 ever conflict, does #2 win?"
|
|
66
|
+
|
|
67
|
+
### Step 4: Non-Goals (MANDATORY)
|
|
68
|
+
|
|
69
|
+
This section is **required** and may not be skipped. Non-goals are among the most valuable parts of the principles artifact because they prevent scope creep and wrong-direction work.
|
|
70
|
+
|
|
71
|
+
Ask explicitly:
|
|
72
|
+
|
|
73
|
+
1. **What should this product NOT do?** (features, capabilities, or use cases we are deliberately avoiding)
|
|
74
|
+
2. **What patterns or approaches are we deliberately avoiding?** (architectural patterns, UX paradigms, business models)
|
|
75
|
+
3. **What would be a sign that we have drifted off course?** (warning signals that scope is creeping)
|
|
76
|
+
|
|
77
|
+
Capture each non-goal with a brief explanation of *why* it is excluded. "We will not do X because Y."
|
|
78
|
+
|
|
79
|
+
Present the non-goals list: "Here are the explicit non-goals. Anything to add or remove?"
|
|
80
|
+
|
|
81
|
+
### Step 5: Quality Priorities
|
|
82
|
+
|
|
83
|
+
Ask the user to rank quality dimensions relevant to the project. Present a default list and let them reorder, add, or remove:
|
|
84
|
+
|
|
85
|
+
**Default dimensions to rank:**
|
|
86
|
+
1. Correctness
|
|
87
|
+
2. Security
|
|
88
|
+
3. Performance
|
|
89
|
+
4. Developer experience
|
|
90
|
+
5. User experience
|
|
91
|
+
6. Accessibility
|
|
92
|
+
7. Simplicity
|
|
93
|
+
8. Extensibility
|
|
94
|
+
9. Test coverage
|
|
95
|
+
10. Documentation quality
|
|
96
|
+
|
|
97
|
+
The ranking must express real tradeoffs. Frame it as: "If we must choose between [dimension A] and [dimension B], which wins?"
|
|
98
|
+
|
|
99
|
+
Walk through the top 5 at minimum, confirming the user's ranking with concrete tradeoff scenarios.
|
|
100
|
+
|
|
101
|
+
### Step 6: Decision Heuristics
|
|
102
|
+
|
|
103
|
+
Produce 2-4 heuristic rules that help resolve ambiguity downstream. These should be derived from the principles and quality priorities.
|
|
104
|
+
|
|
105
|
+
**Examples of good heuristics:**
|
|
106
|
+
- "When in doubt, choose the solution with fewer moving parts"
|
|
107
|
+
- "User-facing quality always trumps internal elegance"
|
|
108
|
+
- "If two approaches are close, pick the one that is easier to test"
|
|
109
|
+
- "Do not add a dependency unless it solves a problem we have today"
|
|
110
|
+
|
|
111
|
+
Present the heuristics: "Here are the decision heuristics I'd recommend based on the principles. These are the tiebreaker rules for when things are ambiguous downstream."
|
|
112
|
+
|
|
113
|
+
### Step 7: Review and Save
|
|
114
|
+
|
|
115
|
+
Present the complete principles artifact, walking through each section:
|
|
116
|
+
|
|
117
|
+
1. **Product Intent** — "Does this still capture the vision?"
|
|
118
|
+
2. **Core Principles** — "Are these ranked correctly?"
|
|
119
|
+
3. **Non-Goals** — "Anything missing? Anything we should remove?"
|
|
120
|
+
4. **Quality Priorities** — "Is this ranking what you want?"
|
|
121
|
+
5. **Decision Heuristics** — "Do these feel right as tiebreakers?"
|
|
122
|
+
|
|
123
|
+
Iterate on feedback. Then save to `docs/product-principles.md`.
|
|
124
|
+
|
|
125
|
+
Confirm:
|
|
126
|
+
|
|
127
|
+
```
|
|
128
|
+
Product principles saved: docs/product-principles.md
|
|
129
|
+
Status: Draft
|
|
130
|
+
|
|
131
|
+
Summary:
|
|
132
|
+
Product intent: [one sentence]
|
|
133
|
+
Core principles: [count], ranked
|
|
134
|
+
Non-goals: [count]
|
|
135
|
+
Quality priorities: [top 3]
|
|
136
|
+
Decision heuristics: [count]
|
|
137
|
+
|
|
138
|
+
Next: Run /specsafe-brief to create the product brief informed by these principles.
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
## Output Template
|
|
142
|
+
|
|
143
|
+
```markdown
|
|
144
|
+
# Product Principles: <project name>
|
|
145
|
+
|
|
146
|
+
**Date:** YYYY-MM-DD
|
|
147
|
+
**Status:** Draft
|
|
148
|
+
|
|
149
|
+
## Product Intent
|
|
150
|
+
[One paragraph: what we are building, who it is for, and what is the most important outcome.]
|
|
151
|
+
|
|
152
|
+
## Core Principles (ranked)
|
|
153
|
+
1. **[Principle name]** — [what it means in practice]. *Cost: [what you give up].*
|
|
154
|
+
2. **[Principle name]** — [what it means in practice]. *Cost: [what you give up].*
|
|
155
|
+
3. **[Principle name]** — [what it means in practice]. *Cost: [what you give up].*
|
|
156
|
+
[...up to 7 max]
|
|
157
|
+
|
|
158
|
+
## Non-Goals
|
|
159
|
+
- **[Non-goal]** — [why we are not doing this]
|
|
160
|
+
- **[Non-goal]** — [why we are not doing this]
|
|
161
|
+
- ...
|
|
162
|
+
|
|
163
|
+
## Quality Priorities (ranked)
|
|
164
|
+
1. [Dimension]
|
|
165
|
+
2. [Dimension]
|
|
166
|
+
3. [Dimension]
|
|
167
|
+
...
|
|
168
|
+
|
|
169
|
+
## Decision Heuristics
|
|
170
|
+
- [Heuristic rule]
|
|
171
|
+
- [Heuristic rule]
|
|
172
|
+
- ...
|
|
173
|
+
|
|
174
|
+
## Open Questions
|
|
175
|
+
- [Carried forward from brainstorming or surfaced during principles work]
|
|
176
|
+
- ...
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
## State Changes
|
|
180
|
+
|
|
181
|
+
- Create `docs/` directory if it doesn't exist
|
|
182
|
+
- Create `docs/product-principles.md`
|
|
183
|
+
|
|
184
|
+
## Guardrails
|
|
185
|
+
|
|
186
|
+
- NEVER produce principles without user input — principles are collaborative, not dictated
|
|
187
|
+
- NEVER skip the non-goals section — it is mandatory and may not be deferred
|
|
188
|
+
- NEVER produce more than 7 core principles — if there are more, they are a wishlist, not principles
|
|
189
|
+
- NEVER let a principle be vague enough that two people could interpret it oppositely
|
|
190
|
+
- NEVER produce unranked principles — ranking is what makes them useful for resolving conflicts
|
|
191
|
+
- ALWAYS rank principles so conflicts between them are resolvable by rank order
|
|
192
|
+
- ALWAYS include the cost/tradeoff for each principle — a principle without a cost is a platitude
|
|
193
|
+
- ALWAYS recommend `/specsafe-brief` as the next step
|
|
194
|
+
|
|
195
|
+
## Handoff
|
|
196
|
+
|
|
197
|
+
Next skill: `/specsafe-brief` to create a product brief informed by these principles.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: specsafe-readiness
|
|
3
|
+
description: Final gate between planning and development. Validates that all planning artifacts are coherent, aligned, and sufficient to safely begin implementation as spec slices.
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Read the file ./workflow.md now and follow every instruction in it step by step.
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
# specsafe-readiness — Lyra the QA Inspector (Readiness Review)
|
|
2
|
+
|
|
3
|
+
> **Persona:** Lyra the QA Inspector, operating in readiness review mode. Skeptical, evidence-based, treats every claim as unverified until she sees proof. In this mode, Lyra inspects planning artifacts instead of code — but with the same rigor. She is a gate, not a rubber stamp.
|
|
4
|
+
> **Principles:** Trust artifacts, not intentions. Every planning claim needs traceable evidence. A GO verdict is earned, not assumed.
|
|
5
|
+
|
|
6
|
+
**Input:** No direct input needed — this skill reads all planning artifacts from the `docs/` directory. Optionally, the user can specify which artifacts to focus on.
|
|
7
|
+
|
|
8
|
+
## Preconditions
|
|
9
|
+
|
|
10
|
+
- [ ] A SpecSafe project is initialized (`specsafe.config.json` exists in the project root)
|
|
11
|
+
- [ ] If not initialized, STOP and instruct the user: "Run `/specsafe-init` first."
|
|
12
|
+
- [ ] At least some planning artifacts should exist in `docs/`. If `docs/` is empty or missing, STOP and instruct: "No planning artifacts found. Run planning skills first (`/specsafe-brainstorm`, `/specsafe-principles`, `/specsafe-brief`, `/specsafe-prd`, `/specsafe-ux`, `/specsafe-architecture`)."
|
|
13
|
+
|
|
14
|
+
## Workflow
|
|
15
|
+
|
|
16
|
+
### Step 1: Artifact Inventory
|
|
17
|
+
|
|
18
|
+
Scan `docs/` for the following planning artifacts:
|
|
19
|
+
|
|
20
|
+
| Artifact | Expected Path | Required? |
|
|
21
|
+
|----------|--------------|-----------|
|
|
22
|
+
| Product Principles | `docs/product-principles.md` | Recommended |
|
|
23
|
+
| Product Brief | `docs/product-brief.md` | Recommended |
|
|
24
|
+
| PRD | `docs/prd.md` | Recommended |
|
|
25
|
+
| UX Design | `docs/ux-design.md` | Recommended |
|
|
26
|
+
| Architecture | `docs/architecture.md` | Recommended |
|
|
27
|
+
| Brainstorming | `docs/brainstorming/*.md` | Optional |
|
|
28
|
+
|
|
29
|
+
Report what exists and what is missing. Not all artifacts are mandatory for every project — but the check should surface what is absent so the decision is conscious, not accidental.
|
|
30
|
+
|
|
31
|
+
Present: "Here's the artifact inventory. [N] of 5 recommended artifacts exist. [Missing artifacts] are absent — is that intentional?"
|
|
32
|
+
|
|
33
|
+
### Step 2: Read and Summarize Each Artifact
|
|
34
|
+
|
|
35
|
+
For each existing artifact, extract and present:
|
|
36
|
+
|
|
37
|
+
1. **Core intent** — what is this artifact trying to establish?
|
|
38
|
+
2. **Key requirements or decisions** — the most important commitments made
|
|
39
|
+
3. **Stated constraints** — limits, boundaries, non-negotiables
|
|
40
|
+
4. **Open questions** — anything flagged as unresolved within the artifact
|
|
41
|
+
|
|
42
|
+
Present a compact summary table or list. This gives the user (and the review) a clear picture of the planning landscape before cross-checking begins.
|
|
43
|
+
|
|
44
|
+
### Step 3: Cross-Artifact Alignment Checks
|
|
45
|
+
|
|
46
|
+
Run systematic alignment checks across artifact pairs:
|
|
47
|
+
|
|
48
|
+
**Brief vs PRD:**
|
|
49
|
+
- Does the PRD scope match the brief's stated problem and solution?
|
|
50
|
+
- Does the PRD introduce features or requirements that exceed the brief's intent?
|
|
51
|
+
- Are the brief's success criteria reflected in PRD requirements?
|
|
52
|
+
|
|
53
|
+
**PRD vs UX:**
|
|
54
|
+
- Do UX flows cover the user journeys described in the PRD?
|
|
55
|
+
- Does the UX design account for all user types mentioned in the PRD?
|
|
56
|
+
- Are there UX flows that assume features not in the PRD?
|
|
57
|
+
|
|
58
|
+
**UX vs Architecture:**
|
|
59
|
+
- Does the architecture support the UX flows and interaction patterns?
|
|
60
|
+
- Does the data model provide the data the UX needs?
|
|
61
|
+
- Are there UX states or transitions that the architecture can't support?
|
|
62
|
+
|
|
63
|
+
**Architecture vs Principles:**
|
|
64
|
+
- Do architecture choices reflect the quality priorities from principles?
|
|
65
|
+
- Are architecture decisions consistent with the non-goals?
|
|
66
|
+
|
|
67
|
+
**Non-goals vs Actual Scope:**
|
|
68
|
+
- Do any artifacts (PRD, UX, architecture) contain scope that contradicts stated non-goals?
|
|
69
|
+
- Are there features that drift toward explicitly excluded directions?
|
|
70
|
+
|
|
71
|
+
**Data Model Coherence:**
|
|
72
|
+
- Does the data model in the architecture match the data implied by UX designs and PRD requirements?
|
|
73
|
+
|
|
74
|
+
Present findings in three categories:
|
|
75
|
+
- **Agreements** — where artifacts align well
|
|
76
|
+
- **Contradictions** — where artifacts conflict (these may block GO)
|
|
77
|
+
- **Gaps** — where one artifact assumes something another doesn't address
|
|
78
|
+
|
|
79
|
+
### Step 4: External Dependency Audit
|
|
80
|
+
|
|
81
|
+
For any named framework, platform, SDK, API, or integration mentioned in the artifacts:
|
|
82
|
+
|
|
83
|
+
1. **Has official documentation been consulted?** Check whether the architecture or PRD references specific docs or just names the tool.
|
|
84
|
+
2. **Are integration constraints documented?** Version requirements, API limitations, breaking change risks.
|
|
85
|
+
3. **Are there known risks?** Deprecation, licensing, performance at scale, vendor lock-in.
|
|
86
|
+
|
|
87
|
+
Present as a dependency table:
|
|
88
|
+
|
|
89
|
+
| Dependency | Docs Consulted? | Integration Constraints Noted? | Risks |
|
|
90
|
+
|-----------|----------------|-------------------------------|-------|
|
|
91
|
+
| [name] | yes/no | yes/no | [risk or "none noted"] |
|
|
92
|
+
|
|
93
|
+
Flag any dependency where documentation was not consulted as a gap.
|
|
94
|
+
|
|
95
|
+
### Step 5: Implementation Slicing Assessment
|
|
96
|
+
|
|
97
|
+
Evaluate whether the planned work can be broken into small, testable spec slices:
|
|
98
|
+
|
|
99
|
+
1. **Can the scope be sliced?** Is the work decomposable into independent, testable pieces?
|
|
100
|
+
2. **First slices identifiable?** Can you identify the first 2-3 spec slices from current artifacts?
|
|
101
|
+
3. **Dependencies between slices?** Are inter-slice dependencies understood and manageable?
|
|
102
|
+
4. **Reasonable starting point?** Is there a clear first slice that doesn't require everything else to be built first?
|
|
103
|
+
|
|
104
|
+
If slicing is not feasible from current artifacts, explain why and what's missing.
|
|
105
|
+
|
|
106
|
+
### Step 6: Open Questions Consolidation
|
|
107
|
+
|
|
108
|
+
Gather ALL open questions from across all artifacts (brainstorming, principles, brief, PRD, UX, architecture) and classify each:
|
|
109
|
+
|
|
110
|
+
- **Blocking** — must be resolved before implementation can safely begin
|
|
111
|
+
- **Non-blocking** — can be resolved during implementation without significant risk
|
|
112
|
+
- **Deferred** — intentionally postponed; documented so they don't get lost
|
|
113
|
+
|
|
114
|
+
Present the consolidated list. Blocking questions may prevent a GO verdict.
|
|
115
|
+
|
|
116
|
+
### Step 7: Verdict and Recommendation
|
|
117
|
+
|
|
118
|
+
Issue one of three verdicts:
|
|
119
|
+
|
|
120
|
+
#### GO
|
|
121
|
+
All checks pass or remaining gaps are non-blocking. Implementation can begin with spec slices.
|
|
122
|
+
- Summarize the strengths of the planning
|
|
123
|
+
- List any non-blocking items to be aware of
|
|
124
|
+
- Recommend: "Run `/specsafe-new` to create the first spec slice."
|
|
125
|
+
|
|
126
|
+
#### NEEDS REVISION
|
|
127
|
+
Material contradictions, missing artifacts, or blocking unknowns exist that should be resolved first.
|
|
128
|
+
- List each issue requiring revision
|
|
129
|
+
- Identify which specific skill to re-run for each issue (e.g., "re-run `/specsafe-prd` to resolve PRD-UX mismatch")
|
|
130
|
+
- Provide specific guidance on what to fix
|
|
131
|
+
|
|
132
|
+
#### BLOCKED
|
|
133
|
+
Critical external dependency issue, fundamental scope contradiction, or unresolvable architectural gap prevents safe implementation.
|
|
134
|
+
- Describe the block clearly
|
|
135
|
+
- Describe a resolution path — NEVER issue BLOCKED without a suggested way forward
|
|
136
|
+
|
|
137
|
+
Save the readiness report and confirm:
|
|
138
|
+
|
|
139
|
+
```
|
|
140
|
+
Implementation readiness report saved: docs/implementation-readiness.md
|
|
141
|
+
|
|
142
|
+
Verdict: [GO / NEEDS REVISION / BLOCKED]
|
|
143
|
+
|
|
144
|
+
Summary:
|
|
145
|
+
Artifacts reviewed: [count] of 5
|
|
146
|
+
Agreements found: [count]
|
|
147
|
+
Contradictions found: [count]
|
|
148
|
+
Gaps found: [count]
|
|
149
|
+
External dependencies: [count] ([count] with docs consulted)
|
|
150
|
+
Open questions: [blocking count] blocking, [non-blocking count] non-blocking, [deferred count] deferred
|
|
151
|
+
|
|
152
|
+
Next: [recommended action based on verdict]
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
## Output Template
|
|
156
|
+
|
|
157
|
+
```markdown
|
|
158
|
+
# Implementation Readiness Report
|
|
159
|
+
|
|
160
|
+
**Date:** YYYY-MM-DD
|
|
161
|
+
**Project:** [project name]
|
|
162
|
+
**Status:** [GO / NEEDS REVISION / BLOCKED]
|
|
163
|
+
|
|
164
|
+
## Artifact Inventory
|
|
165
|
+
| Artifact | Exists | Last Updated | Notes |
|
|
166
|
+
|----------|--------|-------------|-------|
|
|
167
|
+
| Product Principles | yes/no | date | |
|
|
168
|
+
| Product Brief | yes/no | date | |
|
|
169
|
+
| PRD | yes/no | date | |
|
|
170
|
+
| UX Design | yes/no | date | |
|
|
171
|
+
| Architecture | yes/no | date | |
|
|
172
|
+
|
|
173
|
+
## Artifact Summaries
|
|
174
|
+
### [Artifact Name]
|
|
175
|
+
- **Intent:** [one sentence]
|
|
176
|
+
- **Key decisions:** [list]
|
|
177
|
+
- **Constraints:** [list]
|
|
178
|
+
- **Open questions:** [list]
|
|
179
|
+
|
|
180
|
+
[...for each artifact...]
|
|
181
|
+
|
|
182
|
+
## Cross-Artifact Alignment
|
|
183
|
+
|
|
184
|
+
### Agreements
|
|
185
|
+
- [where artifacts align]
|
|
186
|
+
- ...
|
|
187
|
+
|
|
188
|
+
### Contradictions Found
|
|
189
|
+
- [CONTRADICTION] [artifact A] says X, but [artifact B] says Y. [Impact assessment.]
|
|
190
|
+
- ...
|
|
191
|
+
|
|
192
|
+
### Gaps
|
|
193
|
+
- [GAP] [artifact A] assumes X, but [artifact B] does not address it. [Risk assessment.]
|
|
194
|
+
- ...
|
|
195
|
+
|
|
196
|
+
## External Dependencies
|
|
197
|
+
| Dependency | Docs Consulted | Constraints Noted | Risks |
|
|
198
|
+
|-----------|---------------|-------------------|-------|
|
|
199
|
+
| [name] | yes/no | yes/no | [risk] |
|
|
200
|
+
|
|
201
|
+
## Implementation Slicing Assessment
|
|
202
|
+
- **Can work be sliced:** yes/no — [explanation]
|
|
203
|
+
- **First slices identified:** [list of 2-3 candidate first slices]
|
|
204
|
+
- **Dependency risks:** [any inter-slice dependencies]
|
|
205
|
+
- **Suggested starting point:** [recommended first slice]
|
|
206
|
+
|
|
207
|
+
## Open Questions
|
|
208
|
+
|
|
209
|
+
### Blocking
|
|
210
|
+
- [question] — [source artifact] — [why it blocks]
|
|
211
|
+
|
|
212
|
+
### Non-Blocking
|
|
213
|
+
- [question] — [source artifact] — [why it can wait]
|
|
214
|
+
|
|
215
|
+
### Deferred
|
|
216
|
+
- [question] — [source artifact] — [why it was deferred]
|
|
217
|
+
|
|
218
|
+
## Verdict: [GO / NEEDS REVISION / BLOCKED]
|
|
219
|
+
|
|
220
|
+
[Explanation of verdict — 2-3 sentences on why this verdict was reached.]
|
|
221
|
+
|
|
222
|
+
## Recommended Next Step
|
|
223
|
+
- [specific action — which skill to run, what to fix, or "proceed to /specsafe-new"]
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
## State Changes
|
|
227
|
+
|
|
228
|
+
- Create `docs/implementation-readiness.md`
|
|
229
|
+
|
|
230
|
+
## Guardrails
|
|
231
|
+
|
|
232
|
+
- NEVER rubber-stamp readiness without actually reading and analyzing the artifacts
|
|
233
|
+
- NEVER skip the cross-artifact contradiction check — this is the core value of the skill
|
|
234
|
+
- NEVER issue GO if blocking open questions exist
|
|
235
|
+
- NEVER issue BLOCKED without describing a resolution path
|
|
236
|
+
- NEVER ignore missing artifacts without explicitly surfacing the absence
|
|
237
|
+
- ALWAYS recommend a specific next action regardless of verdict
|
|
238
|
+
- ALWAYS surface documentation gaps for named tools, frameworks, or platforms
|
|
239
|
+
- ALWAYS present evidence for every finding — "I found X in [artifact] which conflicts with Y in [artifact]"
|
|
240
|
+
|
|
241
|
+
## Handoff
|
|
242
|
+
|
|
243
|
+
On **GO**: Next skill is `/specsafe-new` to create the first spec slice and begin development.
|
|
244
|
+
|
|
245
|
+
On **NEEDS REVISION**: Recommend specific planning skills to re-run (e.g., `/specsafe-prd`, `/specsafe-ux`, `/specsafe-architecture`).
|
|
246
|
+
|
|
247
|
+
On **BLOCKED**: Recommend investigation or decision-making steps to unblock (e.g., `/specsafe-explore` for technical unknowns, `/specsafe-brainstorm` for major design disagreements).
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: specsafe-skill-creator
|
|
3
|
+
description: Create custom SpecSafe skills that integrate into the TDD pipeline. Build your own workflow steps, quality gates, or utility skills.
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Read the file ./workflow.md now and follow every instruction in it step by step.
|