Shipkit spec roadmap
Skill stefan-stepzero/shipkit/install/skills/shipkit-spec-roadmap
Shipkit — AI-assisted product development framework for Claude Code. Skills, agents, and workflows for shipping MVPs fast.
npx -y skills add stefan-stepzero/shipkit --skill shipkit-spec-roadmapAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Prioritize which specs to write first from product + engineering definitions. Triggers: 'spec roadmap', 'what to spec first', 'prioritize features', 'spec backlog'.
SKILL.md
11.0 KB, ~2.6k tokens by cl100k_base, as published. Nobody here has run it
shipkit-spec-roadmap — Spec Prioritization Roadmap
Purpose: Bridge the gap between definitions and specs by building an explicit prioritization roadmap. Scores features by goal-gate phasing, dependency depth, foundation value, and mechanism complexity to determine spec order.
Output format: JSON — structured roadmap at .shipkit/spec-roadmap.json
When to Invoke
User triggers:
- "What should I spec first?"
- "Prioritize the features"
- "Create a spec roadmap"
- "Spec backlog"
- "What order should I write specs?"
Before:
/shipkit-spec(this determines WHICH spec to write next)
After:
/shipkit-product-definition(need features to prioritize)/shipkit-engineering-definition(need mechanisms for effort estimation)/shipkit-product-goals(recommended — gates drive phasing)
Workflow position:
- After definitions are complete, before writing individual specs
- Can be re-run after new features are added or priorities change
Prerequisites
Required:
.shipkit/product-definition.json— features to prioritize.shipkit/engineering-definition.json— mechanisms for effort estimation
Recommended:
.shipkit/goals/*.json— gate definitions for phase mapping (especiallygoals/strategic.jsonorgoals/product.json)
Optional:
.shipkit/specs/— detect already-specced features to mark as completed
If goals missing: Fall back to single-phase roadmap sorted by dependency + foundation value only.
Arguments
If $ARGUMENTS contains --update: Load existing spec-roadmap.json, refresh spec statuses, re-score, and present changes.
If $ARGUMENTS contains --regenerate: Discard existing roadmap and rebuild from scratch.
If $ARGUMENTS is empty: Check for existing file and offer choices.
Process
Step 0: Check Existing Roadmap
Fork context — no user prompts. You are dispatched in a fork and have no user channel. Skip the file-exists menu entirely.
- Read
.shipkit/spec-roadmap.json(if exists) - If
$ARGUMENTScontains--update: proceed to Step 1 with existing data as baseline - If
$ARGUMENTScontains--regenerateor no file exists: proceed to Step 1 fresh - If file exists and no argument: read
.shipkit/reviews/planning-assessment.jsonif present. If the latest review lists a gap against this artifact, archive the existing file to.shipkit/.archive/spec-roadmap.YYYY-MM-DD.jsonand regenerate addressing the gap. Otherwise, read the existing file and exit early with a "no changes needed" report — the reviewer already accepted it.
Step 1: Load Context
Read all context files in parallel (single message, multiple tool calls):
1. Read: .shipkit/product-definition.json # Features, patterns, differentiators
2. Read: .shipkit/engineering-definition.json # Mechanisms, components, design choices
3. Read: .shipkit/goals/*.json # Gates and criteria (glob for all goal files)
4. Read: .shipkit/why.json # Vision and purpose context
5. Read: .shipkit/codebase-index.json # Existing code patterns and structure
6. Glob + Read: .shipkit/specs/**/*.json # Existing specs (todo, active, shipped)
Extract from context:
- Features: ID, name, description, dependencies, mechanisms, mvp flag
- Mechanisms: ID, name, complexity indicators (design choices count, component count)
- Gates: ID, name, criteria list, which features map to which gate
- Existing specs: Which features already have specs (and their status)
Step 2: Build Feature-Mechanism-Gate Graph
For each feature in product-definition.json:
- Map to gate: Which gate does this feature's criteria belong to? (from goals)
- If no goals exist, assign all features to a single "Default" phase
- Map to mechanisms: Which mechanisms does this feature use? (from engineering-definition)
- Map dependencies: What features must be specced/built before this one?
- Map pain coverage: Which user pain points does this feature address? (from product-discovery if available)
- Detect already-specced: Does a spec already exist in
.shipkit/specs/?
Step 3: Score and Rank
For each unspecced feature, compute three scores:
Foundation Value (0-10): How many other features depend on this one?
- Count direct dependents + transitive dependents
- Higher score = more features unlocked by speccing this first
Pain Coverage (0-10): How many user pain points does this feature address?
- Count pain points from product-discovery.json that this feature addresses
- Weight by pain severity if available
Dependency Depth (0-N): How deep in the dependency chain is this feature?
- 0 = no dependencies (can be specced immediately)
- Higher = more prerequisites needed first
Effort Estimate (T-shirt size):
- Count mechanisms used by this feature
- Count design choices within those mechanisms
- Apply sizing:
| Size | Mechanisms | Design Choices | Typical Duration |
|---|---|---|---|
| XS | 0 | 0 | < 1 day |
| S | 1 | 0-1 | 1-2 days |
| M | 1-2 | 2-3 | 3-5 days |
| L | 2-3 | 4-6 | 1-2 weeks |
| XL | 3+ | 7+ | 2+ weeks |
Priority within phase: Sort by:
- Dependency depth ascending (unblocked first)
- Foundation value descending (unlocks most work)
- Pain coverage descending (addresses most user pain)
Step 4: Present Roadmap
Group features by phase (gate), sorted by priority within each phase.
## Spec Roadmap for {product name}
### Phase 1: {gate name} ({N} features, ~{X} total effort-days)
#1 F-001 Worksheet Creator [L] foundation:8 pain:3 deps:none
#2 F-002 Standards Browser [M] foundation:2 pain:2 deps:none
#3 F-003 Export & Print [M] foundation:1 pain:1 deps:F-001
### Phase 2: {gate name} ({N} features, ~{X} total effort-days)
#4 F-004 Differentiated Sets [L] foundation:1 pain:2 deps:F-001
#5 F-005 Classroom Integration [XL] foundation:0 pain:1 deps:F-003
### Already Specced
- F-006 User Auth (specs/active/user-auth.json)
### Dependency Warnings
- F-003 depends on F-001 (must spec F-001 first)
- F-005 depends on F-003 → F-001 (chain of 2)
Confirm this roadmap? (Adjust priorities / Confirm / Regenerate)
Fork context — do not prompt for confirmation. Write the roadmap directly. The planning reviewer will flag any misalignment on the next review cycle.
Step 5: Write Roadmap
Use Write tool to create: .shipkit/spec-roadmap.json
JSON Schema: See references/output-schema.md for complete schema definition.
Example: See references/example.json for realistic roadmap.
Effort Estimation Guide
Effort is derived from mechanism complexity, NOT from implementation guesswork:
| Signal | What It Means |
|---|---|
| Feature uses 0 mechanisms | Pure UI/content, XS effort |
| Feature uses 1 mechanism with no design choices | Straightforward implementation, S |
| Feature uses mechanisms with design choices | Each design choice = a decision point during implementation |
| Feature has 3+ mechanisms | Cross-cutting concerns, likely L or XL |
| Feature depends on unbuilt features | Effective effort includes prerequisite work |
Don't guess duration in days — use T-shirt sizes. The effortDays field is a rough midpoint for summary math only.
Completion Checklist
- Loaded product-definition.json and engineering-definition.json
- Loaded goals (if available) for gate-based phasing
- Detected already-specced features
- Built dependency graph with no cycles
- Scored all unspecced features (foundation, pain, depth)
- Assigned effort sizes from mechanism complexity
- Presented roadmap grouped by phase for user validation
- Wrote
.shipkit/spec-roadmap.json
<!-- SECTION:after-completion -->
After Completion
Guardrails Check: Before moving to next task, verify:
- Persistence - Has the roadmap been saved to
.shipkit/spec-roadmap.json? - Next step - Suggest: "Run
/shipkit-specto start speccing the top-priority feature." - Session length - Long session? Consider
/shipkit-work-memoryfor continuity.
Natural capabilities (no skill needed): Implementation, debugging, testing, refactoring, code documentation.
Suggest skill when: User needs to make decisions, create persistence, or check project status.
<!-- /SECTION:after-completion --> <!-- SECTION:success-criteria -->Success Criteria
Roadmap is complete when:
- JSON file conforms to Shipkit artifact convention ($schema, type, version, lastUpdated, source, summary)
- Every feature from product-definition.json is accounted for (either in phases or completed)
- Phases map to goal gates (or single "Default" phase if no goals)
- Priority order is defensible (dependency-first, then foundation value, then pain coverage)
- Effort sizes derived from mechanism complexity (not guessed)
- Dependency graph has no cycles and warnings are surfaced
- Already-specced features listed in
completedarray - Summary counts match actual data
- File saved to
.shipkit/spec-roadmap.json
Context Files This Skill Reads
Required (read if exist — error if missing):
.shipkit/product-definition.json— Features to prioritize.shipkit/engineering-definition.json— Mechanisms for effort estimation
Recommended (read if exist):
.shipkit/goals/*.json— Gate definitions for phase mapping.shipkit/why.json— Vision and purpose context.shipkit/codebase-index.json— Existing code patterns and structure
Optional (read if relevant):
.shipkit/specs/**/*.json— Detect already-specced features.shipkit/product-discovery.json— Pain points for coverage scoring
Context Files This Skill Writes
Write Strategy: CREATE or UPDATE
Creates/Updates:
.shipkit/spec-roadmap.json— Prioritized spec roadmap
Update Behavior:
- Full file replacement on each write
- Previous version is overwritten
- Use
--updateflag to refresh an existing roadmap
When This Skill Integrates with Others
Before This Skill
/shipkit-product-definition— Defines features to prioritize (required)/shipkit-engineering-definition— Defines mechanisms for effort estimation (required)/shipkit-product-goals— Defines gates for phase mapping (recommended)
After This Skill
/shipkit-spec— Uses roadmap to determine which feature to spec next/shipkit-plan— After specs are written, plans implementation
Remember: This skill bridges definitions and specs. It doesn't write specs — it tells you which specs to write first and why. The roadmap is a living document; re-run with --update as features get specced or priorities change.
Gives 0 of the 12 instructions most roadmap strategy skills give in ~2.6k tokens
Counted across 591 of the 672 authors here whose files we hold, read 2026-08-06
- read product marketing context before asking questionsin 21 of 591, across 10 files
- base price on perceived value, not costin 15 of 591, across 4 files
- compact after finalizing a planin 14 of 591, across 9 files
- differentiate tiers using features, limits, or supportin 14 of 591, across 3 files
- use Van Westendorp to find acceptable price rangein 13 of 591, across 2 files
- use MaxDiff to identify highly valued featuresin 13 of 591, across 2 files
- map topics to buyer journey stagesin 12 of 591, across 6 files
- Extract domain capabilities and classify subdomainsin 11 of 591, across 1 file
- Define bounded contexts around consistency and ownershipin 11 of 591, across 1 file
- Establish a ubiquitous language glossary and anti-termsin 11 of 591, across 1 file
- Capture context boundaries in ADRs before implementationin 11 of 591, across 1 file
- Open the strategic design template if neededin 11 of 591, across 1 file
Said here and by no other author read
- load all context files in parallel
- map each feature to a gate
- map each feature to mechanisms
- map dependencies for each feature
- compute foundation value for each feature
- compute pain coverage for each feature
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.