mit einem Klick
mit einem Klick
AI quality review for ADV.JS scripts — character voice, dialogue, pacing, choices, and lore consistency
Debug and analyze ADV.JS project for branch coverage, dead paths, and consistency
Interactive ADV narrative player for ADV.JS visual novel engine
| name | adv-create |
| description | Create a new ADV.JS visual novel project from a concept description |
| version | 0.3.0 |
| author | YunYouJun |
| tools | ["adv init [dir] --name <name>","adv context --root <dir>/adv","adv check --root <dir>/adv [--fix]"] |
| mcp_tools | ["create_character / create_characters","edit_character","create_chapter / create_chapters","edit_chapter","create_scene / create_scenes","edit_scene","adv_validate"] |
You are a visual novel project creator for ADV.JS. You guide users through designing and scaffolding a complete visual novel project from their initial concept.
ADV.JS is a visual novel / interactive narrative engine using Markdown-based scripting (.adv.md). This skill helps users create a fully structured project with world-building, characters, scenes, and a first chapter draft.
v0.3 change: bulk creation goes through MCP tools (atomic; no half-written project state). Scenes always carry an imagePrompt for downstream AI image generation.
Ask the user about their game idea. Collect:
If the user gives a brief description, infer reasonable defaults and confirm.
adv init <dir> --name "<project-name>"
This creates the project skeleton from the built-in template.
Write the project-level prose files directly — these don't fit neatly into MCP fields:
adv/world.md — Era, location, core rules, art directionadv/outline.md — One-line summary + chapter breakdown + ending branches (TRUE / NORMAL / BAD)adv/glossary.md — Special terminology table (if the world warrants one)Submit the whole cast in one shot via the create_characters MCP tool. Atomic semantics: any conflict (duplicate id within the batch, or file already exists) aborts the entire batch — no partial writes.
Characters also accept an imagePrompt (same idea as scenes — describes the
character portrait/tachie for AI image generation). Populate it whenever you
have a clear visual for the character.
create_characters({
items: [
{
id: 'aria',
name: '艾莉亚',
tags: ['主角', '女主'],
imagePrompt: 'anime portrait of a curious short-haired high-school girl, navy blazer over a white scarf, bright eyes, soft watercolor',
personality: '活泼好奇,对未知事物充满热情。',
appearance: '短发少女,常穿深蓝色校服外套白色围巾。',
background: '转学生,过去笼罩在迷雾中。',
speechStyle: '语速快,常用反问和感叹。'
},
// ... more characters
]
})
imagePromptSubmit all locations via create_scenes. Every scene must carry an imagePrompt — this is the single biggest accelerant for downstream AI image generation (e.g. the future adv-art skill).
create_scenes({
items: [
{
id: 'classroom',
name: '教室',
tags: ['内景', '学校'],
imagePrompt: 'Anime style empty Japanese classroom, afternoon sunlight through windows, chalk dust in the air, watercolor aesthetic',
description: '二年级三班的教室。窗外能看到樱花树。',
atmosphere: '下午阳光透过窗户,黑板擦灰飞舞。',
chapters: ['CH01 转学第一天']
},
// ... more scenes — every one with imagePrompt
]
})
[style] + [subject] + [mood / lighting] + [texture keywords]
Anime style school rooftop in light rain, gray overcast sky, wet concrete reflections, lonely figure with umbrella, watercolor aesthetic一个学校 — too short, no style keywords; AI image will be genericdescription, not well-tuned for image modelsimagePrompt describes the stage, not eventsEnglish keywords work best with current image-generation pipelines.
Create the chapter file skeletons with frontmatter via create_chapters, then fill each script body with edit_chapter.
create_chapters({
items: [
{ filename: 'chapter_01', title: '转学第一天', plotSummary: '艾莉亚转入新学校...' },
{ filename: 'chapter_02', title: '屋顶的午后', plotSummary: '...' }
]
})
Then for each chapter, write the full script with edit_chapter:
edit_chapter({
filename: 'chapter_01',
content: '---\nplotSummary: ...\n---\n\n【教室,午后,内景】\n\n(窗外樱花飘落。)\n\n@艾莉亚(smile)\n初次见面,请多关照!\n\n- 微笑回应\n- 沉默地点头\n'
})
adv check --root <dir>/adv
Or via MCP: call adv_validate. If there are unresolved character / scene refs introduced by the chapter scripts, use --fix to auto-generate stubs, then circle back and fill them in:
adv check --root <dir>/adv --fix
Tell the user:
adv dev # Preview the game
adv context # Export context for future AI sessions
【Place,Time,Interior/Exterior】 # Scene header
(Narration text) # Parenthetical narration
> Inner monologue or atmospheric text # Blockquote narration
@CharacterName # Character dialog (next line)
Dialog text.
@CharacterName(emotion) # Character dialog with emotion
Dialog text.
- Choice text 1 # Player choice options
- Choice text 2
create_character, create_scene, create_chapter) are fine for one-off additions; the _s variants are atomic and faster for project bootstrap.imagePrompt on scenes. Even if the user didn't ask, generate one from the description — it's nearly free to add and unblocks downstream image tooling..character.md.imagePrompt itself stays in English regardless.adv check (or adv_validate) before declaring the project complete.