Show blueprint version, config, PRD/ADR/PRP counts, and feature tracker progress. Use when auditing traceability, orphan docs, or stale generated content.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
A direct command skips the review prompt. Inspect the source before running it.
Show blueprint version, config, PRD/ADR/PRP counts, and feature tracker progress. Use when auditing traceability, orphan docs, or stale generated content.
args
[--report-only]
argument-hint
--report-only to display status without interactive prompts
allowed-tools
Read, Bash, Glob, AskUserQuestion
model
sonnet
name
blueprint-status
Display the current blueprint configuration status with three-layer architecture breakdown.
When to Use This Skill
Use this skill when...
Use blueprint-execute instead when...
You want a read-only status report (PRD/ADR/PRP counts, traceability)
You want auto-detection that takes the next action, not just reports
You want the three-layer architecture breakdown
Use blueprint-feature-tracker-status instead for FR/phase progress
You want to audit orphan docs and stale generated content
Use blueprint-sync instead for an actionable drift reconcile
You run with --report-only for non-interactive auditing
Use blueprint-upgrade instead when you've already spotted an upgrade
Flags
Flag
Description
--report-only
Display status report and exit without prompting for next action
Steps
Check if blueprint is initialized:
Look for docs/blueprint/manifest.json
If not found, report:
Blueprint not initialized in this project.
Run `/blueprint:init` to get started.
Read manifest and gather information:
Parse manifest.json for version and configuration
Parse id_registry for traceability metrics
Count PRDs in docs/prds/
Count ADRs in docs/adrs/
Count PRPs in docs/prps/
For ADRs, also count:
With domain tags (grep -l "^domain:" docs/adrs/*.md | wc -l)
With relationship declarations (supersedes, extends, related)
Count generated rules in the configured path (default .claude/rules/)
Count custom skills in
.claude/skills/
Count custom commands in .claude/commands/
Check for .claude/rules/ directory
Check for CLAUDE.md file
Check for docs/blueprint/feature-tracker.json
If feature tracker exists, read statistics and last_updated
Read task_registry from manifest (if present)
For each task, calculate schedule status:
ok: Not yet due based on schedule
due: Due for execution based on schedule
overdue: Past due by more than 1 schedule period (e.g., daily task not run in 2+ days)
disabled: enabled: false
never: last_completed_at is null (never tracked)
2a. Validate the manifest against its schema (issue #2136):
Every consumer of the manifest degrades gracefully on bad input, which is
correct at runtime but makes a typo indistinguishable from an intentional
omission โ autonomy_levle: 3 reads as level 0, adr_dris: [...] reads as
unconfigured, and nothing says a word. Status is the read-only diagnostic
that already parses the whole manifest, so the schema check belongs here:
uv run --quiet --script "${CLAUDE_SKILL_DIR}/../../scripts/check-manifest-schema.py" --project-dir "$(pwd)"
It validates against
blueprint-plugin/schemas/manifest.schema.json
and emits the structured STATUS= / ISSUE_COUNT= convention. Blocks with a
fixed key set (automation, validation, structure, project,
workspaces, id_registry, and the root) are closed, so an unknown key is an
error naming the typo and its JSON pointer; task_registry,
custom_overrides, and the generated / documents / github_issues maps
stay open because their keys are user or registry data.
Read the emitted keys:
Key
Meaning
STATUS=OK
Manifest matches the schema (or there is nothing to validate)
STATUS=ERROR + schema_violation issues
Each issue names an AT=<json-pointer> and the offending key โ surface all of them in the Step 5 report
STATUS=WARN + format_version_below_schema
The manifest predates the schema's format version; recommend /blueprint:upgrade rather than reporting schema findings
SOURCE=โฆ:no_validator
Neither uv nor an installed jsonschema is available โ the check is skipped, not failed. Say so instead of claiming the manifest is clean
Check for upgrade availability:
Compare format_version in manifest with current plugin version
Current format version: 3.4.0
If manifest version < current โ upgrade available
3a. Monorepo portfolio refresh (v3.3.0+):
If workspaces.role == "root", invoke /blueprint:workspace-scan to
refresh workspaces.children and cached stats before rendering. Skip if
scanned within the last hour (last_scanned_at).
If workspaces.role == "child", resolve workspaces.root_relative_path
and mention the parent in the status report but do NOT trigger a scan.
Check generated content status:
For each generated rule in manifest:
Hash current file content
Compare with stored content_hash
Status: current (unchanged), modified (user edited), stale (source PRDs changed)
Display status report:
Blueprint Status
Version: v{format_version} {upgrade_indicator}
Initialized: {created_at}
Last Updated: {updated_at}
Project Configuration:
- Name: {project.name}
- Type: {project.type}
- Stack: {project.detected_stack}
- Rules Mode: {structure.claude_md_mode}
Project Documentation (docs/):
- PRDs: {count} in docs/prds/
- ADRs: {count} in docs/adrs/
- With domain tags: {count}/{total} ({percent}%)
- With relationships: {count}
- Status: {accepted} Accepted, {superseded} Superseded, {deprecated} Deprecated
- PRPs: {count} in docs/prps/
Work Orders (docs/blueprint/work-orders/):
- Pending: {count}
- Completed: {count}
- Archived: {count}
Three-Layer Architecture:
Layer 1: Plugin (blueprint-plugin)
- Commands: /blueprint:* (auto-updated with plugin)
- Skills: blueprint-development, blueprint-migration, confidence-scoring
- Agents: requirements-documentation, architecture-decisions, prp-preparation
Layer 2: Generated ({structure.generated_rules_path or .claude/rules/})
- Path: {structure.generated_rules_path} (default: .claude/rules/)
- Rules: {count} ({status_summary})
{list each with status indicator: โ current, โ ๏ธ modified, ๐ stale}
Layer 3: Custom (.claude/skills/, .claude/commands/)
- Skills: {count} (user-maintained)
- Commands: {count} (user-maintained)
{If feature_tracker enabled:}
Feature Tracker:
- Status: Enabled
- Source: {feature_tracker.source_document}
- Progress: {statistics.complete}/{statistics.total_features} ({statistics.completion_percentage}%)
- Last Sync: {last_updated}
- Phases: {count in_progress} active, {count complete} complete
{If workspaces.role == "root":}
Monorepo Portfolio ({workspaces.children|length} workspaces, scanned {last_scanned_at}):
| Workspace | Format | Progress | Phase |
|-----------|--------|----------|-------|
{for each child:}
| {child.path} | v{child.manifest_format_version} | {child.cached_stats.complete}/{child.cached_stats.total} ({child.cached_stats.completion_percentage}%) | {child.cached_stats.current_phase or "โ"} |
{If workspaces.role == "child":}
Workspace: child of blueprint at {workspaces.root_relative_path}
{If task_registry exists:}
Task Health:
- derive-plans last: {age} schedule: {schedule} status: {status}
- derive-rules last: {age} schedule: {schedule} status: {status}
- generate-rules last: {age} schedule: {schedule} status: {status}
- adr-validate last: {age} schedule: {schedule} status: {status}
- feature-tracker-sync last: {age} schedule: {schedule} status: {status}
- sync-ids last: {age} schedule: {schedule} status: {status}
- claude-md last: {age} schedule: {schedule} status: {status}
- curate-docs disabled
Traceability (ID Registry):
- Total documents: {count} ({x} PRDs, {y} ADRs, {z} PRPs, {w} WOs)
- With IDs: {count}/{total} ({percent}%)
- Linked to GitHub: {count}/{total} ({percent}%)
- Orphan documents: {count} (docs without GitHub issues)
- Orphan issues: {count} (issues without linked docs)
- Broken links: {count}
{If orphans exist:}
Orphan Documents (no GitHub issues):
- {PRD-001}: {title}
- {PRP-003}: {title}
Orphan GitHub Issues (no linked docs):
- #{N}: {title}
- #{M}: {title}
{If Step 2a reported schema_violation issues:}
Manifest schema: {N} violation(s) in docs/blueprint/manifest.json
- {AT=/automation}: {Additional properties are not allowed ('autonomy_levle' was unexpected)}
A misspelled key reads as unconfigured โ the consumer silently uses its default.
{If Step 2a reported SOURCE=โฆ:no_validator:}
Manifest schema: not checked (no uv / jsonschema available)
Structure:
โ docs/blueprint/manifest.json
{โ |โ} docs/prds/
{โ |โ} docs/adrs/
{โ |โ} docs/prps/
{โ |โ} docs/blueprint/work-orders/
{โ |โ} docs/blueprint/feature-tracker.json
{โ |โ} .claude/rules/
{โ |โ} CLAUDE.md
{If upgrade available:}
Upgrade available: v{current} โ v{latest}
Run `/blueprint:upgrade` to upgrade.
{If modified generated content:}
Modified content detected: {count} files
Run `/blueprint:sync` to review changes.
Run `/blueprint:promote [name]` to move to custom layer.
{If stale generated content:}
Stale content detected: {count} files (PRDs changed since generation)
Run `/blueprint:generate-skills` to regenerate.
{If up to date:}
Blueprint is up to date.
Additional checks:
Report every schema_violation from Step 2a with its AT= pointer โ a
misspelled key is silently ignored by its consumer, so the schema check is
the only place it surfaces
Warn if Step 2a reported format_version_below_schema (recommend /blueprint:upgrade)
Warn if any tasks are overdue (e.g., "3 maintenance tasks overdue - run /blueprint:execute to catch up")
Warn if feature-tracker.json is stale (> 1 day since last update)
Warn if PRDs exist but no generated rules
Warn if modular rules enabled but .claude/rules/ is empty
Warn if generated content is modified or stale
Warn if feature-tracker.json is older than 7 days (needs sync)
Warn if TODO.md has been modified since last sync
Warn if ADRs have potential issues:
Multiple "Accepted" ADRs in same domain (potential conflict)
ADRs without domain tags (harder to detect conflicts)
Missing bidirectional links (e.g., supersedes without corresponding superseded_by)
Traceability checks:
Warn if documents exist without IDs (run /blueprint:sync-ids)
Warn if orphan documents exist (docs without GitHub issues)
Warn if orphan issues exist (GitHub issues without linked docs)
Warn if broken links detected (referenced docs/issues don't exist)
If --report-only: Output the status report from Steps 5-6 and exit. Skip the interactive prompt below.
Prompt for next action (use AskUserQuestion):
Build options dynamically based on state:
If upgrade available โ Include "Upgrade to v{latest}"
If modified content โ Include "Sync generated content"
If stale content โ Include "Regenerate skills"
If PRDs exist but no generated skills โ Include "Generate skills from PRDs"
If skills exist but no commands โ Include "Generate workflow commands"
If CLAUDE.md stale โ Include "Update CLAUDE.md"
If feature tracker exists but stale โ Include "Sync feature tracker"
If ADRs have potential issues โ Include "Validate ADRs"
If documents without IDs โ Include "Sync document IDs"
If orphan documents/issues โ Include "Link documents to GitHub"
If overdue tasks exist โ Include "Run overdue maintenance tasks"
Always include "Continue development" and "I'm done"
question: "What would you like to do?"
options:
# Dynamic - include based on state detected above
- label: "Upgrade to v{latest}" (if upgrade available)
description: "Upgrade blueprint format to latest version"
- label: "Sync generated content" (if modified)
description: "Review changes to generated skills/commands"
- label: "Regenerate from PRDs" (if stale)
description: "Update generated content from changed PRDs"
- label: "Generate rules from PRDs" (if PRDs exist, no rules)
description: "Extract project-specific rules from your PRDs"
- label: "Update CLAUDE.md" (if stale or missing)
description: "Regenerate project overview document"
- label: "Sync feature tracker" (if feature tracker stale)
description: "Synchronize tracker with TODO.md"
- label: "Validate ADRs" (if ADR issues detected)
description: "Check ADR relationships, conflicts, and missing links"
- label: "Sync document IDs" (if documents without IDs)
description: "Assign IDs to all documents missing them"
- label: "Link documents to GitHub" (if orphans exist)
description: "Create/link GitHub issues for orphan documents"
- label: "Run overdue tasks ({N} due)" (if overdue tasks exist)
description: "Execute overdue maintenance tasks"
# Always include these:
- label: "Continue development"
description: "Run /project:continue to work on next task"
- label: "I'm done for now"
description: "Exit status check"
Based on selection:
"Upgrade" โ Run /blueprint:upgrade
"Sync" โ Run /blueprint:sync
"Regenerate" โ Run /blueprint:generate-rules
"Generate rules" โ Run /blueprint:generate-rules
"Update CLAUDE.md" โ Run
Example Output:
Blueprint Status
Version: v3.0.0
Initialized: 2024-01-10T09:00:00Z
Last Updated: 2024-01-15T14:30:00Z
Project Configuration:
- Name: my-awesome-project
- Type: team
- Stack: typescript, bun, react
- Rules Mode: modular
Project Documentation (docs/):
- PRDs: 3 in docs/prds/
- ADRs: 5 in docs/adrs/
- With domain tags: 4/5 (80%)
- With relationships: 2
- Status: 3 Accepted, 2 Superseded
- PRPs: 2 in docs/prps/
Work Orders (docs/blueprint/work-orders/):
- Pending: 5
- Completed: 12
- Archived: 2
Three-Layer Architecture:
Layer 1: Plugin (blueprint-plugin)
- Commands: 13 /blueprint:* commands (auto-updated)
- Skills: 3 (blueprint-development, blueprint-migration, confidence-scoring)
- Agents: 3 (requirements-documentation, architecture-decisions, prp-preparation)
Layer 2: Generated (.claude/rules/blueprint/)
- Path: .claude/rules/blueprint/ (configured; default is .claude/rules/)
- Rules: 4 (3 current, 1 modified)
- โ architecture-patterns.md (current)
- โ ๏ธ testing-strategies.md (modified locally)
- โ implementation-guides.md (current)
- โ quality-standards.md (current)
Layer 3: Custom (.claude/skills/, .claude/commands/, .claude/rules/)
- Skills: 1 (my-custom-skill)
- Commands: 0
- Rules: 0 (user-maintained)
Feature Tracker:
- Status: Enabled
- Source: REQUIREMENTS.md
- Progress: 22/42 (52.4%)
- Last Sync: 2024-01-14
- Phases: 1 active, 2 complete
Task Health:
derive-plans last: 5d ago schedule: weekly status: due
derive-rules last: 3d ago schedule: weekly status: ok
generate-rules last: 1d ago schedule: on-change status: ok
adr-validate last: 4d ago schedule: weekly status: ok
feature-tracker-sync last: 3d ago schedule: daily status: overdue
sync-ids last: 3d ago schedule: on-change status: ok
claude-md last: 2d ago schedule: on-change status: ok
curate-docs disabled
Traceability (ID Registry):
- Total documents: 22 (3 PRDs, 5 ADRs, 2 PRPs, 12 WOs)
- With IDs: 22/22 (100%)
- Linked to GitHub: 18/22 (82%)
- Orphan documents: 4 (PRD-002, ADR-0004, PRP-001, WO-008)
- Orphan issues: 2 (#23, #45)
- Broken links: 0
Structure:
โ docs/blueprint/manifest.json
โ docs/prds/
โ docs/adrs/
โ docs/prps/
โ docs/blueprint/work-orders/
โ docs/blueprint/feature-tracker.json
โ .claude/rules/
โ CLAUDE.md
Modified content detected: 1 file
Run `/blueprint:sync` to review or `/blueprint:promote testing-strategies` to preserve.
Blueprint is up to date.
More from this repository
/blueprint:claude-md
"Sync feature tracker" โ Run /blueprint:feature-tracker-sync
"Validate ADRs" โ Run /blueprint:adr-validate
"Sync document IDs" โ Run /blueprint:sync-ids
"Link documents to GitHub" โ For each orphan, prompt to create/link issue
"Run overdue tasks" โ Run /blueprint:execute for overdue tasks