asset-audit
SkillFiles & storageAudits game assets for compliance with naming conventions, file size budgets, format standards, and pipeline requirements. Identifies orphaned assets, missing references, and standard violations.
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 asset-audit skill
What this skill tells your AI
The instructions your AI receives, as published by striderza/opencodegamestudios in .agents/skills/asset-audit/SKILL.md and read by ahel’s review.
Phase 1: Read Standards
Read the art bible or asset standards from the relevant design docs:
design/art/art-bible.md— visual and naming standardsdesign/gdd/asset-manifest.md— expected asset list if it exists.agents/rules/data-files.md— data file standardsAGENTS.md— project naming conventions
If no art bible exists, note: "No art bible found. Auditing against general game industry conventions." and proceed.
Phase 2: Scan Asset Directories
Use Glob to index all asset files in the target scope. Scan these directories:
Glob pattern="assets/art/**/*.{png,jpg,svg,psd,tres,tscn}" (art)
Glob pattern="assets/audio/**/*.{ogg,mp3,wav,flac}" (audio)
Glob pattern="assets/vfx/**/*.{tscn,tres,gdshader}" (VFX)
Glob pattern="assets/shaders/**/*.{gdshader,tres}" (shaders)
Glob pattern="assets/data/**/*.{json,yaml,csv,tres}" (data)
If the argument specifies a category (e.g., art), limit to that directory.
For each file found, use Bash stat (or Node.js fs.statSync equivalent via Execute) to record file size.
Phase 3: Run Compliance Checks
3a: Naming Conventions
Check each file against the expected naming pattern:
- Art:
[category]_[name]_[variant]_[size].{png,jpg}(e.g.,char_player_idle_256.png) - Audio:
[category]_[context]_[name]_[variant].{ogg,mp3}(e.g.,sfx_combat_sword_hit_01.ogg) - Shaders:
[type]_[category]_[name].gdshader(e.g.,spatial_env_water.gdshader) - All files must use lowercase with underscores, no spaces
- No special characters in filenames (hyphens acceptable in specific conventions)
Flag violations with the file path and the specific rule broken.
3b: File Size Budgets
Check file sizes against budget thresholds using Bash:
Bash: find assets/art -name "*.png" -exec stat --format="%s %n" {} \;
| Category | Budget per file | Budget total |
|---|---|---|
| Textures (UI) | < 512 KB | < 5 MB |
| Textures (3D models) | < 4 MB | < 100 MB |
| Audio (SFX) | < 256 KB | < 20 MB |
| Audio (music) | < 10 MB | < 100 MB |
| Shaders | < 10 KB | < 200 KB |
| Data files | < 1 MB | < 10 MB |
Flag files exceeding their budget. Calculate total category size and flag if exceeding total budget.
3c: Format Verification
- Textures: Check for power-of-two dimensions (use Bash
identifyfrom ImageMagick if available, or note manual verification needed) - Audio: Expected format — OGG for SFX, OGG/MP3 for music. Flag
.wavfiles (should be compressed for shipping) - Data: Validate JSON with
Bash: python -m json.tool file.json(dry-run). Validate YAML with Grep for common errors - Shaders: File extension must match
shader_typedeclaration in.gdshaderfiles
3d: Orphaned Assets
For each asset file, search code and scene files for references. For art/audio assets, search for the filename without extension:
Grep pattern="asset_name" path="src/" (game code)
Grep pattern="asset_name" path="assets/" (scene references)
Grep pattern='"asset_name"' path="assets/data/" (data file references)
Flag any asset with zero references as orphaned. For .tres and .tscn files, also check if they're loaded by other resources.
3e: Missing Assets
Search code for asset references and verify the files exist:
Grep pattern='load\("res://' path="src/" (GDScript Resource loads)
Grep pattern='GD.Load<' path="src/" (C# Resource loads)
Grep pattern='preload\("res://' path="src/" (preload statements)
For each res:// reference found, verify the file exists at that path using Glob. Flag any reference where the file doesn't exist.
Phase 4: Delegate Specialist Review
Spawn specialist agents via Task in parallel:
-
Art assets → spawn
technical-artist: provide the naming violations and size violations. Ask for:- Verification that flagged issues are actually problems (not intentional exceptions)
- Texture format and compression recommendations for flagged files
- Priority ranking: which violations affect performance most
-
Audio assets → spawn
sound-designer: provide the audio format and naming issues. Ask for:- Format recommendations for flagged files
- Whether flagged sample rates are intentional
-
Data files → spawn
systems-designer: provide the data file issues. Ask for:- Schema validation for game data files
- Whether flagged orphaned/missing data files affect game balance
Collect all specialist outputs. Surface any disagreements between specialists and your own findings to the user via question.
Phase 5: Output Audit Report
Present the synthesized report:
# Asset Audit Report — [Category] — [Date]
## Summary
- **Total assets scanned**: [N]
- **Naming violations**: [N]
- **Size violations**: [N]
- **Format violations**: [N]
- **Orphaned assets**: [N]
- **Missing assets**: [N]
- **Specialist review**: [technical-artist / sound-designer / systems-designer findings]
- **Overall health**: [CLEAN / MINOR ISSUES / NEEDS ATTENTION / CRITICAL]
## Naming Violations
| File | Expected Pattern | Issue | Specialist Note |
|------|-----------------|-------|-----------------|
## Size Violations
| File | Budget | Actual | Overage | Specialist Note |
|------|--------|--------|---------|-----------------|
## Format Violations
| File | Expected Format | Actual Format | Specialist Note |
|------|----------------|---------------|-----------------|
## Orphaned Assets (no code references found)
| File | Last Modified | Size | Recommendation |
|------|-------------|------|---------------|
## Missing Assets (referenced but not found)
| Reference Location | Expected Path | Severity |
|-------------------|---------------|----------|
## Recommendations
| Priority | Issue | Action | Owner |
|----------|-------|--------|-------|
## Verdict: [COMPLIANT / WARNINGS / NON-COMPLIANT]
Ask: "May I write this audit report to production/qa/asset-audit-[category]-[date].md?"
If yes, write the file (create production/qa/ directory if needed).
If the user passed --fix, offer to apply automated fixes (rename files, flag for manual conversion). Do NOT delete orphaned assets without explicit confirmation.
Phase 6: Next Steps
- Fix naming violations using the patterns defined in AGENTS.md or art bible
- Delete confirmed orphaned assets after manual review (never auto-delete)
- Run
/content-auditto cross-check asset counts against GDD-specified requirements - Run
/asset-spec system:[relevant-system]if audit reveals missing assets that need production - Re-run
/asset-auditafter fixes to verify cleanliness
Signals
- GitHub stars
- 86
- Forks
- 8
- Last commit
- Aug 2026
Advanced
- Catalog kind
- skill
- Gateway key
asset-audit-striderza- Source
- github.com/striderza/opencodegamestudios