Sprint StatusSAFE
Turn Claude Code into a full game dev studio — 49 AI agents, 72 workflow skills, and a complete coordination system mirroring real studio hierarchy.
Overview
Turn Claude Code into a full game dev studio — 49 AI agents, 72 workflow skills, and a complete coordination system mirroring real studio hierarchy.
42a36917b8beOBSERVED · 2026-10-06What it tells the agent
The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.
---
name: sprint-status
description: "Fast, concise sprint snapshot — burndown and emerging risks for situational awareness. 'How is the sprint going?'"
argument-hint: "[sprint-number or blank for current]"
user-invocable: true
allowed-tools: Read, Glob, Grep, Bash(bash "*/.claude/skills/sprint-status/../../hooks/yaml-helper.sh" resolve_config *), Bash(bash "*/.claude/skills/sprint-status/../../scripts/story-status.sh"), Bash(bash .claude/scripts/story-status.sh*)
model: haiku
---
!`bash "${CLAUDE_SKILL_DIR}/../../hooks/yaml-helper.sh" resolve_config --keys story_granularity,workflow`
# Sprint Status
This is a fast situational awareness check, not a sprint review. It reads the
current sprint plan and story files, scans for status markers, and produces a
concise snapshot in under 30 lines. For detailed sprint management, use
`/sprint-plan update` or `/milestone-review`.
**This skill is read-only.** It never proposes changes, never asks to write
files, and makes at most one concrete recommendation.
**`story_granularity`** — it sets the
grain of the burn-down read: **feature-sized** chunks at `coarse` (the default, via `rigor: minimal`), **task-sized**
at `balanced` (`rigor: standard`), **AC-sized** at `fine`.
---
## 1. Find the Sprint
**Argument:** `$ARGUMENTS` (blank = use current sprint)
- If an argument is given (e.g., `/sprint-status 3`), search
`production/sprints/` for a file matching `sprint-003.md`, `sprint-03.md`, `sprint-3.md`,
or similar (`/sprint-plan` writes three digits). Report which file was found.
- If no argument is given, find the most recently modified file in
`production/sprints/` and treat it as the current sprint.
- If `production/sprints/` does not exist or is empty:
- **At `workflow: minimal` there are no sprints by design** — the brief's
build order is the plan and the story files carry it. Report progress
through it instead, then stop:
1. The list below was printed by `.claude/scripts/story-status.sh`
before you read this skill: one line per unfinished story, already in
the route's order (`IN_REVIEW`, `IN_PROGRESS`, then `TODO` — a `Ready`
or `Not Started` story — in build order), then `BLOCKED`, `OTHER`,
`NO_STATUS` and the `COMPLETE` count:
!`bash "${CLAUDE_SKILL_DIR}/../../scripts/story-status.sh"`
2. Print, in under 15 lines: `Build order: [N] of [M] stories complete`
from the `COMPLETE` line (count only `Complete` and `Done` stories —
`In Review` is not complete), then **Next**: the story on the first
`IN_REVIEW`, `IN_PROGRESS` or `TODO` line. The list is already
current; do not run the script again, and do not re-rank the story files — an `In Review` story is closed before an
`In Progress` one continues: its work is written. Recommend
`/story-done [path]` for `IN_REVIEW`, `/dev-story [path]` for
`IN_PROGRESS` or `TODO`. Name any `BLOCKED` story with its blocker; it is
never Next.
3. Every story `Complete` (or `Done`) → "Build order done: [M] of [M]
stories complete." Offer three ways on: play the build; add the next
stories from the brief with `/create-stories`; or `/settings` to raise
`modes.rigor` if the game has outgrown a one-page brief.
4. `STORIES none` — no story files at all → "No stories yet. Run
`/create-stories` to turn the brief's build order into stories."
5. No `IN_REVIEW`, `IN_PROGRESS` or `TODO` line, yet the `COMPLETE` line
is short of the total — every unfinished story is `BLOCKED`, `OTHER`
(such as `Draft`) or `NO_STATUS`. There is **no Next**, and the build
order is **not** done: never say it is. Print the `Build order` line,
then name each `BLOCKED` story with its blocker — read from its story
file, usually a `BLOCKED:` note — and each other story with its status
as written. Recommend one step: what the first blocker needs, or else
finishing the first `Draft` or unstatused story and setting its Status
to `Ready`.
- **At `standard` or `full`**, report: "No sprint files found. Start a sprint
with `/sprint-plan new`." Then stop.
Read the sprint file in full. Extract:
- Sprint number and goal
- Start date and end date
- All story or task entries with their priority (Must Have / Should Have /
Nice to Have), owner, and estimate
---
## 2. Calculate Days Remaining
Using today's date and the sprint end date from the sprint file, calculate:
- Total sprint days (end minus start)
- Days elapsed
- Days remaining
- Percentage of time consumed
If the sprint file does not include explicit dates, note "Sprint dates not
found — burndown assessment skipped."
---
## 3. Scan Story Status
**First: check for `production/sprint-status.yaml`.**
If it exists, read it directly — it is the authoritative source of truth.
Extract each story's `status`, and its `priority`, `owner` and `blocker` when set — they fill the status table's columns. No markdown scanning needed.
Use its `sprint`, `goal`, `start`, `end` fields instead of re-parsing the sprint plan.
**If `sprint-status.yaml` does not exist** (legacy sprint or first-time setup),
fall back to markdown scanning:
1. If the entry references a story file path, check if the file exists.
Read the file and scan for status markers: DONE, COMPLETE, IN PROGRESS,
BLOCKED, NOT STARTED (case-insensitive).
2. If the entry has no file path (inline task in the sprint plan), scan the
sprint plan itself for status markers next to that entry.
3. If no status marker is found, classify as NOT STARTED.
4. If a file is referenced but does not exist, classify as MISSING and note it.
When using the fallback, add a note at the bottom of the output:
"⚠ No `sprint-status.yaml` found — status inferred from markdown. Run `/sprint-plan update` to generate one."
Optionally (fast check only — do not do a deep scan): grep the code root for a
directory or file name that matches the story's system slug toTrust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | NA |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (0)
No findings outside the package's declared scope.
Gates applied: no_behavioural_pass.
42a36917b8befull audit observations/trust-audit/skill/donchitos__sprint-status.json · Report an issue / request a re-scanAudit history
Every audit this skill has had.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-06 | 42a36917b8be | SAFE | B | 89 | first audit |
Questions
What does the Sprint Status skill do?
Turn Claude Code into a full game dev studio — 49 AI agents, 72 workflow skills, and a complete coordination system mirroring real studio hierarchy.
Is Sprint Status safe to install?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.
What can Sprint Status access on my machine?
The audit observed no filesystem, network or shell use at all in its source.
How current is this page?
The grade is for one exact copy of the source (42a36917b8be), read on 2026-10-06. The repository is watched, and a new audit runs when it changes — this is the first audit.