fable-discipline

A set of working habits for carrying out coding tasks carefully, especially tasks that touch several files, data sources, or work sessions.

In plain words
What is it for?
It helps break work into stages, check each stage, record findings, and apply review and closeout steps in both product-specification work and larger coding tasks.
Why use it?
It adds planning and verification steps that help catch mistakes during feature work, bug fixes, testing, and data changes.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/assafkip/kipi-system/fable-discipline
Any agent
npx skills add assafkip/kipi-system --skill fable-discipline
Clone the repo
git clone --depth 1 https://github.com/assafkip/kipi-system

Made for: Claude Code, Codex.

Per session 137 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,163 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
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 $0.00137 $0.02163
Opus 5 $0.00068 $0.01081
Sonnet 5 $0.00027 $0.00433
Haiku 4.5 $0.00014 $0.00216

Measured today against content hash cc8abb67ebdd, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

fable-discipline 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 today.

The scan reads SKILL.md. This mod also ships 2 executable files (scripts/fable-discipline-lint.py, scripts/test_fable_discipline_lint.py), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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.

Origin

Copies of this mod

1 near-identical copy found in the catalogue:

plugins/prd-os/skills/fable-discipline/SKILL.md · 166 lines

How it starts

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

Fable-Discipline

Coding and task discipline, distilled from reading thousands of edits by one capable model and grading them against an independent review. It is additive: it does not replace what your model already does well, it adds the habits that strong engineers have and most code generation skips.

Most of it is judgment the skill teaches. One slice is enforced by a hook, because a rule a model can talk itself out of is a suggestion, not a gate. The skill teaches; the hook makes the one checkable habit non-optional.

Position: the execution-discipline layer of prd-os

This skill is not a sibling system to prd-os; it is prd-os's execution-discipline layer (merged 2026-07-04, see the plugin CHANGELOG). Two load paths, one skill:

  • PRD work: /issue-start loads this skill before the first edit of every DSSE issue. The issue's receipts (verified, reviewed, findings_triaged) are the task-level half of the same contract this skill states per-edit.
  • Non-PRD work: the quick-plan fast path and the fable-discipline auto-invoke rule load it for any coding task bigger than a one-line change.

The public standalone export (github.com/assafkip/fable-discipline) mirrors this copy; scripts/export-fable-mirror.sh --check is the drift blocker.

When NOT to use this

One-line changes, typo fixes, a task with one obvious approach that fits in a single pass. Staging a trivial task buries the answer under ceremony. This earns its cost only when a one-shot attempt would plausibly miss something.


Layer 1: running the task

How to move through complex work without shipping a confident wrong answer.

  1. Stage before you act. Write the stage plan first. Number the stages, name the one checkable artifact each produces. If a stage produces nothing checkable, merge it into the next. The map is living, not a contract; update it when what you learn invalidates it.

  2. Verify each stage with a check that can fail. A test that runs, a file that provably exists in the right shape, a source actually read, an output diffed against the spec. "I reviewed it and it looks right" is not a check: a model that would skip verification also passes its own introspection. If a stage has no failable check, say so and mark its output unverified so the gap is visible.

Read the full file on GitHub · 166 lines

Files

What ships with it

4 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

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. today Changed · +7 lines cc8abb67ebdd
  2. yesterday First seen · 159 lines · 137 tokens per session scan A 3ca41af99ea9

Subscribe to this mod's changes

fable-discipline is a skill published in the GitHub repository assafkip/kipi-system (108 stars, last pushed today), licensed MIT. It adds 137 tokens to every session and 2,163 once invoked, about $0.0007 per session on Opus 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-08-30.

Related

Other skills, from other repositories

integrate

This skill should be used when the user asks to "integrate mnemonic", "wire plugin", "add memory to plugin", "enable memory capture in plugin", "integrate memory operations", "add mnemonic protocol", "remove mnemonic integration", "rollback plugin integration", or "migrate legacy memory sections". It wires mnemonic…

modeled-information-format/mnemonic · 83 tokens

core

This skill should be used when the user says "capture memory", "save to memory", "remember this", or trigger phrases like: "I've decided", "let's use", "we're going with", "I learned", "turns out", "TIL", "discovered", "I'm stuck", "blocked by", "always use", "never do", "convention is". Also triggers on recall…

modeled-information-format/mnemonic · 109 tokens

custodian

Memory system custodian for health checks, validation, and maintenance. Trigger phrases: "check memory health", "validate memories", "fix broken links", "update decay", "relocate memories", "audit memories", "memory maintenance", "custodian", "memory health".

modeled-information-format/mnemonic · 58 tokens

format

MIF Level 3 specification, memory templates, and formatting guidelines.

modeled-information-format/mnemonic · 15 tokens

ontology

Ontology-based entity discovery and validation for mnemonic memories. Define custom namespaces, entity types, traits, and relationships. Triggers: "entity discovery", "validate ontology", "define namespaces", "resolve entity references", "list ontologies", "show namespaces", "entity types", "entity relationships"…

modeled-information-format/mnemonic · 74 tokens

search

This skill should be used when the user says "search memories", "find in memories", "grep mnemonic", "look for memory", "deep search", "synthesize knowledge", or asks questions like "what do we know about X". Provides progressive disclosure and enhanced iterative search with synthesis.

modeled-information-format/mnemonic · 60 tokens