Borrowing it
Nothing to install: this file belongs to craigjmidwinter/getvect. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/craigjmidwinter/getvect/main/.claude/skills/katra/SKILL.mdgit clone --depth 1 https://github.com/craigjmidwinter/getvectWrote 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/craigjmidwinter/getvect/katra)<a href="https://agentmods.dev/skills/craigjmidwinter/getvect/katra"><img src="https://agentmods.dev/badge/skills/craigjmidwinter/getvect/katra/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/craigjmidwinter/getvect/katra"><img src="https://agentmods.dev/badge/skills/craigjmidwinter/getvect/katra.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00088 | $0.01897 |
| Opus 5.5 | $0.00035 | $0.00759 |
| Sonnet 5.5 | $0.00018 | $0.00379 |
| Haiku 4.5 | $0.00009 | $0.00190 |
Grade A, and why
katra 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 2mo 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.
Copies of this mod
1 near-identical copy found in the catalogue:
- katra — 100% identical, 0 lines differ
How it starts
The opening of the file, as written. The whole thing — 156 lines — stays where its author put it; the contents beside it link to each section on GitHub.
katra
Keep a living dev log while you work, using the katra CLI (or the
katra-mcp MCP tools, if connected). The log is markdown entries with embedded
rich components, served as a live page and committed alongside the code.
The model (read this first)
- A katra lives in
katra/at the repo root:entries/(one markdown file per post) +media/+config.yml. Runkatra listto see if one exists; if not,katra init. - A draft is an entry with no commit hash. It renders in the "In Progress" panel immediately — there is no scratch file and no promote step. The draft is the running post; you stamp it at commit time (hash + diffstat) and it drops into the log. Nothing can get stuck.
You are writing a post, not a report
This is the part that goes wrong. Entries drift into flat technical documents — a wall of prose that reads like a handoff note to the next agent — and a log of those is one nobody, including you in a month, ever reads.
Your project-memory already captures the play-by-play, and katra ingests that memory into the log at commit time. So don't re-type the transcript. Spend your effort on the two things a text memory can't hold:
- Show the thing. Screenshots, renders, before/after sliders, diagrams, charts. A single capture is worth paragraphs.
- The reasoning. The decision and the why, the alternative you rejected, what broke first. That's the signal memory paraphrases away.
Write it the way you'd write it up for someone who wasn't there:
- Open with the stakes, not the filename. "The HUD was eating the city" beats "Implemented WorldHUD.cs changes in-place."
- Name the thing you rejected, and why it lost. A post with no discarded alternative reads as though the answer was obvious, which it wasn't.
- Land it. End on what's now true and what's still shaky — a
warningblock for the parts that need a device, a person, or a rerun to confirm.
Anti-patterns, all observed in real katras:
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.
- 2mo ago First seen · 156 lines · 88 tokens per session scan A 4840f4f9cb83
katra is a skill published in the GitHub repository craigjmidwinter/getvect (103 stars, last pushed 10d ago), licensed MIT. It adds 88 tokens to every session and 1,897 once invoked, about $0.0004 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-08-30.
katra compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| katracraigjmidwinter/getvect | Skill | 103 | 10d ago | MIT | A | 88 | Claude Code |
| imap-smtp-emailfreestylefly/wesight | Skill | 969 | 1mo ago | MIT | A | 82 | Claude Code, Codex |
| ai-evaluation-patternsFerroxLabs/wayland | Skill | 618 | 7d ago | AGPL-3.0 | A | 86 | Claude Code, Codex |
| automation-architectFerroxLabs/wayland | Skill | 618 | 7d ago | AGPL-3.0 | A | 90 | Claude Code, Codex |
| convert-auditFerroxLabs/wayland | Skill | 618 | 7d ago | AGPL-3.0 | A | 138 | Claude Code, Codex |
| sales-icpFerroxLabs/wayland | Skill | 618 | 7d ago | AGPL-3.0 | A | 181 | Claude Code, Codex |
| sales-qualifyFerroxLabs/wayland | Skill | 618 | 7d ago | AGPL-3.0 | A | 186 | Claude Code, Codex |