analyze-agent-codebase
Use to analyze an agent system's architecture or mechanisms from repository evidence, including follow-up questions and analysis…
Write and restructure documents consumed by coding agents, including Skills, AGENTS.md, CLAUDE.md, and documents reached through agent-facing pointers. Use for invocation wording, progressive disclosure, completion criteria, or pruning agent instructions; not for ordinary user
$ npx -y skills add murray17/rovai-ai --skill writing-for-agents --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/writing-for-agentsContext preview
The summary Claude sees to decide when to auto-load this skill.
Write and restructure documents consumed by coding agents, including Skills, AGENTS.md, CLAUDE.md, and documents reached through agent-facing pointers. Use for invocation wording, progressive disclosure, completion criteria, or pruning agent instructions; not for ordinary user
name: writing-for-agents description: Write and restructure documents consumed by coding agents, including Skills, AGENTS.md, CLAUDE.md, and documents reached through agent-facing pointers. Use for invocation wording, progressive disclosure, completion criteria, or pruning agent instructions; not for ordinary user documentation, product copy, or code comments.
Reference for writing any document an agent consumes — a skill, an `AGENTS.md` / `CLAUDE.md`, a doc reached by a pointer. The packaging differs; the writing does not: the same levers make each one predictable — the agent taking the same _process_ every run, not producing the same output.
When the document you're writing is a skill, read [`SKILL-MECHANICS.md`](SKILL-MECHANICS.md) for frontmatter, invocation choice, and router skills.
A **context pointer** is a reference held in the agent's context that names some out-of-context material and encodes the condition for reaching it. A skill's description is one; a line in `AGENTS.md` naming a doc is the same object. The pointer's _wording_, not its target, decides when the agent reaches the material — and how reliably. A must-have target behind a weakly worded pointer is a variance bug: sharpen the wording first, and inline the material only if sharpening fails.
A pointer does two jobs — state what the material is, and list the **branches** that should trigger reaching it (a branch is a distinct case the document handles, so different runs take different paths through it). Every word of an always-loaded pointer costs on every turn, so it earns even harder pruning than the body:
Every document and pointer you add spends one of two budgets:
Material reached only through a pointer escapes context load at the price of the pointer's own line; material with no pointer at all rides entirely on cognitive load.
A document is built from two content types — **steps** (the ordered actions the agent performs) and **reference** (definitions, rules, facts consulted on demand) — that mix freely: all steps (a recipe), all reference (a review's rules, this skill), or both. The core decision is where each piece sits on the **information hierarchy**, a ladder ranked by how immediately the agent needs the material:
1. **In-file step** — the primary tier: what the agent does, in order. 2. **In-file reference** — consulted on demand. Often a legitimately flat peer-set (every rule of a review on one rung) — a fine arrangement, not a smell. 3. **Disclosed reference** — pushed out into a separate file, reached by a context pointer, loaded only when the pointer fires. Spans a sibling file in the same folder through fully external reference that lives anywhere and any document can point at.
Push too little down and the top bloats; push too much and you hide material the agent actually needs. That tension is the whole decision.
**Progressive disclosure** is the move down the ladder — out of the main file and behind a pointer — so the top stays legible. Not primarily a token optimisation: it is how the hierarchy is protected. Branching is the cleanest disclosure test: inline what every branch needs, and push behind a pointer what only some branches reach. When a document has steps, in-file reference that should be disclosed buries them and turns attending to them into a coin-flip — a variance lever, not just a legibility one.
**Co-location** is the within-file companion: where the ladder decides _how far down_ a piece sits, co-location decides _what sits beside it_ once there. Keep a concept's definition, rules, and caveats under one heading rather than scattered, so reading one part brings its neighbours with it. The test: the document should read like documentation written for the agent — grouped material reads that way; scattered material does not. (Distinct from duplication: that repeats one meaning in two places; scattering fragments one meaning across many.)
**Sprawl** is the failure mode here: a document simply too long, even when every line is live and unique. Attention thins across the excess, and every extra line is one more to keep relevant. The cure is the ladder: disclose reference behind pointers, and split by branch or sequence so each path carries only what it needs.
Every step ends on a **completion criterion** — the condition that tells the agent the work is done. Two properties make it a lever:
Desktop and web workspace for lasting teams of coding agents, with shared conversations, task delegation, and collaborative memory.
Use to analyze an agent system's architecture or mechanisms from repository evidence, including follow-up questions and analysis…
Run a Thread discussion with several members to compare perspectives, options or tradeoffs and produce shared notes. Applies to…
Choose among Rovai messages, Missions, history and Memory; coordinate parallel member requests, multi-step operations or…
Disciplined diagnosis for hard, intermittent, or performance bugs. Use when the user explicitly asks to diagnose, debug, find…
Clarify a plan or design with one fixed Thread reviewer while maintaining confirmed domain language, current specifications and…
Clarify or stress-test a plan, requirement, design or decision through user questions and one fixed Thread partner's independent…