agentleFS
bladecoderbladecoder/narrative-skills/skills/if/if-draft-ink/SKILL.md

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.

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
  1. Very specific:

    Use this skill to implement a planned slice in .ink files.

    line 10
  2. Distinctive:

    Read according to slice type:

    line 22
  3. Distinctive:

    Write or update only the Ink files named by the slice plan unless a required include is missing:

    line 33
  4. Very specific:

    If the state model must change, stop and update the slice plan or ask for if-design-progression rather than silently inventing state.

    line 40
  5. Distinctive:

    Use stable English identifiers for Ink knots, stitches, variables, constants, and list items.

    line 51
  6. Very specific:

    Write player-facing prose in story.language.

    line 55
  7. Distinctive:

    Keep Ink identifiers in English unless the project already established another convention.

    line 56
  8. Distinctive:

    Keep comments brief and only where state or flow is non-obvious.

    line 57
  9. Distinctive:

    Read the slice plan and confirm the expected files and acceptance criteria.

    line 61
  10. Distinctive:

    Ensure choices return to the correct navigation, dialogue, or phase loop.

    line 65
  11. Distinctive:

    Avoid dead-end diverts unless the slice intentionally ends the story.

    line 66
  12. Distinctive:

    Do not rewrite unrelated Ink files.

    line 71
  13. Distinctive:

    Do not invent new progression variables outside the plan.

    line 72
  14. Distinctive:

    Do not collapse free exploration into a fixed linear sequence unless the slice plan requires it.

    line 73

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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.md
  • 04_design/progression.yaml
  • 05_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.yaml
  • 04_design/dialogue_matrix.md
  • selected ink-doc reference 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.ink
  • 05_ink/locations/*.ink
  • 05_ink/dialogues/*.ink
  • 05_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.ink as 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

  1. Read the slice plan and confirm the expected files and acceptance criteria.
  2. Load only relevant Ink syntax references from ink-doc.
  3. Inspect existing Ink files before editing.
  4. Implement the slice with explicit state reads/writes matching the plan.
  5. Ensure choices return to the correct navigation, dialogue, or phase loop.
  6. Avoid dead-end diverts unless the slice intentionally ends the story.
  7. Recommend if-playtest-review after 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.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.