Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Perform cross-artifact consistency analysis across spec.md, plan.md, and tasks.md. Use after task generation to identify gaps, duplications, and inconsistencies before implementation.
.claude/skills/foryourhealth111-pixel-speckit-analyze/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-21 | ✗→✓ | ▲ Improved | 11% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 71% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 44% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 33% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 67% | 0% |
text$ARGUMENTS
You MUST consider the user input before proceeding (if not empty).
Identify inconsistencies, duplications, ambiguities, and underspecified items across the three core artifacts (spec.md, plan.md, tasks.md) before implementation. This command MUST run only after /speckit.tasks has successfully produced a complete tasks.md.
STRICTLY READ-ONLY: Do not modify any files. Output a structured analysis report. Offer an optional remediation plan (user must explicitly approve before any follow-up editing commands would be invoked manually).
Constitution Authority: The project constitution (.specify/memory/constitution.md) is non-negotiable within this analysis scope. Constitution conflicts are automatically CRITICAL and require adjustment of the spec, plan, or tasks—not dilution, reinterpretation, or silent ignoring of the principle. If a principle itself needs to change, that must occur in a separate, explicit constitution update outside /speckit.analyze.
Run .specify/scripts/powershell/check-prerequisites.ps1 -Json -RequireTasks -IncludeTasks once from repo root and parse JSON for FEATURE_DIR and AVAILABLE_DOCS. Derive absolute paths:
Abort with an error message if any required file is missing (instruct the user to run missing prerequisite command). For single quotes in args like "I'm Groot", use escape syntax: e.g 'I'\''m Groot' (or double-quote if possible: "I'm Groot").
Load only the minimal necessary context from each artifact:
From spec.md:
From plan.md:
From tasks.md:
From constitution:
.specify/memory/constitution.md for principle validationCreate internal representations (do not include raw artifacts in output):
user-can-upload-file)Focus on high-signal findings. Limit to 50 findings total; aggregate remainder in overflow summary.
<placeholder>, etc.)Use this heuristic to prioritize findings:
Output a Markdown report (no file writes) with the following structure:
| ID | Category | Severity | Location(s) | Summary | Recommendation | |----|----------|----------|-------------|---------|----------------| | A1 | Duplication | HIGH | spec.md:L120-134 | Two similar requirements ... | Merge phrasing; keep clearer version |
(Add one row per finding; generate stable IDs prefixed by category initial.)
Coverage Summary Table:
| Requirement Key | Has Task? | Task IDs | Notes | |-----------------|-----------|----------|-------|
Constitution Alignment Issues: (if any)
Unmapped Tasks: (if any)
Metrics:
At end of report, output a concise Next Actions block:
/speckit.implementAsk the user: "Would you like me to suggest concrete remediation edits for the top N issues?" (Do NOT apply them automatically.)
$ARGUMENTS
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-04 | fail→fail | 10,066 | 6,516 | -35% | 1 | 1 | 0% | 1,511 | 1,874 | +24% | 0 | 0 | — |
case-21 | fail→pass | 16,027 | 10,426 | -35% | 1 | 1 | 0% | 3,212 | 3,554 | +11% | 0 | 0 | — |
case-01 | fail→fail | 23,133 | 5,145 | -78% | 1 | 1 | 0% | 3,784 | 1,867 | -51% | 0 | 0 | — |
case-02 | fail→fail | 11,722 | 5,582 | -52% | 1 | 1 | 0% | 2,000 | 1,835 | -8% | 0 | 0 | — |
case-03 | fail→fail | 14,948 | 4,356 | -71% | 1 | 1 | 0% | 2,259 | 1,759 | -22% | 0 | 0 | — |
case-05 | fail→pass | 8,311 | 4,497 | -46% | 1 | 1 | 0% | 1,338 | 2,291 | +71% | 0 | 0 | — |
case-06 | fail→pass | 12,035 | 9,805 | -19% | 1 | 1 | 0% | 2,155 | 3,106 | +44% | 0 | 0 | — |
case-07 | pass→fail | 3,187 | 5,925 | +86% | 1 | 1 | 0% | 443 | 1,923 | +334% | 0 | 0 | — |
case-08 | pass→pass | 9,619 | 3,980 | -59% | 1 | 1 | 0% | 1,746 | 2,181 | +25% | 0 | 0 | — |
case-09 | fail→fail | 12,828 | 6,426 | -50% | 1 | 1 | 0% | 2,398 | 2,672 | +11% | 0 | 0 | — |
case-10 | pass→pass | 7,463 | 3,278 | -56% | 1 | 1 | 0% | 1,415 | 2,100 | +48% | 0 | 0 | — |
case-11 | fail→pass | 7,321 | 2,525 | -66% | 1 | 1 | 0% | 1,368 | 1,824 | +33% | 0 | 0 | — |
case-12 | fail→fail | 8,511 | 3,314 | -61% | 1 | 1 | 0% | 1,332 | 2,181 | +64% | 0 | 0 | — |
case-13 | fail→pass | 9,186 | 5,379 | -41% | 1 | 1 | 0% | 1,571 | 2,624 | +67% | 0 | 0 | — |
case-14 | pass→pass | 8,103 | 5,495 | -32% | 1 | 1 | 0% | 1,586 | 2,456 | +55% | 0 | 0 | — |
case-15 | pass→pass | 4,323 | 1,943 | -55% | 1 | 1 | 0% | 704 | 1,833 | +160% | 0 | 0 | — |
case-16 | pass→pass | 7,921 | 3,387 | -57% | 1 | 1 | 0% | 1,405 | 2,164 | +54% | 0 | 0 | — |
case-17 | pass→pass | 7,126 | 3,934 | -45% | 1 | 1 | 0% | 1,317 | 2,284 | +73% | 0 | 0 | — |
case-18 | fail→pass | 9,992 | 1,754 | -82% | 1 | 1 | 0% | 1,637 | 1,800 | +10% | 0 | 0 | — |
case-19 | pass→pass | 5,716 | 3,805 | -33% | 1 | 1 | 0% | 1,088 | 2,229 | +105% | 0 | 0 | — |
case-20 | fail→fail | 15,942 | 6,364 | -60% | 1 | 1 | 0% | 3,220 | 1,972 | -39% | 0 | 0 | — |
case-22 | fail→pass | 4,045 | 6,119 | +51% | 1 | 1 | 0% | 604 | 2,712 | +349% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 16 counted toward the lift figure. The other 6 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +27 percentage points is the difference between those two pass rates over the 16 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.