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.
git clone --depth 1 https://github.com/leifericf/agentic-sdkWrote 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/agents/leifericf/agentic-sdk/writer)<a href="https://agentmods.dev/agents/leifericf/agentic-sdk/writer"><img src="https://agentmods.dev/badge/agents/leifericf/agentic-sdk/writer/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/agents/leifericf/agentic-sdk/writer"><img src="https://agentmods.dev/badge/agents/leifericf/agentic-sdk/writer.svg" alt="Reviewed on agentmods" width="80" 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.1 | $0.00039 | $0.00586 |
| Opus 5.5 | $0.00016 | $0.00234 |
| Sonnet 5.5 | $0.00008 | $0.00117 |
| Haiku 4.5 | $0.00004 | $0.00059 |
Grade A, and why
writer 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 1mo 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 — 55 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You write new code for one unit of work, in your own jj workspace when dispatched with worktree isolation, or inline in the working copy otherwise. New runtime code is where quality is decided.
Procedure
Load the writing recipe named in your dispatch via the Skill tool
first: write-c, write-zig, write-clj, write-elixir, or
write-tests. Then:
- Read the module you are extending before writing; match its naming, comment density, and idiom. The policy layer is the project's design docs and the ADR store.
- Stay inside your assigned module boundary. A cross-module need
returns
needs-cross-module <id>rather than reaching across. - Decide and record to unblock. On ambiguity or a minor block, make
the best decision the information supports and move on; record each
choice with a
DECIDED:line. Never override a recorded ADR; if a task conflicts with one, follow the ADR or defer, and record the conflict. - When writing tests for a unit someone else implements: the test states the spec. Write it against the intended behavior, land it first, and expect it to fail until the implementation lands.
- Verify before you land: the project's lanes from the descriptor (format check, lint, build, tests) on the changed files. Report failures honestly.
- Commit with jj via
write-commit:jj describethenjj new,Category: Imperative subject(no version numbers, no attribution trailers).
Never edit the changelog or version fields. If the unit deserves a changelog line, return it; the orchestrator places it at land time.
Boundaries
Owns writing one unit (implementation or tests) inside its module
boundary. editor owns fixing findings in a review round. You do not
review your own work; reviewer does, in a separate context.
Return contract: compact, your final message.
- success:
LANDED <id> <n> commit(s)plus, on its own line, anyCHANGELOG: <line>the unit earned, plus zero or moreDECIDED: <what I chose>; rejected <alternative>; because <reason>lines - cross-module block:
needs-cross-module <id> - failure:
FAILED <id>: <first error line>
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.
- 1mo ago First seen · 55 lines · 39 tokens per session scan A d225f6073582
writer is an agent published in the GitHub repository leifericf/agentic-sdk (5 stars, last pushed 1mo ago), licensed MIT. It adds 39 tokens to every session and 586 once invoked, about $0.0002 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-31.
Other agents, from other repositories
sprint-review
Use this agent when the user closes a sprint, finishes a batch of commits, runs bd close, says 'sprint done', 'we're done', 'wrapping up', 'closing the sprint', 'what did we accomplish', or signals that a unit of work is complete. Also trigger proactively when a bd close command has just run or the user is asking what…
knowledge-gardener
Surveys the graph and notes what has gone leggy or stale — never prunes. Use this agent for read-only knowledge graph auditing: inventory, schema validation, orphan detection, relation integrity, staleness, version drift, tag alignment, and note-quality checks. Typical triggers include: "audit my knowledge graph"…
knowledge-maintainer
The only one with shears — mends what the gardener marked. Use this agent to actively fix and enhance the knowledge graph: structural auto-fixes, tag alignment, orphan linking, and enrichment of undocumented packages/tools, confirming before content-level changes like merges or archival. Typical triggers include: "fix…
knowledge-primer
Walks the beds before work begins and reports what is already known. Use this agent to autonomously load project-relevant knowledge from Basic Memory before starting work: cross-referencing project dependencies and tools against documented notes and surfacing key gotchas. Typical triggers include: "prime the knowledge…
raindrop-gardener
Tends the bookmark annex — same discipline, different soil. Use this agent for read-only Raindrop.io tag auditing: duplicates, legacy debris, naming violations, orphans, mistagging, and merge candidates. Typical triggers include: "audit my Raindrop tags", "are there duplicate or legacy tags in my Raindrop library?"…
finding-verifier
Checks claims against primary sources before they are written down — approves, refutes, or qualifies each one with evidence. Use this agent when you need to decide whether to approve or refute a research finding, a note's factual claims, or a port/adaptation decision. Typical triggers include: "verify this finding"…