Spec completeness
Score a subject spec against the ontology and canonical readiness contract. Use this when you need claim-level coverage scoring, corroboration checks, critical-decision coverage, risk-weighted assumptions, contradiction penalties, and blocker-aware 80/80 gates.From its SKILL.md
npx -y skills add mwarger/forge --skill spec-completenessAssembled 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.
SKILL.md
4.2 KB, as published. Nobody here has run it
Use this whenever canon changes materially.
Do not finalize readiness here.
Emit structured inputs for the forge-orchestrator verdict.
Ontology
Track these dimensions:
- purpose and success criteria
- actors
- boundaries
- core flows
- entities
- state transitions
- interfaces
- constraints
- failure modes
- non-goals
- assumptions
- acceptance criteria
Sub-signal requirements
The following sub-signals feed into existing dimensions as required coverage
inputs. A dimension cannot score above partial unless its mapped sub-signals
are addressed (per the archetype applicability matrix in spec-loop).
| Sub-signal | Feeds into dimensions |
|---|---|
| Security boundaries | constraints, interfaces |
| Edge cases | failure modes, state transitions |
| Scalability assumptions | constraints, assumptions |
| Operational concerns | interfaces, constraints |
| Ordering and concurrency | state transitions, core flows |
For archetypes where a sub-signal is marked optional in the spec-loop
matrix, that sub-signal does not block the parent dimension's coverage. It
only contributes if evidence is present.
Domain terminology check
Read UBIQUITOUS-LANGUAGE.md at the project root (if it exists). Verify that
major canonical claims, entity names, and interface descriptions use terms from
the glossary. Flag inconsistencies as a sub-signal feeding into entities and
interfaces dimensions. Mismatched terminology does not block readiness on its
own but reduces confidence in those dimensions.
For each dimension track:
coverageconfidenceevidence_countindependent_evidence_countweighted_supportcontradiction_countplanning_blocker
Also track:
critical_decision_coveragecorroboration_scoreacceptance_scenarios_presentassumption_loadassumption_risk_scoreunconfirmed_product_decisions
Scores
Compute:
completeness_scoreevidence_confidence_scoredecision_risk_score
Rules:
- blocker dimensions weigh more
- duplicate evidence should not inflate support
- multiple files from one origin do not count as strong corroboration by themselves
- unresolved assumptions cap the affected dimension
- contradictions reduce confidence and readiness
- a single direct prompt may strongly support
purpose, but may not alone pushboundaries,interfaces,constraints,failure modes, oracceptance criteriapast partial unless the evidence is explicit - no run may be planning-ready if a critical decision bucket is covered only by assumptions
- assumption risk matters more than raw assumption count
- on
sparseanalogy_featureorparity_cloneruns with zero question rounds,core_outcome,scope_boundary,implementation_constraints, andacceptance_signalmust remainpartial,open, orassumed, notcovered
Every assumption must be labeled:
criticality: low | medium | highreversibility: easy | moderate | expensive
High-criticality or expensive-to-reverse assumptions increase
assumption_risk_score directly.
Gates
Every scoring pass must emit:
why_not_ready[]blocker_dimensions[]minimum_next_actions[]critical_decision_coveragecorroboration_scoreassumption_risk_scoreunconfirmed_product_decisions
The orchestrator may only mark a run PLANNING_READY when:
completeness_score >= 80evidence_confidence_score >= 80- contradictions are resolved
- blocker reasons are empty
- critical decision buckets are closed
- acceptance scenarios are present or intentionally deferred
- assumption risk is below threshold
The orchestrator must not mark a run PLANNING_READY when:
request_archetypeisanalogy_featureorparity_clonestarting_evidence_densityissparsequestion_rounds_completed = 0
Output
Update:
completeness-matrix.mdmanifest.jsonspecs/<subject>.mdunderCompleteness StatusandPlanning Readiness