teach-me: Instructions file for Kiro

.kiro/steering/ink-authoring.md

teach-me ink-authoring.md is an instructions file for Kiro from smileynet/teach-me. It costs 2,281 tokens per session, scanned A, original, MIT.

Authoring guidance for Ink, a language for writing interactive stories, and for code fragments used in lessons. It focuses on checking both syntax and whether a story produces the intended text and reaches its ending.

In plain words
What is it for?
Use it to write Ink stories and teaching examples, test story paths and transcripts, and avoid incorrect loops or output.
Why use it?
It catches story-behaviour mistakes that a successful compile or basic playthrough may miss, while keeping lesson code ready to paste and run.

Instructions file for Kiro

Written for Kiro: installed under .kiro/. Also seen: mentions subagents.

This is smileynet/teach-me's own configuration. It tells Kiro how to work on teach-me itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything teach-me configures →

Reuse

Borrowing it

Nothing to install: this file belongs to smileynet/teach-me. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/smileynet/teach-me/main/.kiro/steering/ink-authoring.md
Clone the repo
git clone --depth 1 https://github.com/smileynet/teach-me

Made for: Kiro.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for teach-me ink-authoring.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/smileynet/teach-me/ink-authoring/github.svg)](https://agentmods.dev/instructions/smileynet/teach-me/ink-authoring)
Your own site
<a href="https://agentmods.dev/instructions/smileynet/teach-me/ink-authoring"><img src="https://agentmods.dev/badge/instructions/smileynet/teach-me/ink-authoring/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for teach-me ink-authoring.md

Your own site · 80×15
<a href="https://agentmods.dev/instructions/smileynet/teach-me/ink-authoring"><img src="https://agentmods.dev/badge/instructions/smileynet/teach-me/ink-authoring.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 2,281 This file is loaded in full into every session.
When invoked 2,281 The same file — it is already loaded in full.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.02281 $0.02281
Opus 5.5 $0.00912 $0.00912
Sonnet 5.5 $0.00456 $0.00456
Haiku 4.5 $0.00228 $0.00228

Measured 15d ago against content hash 70fec805ca64, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

teach-me ink-authoring.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 15d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.kiro/steering/ink-authoring.md · 159 lines

How it starts

The opening of the file, as written. The whole thing — 159 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Ink Authoring Correctness

Guidance for writing ink narrative stories and lesson code fragments that are not just syntactically valid but produce correct output. The reference stories in ink-test-project/stories/ and the ink-godot lessons already follow these rules — this documents the standard and the tooling that enforces it.

The core principle

"Compiles + reaches END" ≠ "produces correct output." A story can compile cleanly, pass playthrough (reach an ending), survive subagent review, and still print the wrong text. Three bug classes (below) are invisible to structural validation — they were caught historically only by a human reading the output. The golden-transcript check (mise run ink:transcripts) is the mechanism that catches them automatically.

The three correctness rules

1. Test a knot's read count from OUTSIDE, never self-loop

A knot's read count reflects entry, not internal passes. A condition that tests the enclosing knot's own count inside a self-loop never advances:

// WRONG — {shop} counts entries; self-loop never increments it
=== shop ===
{shop == 1: First visit!|Welcome back.}
+ [Look around] -> shop      // re-enters via divert, but count is stuck

Two correct patterns:

  • Hub-and-spoke — divert out to a hub, re-enter the counted knot via a fresh divert (read count advances on each fresh entry). This is what the reference stories use (well→village→well).
  • Explicit VAR counter — ~ visits = visits + 1 on each pass, branch on the variable, not the read count.

2. Choices in re-enterable locations must be sticky (+) or have a fallback

A once-only choice (* [text]) in a knot the player can re-enter (via loop-back or tunnel) is exhausted on re-entry. Without a sticky choice or an unconditional gather to fall through to, the player is stranded ("ran out of content"):

= weapons
* "Show me your swords." -> weapons.shown   // once-only dialogue — fine
+ [Leave] -> market_square                  // STICKY fallback — keeps loop alive
- -> market_square                          // gather also catches fall-through

Read the full file on GitHub · 159 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 15d ago Changed · +26 lines · +672 tokens per session 70fec805ca64
  2. 2mo ago First seen · 133 lines · 1,609 tokens per session scan A 18315f5437fd

Subscribe to this mod's changes

teach-me ink-authoring.md is an instructions file published in the GitHub repository smileynet/teach-me (3 stars, last pushed 12d ago), licensed MIT. It adds 2,281 tokens to every session, about $0.0091 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-06.

Related

teach-me ink-authoring.md compared with instructions from other repositories

teach-me ink-authoring.md next to 6 instructions from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
teach-me ink-authoring.mdsmileynet/teach-meInstructions file312d agoMITA2,281Kiro
vscode buildNext.instructions.mdmicrosoft/vscodeInstructions file195kyesterdayMITA9,719GitHub Copilot
next.js AGENTS.mdvercel/next.jsInstructions file143ktodayMITA7,461Codex, OpenCode
langchain AGENTS.mdlangchain-ai/langchainInstructions file149kyesterdayMITA4,680Codex, OpenCode
vscode oss-third-party-notices.instructions.mdmicrosoft/vscodeInstructions file195kyesterdayMITA5,516GitHub Copilot
vscode copilot-instructions.mdmicrosoft/vscodeInstructions file195kyesterdayMITA3,093GitHub Copilot
deepseek-harness AGENTS.mddeepseek-ai/deepseek-harnessInstructions file274k2d agoMITA4,313Codex, OpenCode