Story Inspector
Input
Story ID from $ARGUMENTS (format: US-XXX). If empty → print usage. If prd/$ARGUMENTS.json missing → list available stories.
Data Collection
- •Story JSON:
prd/<ID>.json— all fields..stageis top-level. - •Tracker:
prd/<ID>.md - •Dependencies: For each in
dependenciesarray → read JSON forid,title,.stage - •Dependents: Search all
prd/US-*.jsonfor stories listing this ID independencies - •Logs: Grep
.log/run-*/run.mdfor story ID - •Pipeline:
.state/pipeline.json→ check ifcurrentStorymatches
Output
code
=== Story: <ID> — <title> === Area: <area> | Priority: <priority> | Risk: <riskTier> | Size: <sizing> | Autonomy: <autonomy> Stage: <stage> | Deploy attempts: <status.deploy.attempts>/3 | Deploy notes: <notes> Pipeline: <"Active" / "Not active"> Requirements: | REQ ID | Implemented | Verified | Dependencies (upstream): <ID> — <title> [<stage>] BLOCKING/OK Dependents (downstream): <ID> — <title> [<stage>] WAITING/OK Deploy Safety: strategy, healthChecks, rollbackTrigger, rollbackCommand, verification Recent Logs (max 5): Run <ID>: <agent> | <outcome> Tracker Notes: <summary from .md>
Next Action
- •
build/review→./orchestrator.sh run --tool claude --story <ID> - •
deploy(gated) →./orchestrator.sh run --tool claude --story <ID> --approve-deploy <ID> - •
complete→ No action - •
blocked→ Review notes,/reset-story <ID> - •Upstream incomplete → "Blocked by <US-XXX> at <stage>"