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 skills add jjanczur/tyran --skill skill-writinggit clone --depth 1 https://github.com/jjanczur/tyranWrote 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.
[](https://agentmods.dev/skills/jjanczur/tyran/skill-writing)<a href="https://agentmods.dev/skills/jjanczur/tyran/skill-writing"><img src="https://agentmods.dev/badge/skills/jjanczur/tyran/skill-writing/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.
<a href="https://agentmods.dev/skills/jjanczur/tyran/skill-writing"><img src="https://agentmods.dev/badge/skills/jjanczur/tyran/skill-writing.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Excessive Agency · line 7 Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.Fix: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.
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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00057 | $0.01315 |
| Opus 5 | $0.00028 | $0.00658 |
| Sonnet 5 | $0.00011 | $0.00263 |
| Haiku 4.5 | $0.00006 | $0.00131 |
Grade A, and why
skill-writing 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 10d 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 — 100 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Writing a skill for this plugin
The retrospective may commit a new skill without asking — it is AUTO class. That is only safe if there is a standard for what a skill is. This is the standard, and the first rule is the one that keeps the library small.
Every description is loaded into EVERY session, whether the skill fires or
not. That is the price, it is paid by every user on every turn, and it is the
one cost a skill cannot avoid by being well written. scripts/desc-budget.mjs
enforces the ceiling in CI. Read that number before you write anything.
The admission test — all three, or it is not a skill
- Is there a dangling reference? Does the conductor, an agent or another skill already demand this protocol without carrying it? A skill nothing points at is a library entry, and nobody reads a library.
- Was it paid for? If a competent engineer would find it in five minutes of searching, it is documentation. Skills encode what a failure taught: decisions, constraints, the trap that is not obvious until it costs a day.
- Is it portable and does it belong to us? No foreign runtime, no path
from another tool, no agent this repo does not ship, and no model name —
routing has exactly one source, and a test fails the build on a model name
anywhere in
skills/oragents/.
Failing any one of them is not a reason to write it shorter. It is a reason to
put the content where it belongs: a rule in the caller, a fact in
.tyran/knowledge/, or nowhere.
The rules that follow from the budget
- Price the description first. Write it, count it, check the remaining budget, and only then write the body. Discovering at the end that the library is over budget produces a description trimmed to fit rather than one written to trigger.
- The budget is an owner decision. An agent PROPOSES a raise; it does not
perform one. Raising a ceiling because the run went over is changing the
measurement to fit the answer — the same move
fidelity-gateforbids when a tolerance is loosened until a comparison goes green. - A repo's own learned skills stack on top of this budget in the reader's context. The plugin's core stays lean so the user's repo has room to teach it something.
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.
- 10d ago First seen · 100 lines · 57 tokens per session scan A 22e8fc091308
skill-writing is a skill published in the GitHub repository jjanczur/tyran (86 stars, last pushed 6d ago), licensed Apache-2.0. It adds 57 tokens to every session and 1,315 once invoked, about $0.0003 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
procoder
Work like a senior developer in a repository governed by procoder: run the commit gate before calling anything done, format and lint through the binary, and drive the spec, plan, todo, backlog, and sprint chain in .procoder/. Use this skill when the repository contains a .procoder/ directory or an AGENTS.md naming…
rust-skills
Rust best practices — 179 rules across 14 categories for idiomatic, optimized Rust code.
forge
Ore in, steel out. Planning pipeline with independent verification, persistent memory, and compounding knowledge. Use for 3+ files or unclear scope.
code-hygiene
Codebase health analysis: dead code, test quality, duplicates, complexity, security, architecture mapping. Tool-first, structured storage, forge integration.
docs-refresh
Full documentation hygiene pass: memory, CLAUDE.md, lessons, references, guides. Audit freshness, delete stale, update outdated, compress index.
root-cause-first
A debugging discipline that requires finding the underlying cause of a bug before changing the code. It also sets rules for handling errors, fallbacks, retries, and temporary diagnostics.