content-audit
SkillDev toolsAudit GDD-specified content counts against implemented content. Identifies what's planned vs built.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the content-audit skill
What this skill tells your AI
The instructions your AI receives, as published by negentropy-laby/opendoge in .agents/skills/content-audit/SKILL.md and read by ahel’s review.
User Guide
- When to use: Audit GDD-specified content counts against implemented content. Identifies what's planned vs built.
- Inputs: Command arguments:
/content-audit [system-name | --summary | (no arg = full audit)]; project artifacts referenced below; user decisions and approvals before writes. - Outputs: Primary artifacts, reports, or conversation guidance described below; write files only after user approval.
- Memory-bank writes: None.
- Next steps: Follow the workflow hand-off or next-step guidance below; recommendations do not auto-run and require explicit user command/approval.
Phase 0: Domain Routing
Detect the project domain before auditing content:
design/cdd/game-concept.md-> [Game] keep the existing planned-vs-built audit for levels, enemies, items, quests, dialogue, encounters, and CDD-specified game content.design/cdd/product-concept.md-> [Product] audit product content and surfaces: docs pages, API endpoints, CLI commands, config examples, migration scripts, seed data, templates, onboarding copy, and workflow states.- If unclear, ask whether the inventory is game content or product surface/content.
Game content count examples must remain. Product surface counts are an additional mode. When this skill is invoked:
Parse the argument:
- No argument → full audit across all systems
[system-name]→ audit that single system only--summary→ summary table only, no file write
Phase 1 — Context Gathering
-
Read
design/cdd/module-index.mdfor the full list of systems, their categories, and MVP/priority tier. -
L0 pre-scan: Before full-reading any CDDs, Grep all CDD files for
## Summarysections plus common content-count keywords:Grep pattern="(## Summary|N enemies|N levels|N items|N abilities|enemy types|item types)" glob="design/cdd/*.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 CDDs that matched content-count keywords. CDDs with no content-count language (pure mechanics CDDs) are noted as "No auditable content counts" without a full read.
[Product] Product surface pre-scan: For product projects, also grep CDDs, UX specs, architecture docs, docs, and release notes for product surface keywords:
Grep pattern="(endpoint|API|CLI command|screen|workflow|migration|config key|docs page|SDK example|template|seed data|release bundle|user role)" glob="{design,docs,production}/**/*.md" output_mode="files_with_matches"Full-read only matched files for the Product audit unless a single module was requested.
-
Full-read in-scope CDD files (or the single system CDD if a system name was given).
-
For each CDD, extract explicit content counts or lists. Look for patterns like:
- "N enemies" / "enemy types:" / list of named enemies
- "N levels" / "N areas" / "N maps" / "N stages"
- "N items" / "N weapons" / "N equipment pieces"
- "N abilities" / "N skills" / "N spells"
- "N dialogue scenes" / "N conversations" / "N cutscenes"
- "N quests" / "N missions" / "N objectives"
- Any explicit enumerated list (bullet list of named content pieces)
[Product] Extract product surface counts/lists:
- Endpoints, routes, API operations, request/response schemas
- CLI commands, flags, subcommands, exit codes, shell completions
- Web/admin/mobile screens, user flows, onboarding states, empty/error states
- Config keys, environment variables, feature flags, permission roles
- Migration files, seed datasets, import/export formats
- Docs pages, SDK examples, tutorials, templates, release bundles
- Workflow states, manual handoffs, notifications, emails, status messages
-
Build a content inventory table from the extracted data:
System Content Type Specified Count/List Source CDD Note: If a CDD describes content qualitatively but gives no count, record "Unspecified" and flag it — unspecified counts are a design gap worth noting.
Phase 2 — Implementation Scan
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:
- Glob
assets/**/*.tscn,assets/**/*.unity,assets/**/*.umap - Glob
src/**/*.tscn,src/**/*.unity - Look for scene files in subdirectories named
levels/,areas/,maps/,worlds/,stages/ - Count unique files that appear to be level/scene definitions (not UI scenes)
Enemies / Characters / NPCs:
- Glob
assets/data/**/enemies/**,assets/data/**/characters/** - Glob
src/**/enemies/**,src/**/characters/** - Look for
.json,.tres,.asset,.yamldata files defining entity stats - Look for scene/prefab files in character subdirectories
Items / Equipment / Loot:
- Glob
assets/data/**/items/**,assets/data/**/equipment/**,assets/data/**/loot/** - Look for
.json,.tres,.assetdata files
Abilities / Skills / Spells:
- Glob
assets/data/**/abilities/**,assets/data/**/skills/**,assets/data/**/spells/** - Look for
.json,.tres,.assetdata files
Dialogue / Conversations / Cutscenes:
- Glob
assets/**/*.dialogue,assets/**/*.csv,assets/**/*.ink - Grep for dialogue data files in
assets/data/
Quests / Missions:
- Glob
assets/data/**/quests/**,assets/data/**/missions/** - Look for
.json,.yamldefinition files
Engine-specific notes (acknowledge in the report):
- Counts are approximations — the skill cannot perfectly parse every engine format or distinguish editor-only files from shipped content
- Scene files may include both gameplay content and system/UI scenes; the scan counts all matches and notes this caveat
[Product] Product implementation scan:
- Endpoints/routes: Glob
src/**/routes/**,src/**/api/**,src/**/*controller*,src/**/*handler*, OpenAPI/schema files - CLI commands: Glob
src/**/commands/**,src/**/cli/**,cmd/**, command registration files, generated help output - Screens/workflows: Glob
src/**/*.{tsx,jsx,vue,svelte,html},apps/**,pages/**,routes/**,components/** - Config keys: Grep
.env.example, config modules, docs, and deployment files for required names - Migrations/seeds: Glob
migrations/**,db/migrations/**,seeds/**,fixtures/** - Docs/examples/templates: Glob
docs/**,examples/**,templates/**, SDK sample directories - Release artifacts: Glob
production/releases/**,dist/**,build/**,packages/**,release/**
Product scan notes:
- Counts are approximations; generated routes or framework conventions may need manual confirmation.
- Do not count test-only examples as shipped Product surfaces unless the CDD explicitly treats them as user/developer-facing examples.
- For APIs, count operations, not only files, when OpenAPI or route definitions make operations visible.
Phase 3 — Gap 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 0
Priority flags:
Flag a system as HIGH PRIORITY in the report if:
- Status is
NOT STARTEDorEARLY, AND - The system is tagged MVP or Vertical Slice in the systems index, OR
- The systems index shows the system is blocking downstream systems
Summary line:
- Total content items specified (sum of all Specified column values)
- Total content items found (sum of all Found column values)
- Overall gap percentage:
(Specified - Found) / Specified * 100
[Product] Product status categories:
COMPLETE— Documented surface exists and has matching implementation or artifact evidencePARTIAL— Surface exists but lacks docs, tests, migration/config evidence, or release packagingDESIGNED ONLY— CDD/UX/docs mention it but implementation/artifact is absentIMPLEMENTED ONLY— Code/artifact exists but no CDD/UX/docs source claims itNOT STARTED— Required Product surface has no found implementation
Flag a Product gap as HIGH PRIORITY if it blocks the primary workflow, public API/CLI compatibility, migration safety, deployment, support/onboarding, or the Product Concept user promise.
Phase 4 — Output
Full audit and single-system modes
Present 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/cdd/[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 CDDs describe content without giving explicit counts.
Consider adding counts to improve auditability:
[List of CDDs 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.
--summary mode
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."
Product full audit and summary modes
Use this report when the Product branch is active:
# Product Surface Audit -- [Date]
## Summary
- **Total specified surfaces**: [N] across [M] modules/workflows
- **Total found**: [N]
- **Gap**: [N] surfaces ([X%] missing or partial)
- **Scope**: [Full audit | Module/workflow: name]
> Note: Counts are approximations based on file and contract scanning.
> Manual verification is recommended for API operations generated by framework conventions or for docs examples produced during build.
## Gap Table
| Module / Workflow | Surface Type | Specified | Found | Gap | Status |
|-------------------|--------------|-----------|-------|-----|--------|
## HIGH PRIORITY Product Gaps
[Primary-workflow, API/CLI compatibility, migration, deployment, onboarding, or docs blockers]
## Implemented Without Product Spec
[Endpoints, commands, screens, config keys, migrations, docs examples, or release artifacts found with no CDD/UX/docs source]
## Recommendation
Focus implementation or documentation effort on:
1. [Highest-impact Product gap]
2. [Second Product gap]
3. [Third Product gap]
Phase 5 — Next Steps
After the audit, recommend the highest-value follow-up actions:
- If any system is
NOT STARTEDand MVP-tagged → "Run/design-system [name]to add missing content counts to the CDD before implementation begins." - If total gap is >50% → "Run
/sprint-planto allocate content work across upcoming sprints." - If backlog stories are needed → "Run
/create-stories [epic-slug]for each HIGH PRIORITY gap." - If
--summarywas used → "Run/content-audit(no flag) to write the full report todocs/."
[Product] Product next steps:
- If public surfaces are
DESIGNED ONLY, run/create-storiesfor the owning epic or/quick-designfor a small product surface change. - If public surfaces are
IMPLEMENTED ONLY, run/reverse-documentto create or update the module CDD, API/CLI docs, or architecture notes. - If migration/config/release artifacts are missing, run
/release-checklistafter the fixes are added. - If docs examples are stale or missing, run
/asset-auditProduct mode after docs and package artifacts are regenerated.
Verdict: COMPLETE — content audit finished.
Signals
- GitHub stars
- 20
- Forks
- 5
- Last commit
- Aug 2026
Advanced
- Catalog kind
- skill
- Gateway key
content-audit-negentropy-laby- Source
- github.com/negentropy-laby/opendoge