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 technicalpickles/pickled-claude-plugins --skill writing-for-scannabilitygit clone --depth 1 https://github.com/technicalpickles/pickled-claude-pluginsWrote 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/technicalpickles/pickled-claude-plugins/writing-for-scannability)<a href="https://agentmods.dev/skills/technicalpickles/pickled-claude-plugins/writing-for-scannability"><img src="https://agentmods.dev/badge/skills/technicalpickles/pickled-claude-plugins/writing-for-scannability/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/technicalpickles/pickled-claude-plugins/writing-for-scannability"><img src="https://agentmods.dev/badge/skills/technicalpickles/pickled-claude-plugins/writing-for-scannability.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.00000 | $0.02131 |
| Opus 5.5 | $0.00000 | $0.00852 |
| Sonnet 5.5 | $0.00000 | $0.00426 |
| Haiku 4.5 | $0.00000 | $0.00213 |
Grade A, and why
writing-for-scannability 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 — 123 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Writing for Scannability
Overview
Most people scan before they read. The job is to format prose so a scanner gets the gist and a committed reader gets the depth, without writing two versions. This is the structural axis of writing: when to surface a buried list, how to front-load for the eye, and how hard to lean on formatting per medium.
It is a different axis from concision (keeping prose tight) and from voice (keeping it human). Concision will happily leave a list buried inside a sentence; this skill decides when to pull it out. Voice keeps the result from reading like a corporate slide deck.
Core principle: if the prose is doing list work, let it be a list. If the prose is doing argument work, leave it.
When to use
Reach for this when:
- A paragraph has parallel sentence shapes: "X is A. Y is B." or "First... Second..."
- You hit a contrast marker: "that's distinct from", "as opposed to", "versus", "on the other hand"
- You have bolded terms each followed by a colon and a definition (a definition list hiding in prose)
- Three or more parallel items pile up
- A sentence carries an embedded series: "create X, query Y, and delete Z"
- Someone hands you a wall of text and asks you to make it skimmable, or to restructure a README / PR body / design doc
When NOT to use:
- Source code or code comments
- A casual one-line Slack reply or chat message where bullets would read as overkill
- Personal-voice writing (a stylistic essay, an apology) where the unbroken prose IS the point
Convert prose to a list when the structure is already there
Each signal below means a list is trying to escape the paragraph. The shape to reach for: a one-sentence lead-in, then bullets, each starting with its load-bearing term.
| Signal | What it looks like |
|---|---|
| Parallel sentence shapes | "X is A. Y is B." repeated skeleton |
| Contrast markers | "that's distinct from", "versus", "whereas" |
| Bold term + colon | "Workflow: how it runs. Surface: how it deploys." |
| Rule of three | three or more siblings in a row |
| Embedded series | "create X, query Y, and delete Z" inside one sentence |
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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 · 123 lines · 0 tokens per session scan A 015e53c83cdc
writing-for-scannability is a skill published in the GitHub repository technicalpickles/pickled-claude-plugins (12 stars, last pushed today), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 2,131 tokens. 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-09-03.
Other skills, from other repositories
create-pubsub-dotnet
Creates a Dapr pub/sub app in .NET (publisher, subscriber or both) with declarative, programmatic or streaming subscriptions, run with dapr run or Aspire. Use for "create a pub/sub app in .NET" or "build a Dapr publisher and subscriber in C#". For an existing project use add-pubsub-dotnet.
create-agent-dotnet
Creates a durable AI agent app in .NET with Microsoft Agent Framework on Dapr Workflow, run locally with dapr run. Use for "create an agent in .NET" or "scaffold a .NET agent". For Diagrid Catalyst use the catalyst-ai plugin.
create-workflow-from-diagram
Creates a Dapr workflow app from a diagram image (PNG, JPG, GIF, WebP) or a BPMN 2.0 file, in Go, Python, .NET, Java or JavaScript, run locally with dapr run. Use for "create a workflow from this diagram" or "scaffold a workflow from this BPMN". For a Mermaid or hand-drawn sketch, or Diagrid Catalyst, use the…
create-workflow-typescript
Creates a TypeScript Dapr app, run locally with dapr run, that demonstrates Workflow, service invocation, pub/sub, bindings, jobs, state and secrets. Use for "create a workflow in TypeScript" or "create a Dapr app in Node.js". For Diagrid Catalyst use the catalyst-ai plugin.
create-pubsub-python
Creates a Dapr pub/sub app in Python with FastAPI (publisher, subscriber or both) and declarative, programmatic or streaming subscriptions. Use for "create a pub/sub app in Python" or "build a FastAPI publisher and subscriber with Dapr". For an existing app use add-pubsub-python.
create-workflow-dotnet
Creates a Dapr workflow app in .NET, run locally with dapr run. Use for "create a workflow in .NET" or "build a workflow app in C#". For Diagrid Catalyst use the catalyst-ai plugin.