clarity-and-style
The clarity pass is where good docs are made. Draft to get the ideas down, then edit ruthlessly for the reader. The goal: the shortest path to the reader's understanding.
$ npx -y skills add vanara-agents/skills --agent claude-codeHow it fires
How this agent gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
Context preview
The summary Claude sees to decide when to auto-load this agent.
The clarity pass is where good docs are made. Draft to get the ideas down, then edit ruthlessly for the reader. The goal: the shortest path to the reader's understanding.
Agent definition
clarity-and-style.mdClarity and style
The clarity pass is where good docs are made. Draft to get the ideas down, then edit ruthlessly for the reader. The goal: the shortest path to the reader's understanding.
Sentence-level rules
- **One idea per sentence.** If you used "and" to join two actions, consider two sentences or two steps.
- **Cut hedging.** Delete "generally," "it should be possible to," "in most cases," "as needed." State
the behavior; note exceptions explicitly.
- **Prefer active voice and the imperative.** "Set `TIMEOUT`," not "the timeout can be set."
- **Replace abstraction with the concrete.** "the appropriate variable" → name the variable. "a large
value" → give the number and unit.
- **Lead with the verb in steps.** "Run," "Open," "Set," "Verify" — the reader scans for the action.
Word-level rules
- Cut filler words: *just, simply, basically, actually, very, really, in order to* (→ "to").
- Avoid undefined jargon and acronyms; define on first use, then use consistently.
- Use one term per concept. Don't alternate "user / customer / account holder" for the same thing.
- Numbers and units always together: `30s`, `512 MB`, `60000` ms — and say which unit.
Voice and tone
- Address the reader as "you." Avoid "we" except in explanation/rationale.
- Be direct, not chatty. Warmth comes from clarity and respect for the reader's time, not exclamation marks.
- Don't apologize for the software or editorialize ("unfortunately," "obviously"). "Obviously" insults a
reader for whom it isn't obvious.
Formatting for scannability
- Headings every few paragraphs; a reader should locate their section by scanning H2/H3s.
- Lists for sequences (ordered) and for sets of options (unordered).
- Tables for any "name → value/meaning" mapping (flags, status codes, fields).
- Code blocks for anything a reader types or sees output; never inline a multi-line command in prose.
- Bold the **one word** that carries the warning or the key term, not whole sentences.
The wall-of-text test
If a paragraph is more than ~4 sentences or contains a sequence of actions, restructure it: a list, a table, or sub-steps almost always reads better. Run `scripts/readability.mjs` over the draft — it flags sentences whose average length and long-word ratio mark dense, hard-to-read prose.
Before / after pattern
Apply this transformation everywhere:
- Hedged + abstract + passive → direct + concrete + imperative.
- Long compound sentence → short sentence + list.
- "It is recommended that you configure X" → "Set X to … . Raise it when … ."
A reader should never have to read a sentence twice to find the instruction inside it.
Read more
Clarity and style
The clarity pass is where good docs are made. Draft to get the ideas down, then edit ruthlessly for the reader. The goal: the shortest path to the reader's understanding.
Sentence-level rules
- **One idea per sentence.** If you used "and" to join two actions, consider two sentences or two steps.
- **Cut hedging.** Delete "generally," "it should be possible to," "in most cases," "as needed." State
the behavior; note exceptions explicitly.
- **Prefer active voice and the imperative.** "Set `TIMEOUT`," not "the timeout can be set."
- **Replace abstraction with the concrete.** "the appropriate variable" → name the variable. "a large
value" → give the number and unit.
- **Lead with the verb in steps.** "Run," "Open," "Set," "Verify" — the reader scans for the action.
Word-level rules
- Cut filler words: *just, simply, basically, actually, very, really, in order to* (→ "to").
- Avoid undefined jargon and acronyms; define on first use, then use consistently.
- Use one term per concept. Don't alternate "user / customer / account holder" for the same thing.
- Numbers and units always together: `30s`, `512 MB`, `60000` ms — and say which unit.
Voice and tone
- Address the reader as "you." Avoid "we" except in explanation/rationale.
- Be direct, not chatty. Warmth comes from clarity and respect for the reader's time, not exclamation marks.
- Don't apologize for the software or editorialize ("unfortunately," "obviously"). "Obviously" insults a
reader for whom it isn't obvious.
Formatting for scannability
- Headings every few paragraphs; a reader should locate their section by scanning H2/H3s.
- Lists for sequences (ordered) and for sets of options (unordered).
- Tables for any "name → value/meaning" mapping (flags, status codes, fields).
- Code blocks for anything a reader types or sees output; never inline a multi-line command in prose.
- Bold the **one word** that carries the warning or the key term, not whole sentences.
The wall-of-text test
If a paragraph is more than ~4 sentences or contains a sequence of actions, restructure it: a list, a table, or sub-steps almost always reads better. Run `scripts/readability.mjs` over the draft — it flags sentences whose average length and long-word ratio mark dense, hard-to-read prose.
Before / after pattern
Apply this transformation everywhere:
- Hedged + abstract + passive → direct + concrete + imperative.
- Long compound sentence → short sentence + list.
- "It is recommended that you configure X" → "Set X to … . Raise it when … ."
A reader should never have to read a sentence twice to find the instruction inside it.
🐒 Free agents, skills & packs for Claude Code One subscription. An army of Claude Code agents. 30 production-grade agents, skills, and packs for Claude Code — free, Apache-2.0, install with one command.
Repo: vanara-agents/skills
Other agents on vanara-agents-skills.
- AGENT
Use when designing a new HTTP/GraphQL API or changing an existing one — modeling resources, defining endpoint contracts, choosing status codes, pagination, filtering, error envelopes, versioning, and idempotency. Produces a reviewable API contract plus an OpenAPI snippet, not
Open agent - review-notes
This shows how the api-designer agent reviews a flawed draft. Findings are severity-ranked so the implementer fixes the contract-breakers first. Severity legend: **CRITICAL** (breaks clients / data risk), **HIGH** (real bug or inconsistency), **MEDIUM** (maintainability),
Open agent - contract-and-openapi
The contract is the deliverable. Express it as an **OpenAPI 3.1** document so it is human-readable *and* machine-checkable. This reference covers how to structure that document and what `scripts/lint-openapi.mjs` enforces.
Open agent - design-checklist
Run through this before declaring an API contract done. It is ordered the way you should *design*: resources first, cross-cutting rules last. Every box is a place real APIs go wrong in production.
Open agent - versioning-and-evolution
APIs are forever once published: a consumer you've never met may depend on any field you expose. Design so you can **add without breaking**, and version explicitly when you must break.
Open agent - pr-comment-template
Copy-paste templates for leaving review comments. Keep each comment to one finding: an anchor, the problem, and the fix.
Open agent

