crafting-effective-readmes
npx machina-cli add skill softaworks/agent-toolkit/crafting-effective-readmes --openclawCrafting Effective READMEs
Overview
READMEs answer questions your audience will have. Different audiences need different information - a contributor to an OSS project needs different context than future-you opening a config folder.
Always ask: Who will read this, and what do they need to know?
Process
Step 1: Identify the Task
Ask: "What README task are you working on?"
| Task | When |
|---|---|
| Creating | New project, no README yet |
| Adding | Need to document something new |
| Updating | Capabilities changed, content is stale |
| Reviewing | Checking if README is still accurate |
Step 2: Task-Specific Questions
Creating initial README:
- What type of project? (see Project Types below)
- What problem does this solve in one sentence?
- What's the quickest path to "it works"?
- Anything notable to highlight?
Adding a section:
- What needs documenting?
- Where should it go in the existing structure?
- Who needs this info most?
Updating existing content:
- What changed?
- Read current README, identify stale sections
- Propose specific edits
Reviewing/refreshing:
- Read current README
- Check against actual project state (package.json, main files, etc.)
- Flag outdated sections
- Update "Last reviewed" date if present
Step 3: Always Ask
After drafting, ask: "Anything else to highlight or include that I might have missed?"
Project Types
| Type | Audience | Key Sections | Template |
|---|---|---|---|
| Open Source | Contributors, users worldwide | Install, Usage, Contributing, License | templates/oss.md |
| Personal | Future you, portfolio viewers | What it does, Tech stack, Learnings | templates/personal.md |
| Internal | Teammates, new hires | Setup, Architecture, Runbooks | templates/internal.md |
| Config | Future you (confused) | What's here, Why, How to extend, Gotchas | templates/xdg-config.md |
Ask the user if unclear. Don't assume OSS defaults for everything.
Essential Sections (All Types)
Every README needs at minimum:
- Name - Self-explanatory title
- Description - What + why in 1-2 sentences
- Usage - How to use it (examples help)
References
section-checklist.md- Which sections to include by project typestyle-guide.md- Common README mistakes and prose guidanceusing-references.md- Guide to deeper reference materials
Source
git clone https://github.com/softaworks/agent-toolkit/blob/main/skills/crafting-effective-readmes/SKILL.mdView on GitHub Overview
This skill guides you through writing or updating READMEs that fit your audience and project type. It emphasizes identifying the reader, selecting task-appropriate content, and using project templates to keep documentation clear and actionable. A well-crafted README reduces ambiguity and accelerates onboarding for contributors, users, or future you.
How This Skill Works
Follow a simple workflow: identify the README task (Creating, Adding, Updating, Reviewing); answer task-specific questions to tailor the content; pick the right project-type template (OSS, Personal, Internal, Config) and populate essential sections. Finally, compare against the current project state and ask for any missed items.
When to Use It
- Creating a new project with no README yet
- Adding a new section or documenting a new capability
- Updating an existing README after feature changes
- Reviewing README accuracy against the actual project state
- Choosing the right template based on project type (OSS, Personal, Internal, Config)
Quick Start
- Step 1: Identify the README task (Creating, Adding, Updating, or Reviewing).
- Step 2: Answer task-specific questions to tailor content for your audience.
- Step 3: Draft and then ask: 'Anything else to highlight or include?'
Best Practices
- Identify the task first (Creating, Adding, Updating, Reviewing).
- Ask task-specific questions to tailor content to the audience's needs.
- Match the README to a project-type template (OSS, Personal, Internal, Config).
- Check against the current project state and update stale sections.
- Finish with a quick review prompt: 'Anything else to highlight or include?'
Example Use Cases
- Open Source: Create a new OSS README with Install, Usage, Contributing, License using templates/oss.md.
- Personal: Document what the project does, tech stack, and learnings using templates/personal.md.
- Internal: Set up an internal README with Setup, Architecture, Runbooks using templates/internal.md.
- Config: Explain what's in the config folder, why it matters, how to extend, and gotchas using templates/xdg-config.md.
- OSS Update: Update an existing OSS README to reflect new features and changes aligned with project state.