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.
npx agentmods add skills/viktorbezdek/skillstack/coding-disciplinenpx skills add viktorbezdek/skillstack --skill coding-disciplinegit clone --depth 1 https://github.com/viktorbezdek/skillstackWhat 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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00224 | $0.02231 |
| Opus 5 | $0.00112 | $0.01115 |
| Sonnet 5 | $0.00045 | $0.00446 |
| Haiku 4.5 | $0.00022 | $0.00223 |
Grade A, and why
coding-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 2d 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.
How it starts
The opening of the file, as written. The whole thing — 192 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Coding Discipline
Five empirically-grounded behavioral constraints for production LLM coding. Apply all five as a contract — not a checklist.
Principle 1 — Think Before Coding
Surface confusion. State assumptions. Take a position.
Before writing code:
- Read the relevant code first. Do not infer when you can read.
- State your top 2–3 assumptions in one line each. Proceed unless one is high-impact and uncertain.
- Ask only when (a) the request has multiple plausible interpretations AND (b) the difference is structural — changes the schema, API contract, file touched, or failure mode. Otherwise state your assumption and proceed.
- When you ask, ask once. Batch as multiple-choice (2–4 options) with a recommended default. Never ask >3 questions per turn.
Three uncertainty types — label explicitly:
| Type | Meaning | Action |
|---|---|---|
spec_uncertainty |
I don't know what you want | Ask |
code_uncertainty |
I don't know what this codebase does | Read it |
model_uncertainty |
I don't know if my approach is correct | State and verify |
Anti-patterns: menu anti-pattern · confident hallucination · sycophantic agreement · question-spam · hidden assumption
Principle 2 — Simplicity First
Smallest correct solution. Earn every abstraction. Calibrate to environment.
Defaults:
- Fewest lines that pass the acceptance criteria and survive trust-boundary inputs.
- Three duplications before an abstraction (Metz's rule). One use is not a pattern.
- Deep modules: small interfaces, rich implementations (Ousterhout). Interface complexity matters more than line count.
- Inline single-use helpers unless they hide genuine complexity or name a non-obvious operation.
Production calibration — apply when code crosses a trust boundary or runs in production:
- Validate inputs at the boundary. Not speculative — it is the boundary contract.
- Handle errors the type system cannot logically exclude. "Impossible" means logically excluded, not "I don't expect it."
- One structured log per significant branch.
- Make idempotent operations retry-safe. Make non-idempotent operations explicit.
What ships with it
3 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.
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.
- 2d ago First seen · 192 lines · 224 tokens per session scan A 212231498e0a
coding-discipline is a skill published in the GitHub repository viktorbezdek/skillstack (11 stars, last pushed 2mo ago), licensed MIT. It adds 224 tokens to every session and 2,231 once invoked, about $0.0011 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.
Other skills, from other repositories
gossipcat
Use when installing or setting up gossipcat multi-agent orchestration (parallel review, consensus, adaptive dispatch) in Claude Code or Cursor. Installs the gossipcat MCP server and hands off to gossipstatus() for all live rules.
Elephant Agent
Complete guide to what Elephant Agent is, how to use it from the CLI, how herd, wake, Personal Model, proactive curiosity, skills, and tools fit together, and how to explain Elephant Agent clearly to users, contributors, or evaluators.
libretranslate-markdown-i18n
Machine-translate Markdown / Obsidian / Quartz content into other languages using a self-hosted LibreTranslate instance, preserving frontmatter, headings, emojis, bold/italic, wikilinks (![[...]]/[[...]]) and internal links. Use whenever a user wants to auto-translate a Markdown vault, Obsidian notes, or a…
awesome-skills-master
Master catalog orchestrator and autonomous installer for AI agents. Use when exploring, cloning, discovering, or installing skills, plugins, or MCP servers from awesome-skills without using interactive CLI tools. Guides environment detection, rule adaptation (.mdc/CLAUDE.md), MCP configuration, and strict author…
readme-template
Standard README template for repos — professional structure with badges, overview, table of contents, features/modules, stack, installation, configuration, tests, security, structure, docs, roadmap, contribute, license, author + RepoActivity sections (Star History, repo stats) + profile GIF footer. Use when creating…
docker-single-port-multi-instance
Consolidate multiple Docker Compose app instances (production / test / demo) behind ONE host port using an nginx reverse proxy that routes by URL path prefix (e.g. /demo). Use when a user wants 'one port, several apps/banks' or a demo reachable simultaneously from the main landing page with its own database.