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/jjanczur/tyran/setupnpx skills add jjanczur/tyran --skill setupgit 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/setup)<a href="https://agentmods.dev/skills/jjanczur/tyran/setup"><img src="https://agentmods.dev/badge/skills/jjanczur/tyran/setup.svg" alt="Measured on agentmods" height="20"></a>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 | $0.00058 | $0.03622 |
| Opus 5 | $0.00029 | $0.01811 |
| Sonnet 5 | $0.00012 | $0.00724 |
| Haiku 4.5 | $0.00006 | $0.00362 |
Grade A, and why
setup 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 4d 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 — 301 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Setup
Configure Tyran for the repository you are in. One pass, then a short list of questions — never an interrogation.
1. Scan what can be established without asking
node "${CLAUDE_PLUGIN_ROOT}/scripts/scan-repo.mjs" --dir . \
--write .tyran/config.yaml
This is deterministic on purpose. It reports the package manager, the validation commands the repo actually declares, the languages by weight, and an autonomy class inferred from how the repository is really worked. Every value carries the fact that produced it and a confidence, so months later "why does this repo think it is P2" has an answer in the file itself.
It writes two files, and the second one is why this command is not
optional. Before the config, it installs .tyran/policies/autonomy.yaml
from the shipped template. The policy gate is silent in a repository with no
.tyran/ directory and refuses every write in a repository that has one
without a policy under it — so creating the config alone moves the repo from
"unmanaged" to "refuses everything", including the write that would have
fixed it. Setup did exactly that once, and the session ended with a mkdir
and a cp handed to the operator.
Installing it is bootstrap, not an agent granting itself permission: it only
ever creates, never overwrites, and what it writes is the strictest template
Tyran ships. Editing that file afterwards is human-only and stays so — the
gate refuses Write, Edit, and any shell command that names the path.
It also seeds MISTAKES.md at the repository root: the durable record of what
has gone wrong here, which /tyran:retro appends to at close and reads before
it proposes anything. Create-only like the policy — and deleting it is the
whole opt-out, so a repository that does not want one simply removes it. Say
in your report that it appeared; a file landing in someone's working tree
unannounced is a bad way to meet a tool.
If you find a repository already in the broken state — .tyran/ present, no
policy — this repairs it without touching anything else:
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.
- 4d ago First seen · 301 lines · 58 tokens per session scan A 6c2686f71cee
setup is a skill published in the GitHub repository jjanczur/tyran (87 stars, last pushed today), licensed Apache-2.0. It adds 58 tokens to every session and 3,622 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
watch
File sentinel that monitors the working directory for changes and marker comments, then auto-triggers appropriate skills. Poll-based via git diff against the last scan commit. Writes intake items for batch processing and routes marker actions through /do. Use for automatic reactions to file changes; do NOT use for…
live-preview
Mid-build visual verification loop. Takes screenshots of components during construction, not just after. Catches visual regressions and invisible features before they compound. Requires Playwright or similar screenshot tool.
new-skill
Scaffold a new brooks-lint analysis skill so it passes npm run validate and npm run evals on the first try — generates skills/{name}/SKILL.md (with the mandatory "Do NOT trigger for:" clause and a Process section citing guide step ranges) plus skills/{name}/{name}-guide.md (sequentially numbered steps), then appends…
brooks-sweep
Full-sweep mode: runs a unified analysis across all quality dimensions — code decay, architecture, tech debt, and test quality — then applies fixes directly to the codebase. Safe changes are auto-applied; risky changes are confirmed before execution. Drawing on twelve classic engineering books. Triggers when: user…
heartbeat
This skill should be used when the user asks to "run a heartbeat", "run the agent loop", "process GitHub issues", "check for work", or runs the /heartbeat command. Executes the WoterClip heartbeat — picks up GitHub issues, resolves personas, does work, and reports back.
brainstorm
Explores a codebase, researches the problem space, and produces an approved design specification before any code is written. Use when the user wants to create a new feature, add significant functionality, redesign a subsystem, or build something that touches multiple parts of the project.