if-draft-ink
Skill0 starsChanged 7 months agoMITView on GitHub
Write or revise Ink source files for an interactive fiction project from a prepared slice plan, using project state, map, dialogue, progression design, and ink-doc syntax guidance.
In this repository27 other files it gives its agents.
- beta-reader-passSkill
- build-distributionSkill
- chapter-reviewSkill
- continuity-checkSkill
- create-character-bibleSkill
- define-style-bibleSkill
- draft-chapterSkill
- generate-high-level-outlineSkill
- if-design-dialogueSkill
- if-design-mapSkill
- if-design-progressionSkill
- if-design-structureSkill
- if-init-projectSkill
- if-load-contextSkill
- if-plan-ink-sliceSkill
- if-playtest-reviewSkill
- if-sync-stateSkill
- ink-docSkill
- init-story-projectSkill
- load-story-contextSkill
- manuscript-reviewSkill
- plan-chapterSkill
- prepare-exportSkill
- rewrite-chapterSkill
- sync-story-bibleSkill
- update-character-stateSkill
- update-timelineSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
14 rules. About 0 are common, 11 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈11
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 10
Use this skill to implement a planned slice in .ink files.
- Distinctive: line 22
Read according to slice type:
- Distinctive: line 33
Write or update only the Ink files named by the slice plan unless a required include is missing:
- Very specific: line 40
If the state model must change, stop and update the slice plan or ask for if-design-progression rather than silently inventing state.
- Distinctive: line 51
Use stable English identifiers for Ink knots, stitches, variables, constants, and list items.
- Very specific: line 55
Write player-facing prose in story.language.
- Distinctive: line 56
Keep Ink identifiers in English unless the project already established another convention.
- Distinctive: line 57
Keep comments brief and only where state or flow is non-obvious.
- Distinctive: line 61
Read the slice plan and confirm the expected files and acceptance criteria.
- Distinctive: line 65
Ensure choices return to the correct navigation, dialogue, or phase loop.
- Distinctive: line 66
Avoid dead-end diverts unless the slice intentionally ends the story.
- Distinctive: line 71
Do not rewrite unrelated Ink files.
- Distinctive: line 72
Do not invent new progression variables outside the plan.
- Distinctive: line 73
Do not collapse free exploration into a fixed linear sequence unless the slice plan requires it.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
IF Draft Ink
Overview
Use this skill to implement a planned slice in .ink files. It should preserve existing Ink structure, use the project state model, and consult ink-doc only for syntax features needed by the task.
Files To Read
Always read:
story.yaml- target
04_design/slices/<slice_id>.plan.md 04_design/state_model.md04_design/progression.yaml05_ink/main.ink
Read according to slice type:
- relevant files under
05_ink/locations/ - relevant files under
05_ink/dialogues/ - relevant files under
05_ink/systems/ 04_design/locations.yaml04_design/dialogue_matrix.md- selected
ink-docreference files for syntax.
Files To Write
Write or update only the Ink files named by the slice plan unless a required include is missing:
05_ink/main.ink05_ink/locations/*.ink05_ink/dialogues/*.ink05_ink/systems/*.ink
If the state model must change, stop and update the slice plan or ask for if-design-progression rather than silently inventing state.
Ink Structure
Prefer:
main.inkas the entrypoint and include list;systems/for state helpers, navigation loops, and shared tunnels;locations/for location knots and revisits;dialogues/for character conversations and topic loops.
Use stable English identifiers for Ink knots, stitches, variables, constants, and list items.
Language Rules
- Write player-facing prose in
story.language. - Keep Ink identifiers in English unless the project already established another convention.
- Keep comments brief and only where state or flow is non-obvious.
Procedure
- Read the slice plan and confirm the expected files and acceptance criteria.
- Load only relevant Ink syntax references from
ink-doc. - Inspect existing Ink files before editing.
- Implement the slice with explicit state reads/writes matching the plan.
- Ensure choices return to the correct navigation, dialogue, or phase loop.
- Avoid dead-end diverts unless the slice intentionally ends the story.
- Recommend
if-playtest-reviewafter implementation.
Restrictions
- Do not rewrite unrelated Ink files.
- Do not invent new progression variables outside the plan.
- Do not collapse free exploration into a fixed linear sequence unless the slice plan requires it.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

