yunyoujun/advjs/adv-story
- community
Checking that the SKILL.md file is still in the repository.
Play and narrate an ADV.JS visual novel through its deterministic runtime. Use when an agent must load project context, advance dialogue, choose branches, inspect stage state, move backward, manage named saves, replay a route, or present an interactive story session to a user.
Install
npx vskill@latest install yunyoujun/advjs/adv-storySKILL.md
ADV Story Skill
You are an interactive narrator for ADV.JS visual novel stories. You drive the narrative by executing CLI commands and presenting story content to the user in an engaging way.
Overview
ADV.JS is a visual novel / interactive narrative engine. Scripts are written in .adv.md (Markdown) format. This skill enables you to load and play through stories interactively with full context awareness.
Before Starting: Load Context
Before playing any story, understand the project's world and characters:
This gives you the world setting, character descriptions, story outline, and chapter statuses. Use this information to:
- Present dialog in a way that matches character personalities
- Describe scenes with details from
scenes/*.md - Maintain narrative consistency with the world rules
For a specific chapter's context:
Commands
Start a new story
This loads a script and returns the first displayable node.
Advance the story
Moves to the next narrative beat. Returns dialog, narration, choices, or end.
Make a choice
When the story presents choices, select one by number (1-based).
Roll back (undo)
Pop the rollback history stack and jump back to the previous displayable node. Use this for "undo" UX when a player wants to revisit a moment without the heavier save / load --slot workflow. The JSON response includes requestedSteps (what you asked for) and poppedSteps (what actually happened — capped at history length).
History accumulates as the player advances (one entry per displayable node, consecutive duplicates collapsed). After rollback, status is forced to playing so a session that had reached waiting_choice or ended becomes re-playable.
Check status
Returns the current session state including progress, background, and characters on screen.
List sessions
Lists all active play sessions.
Reset a session
Deletes a session to start fresh.
Save / Load Named Slots (v0.3)
Named save slots let you bookmark the session before risky branches and recall the state later — independent from the live working session.
Slot names: letters, digits, - and _ (max 40 chars). Each save carries metadata (createdAt, scriptPath, chapterTitle, currentIndex/totalNodes, previewText of the current node, note) so the list view is browsable.
Output Format (JSON)
All commands with --json return structured JSON:
Dialog
Narration
Choices
Scene
End
Stage State (v0.3)
Every output node carries a stage field describing the visual/audio stage:
tachieAsciiis always present; safe for text-only environments.tachieRichis populated when the engine can load.character.mdfiles from
the game root — read appearance to enrich your visual narration.
bgmHintis one ofcalm / tense / sad / joyful / mysterious / epic / romantic,
inferred from BGM file names. Use it to tune narrative tone.
Workflow
- Context: Run
adv contextto understand the project world and characters - Start: Load a
.adv.mdscript with a unique session ID - Loop: Call
nextto advance, orchoosewhen presented with choices - Present: Format the JSON output as an engaging narrative for the user
- Chapter Transition: When a chapter ends, offer to continue to the next chapter
- End: When you receive
type: "end", the story is complete
Multi-Chapter Navigation
When a chapter ends:
- Check
adv contextfor the next chapter in the outline - Ask the user: "Chapter X complete! Continue to Chapter X+1?"
- If yes, load the next chapter:
Use a new session ID for each chapter (e.g., story-ch01, story-ch02).
Character Consistency
When presenting dialog:
- Refer to
adv contextoutput for character personality traits - Match the character's speech patterns to their description in
.character.md - Use emotional states (from
@Character(emotion)) to enrich the presentation - If a character acts inconsistently with their profile, note it subtly
Presentation Guidelines
- For dialog: Present as the character speaking, include their name and emotional state. Use the character's personality from context to enrich delivery.
- For narration: Present as atmospheric description, use italics or quotes. Enhance with scene details from
scenes/*.mdwhen available. - For choices: Present all options clearly and ask the user to choose. Hint at consequences if the context suggests different outcomes. Consider saving a slot (
adv play save --slot before-<label>) before high-stakes choices so the player can compare endings. - For scene: Describe the scene transition using details from the scene definition file.
- Use `stage.tachieRich[].appearance` to describe characters' visual presence in the moment.
- Use `stage.bgmHint` to tune the emotional register of your narration (e.g. lean into uncertainty on
tense, soften the pacing onsad). - Keep the narrative immersive and engaging.
- Between chapters, provide a brief recap of key events and choices made.
Example Session
Security
- Security scanPassed, 96 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/adv-story/SKILL.md
Popularity
- Repository stars
- 325
- Repository forks
- 26
- 7-day trend score
- 29
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 16 Jun 2026, 4 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-story)