Skip to content

Quality Analysis

The /speckit.analyze command performs a comprehensive, read-only consistency and quality analysis across your spec artifacts. Run it after generating tasks, before implementation.

When to Use

Run after /speckit.tasks produces tasks.md, before /speckit.implement.

What It Analyzes

The command reads three core artifacts plus supporting files:

FileWhat It Extracts
spec.mdRequirements, user stories, acceptance criteria, edge cases
plan.mdArchitecture choices, data model, phases, constraints
tasks.mdTask IDs, descriptions, phases, parallel markers, file paths
constitution.mdPrinciples, MUST/SHOULD normative statements
design.mdComponent specs, variants, user flows, token references
branding.mdDesign tokens, color values

Detection Passes

A. Duplication Detection

Identifies near-duplicate requirements across artifacts. Recommends consolidation.

B. Ambiguity Detection

Flags vague terms lacking measurable criteria:

  • "fast", "scalable", "secure", "intuitive", "robust"
  • Unresolved placeholders: TODO, TKTK, ???, <placeholder>

C. Underspecification

  • Requirements with verbs but missing measurable outcomes
  • User stories missing acceptance criteria
  • Tasks referencing files not defined in spec/plan

D. Constitution Alignment

  • Requirements conflicting with MUST principles (always CRITICAL)
  • Missing mandated sections or quality gates

E. Coverage Gaps

  • Requirements with zero associated tasks
  • Tasks with no mapped requirement
  • Non-functional requirements not reflected in tasks

F. Design & Branding Consistency

Only runs if design.md or branding.md exist:

  • Hardcoded color values instead of token references
  • Tokens referenced but not defined in branding
  • Missing accessibility requirements (ARIA, keyboard, contrast)
  • User flows missing error states
  • WCAG 2.1 AA contrast failures

G. Inconsistency

  • Terminology drift (same concept named differently)
  • Data entities in plan but not in spec (or vice versa)
  • Task ordering contradictions
  • Conflicting technology choices

Severity Levels

SeverityCriteria
CRITICALConstitution violation, missing core artifact, blocking requirement with zero coverage
HIGHDuplicate/conflicting requirement, ambiguous security/performance attribute, untestable criterion
MEDIUMTerminology drift, missing non-functional coverage, underspecified edge case
LOWStyle/wording improvements, minor redundancy

Output Format

The analysis produces a Markdown report (displayed, not written to file):

Findings Table

IDCategorySeverityLocation(s)SummaryRecommendation
A1DuplicationHIGHspec.md:L120-134Two similar requirements...Merge; keep clearer version
D1ConstitutionCRITICALplan.md:L45Missing rate limitingAdd NFR per Article X

Limited to 50 findings. Remaining items summarized.

Coverage Summary

Requirement KeyHas Task?Task IDsNotes
user-can-loginYesT1.1, T1.2
user-can-exportNoGap: no tasks

Quality Score

CategoryMaxScoreDetails
Completeness30/30All sections filled, no TODOs
Consistency25/25Constitution aligned, consistent terms
Testability25/25GIVEN/WHEN/THEN for all requirements
Clarity20/20No vague terms, clear language
TOTAL100/100

Rating: Excellent (90+) | Good (80+) | Fair (70+) | Poor (<70)

Maturity Assessment

  • Current maturity level
  • Recommended maturity (based on score and coverage)
  • Knowledge coverage percentage

Next Actions

Based on the findings:

SituationRecommendation
CRITICAL issuesResolve before /speckit.implement
Only LOW/MEDIUMSafe to proceed, improvement suggestions provided
Score < 70Consider running /speckit.clarify to fill gaps
Design issuesRun /speckit.design to fix token references

Remediation

After the report, the command offers:

"Would you like me to suggest concrete remediation edits for the top N issues?"

Suggestions are presented — never applied automatically. You choose which to accept.

Operating Principles

  • Read-only — Never modifies files
  • Deterministic — Rerunning without changes produces consistent results
  • Token-efficient — Focuses on high-signal findings, limits to 50
  • Constitution authority — Violations are always CRITICAL; constitution is non-negotiable within analysis scope

Released under the MIT License.