agent-skills / accelint-readme-writer
AGENTS.md25 starsChanged 54 days agoApache-2.0View on GitHub
Note: This document is for agents and LLMs that create or update README documentation. It summarizes the workflow and links to detailed examples in the references/ folder. Load reference files only when you need implementation detail. Guide for creating thorough, human-sounding README documentation that stays aligned with the actual codebase. Designed for AI agents working with JavaScript and TypeScript projects, including monorepos. Every README must include these sections in this order: Include when relevant: Follow the prescribed order strictly. Users…
We split this AGENTS.md into the rules it gives an agent
22 rules. About 0 are common, 18 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈18
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 27
Start from the README's directory, not the repository root
- Very specific: line 34
Check the package.json exports and main fields for entry points.
- Distinctive: line 43
Document generic type parameters
- Distinctive: line 50
Read JSDoc/TSDoc comments above exports
- Distinctive: line 51
Check for inline usage examples in comments
- Very specific: line 52
Look for examples/ directories
- Distinctive: line 62
Every README must include these sections in this order:
- Distinctive: line 85
Follow the prescribed order strictly.
- Very specific: line 91
REQUIRED SUB-SKILL: Use accelint-english-manager to review all generated README content before you finalize it.
- Distinctive: line 96
When in doubt, include it.
- Distinctive: line 101
Every command should be copy-pasteable.
- Distinctive: line 106
Don't just say "run this command" — explain what it does and why.
- Very specific: line 125
After drafting README content, apply the accelint-english-manager skill to remove AI writing patterns:
- Distinctive: line 127
Remove inflated significance language ("pivotal", "testament", "crucial", "vital")
- Distinctive: line 132
Remove sycophantic language ("Great question!", "Certainly!")
- Distinctive: line 133
Add personality and voice.
- Distinctive: line 141
When updating an existing README:
- Distinctive: line 172
Keep the custom sections that the user added.
- Distinctive: line 174
Do not overwrite detailed explanations with generated text.
- Distinctive: line 175
Ask before removing content that might be intentional.
- Distinctive: line 184
Use the template as a starting point.
- Distinctive: line 217
Before finalizing a README, verify:
≈ “Common” is an estimate: at least 1 in 5 of the 36,368 AGENTS.md 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
README Writer
Note: This document is for agents and LLMs that create or update README documentation. It summarizes the workflow and links to detailed examples in the
references/folder. Load reference files only when you need implementation detail.
Abstract
Guide for creating thorough, human-sounding README documentation that stays aligned with the actual codebase. Designed for AI agents working with JavaScript and TypeScript projects, including monorepos.
How to Use This Guide
- Start here: Scan the rule summaries to find the relevant sections.
- Load references as needed: Open detailed examples only when implementing.
- Follow the workflow: Analyze the codebase → Compare with existing docs → Generate or update.
1. Codebase Analysis
1.1 Scoping the Analysis
View detailed examples
- Start from the README's directory, not the repository root
- In monorepos, only analyze the package/directory containing the README
- Respect package boundaries defined by
package.json
1.2 Identifying Public API
View detailed examples
- Check the
package.jsonexportsandmainfields for entry points. - Find all
exportstatements in the entry point files. - Trace re-exports to their source definitions.
- Distinguish between the public API, which is exported from an entry point, and internal utilities.
1.3 Extracting Signatures
View detailed examples
- Capture function signatures with parameter types and return types
- Document generic type parameters
- Note async functions and Promise return types
- Include overloaded signatures if present
1.4 Finding Existing Documentation
View detailed examples
- Read JSDoc/TSDoc comments above exports
- Check for inline usage examples in comments
- Look for
examples/directories - Review test files for usage patterns
2. README Structure
2.1 Required Sections
View detailed examples
Every README must include these sections in this order:
- Heading Area - Title, optional banner, optional badges
- Installation - How to install the package
- Quick Start - Minimal working example
- What - What this package is
- Why - Why this package exists
- API - Public API signatures and descriptions
- Examples - Practical usage examples
- License - License information
2.2 Optional Sections
View detailed examples
Include when relevant:
- Table of Contents - For READMEs over ~200 lines
- Further Reading - Links to related resources
- Contributing - How to contribute
2.3 Section Ordering
View detailed examples
Follow the prescribed order strictly. Users expect Installation near the top, API details in the middle, and License, Architecture & Development Guides, or Contributing near the bottom.
3. Writing Principles
REQUIRED SUB-SKILL: Use accelint-english-manager to review all generated README content before you finalize it.
3.1 Be Absurdly Thorough
View detailed examples
When in doubt, include it. Assume the reader has never seen this codebase.
3.2 Use Code Blocks Liberally
View detailed examples
Every command should be copy-pasteable. Show example output when helpful.
3.3 Explain the Why
View detailed examples
Don't just say "run this command" — explain what it does and why.
3.4 Use Tables for Reference
View detailed examples
Environment variables, CLI options, configuration options, and script references work great as tables.
3.5 Keep Commands Current
View detailed examples
Detect and use the correct package manager. Never assume npm.
3.6 Write Like a Human
View detailed examples
Sound like someone who genuinely wants to help, not a robot generating docs.
3.7 Apply humanizer patterns
After drafting README content, apply the accelint-english-manager skill to remove AI writing patterns:
- Remove inflated significance language ("pivotal", "testament", "crucial", "vital")
- Replace promotional tone with neutral, specific language
- Eliminate superficial -ing analyses ("highlighting", "showcasing", "fostering")
- Replace vague attributions with specific sources or remove entirely
- Fix em dash overuse and rule-of-three patterns
- Remove sycophantic language ("Great question!", "Certainly!")
- Add personality and voice. Sterile writing is as obvious as AI slop.
4. Change Detection
4.1 Comparing Code to Docs
When updating an existing README:
- Parse all public exports from the codebase
- Parse all documented API from the README
- Identify:
- Missing: Exports not documented
- Stale: Documentation for removed exports
- Changed: Signature changes not reflected
4.2 Suggesting Changes
Present changes clearly:
## Suggested README Updates
### Missing Documentation
- `parseConfig(path: string): Config` - Not documented in API section
- `ValidationError` class - Not documented
### Stale Documentation
- `oldFunction()` - Documented but no longer exported
### Signature Changes
- `createClient(url)` → `createClient(url, options?)` - New optional parameter4.3 Preserving Custom Content
When updating:
- Keep the custom sections that the user added.
- Preserve formatting choices where possible.
- Do not overwrite detailed explanations with generated text.
- Ask before removing content that might be intentional.
5. Template and Examples
5.1 README Template
View complete template
Use the template as a starting point. Adjust the section depth to match the package complexity.
5.2 API Documentation Format
For each public export:
### `functionName(param1, param2)`
Brief description of what it does.
| Parameter | Type | Description |
|-----------|------|-------------|
| `param1` | `string` | What this parameter is for |
| `param2` | `Options` | Configuration options |
**Returns:** `ReturnType` - Description of return value
**Example:**
\`\`\`typescript
const result = functionName('input', { option: true });
\`\`\`5.3 Utility vs Pipeline Packages
- Utility packages (many small exports): Document API inline with examples
- Pipeline packages (one main workflow): Use standalone Examples section with full workflows
Quick Reference Checklist
Before finalizing a README, verify:
- Package manager matches lockfile
- All public exports are documented
- Code examples are copy-pasteable
- Installation instructions work on a fresh machine
- Examples use current API signatures
- TOC included if > 200 lines
- License section present
- No orphaned documentation for removed exports
- Content reviewed with
accelint-english-managerskill for AI writing patterns - Writing has personality and does not sound sterile or voiceless
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 28,693 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository49 other files it gives its agents.
- AGENTS.mdAGENTS.md
- skills/accelint-design-foundation/AGENTS.mdAGENTS.md
- skills/accelint-eval-architect/AGENTS.mdAGENTS.md
- skills/accelint-nextjs-best-practices/AGENTS.mdAGENTS.md
- skills/accelint-prompt-manager/AGENTS.mdAGENTS.md
- skills/accelint-react-best-practices/AGENTS.mdAGENTS.md
- skills/accelint-react-testing/AGENTS.mdAGENTS.md
- skills/accelint-security-best-practices/AGENTS.mdAGENTS.md
- skills/accelint-skill-manager/AGENTS.mdAGENTS.md
- skills/accelint-skill-manager/references/agents.mdAGENTS.md
- skills/accelint-ts-best-practices/AGENTS.mdAGENTS.md
- skills/accelint-ts-documentation/AGENTS.mdAGENTS.md
- skills/accelint-ts-performance/AGENTS.mdAGENTS.md
- skills/accelint-ts-testing/AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- accelint-ac-to-playwrightSkill
- accelint-architecture-docSkill
- accelint-archive-synthesisSkill
- accelint-design-foundationSkill
- accelint-english-managerSkill
- accelint-eval-architectSkill
- accelint-nextjs-best-practicesSkill
- accelint-onboard-agentsSkill
- accelint-onboard-openspecSkill
- accelint-persona-reviewSkill
- accelint-prompt-managerSkill
- accelint-qrspi-applySkill
- accelint-qrspi-archiveSkill
- accelint-qrspi-proposeSkill
- accelint-react-best-practicesSkill
- accelint-react-testingSkill
- accelint-readme-writerSkill
- accelint-security-best-practicesSkill
- referencesSkill
- accelint-skill-managerSkill
- accelint-skill-proseSkill
- accelint-tanstack-query-best-practicesSkill
- accelint-ts-audit-allSkill
- accelint-ts-best-practicesSkill
- accelint-ts-documentationSkill
- accelint-ts-performanceSkill
- accelint-ts-testingSkill
- constraints-extractorSkill
- context-driftSkill
- epistemic-mapperSkill
- generate-docsSkill
- jargon-extractorSkill
- pr-descriptionSkill
Does 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.

