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 danielrosehill/Claude-SOP-Writer-Plugin --skill bundle-bindergit clone --depth 1 https://github.com/danielrosehill/Claude-SOP-Writer-PluginWrote 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/danielrosehill/claude-sop-writer-plugin/bundle-binder)<a href="https://agentmods.dev/skills/danielrosehill/claude-sop-writer-plugin/bundle-binder"><img src="https://agentmods.dev/badge/skills/danielrosehill/claude-sop-writer-plugin/bundle-binder/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/danielrosehill/claude-sop-writer-plugin/bundle-binder"><img src="https://agentmods.dev/badge/skills/danielrosehill/claude-sop-writer-plugin/bundle-binder.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.00100 | $0.00908 |
| Opus 5 | $0.00050 | $0.00454 |
| Sonnet 5 | $0.00020 | $0.00182 |
| Haiku 4.5 | $0.00010 | $0.00091 |
Grade A, and why
bundle-binder 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 9d 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 — 74 lines — stays where its author put it; the contents beside it link to each section on GitHub.
bundle-binder
Assemble a multi-document PDF binder from a project's SOPs and flowcharts.
Configuration: binders.yaml
The project must have a binders.yaml at its root. Example shape:
binders:
household-emergency:
title: "Household Emergency Binder"
subtitle: "Jerusalem Apartment — Revision 2"
cover: covers/emergency-cover.png # optional
footer: "Household Emergency Binder · Revision 2 · 2026"
toc: true # generate table of contents
page_numbers: true
output: output/household-emergency-binder.pdf
documents:
- sops/rocket-missile-alert-response.typ
- sops/preparing-home-for-emergencies.typ
- sops/choosing-protected-space.typ
- flowcharts/which-shelter.typ
- checklists/emergency-equipment.typ
first-aid-kit:
title: "First Aid Quick Reference"
output: output/first-aid-kit.pdf
page_numbers: true
documents:
- sops/first-aid-choking-adult.typ
- sops/first-aid-burns.typ
- sops/first-aid-cpr-adjunct.typ
If no binders.yaml exists, offer to create one for the user with a starter binder based on the SOPs already in the project.
Inputs to gather
- Binder name — the key in
binders.yamlto build. If only one binder is defined, use it without asking.
What to do
- Read
binders.yamland select the named binder. - For each document in
documents::- If it's a
.typfile, ensure its PDF is up to date (compile if the PDF is missing or older than the source). - If a referenced
.typembeds a.mmd/.d2, render the SVG first (delegate tocompile's logic).
- If it's a
- If
toc: true, generate a TOC page. Approach: build a small Typst doc that lists each document title with its starting page number, compile it to PDF, and prepend. - If
cover:is set, build a cover page (Typst with title, subtitle, cover image) and prepend it. - Concatenate the PDFs in order:
(orqpdf --empty --pages cover.pdf toc.pdf doc1.pdf doc2.pdf ... -- <output>pdfuniteas fallback) - If
page_numbers: true, stamp consistent page numbers across the bundle. Approach: useqpdfoverlay with a Typst-generated page-number layer, or re-render each component with a footer that knows its starting offset. - Write to the configured
output:path. Report file size and page count (pdfinfo <output> | grep Pages).
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.
- 9d ago First seen · 74 lines · 100 tokens per session scan A 61141f1a9eb7
bundle-binder is a skill published in the GitHub repository danielrosehill/Claude-SOP-Writer-Plugin (3 stars, last pushed 4mo ago), licensed MIT. It adds 100 tokens to every session and 908 once invoked, about $0.0005 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-31.
Other skills, from other repositories
pydicom
Use pydicom to read, inspect, write, transform, and safely preflight local DICOM datasets and pixel data. Applies to DICOM metadata, transfer syntaxes, compression plugins, frames, private elements, JSON, and bounded de-identification review.
foundry-hosted-agent-validation
Step-by-step process for validating a Python Foundry hosted agent sample (under python/samples/04-hosting/foundry-hosted-agents/) end to end — running it locally (native runtime and azd ai agent run) and after deploying it to an Azure AI Foundry project with azd. Use this when asked to validate a hosted agent sample.
skill-doc-delivery
Convert markdown to DOCX, PPTX, XLSX, PDF office documents — use when you need exportable deliverables.
pdf-extract-create-workflow
Complete PDF lifecycle: download, extract, and generate structured documents with reportlab.
document-direct-python
Use direct Python execution for reliable document creation including spreadsheets, PDFs, and structured reports.
parse-document
Convert a PDF, scan, image of a page, or office file to clean markdown through the connected Superlinked MCP edge, so the source document is not read into model context directly. Use when the user asks to read, parse, OCR, extract from, summarize, or answer questions about a document.