Agent skill

Speckit Analyze

by kunstmusik in kunstmusik/blue

Perform a non-destructive cross-artifact consistency and quality analysis across spec.md, plan.md, and tasks.md after task generation.

GPL-3.0Auto-check passedDevelopment

Install Speckit Analyze

skills CLI
$ npx skills add kunstmusik/blue --skill speckit-analyze -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install kunstmusik/blue speckit-analyze --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/kunstmusik/blue.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/speckit-analyze .claude/skills/speckit-analyze && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
speckit-analyze
GitHub stars
154
Used in
18 other repos
Token cost
~3k tokens
SKILL.md length
1,431 words
Files
1
Skills in repo
16
Repo updated
First seen
Licence
GPL-3.0

At a glance

Perform a non-destructive cross-artifact consistency and quality analysis across spec.md, plan.md, and tasks.md after task generation.

  • Works in 9 steps: Initialize Analysis Context → Load Artifacts (Progressive Disclosure) → Build Semantic Models → …
  • Tasks that involve Spec-driven development
  • SKILL.md covers User Input, Pre-Execution Checks, Goal and Operating Constraints, plus 4 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Speckit Analyze is an agent skill from kunstmusik/blue. Perform a non-destructive cross-artifact consistency and quality analysis across spec.md, plan.md, and tasks.md after task generation.

Its SKILL.md is about 3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: Requires spec-kit project structure with .specify/ directory

It sits in Development, covering Spec-driven development. The repository describes itself as: Blue - An Integrated Music Environment. The licence is GPL-3.0.

When your agent uses it

  • Tasks that involve Spec-driven development

Example prompts

  • “/speckit-analyze”

Requirements

  • Compatibility (from SKILL.md): Requires spec-kit project structure with .specify/ directory

Workflow steps

9 steps, taken from the step headings in SKILL.md.

  1. Initialize Analysis Context
  2. Load Artifacts (Progressive Disclosure)
  3. Build Semantic Models
  4. Detection Passes (Token-Efficient Analysis)
  5. Severity Assignment
  6. Produce Compact Analysis Report
  7. Provide Next Actions
  8. Offer Remediation
  9. Check for extension hooks

What it can do on your machine

Read from SKILL.md and the folder at commit 3c32d58. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Requires spec-kit project structure with .specify/ directory

    From compatibility in the SKILL.md frontmatter.

Context cost

Speckit Analyze loads about 3k tokens when it runs. Until then it costs about 38 tokens; SKILL.md has 1,431 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~38
When it runs · the whole SKILL.md, loaded when a task matches
~3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from kunstmusik/blue at commit 3c32d58, republished under its GPL-3.0 licence (© kunstmusik). 1,431 words, ~3,007 tokens.

Download SKILL.mdSave it as .claude/skills/speckit-analyze/SKILL.md (or your agent's skills folder).
name
speckit-analyze
description
Perform a non-destructive cross-artifact consistency and quality analysis across spec.md, plan.md, and tasks.md after task generation.
compatibility
Requires spec-kit project structure with .specify/ directory
metadata.author
github-spec-kit
metadata.source
templates/commands/analyze.md

User Input

text
$ARGUMENTS

You MUST consider the user input before proceeding (if not empty).

Pre-Execution Checks

Check for extension hooks (before analysis):

  • Check if .specify/extensions.yml exists in the project root.
  • If it exists, read it and look for entries under the hooks.before_analyze key
  • If the YAML cannot be parsed or is invalid, do not skip silently: tell the user that .specify/extensions.yml could not be read (include the parser error) and that no hooks were checked, including any mandatory (optional: false) hooks registered there, then continue normally
  • Filter out hooks where enabled is explicitly false. Treat hooks without an enabled field as enabled by default.
  • For each remaining hook, do not attempt to interpret or evaluate hook condition expressions:
    • If the hook has no condition field, or it is null/empty, treat the hook as executable
    • If the hook defines a non-empty condition, skip the hook and leave condition evaluation to the HookExecutor implementation
  • When constructing command invocations from hook command names, replace dots (.) with hyphens (-). For example, speckit.git.commit → $speckit-git-commit.
  • For each executable hook, output the following based on its optional flag:
    • Optional hook (optional: true):
      ## Extension Hooks
      
      **Optional Pre-Hook**: {extension}
      Command: `/{command}`
      Description: {description}
      
      Prompt: {prompt}
      To execute: `/{command}`
    • Mandatory hook (optional: false):
      ## Extension Hooks
      
      **Automatic Pre-Hook**: {extension}
      Executing: `/{command}`
      EXECUTE_COMMAND: {command}
      
      Wait for the result of the hook command before proceeding to the Goal.
      After emitting the block above you MUST actually invoke the hook and wait for it to finish before continuing. Run it the same way you would run the command yourself in this agent/session (the invocation may differ from the literal {command} id shown above, e.g. a skills-mode agent runs it as /skill:speckit-... or $speckit-...). Emitting the block alone does not run the hook.
  • If no hooks are registered or .specify/extensions.yml does not exist, skip silently

Goal

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.

Operating Constraints

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.

Execution Steps

1. Initialize Analysis Context

Run .specify/scripts/bash/check-prerequisites.sh --json --require-spec --require-tasks --include-tasks once from repo root and parse JSON for FEATURE_DIR and AVAILABLE_DOCS. Derive absolute paths:

  • SPEC = FEATURE_DIR/spec.md
  • PLAN = FEATURE_DIR/plan.md
  • TASKS = FEATURE_DIR/tasks.md

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").

2. Load Artifacts (Progressive Disclosure)

Load only the minimal necessary context from each artifact:

From spec.md:

  • Overview/Context
  • Functional Requirements
  • Success Criteria (measurable outcomes — e.g., performance, security, availability, user success, business impact)
  • User Stories
  • Edge Cases (if present)

From plan.md:

  • Architecture/stack choices
  • Data Model references
  • Phases
  • Technical constraints

From tasks.md:

  • Task IDs
  • Descriptions
  • Phase grouping
  • Parallel markers [P]
  • Referenced file paths

From constitution:

  • Load .specify/memory/constitution.md for principle validation
3. Build Semantic Models

Create internal representations (do not include raw artifacts in output):

  • Requirements inventory: For each Functional Requirement (FR-###) and Success Criterion (SC-###), record a stable key. Use the explicit FR-/SC- identifier as the primary key when present, and optionally also derive an imperative-phrase slug for readability (e.g., "User can upload file" → user-can-upload-file). Include only Success Criteria items that require buildable work (e.g., load-testing infrastructure, security audit tooling), and exclude post-launch outcome metrics and business KPIs (e.g., "Reduce support tickets by 50%").
  • User story/action inventory: Discrete user actions with acceptance criteria
  • Task coverage mapping: Map each task to one or more requirements or stories (inference by keyword / explicit reference patterns like IDs or key phrases)
  • Constitution rule set: Extract principle names and MUST/SHOULD normative statements
4. Detection Passes (Token-Efficient Analysis)

Focus on high-signal findings. Limit to 50 findings total; aggregate remainder in overflow summary.

A. Duplication Detection
  • Identify near-duplicate requirements
  • Mark lower-quality phrasing for consolidation
B. Ambiguity Detection
  • Flag vague adjectives (fast, scalable, secure, intuitive, robust) lacking measurable criteria
  • Flag unresolved placeholders (TODO, TKTK, ???, <placeholder>, etc.)
C. Underspecification
  • Requirements with verbs but missing object or measurable outcome
  • User stories missing acceptance criteria alignment
  • Tasks referencing files or components not defined in spec/plan
D. Constitution Alignment
  • Any requirement or plan element conflicting with a MUST principle
  • Missing mandated sections or quality gates from constitution
E. Coverage Gaps
  • Requirements with zero associated tasks
  • Tasks with no mapped requirement/story
  • Success Criteria requiring buildable work (performance, security, availability) not reflected in tasks
F. Inconsistency
  • Terminology drift (same concept named differently across files)
  • Data entities referenced in plan but absent in spec (or vice versa)
  • Task ordering contradictions (e.g., integration tasks before foundational setup tasks without dependency note)
  • Conflicting requirements (e.g., one requires Next.js while other specifies Vue)
Show full SKILL.md (585 more words)Show less
5. Severity Assignment

Use this heuristic to prioritize findings:

  • CRITICAL: Violates constitution MUST, missing core spec artifact, or requirement with zero coverage that blocks baseline functionality
  • HIGH: Duplicate or conflicting requirement, ambiguous security/performance attribute, untestable acceptance criterion
  • MEDIUM: Terminology drift, missing non-functional task coverage, underspecified edge case
  • LOW: Style/wording improvements, minor redundancy not affecting execution order
6. Produce Compact Analysis Report

Output a Markdown report (no file writes) with the following structure:

Specification Analysis Report

IDCategorySeverityLocation(s)SummaryRecommendation
A1DuplicationHIGHspec.md:L120-134Two similar requirements ...Merge phrasing; keep clearer version

(Add one row per finding; generate stable IDs prefixed by category initial.)

Coverage Summary Table:

Requirement KeyHas Task?Task IDsNotes

Constitution Alignment Issues: (if any)

Unmapped Tasks: (if any)

Metrics:

  • Total Requirements
  • Total Tasks
  • Coverage % (requirements with >=1 task)
  • Ambiguity Count
  • Duplication Count
  • Critical Issues Count
7. Provide Next Actions

At end of report, output a concise Next Actions block:

  • If CRITICAL issues exist: Recommend resolving before $speckit-implement
  • If only LOW/MEDIUM: User may proceed, but provide improvement suggestions
  • Provide explicit command suggestions: e.g., "Run $speckit-specify with refinement", "Run $speckit-plan to adjust architecture", "Manually edit tasks.md to add coverage for 'performance-metrics'"
8. Offer Remediation

Ask the user: "Would you like me to suggest concrete remediation edits for the top N issues?" (Do NOT apply them automatically.)

9. Check for extension hooks

After reporting, check if .specify/extensions.yml exists in the project root.

  • If it exists, read it and look for entries under the hooks.after_analyze key
  • If the YAML cannot be parsed or is invalid, do not skip silently: tell the user that .specify/extensions.yml could not be read (include the parser error) and that no hooks were checked, including any mandatory (optional: false) hooks registered there, then continue normally
  • Filter out hooks where enabled is explicitly false. Treat hooks without an enabled field as enabled by default.
  • For each remaining hook, do not attempt to interpret or evaluate hook condition expressions:
    • If the hook has no condition field, or it is null/empty, treat the hook as executable
    • If the hook defines a non-empty condition, skip the hook and leave condition evaluation to the HookExecutor implementation
  • When constructing command invocations from hook command names, replace dots (.) with hyphens (-). For example, speckit.git.commit → $speckit-git-commit.
  • For each executable hook, output the following based on its optional flag:
    • Optional hook (optional: true):
      ## Extension Hooks
      
      **Optional Hook**: {extension}
      Command: `/{command}`
      Description: {description}
      
      Prompt: {prompt}
      To execute: `/{command}`
    • Mandatory hook (optional: false):
      ## Extension Hooks
      
      **Automatic Hook**: {extension}
      Executing: `/{command}`
      EXECUTE_COMMAND: {command}
      After emitting the block above you MUST actually invoke the hook and wait for it to finish before continuing. Run it the same way you would run the command yourself in this agent/session (the invocation may differ from the literal {command} id shown above, e.g. a skills-mode agent runs it as /skill:speckit-... or $speckit-...). Emitting the block alone does not run the hook.
  • If no hooks are registered or .specify/extensions.yml does not exist, skip silently

Operating Principles

Context Efficiency
  • Minimal high-signal tokens: Focus on actionable findings, not exhaustive documentation
  • Progressive disclosure: Load artifacts incrementally; don't dump all content into analysis
  • Token-efficient output: Limit findings table to 50 rows; summarize overflow
  • Deterministic results: Rerunning without changes should produce consistent IDs and counts
Analysis Guidelines
  • NEVER modify files (this is read-only analysis)
  • NEVER hallucinate missing sections (if absent, report them accurately)
  • Prioritize constitution violations (these are always CRITICAL)
  • Use examples over exhaustive rules (cite specific instances, not generic patterns)
  • Report zero issues gracefully (emit success report with coverage statistics)

Context

$ARGUMENTS

© kunstmusik, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/speckit-analyze of kunstmusik/blue.

Open the folder on GitHubat commit 3c32d58

Used in 18 other repositories

We found 20 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 18 other GitHub owners. This page covers the copy in kunstmusik/blue, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Speckit Analyze next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Speckit Analyze compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Speckit Analyze this skillkunstmusik/blue15418 repos~3kAutomated safety check: PassGPL-3.0
OpenSpec Bulk Change ArchiverFission-AI/OpenSpec72k2 repos~5.6kAutomated safety check: PassMIT
Speckit ConstitutionWeihanLi/WeihanLi.Common24212 repos~2.1kAutomated safety check: PassApache-2.0
Review Spdzhu1090093659/spec_driven_develop987—~1.5kAutomated safety check: PassMIT
React Router RFC Implementerremix-run/react-router57k—~2.3kAutomated safety check: PassMIT
Ss SpecSerial-Studio/Serial-Studio7.2k—~766Automated safety check: PassCustom licence

Similar skills

  • Archives several completed OpenSpec changes in one operation, checking the codebase to resolve spec conflicts rather than archiving blindly.

    72k GitHub starsUsed in 2 repos~5.6k tokens
    DevelopmentAuto-check passed
  • Speckit Constitution

    WeihanLi/WeihanLi.Common

    Create or update the project constitution from interactive or provided principle inputs, ensuring all dependent templates stay in sync.

    242 GitHub starsUsed in 12 repos~2.1k tokens
    DevelopmentAuto-check passed
  • Review Spd

    zhu1090093659/spec_driven_develop

    Findings-first code review workflow for AI coding agents. An agent skill from zhu1090093659/spec_driven_develop.

    987 GitHub stars~1.5k tokensUpdated 2 mo ago
    DevelopmentAuto-check passed
  • React Router RFC Implementer

    remix-run/react-router

    Turns a React Router RFC discussion on GitHub into an implementation, weighing community feedback and settling open questions with you before coding.

    57k GitHub stars~2.3k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Ss Spec

    Serial-Studio/Serial-Studio

    Phase 1 of Serial Studio's spec-driven workflow: capture WHAT a feature must do and WHY, with no implementation detail.

    7.2k GitHub stars~766 tokensUpdated yesterday
    DevelopmentAuto-check passed
  • BiSheng SDD Document Review

    dataelement/bisheng

    Reviews BiSheng spec, design and tasks documents with checklists for PRD gaps, handover readiness and acceptance traceability, producing a report or an LGTM.

    12k GitHub stars~717 tokensUpdated yesterday
    DevelopmentAuto-check passed

More from kunstmusik/blue

All 16 skills in this repo
  • Speckit Plan

    kunstmusik/blue

    Execute the implementation planning workflow using the plan template to generate design artifacts.

    154 GitHub starsUsed in 19 repos~2.1k tokens
    Auto-check passed
  • Speckit Specify

    kunstmusik/blue

    Create or update the feature specification from a natural language feature description.

    154 GitHub starsUsed in 19 repos~4.7k tokens
    Auto-check passed
  • Speckit Tasks

    kunstmusik/blue

    Generate an actionable, dependency-ordered tasks.md for the feature based on available design artifacts.

    154 GitHub starsUsed in 19 repos~3k tokens
    Auto-check passed
  • Karpathy Coder

    kunstmusik/blue

    A skill your agent uses when writing, reviewing, or committing code to enforce Karpathy's 4 coding principles — surface assumptions before coding, keep it simple, make surgical changes, define…

    154 GitHub starsUsed in 1 repo~1.4k tokens
    Auto-check passed
  • Speckit Clarify

    kunstmusik/blue

    Identify underspecified areas in the current feature spec by asking up to 5 highly targeted clarification questions and encoding answers back into the spec.

    154 GitHub starsUsed in 18 repos~4.9k tokens
    Auto-check passed
  • Speckit Taskstoissues

    kunstmusik/blue

    Convert existing tasks into actionable, dependency-ordered GitHub issues for the feature based on available design artifacts.

    154 GitHub starsUsed in 18 repos~2k tokens
    Auto-check passed

Categories

Questions about Speckit Analyze

What does Speckit Analyze do?

Perform a non-destructive cross-artifact consistency and quality analysis across spec.md, plan.md, and tasks.md after task generation. Speckit Analyze is an agent skill from kunstmusik/blue.md after task generation.

When should I use Speckit Analyze?

Speckit Analyze fits situations like: tasks that involve Spec-driven development.

How do I install Speckit Analyze in Claude Code?

Run `npx skills add kunstmusik/blue --skill speckit-analyze -a claude-code`. Or copy the skill folder (.agents/skills/speckit-analyze in kunstmusik/blue) into .claude/skills/speckit-analyze in your project. Claude Code loads it when a task matches its description.

How do I install Speckit Analyze in Codex?

Run `npx skills add kunstmusik/blue --skill speckit-analyze -a codex`. Or copy the skill folder (.agents/skills/speckit-analyze in kunstmusik/blue) into .agents/skills/speckit-analyze in your project. Codex loads it when a task matches its description.

Can I use Speckit Analyze in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add kunstmusik/blue --skill speckit-analyze -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/speckit-analyze, .gemini/skills/speckit-analyze, .github/skills/speckit-analyze and .opencode/skills/speckit-analyze in your project.

What does Speckit Analyze need to run?

SKILL.md names no scripts, command-line tools or credentials: Speckit Analyze is instructions for the agent only. Compatibility (from SKILL.md): Requires spec-kit project structure with .specify/ directory.

Does Speckit Analyze access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Speckit Analyze safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Speckit Analyze use?

Speckit Analyze is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Speckit Analyze use?

About 3k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Speckit Analyze?

Skills that share tags, products or a category with Speckit Analyze: OpenSpec Bulk Change Archiver (Fission-AI/OpenSpec, 72k stars), Speckit Constitution (WeihanLi/WeihanLi.Common, 242 stars), Review Spd (zhu1090093659/spec_driven_develop, 987 stars) and React Router RFC Implementer (remix-run/react-router, 57k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Speckit Analyze?

kunstmusik (a GitHub user) maintains it in kunstmusik/blue, which has 154 GitHub stars. The repository holds 16 skills in this directory. The repository was last updated on October 8, 2026.

Source: kunstmusik/blue on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.