Audit GDD-specified content counts against implemented content. Identifies what's planned vs built.
When this skill is invoked:
Parse the argument:
[system-name] → audit that single system only--summary → summary table only, no file writeRead design/gdd/systems-index.md for the full list of systems, their
categories, and MVP/priority tier.
L0 pre-scan: Before full-reading any GDDs, Grep all GDD files for
## Summary sections plus common content-count keywords:
Grep pattern="(## Summary|N enemies|N levels|N items|N abilities|enemy types|item types)" glob="design/gdd/*.md" output_mode="files_with_matches"
For a single-system audit: skip this step and go straight to full-read. For a full audit: full-read only the GDDs that matched content-count keywords. GDDs with no content-count language (pure mechanics GDDs) are noted as "No auditable content counts" without a full read.
Full-read in-scope GDD files (or the single system GDD if a system name was given).
For each GDD, extract explicit content counts or lists. Look for patterns like:
Build a content inventory table from the extracted data:
| System | Content Type | Specified Count/List | Source GDD |
|---|
Note: If a GDD describes content qualitatively but gives no count, record "Unspecified" and flag it — unspecified counts are a design gap worth noting.
For each content type found in Phase 1, scan the relevant directories to count what has been implemented. Use Glob and Grep to locate files.
Levels / Areas / Maps:
assets/**/*.tscn, assets/**/*.unity, assets/**/*.umapsrc/**/*.tscn, src/**/*.unitylevels/, areas/, maps/,
worlds/, stages/Enemies / Characters / NPCs:
assets/data/**/enemies/**, assets/data/**/characters/**src/**/enemies/**, src/**/characters/**.json, .tres, .asset, .yaml data files defining entity statsItems / Equipment / Loot:
assets/data/**/items/**, assets/data/**/equipment/**,
assets/data/**/loot/**.json, .tres, .asset data filesAbilities / Skills / Spells:
assets/data/**/abilities/**, assets/data/**/skills/**,
assets/data/**/spells/**.json, .tres, .asset data filesDialogue / Conversations / Cutscenes:
assets/**/*.dialogue, assets/**/*.csv, assets/**/*.inkassets/data/Quests / Missions:
assets/data/**/quests/**, assets/data/**/missions/**.json, .yaml definition filesEngine-specific notes (acknowledge in the report):
Produce the gap table:
| System | Content Type | Specified | Found | Gap | Status |
|--------|-------------|-----------|-------|-----|--------|
Status categories:
COMPLETE — Found ≥ Specified (100%+)IN PROGRESS — Found is 50–99% of SpecifiedEARLY — Found is 1–49% of SpecifiedNOT STARTED — Found is 0Priority flags:
Flag a system as HIGH PRIORITY in the report if:
NOT STARTED or EARLY, ANDSummary line:
(Specified - Found) / Specified * 100Present the gap table and summary to the user. Ask: "May I write the full report to docs/content-audit-[YYYY-MM-DD].md?"
If yes, write the file:
# Content Audit — [Date]
## Summary
- **Total specified**: [N] content items across [M] systems
- **Total found**: [N]
- **Gap**: [N] items ([X%] unimplemented)
- **Scope**: [Full audit | System: name]
> Note: Counts are approximations based on file scanning.
> The audit cannot distinguish shipped content from editor/test assets.
> Manual verification is recommended for any HIGH PRIORITY gaps.
## Gap Table
| System | Content Type | Specified | Found | Gap | Status |
|--------|-------------|-----------|-------|-----|--------|
## HIGH PRIORITY Gaps
[List systems flagged HIGH PRIORITY with rationale]
## Per-System Breakdown
### [System Name]
- **GDD**: `design/gdd/[file].md`
- **Content types audited**: [list]
- **Notes**: [any caveats about scan accuracy for this system]
## Recommendation
Focus implementation effort on:
1. [Highest-gap HIGH PRIORITY system]
2. [Second system]
3. [Third system]
## Unspecified Content Counts
The following GDDs describe content without giving explicit counts.
Consider adding counts to improve auditability:
[List of GDDs and content types with "Unspecified"]
After writing the report, ask:
"Would you like to create backlog stories for any of the content gaps?"
If yes: for each system the user selects, suggest a story title and point them
to /create-stories [epic-slug] or /quick-design depending on the size of the gap.
Print the Gap Table and Summary directly to conversation. Do not write a file.
End with: "Run /content-audit without --summary to write the full report."
After the audit, recommend the highest-value follow-up actions:
NOT STARTED and MVP-tagged → "Run /design-system [name] to
add missing content counts to the GDD before implementation begins."/sprint-plan to allocate content work across upcoming sprints."/create-stories [epic-slug] for each HIGH PRIORITY gap."--summary was used → "Run /content-audit (no flag) to write the full report to docs/."Verdict: COMPLETE — content audit finished.