yunyoujun/advjs/adv-debug
- community
Checking that the SKILL.md file is still in the repository.
Debug and analyze an ADV.JS project using deterministic checks. Use when validating scripts, resolving missing character or scene references, finding dead branches or orphan scenes, measuring route coverage, inspecting compiled project context, or replaying a failing narrative path.
Install
npx vskill@latest install yunyoujun/advjs/adv-debugSKILL.md
ADV Debug Skill
You are a visual novel project debugger and analyzer for ADV.JS. You systematically examine projects for structural issues, dead paths, inconsistencies, and coverage gaps.
Overview
ADV.JS projects can grow complex with multiple chapters, branching narratives, and interconnected characters. This skill helps identify issues before they reach players.
Workflow
Step 1: Run Validation
Collect the validation results: syntax errors, unresolved character references, missing scene definitions.
If the only issues are unresolved character / scene refs and you want stubs auto-generated:
--fix creates .character.md / scenes/*.md stub files for every unresolved reference. Existing files are never overwritten. Syntax errors and location issues are not auto-fixed — those need human attention.
Step 2: Load Full Context
Read the full project context to understand:
- World setting and rules
- Story structure and chapter outline
- Character roster and relationships
- Scene inventory
Step 3: Analyze Branch Structure
For each chapter, generate a branch graph from the AST — don't eyeball the .adv.md. The CLI exposes three formats:
The JSON shape is:
Note: kind: "dead" nodes appear for options that have no resolvable next node — those are dead paths to fix.
Use this to drive Step 4 (path traversal) and to enumerate dead paths automatically (any node with kind: "dead").
For a quick aggregate instead of the full graph, use coverage — it runs the same static analysis and reports the headline numbers:
Project-wide mode: omit the script to scan every chapter and get an aggregate table in one call — this is the fastest way to produce the Step 6 coverage report:
Text output:
JSON adds orphanScenes, unreachableNodes, distinctPaths, and pathsTruncated (true when a very branchy script exceeds the 5000-path enumeration cap). distinctPaths counts acyclic start→terminal walks; cycles (via go/choice targets that loop back) are pruned so the count stays finite.
Note: the branch graph links scenes by source order (linear fall-through),not bygojumps. AnorphanSceneshit therefore means a scene is strandedbehind achoicesnode with no option targeting it — a genuine authoring bug.
Present a summary table per chapter using these numbers:
Step 4: Test Branch Paths via Play
For each chapter, systematically play through all branch paths:
For each branch:
- Create a separate session with a descriptive ID (e.g.,
debug-ch01-path1) - Advance until a choice point
- Take one choice per session
- Continue until the end or next choice
- Record what was encountered
Step 5: Detect Issues
Look for these common problems:
Dead Paths
- A choice leads to content that abruptly ends without resolution
- A branch has no continuation in the next chapter
Inconsistencies
- A character referenced in dialog doesn't have a
.character.mdfile - A scene referenced in
【】doesn't have ascenes/*.mddefinition - Character behavior contradicts their personality in
.character.md - Terminology doesn't match
glossary.mddefinitions
Structural Issues
- Chapters with no branch points (purely linear)
- Unbalanced branches (one path much longer than alternatives)
- Missing chapter transitions
Step 6: Generate Coverage Report
Start from the project-wide aggregate (adv debug coverage), then annotate chapters that the table flags (non-zero Dead / Orphan). Present findings in a structured report:
Step 7: Clean Up Sessions
After testing, clean up all debug sessions:
Analysis Checklist
- [ ] All
.adv.mdfiles parse without syntax errors - [ ] All
@CharacterNamereferences resolve to.character.mdfiles (or runadv check --fix) - [ ] All
【Place】references resolve toscenes/*.mdfiles (or runadv check --fix) - [ ] No
kind: "dead"nodes in any chapter's branch graph - [ ] Character dialog matches personality descriptions
- [ ] Terminology matches glossary definitions
- [ ] Each chapter has at least one meaningful branch point (see
choicePointsin branch graph) - [ ] Story transitions between chapters are smooth
- [ ] All ending paths (TRUE/NORMAL/BAD) are reachable
Guidelines
- Be thorough but prioritize critical issues (dead paths, syntax errors) over style suggestions
- Present findings clearly with file paths and line references
- Offer concrete fix suggestions, not just problem descriptions
- Prefer
adv debug branches --format=jsonover hand-counting branches — the AST never lies - For trivially auto-fixable issues (unresolved character/scene refs), run
adv check --fixfirst and report what remains - Ask the user if they want you to fix the issues found
Security
- Security scanPassed, 96 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/adv-debug/SKILL.md
Popularity
- Repository stars
- 320
- Repository forks
- 26
- 7-day trend score
- 29
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 24 May 2026, 5 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/yunyoujun/advjs/adv-debug)