home / skills / dropseed / plain / readme
This skill explains how to create and maintain package READMEs, ensuring clear structure and actionable guidance.
npx playbooks add skill dropseed/plain --skill readmeReview the files below or copy the command above to add this skill to your agents.
---
name: readme
description: Guidelines for writing and editing Plain package READMEs. Use this when creating or updating README files.
---
# README Guidelines
Each top-level package directory (e.g., `plain-api/`) has a `README.md` symlink pointing to the actual README inside the package (e.g., `plain-api/plain/api/README.md`). **Only edit the README inside the package itself.**
See [`plain-jobs/plain/jobs/README.md`](plain-jobs/plain/jobs/README.md) as a good example.
## Purpose
The README answers: "How do I use this?" It gets users productive quickly and points them to code for deeper exploration. It is not a complete API reference.
## Required Structure
Every README follows this order:
1. **h1** with package name
2. **Bold one-liner** describing the package
3. **Table of contents** with links to h2s and h3s
4. **Overview** section with basic working examples
5. **Feature sections** as needed
6. **FAQs** section (second to last) using h4s for questions
7. **Installation** section (always last)
## Style
- **Conversational tone**: "You can..." not "The module provides..."
- **First code example must be copy-paste ready** with imports included
- **Subsequent examples can be minimal**, building on what was shown
- **Link to source for advanced features**: `[ClassName](./file.py#ClassName)`
- **Cross-package references**: `[plain.auth](../../plain-auth/plain/auth/README.md)`
## What to Document
- **If users import it, document it**
- **Mention all public features**, even advanced ones briefly, then link to code
- **Internal APIs stay undocumented** (`_prefix` functions and `@internalcode`)
- **Don't fully document every parameter** - mention features exist, link to code
## Writing Tips
- Keep paragraphs short
- Put takeaways up front
- Use bullets and tables
- Bold important text
- Keep sentences simple and unambiguous
This skill provides concise guidelines for writing and editing Plain package README files. It explains where to edit, the required structure, tone, and what to document to make package READMEs useful and consistent. Use it to create copy-paste ready examples and clear navigation to source code. The goal is fast user onboarding, not exhaustive API reference.
The skill inspects a package README and checks it against the required structure: H1, bold one-liner, table of contents, overview with working examples, feature sections, FAQs, and installation last. It enforces conversational tone, first example copy-paste readiness with imports, and links to source for advanced details. It also guides what to include (public features) and what to omit (internal APIs).
Where exactly should I edit the README?
Edit the README inside the package directory (the real README), not the top-level symlink. This keeps the authoritative file with the code.
How detailed should examples be?
The first example must be copy-paste ready with imports; later examples can be minimal and build on the first. Link to source for parameter-level detail.