Skip to main content

blueprint-status

Show blueprint version, config, PRD/ADR/PRP counts, and feature tracker progress. Use when auditing traceability, orphan docs, or stale generated content.

معلومات المصدر

المستودع
laurigates/claude-plugins
آخر نشاط في المصدر
١٩ أغسطس ٢٠٢٦ في ١٣:٠٠
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٦٠
التفرعات
٦

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
created
2025-12-17T00:00:00.000Z
modified
2026-07-27T00:00:00.000Z
reviewed
2026-07-27T00:00:00.000Z
description
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 1. **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. ``` 2. **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) - By status (Accepted, Superseded, Deprecated) - Count work-orders (pending, completed, archived) - Resolve the configured rules path: `jq -r '.structure.generated_rules_path // ".claude/rules/"' docs/blueprint/manifest.json` - 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: ```bash uv run --quiet --script "${CLAUDE_SKILL_DIR}/../../scripts/check-manifest-schema.py" --project-dir "$(pwd)" ``` It validates against [`blueprint-plugin/schemas/manifest.schema.json`](../../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 | 2b. **Validate the feature tracker against its schema** (if one exists): `schemas/feature-tracker.schema.json` describes the tracker's shape, but until the schema reconciliation nothing applied it — the file was consulted by humans and by `get-validation-config.sh`'s enum read, and no run ever validated a tracker against it. The same engine as Step 2a does both: ```bash uv run --quiet --script "${CLAUDE_SKILL_DIR}/../../scripts/check-schema.py" --schema "${CLAUDE_SKILL_DIR}/../../schemas/feature-tracker.schema.json" --json-file docs/blueprint/feature-tracker.json ``` Same output contract as Step 2a. A missing tracker is `STATUS=OK` — most repos have none, and a check that errors on an absent optional file gets turned off. This covers the tracker's **shape**. `blueprint-tracker-check.sh` (run by `/blueprint:feature-tracker-sync` and `-status`) covers what a schema cannot express: the `statistics` block agreeing with the features collection it caches, `tasks.*[]` membership, and FR ids cited in `docs/**` but never minted. Run both; neither subsumes the other. 3. **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. 4. **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) 5. **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. ``` 6. **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) 7. **If `--report-only`**: Output the status report from Steps 5-6 and exit. Skip the interactive prompt below. 8. **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)
عرض على GitHub
ملف SKILL.md هذا كبير جدا، لذلك يعرض SkillsMP القسم الاول فقط هنا. عرض على GitHub