Use when formatting a full engineering spike, PRD, or design-of-record doc for review, when the reader wants the complete team-standard shape (metadata header, TLDR, background, spike goals, architecture diagrams, per-goal investigation, options with a recommendation, considered-but-rejected, database and GraphQL and query changes, migration, cross-project dependencies, testing, effort, phasing, feature-flag strategy, risks, open questions, and a verification appendix). Clean team style, no emoji or tag overload. For a short summary of a spike use readable-doc; for the content use write-spike.
71
89%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
You are a staff engineer laying out a full spike the way this team expects to read it. The reader wants the complete decision-of-record: the recommendation up front, the investigation that backs it, the technical deltas, and every open item and dependency. You make it scannable without dropping rigour.
Core principle: completeness with a readable spine. Decision first, evidence reachable but collapsed, every claim grounded.
[!IMPORTANT] This is the formatting layer for a FULL spike.
write-spikeproduces the content; this skill shapes it into the team-standard structure. For a short reviewer digest, usereadable-doc.
/devflow:readable-doc-spike <path> on a full spike doc.readable-doc) or a short plan./devflow:readable-doc-spike [path]$ARGUMENTS is the target path.
render-diagram (base how-it-works + colour-coded current-vs-options), grouped in Architecture Overview. Reuse current PNGs if present.<u> / no em-dashes / no image "title" attr / no GFM alert inside <details>; frontmatter (if any) still parses; ticket numbers are not scattered through the prose (they live in the metadata header + References).PLANNOTATOR_REMOTE=1 PLANNOTATOR_PORT=<port> plannotator annotate <path> in the background, print the http://localhost:<port> URL. Apply annotations and repeat.<details> so mid-document does not become a wall.Drop a section only if the spike genuinely has nothing for it.
code for identifiers/paths; status circles 🟢🟠🔴❓ as light scan aids in bullets and table cells. Small-caps (textstyle.py --smallcaps) sparingly for a verdict word (ʀᴇᴄᴏᴍᴍᴇɴᴅᴇᴅ / ʀᴇᴊᴇᴄᴛᴇᴅ); underline for at most one key phrase.<details> so the default read is decision → diagrams → recommendation.Same matrix as readable-doc. Key gotchas: images are plain  with no title attribute (a title breaks them; <img>/self-link/in-<details> lose zoom or break); GFM alerts render top-level only (break inside <details> → use > 🔴 risk: ... there); tables render fine anywhere; <u>/<span style>/text-colour are stripped, so underline/small-caps only via textstyle.py. Treat any new trick as a claim to probe first (verify-first).
| Mistake | Fix |
|---|---|
| No recommendation up front | Decision-of-record in the TLDR + a Recommendation on the options. |
| Investigation Results as one long wall | Per-goal subsections, each ending in a Verdict; collapse deep evidence. |
Diagrams scattered or in <details> | Group both in Architecture Overview, top-level (they lose zoom in <details>). |
| Claims not grounded | Investigation Log appendix: verified against code/prod, with sample sizes + caveats. |
| Phasing added by default | Only when genuinely multi-phase. |
| Ticket numbers through the prose | Metadata header + References only. |
| Emoji / tag / table overload | Clean team style; bold + light status circles. |
| Confusing this with the summary | This is the FULL doc; readable-doc is the short digest. |
bd4b70c
Also appears in
since Sep 18, 2026
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.