readme-restructure
Skill2 starsChanged 6 months agoApache-2.0View on GitHub
Restructure a README for human skimmers and LLM ingestion — fixes frontloaded internals, moves the value prop into the first 200 tokens, generates a diff for review. Preserves content, reorders disclosure. Sub-skill of repo-seo-curator.
In this repository43 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- break-glassSkill
- claim-ledgerSkill
- contract-parity-auditSkill
- counterfactual-auditSkill
- design-doc-reviewSkill
- diagram-gen-emergentSkill
- diagram-gen-specSkill
- doc-triageSkill
- explain-workSkill
- feature-implSkill
- finding-triageSkill
- first-party-auditSkill
- gh-token-rotateSkill
- handoffSkill
- implementSkill
- jj-stackSkill
- linear-escalation-triageSkill
- mache-usageSkill
- park-workSkill
- pr-boardSkill
- pr-bucketsSkill
- prior-art-cartographerSkill
- problem-decomposerSkill
- pr-review-kitSkill
- pr-reviewSkill
- pr-suggestionSkill
- repo-description-polishSkill
- repo-homepage-setSkill
- repo-social-previewSkill
- repo-topic-taggerSkill
- review-prepSkill
- review-queueSkill
- reviewSkill
- self-auditSkill
- structural-pr-reviewSkill
- surveySkill
- taskfile-ci-paritySkill
- test-fidelitySkill
- workflow-auditSkill
- work-scopeSkill
- writing-pr-descriptionsSkill
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 4 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 39
Never delete content: Every paragraph from the original must appear in the output.
- Distinctive: line 40
Never invent claims: If the README says "stable on macOS" and you can't verify, leave that claim alone.
- Distinctive: line 42
Preserve all code blocks verbatim: No editing example commands, paths, or shell snippets.
- Distinctive: line 99
Read the README and produce a section map:
- Distinctive: line 204
One README per pass: Don't batch multiple repos through this skill — each README needs its own diagnosis.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
<!-- Author: jamestexas — drafted by claude-opus-4-7 (2026-05-16) -->/readme-restructure — README Information Architecture
Restructure a README so the value prop and audience signal land before any internals. This skill does not rewrite content — it re-orders sections and pushes dense detail behind <details> or into separate docs.
Arguments
$ARGUMENTS
<path-to-README.md>— the file to restructure. Defaults toREADME.mdin the current working directory.--dry-run(default) — produce a structure diff and a written restructure plan; do not write.--apply— after approval, rewrite the file in place. The original is preserved asREADME.md.bak.--target(default:both) — optimize forhuman,llm, orboth. Affects ordering heuristics: humans skim, LLMs read top-down.
What this solves
A README's job is to land three signals in the first 200 tokens:
- What is this? (category noun + defining trait)
- Who is it for? (audience)
- How do I try it in 30 seconds? (quick-start or one-line install)
The user's mache/README.md is the motivating example. Its first 1000 chars are good — until paragraph 4:
"Seventeen MCP tools wrap the projected graph (sixteen read-surface plus
write_file). Fourteen work standalone; three (semantic_search,get_type_info,get_diagnostics) require ley-line-open enrichment.find_smellscovers nine structural code-smell rules (dead_code,cyclomatic_complexity,god_file,fan_out_skew,untested_function, …); four of those require a.dbbuilt by ley-line-open."
That paragraph is accurate and useful — but it requires the reader to already know what an MCP tool is, what ley-line-open enrichment is, and what "structural code-smell rules" means. A first-time reader bounces. This skill moves that paragraph behind a <details> or into a ## Tools section further down, without deleting it.
Hard rules
- Never delete content. Every paragraph from the original must appear in the output. Re-order, fold into
<details>, or move to a sub-page — but don't drop. - Never invent claims. If the README says "stable on macOS" and you can't verify, leave that claim alone. Don't add caveats it didn't have, don't drop caveats it did.
- Preserve all links. A restructure that breaks an internal anchor link is worse than the original.
- Preserve all code blocks verbatim. No editing example commands, paths, or shell snippets.
- Don't reorder ADRs, CHANGELOG, or LICENSE references — those have conventional positions.
Target structure
A well-shaped README converges to:
# <Project>
<One-sentence pitch. Category noun + defining trait. 120–200 chars.>
<Optional: tagline / pull-quote. 1 line.>
<Optional: screenshot or demo gif.>
## Quick start
<3–6 lines that get the reader from clone to first useful output.>
> For the full first-run flow, see [GETTING-STARTED.md](GETTING-STARTED.md).
## What it does
<2–4 short paragraphs. Plain language. No jargon-density.>
## How it works
<One diagram or 4–6 numbered steps. Conceptual, not exhaustive.>
## Status
<Table: capability → state (stable/beta/experimental/optional).>
<details>
<summary>Why this exists</summary>
<motivation, philosophy, design rationale>
</details>
<details>
<summary>Deeper internals</summary>
<the dense paragraphs that were frontloaded before>
</details>
## Install / deploy
<full install matrix>
## LicenseThe principle: everything dense or jargon-rich goes below the fold or into <details>. The above-fold content is meant for a reader who knows nothing about the project.
Workflow
Phase 1: Read and section-map
Read the README and produce a section map:
Section: "# Mache" + tagline
Lines: 1–8
Density: low ✓
Audience: any
Verdict: keep front
Section: "## Quick start"
Lines: 10–22
Density: low ✓
Audience: any
Verdict: keep front
Section: "## What it gives an agent"
Lines: 24–28
Density: HIGH (paragraph names 17 tools, internal subsystem, optional deps)
Audience: returning user / MCP-literate
Verdict: MOVE BEHIND <details> or to "## Tools" section
...For each section, score density by:
- Count of proper nouns / project-specific terms per 100 chars
- Count of inline code spans per 100 chars
- Whether it references concepts not yet introduced
Phase 2: Diagnose
Print a one-page diagnosis:
## Diagnosis: mache/README.md (144 lines)
Score: 6/10
✓ Title + tagline lands fast (lines 1–4)
✓ Quick start present and short (lines 10–22)
✗ Paragraph at line 24 frontloads 17-tool inventory + ley-line-open coupling
→ first-time reader bounces here
✓ Mermaid diagram is well-placed
✗ "Status" table is good but appears after dense paragraph
✓ <details> for "Why this exists" — good pattern
✗ Missing: clear "audience" signal — who is this for?
Recommended moves:
1. Move lines 24–28 ("What it gives an agent") to a new "## Tools" section after "How it works"
2. Insert a one-line audience signal after the tagline: "Built for agents that need to navigate code, not grep it."
3. Promote the "Status" table to right after "How it works" — readers want stability info earlyPhase 3: Restructure plan
Produce the explicit re-ordering plan as a list of moves:
Move:
- lines 24–28 → after line 92 (new ## Tools heading)
- lines 53–67 (Status table) → after line 33 (right after Quick start)
Wrap in <details>:
- lines 130–140 (deployment matrix continued — too dense for above-fold)
Insert:
- line 4 (after tagline): "Built for agents that need to navigate code, not grep it."Phase 4: Generate proposed README
In dry-run mode, produce the proposed README content in a separate file (README.md.proposed) without touching the original. Show a unified diff for review.
Phase 5: Approval
--dry-run(default): keepREADME.md.proposedandREADME.md.diffon disk; do not modifyREADME.md.--apply: prompt "Apply this restructure? (yes/no)". On yes: copyREADME.md→README.md.bak, then replace withREADME.md.proposed.
Phase 6: Verify
After apply, run:
# Sanity check: every line from original must appear somewhere in restructured
diff <(sort README.md.bak | uniq) <(sort README.md | uniq) | grep '^<'Report any lines that were dropped (should be zero — they're a bug).
Phase 7: Report
Applied: README.md restructured
Before: 144 lines, value prop diluted by line 24
After: 148 lines (3 inserts), value prop holds through line 50
Original backed up to README.md.bak
Manual follow-ups suggested:
- "Tools" section is now 18 lines — consider moving the full inventory to docs/TOOLS.md
- The Status table could be a separate STATUS.md if it growsImportant rules
- Default to
--dry-run. A README is the first thing every visitor reads. Don't write live. - Preserve
README.md.bakafter--apply. Easy rollback. - Show the diff, not the full file in the dry-run output. The diff is the artifact; the proposed file is on disk for inspection.
- One README per pass. Don't batch multiple repos through this skill — each README needs its own diagnosis.
- If the README scores 8+ in diagnosis, recommend skipping. Marginal restructure on a working README is churn.
Examples
/readme-restructure
→ dry-run on ./README.md
/readme-restructure <path-to-repo>/README.md
→ dry-run on that repo's README
/readme-restructure ./README.md --apply
→ dry-run, prompt, write
/readme-restructure ./README.md --target=llm
→ optimize ordering for an LLM ingesting top-down rather than a human skimmingDoes it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

