Best for
- Creating a README for a package, library, SDK, or framework extension
- Rewriting a package README after major changes (new API, version bump, new registry)
- Improving a weak package README (missing install, no example, no compatibility info)
event4u-app/agent-config/src/skills/readme-writing-package/SKILL.md
Use when creating or rewriting a README for a reusable package or library. Focus on installability, minimal usage example, compatibility, and developer onboarding.
Decision brief
Focus on installability, minimal usage example, compatibility, and developer onboarding.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/event4u-app/agent-config --skill "src/skills/readme-writing-package"Inspect the Agent Skill "readme-writing-package" from https://github.com/event4u-app/agent-config/blob/6a5670b7881a676c0da90d2afb950298087c4ccb/src/skills/readme-writing-package/SKILL.md at commit 6a5670b7881a676c0da90d2afb950298087c4ccb. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Before drafting, produce an evidence ledger from a fresh inspection of the package — manifest, source, CI, examples. Do not rely on prior turns or the existing README prose.
Creating a README for a package, library, SDK, or framework extension
Package README that makes adoption easy. A developer should know within 30 seconds: what it does, whether it fits their stack, how to install it, and how to use it.
User adoption over internal architecture — consumer first, maintainer second
Before drafting, produce an evidence ledger from a fresh inspection of the package — manifest, source, CI, examples. Do not rely on prior turns or the existing README prose.
Permission review
The documentation asks the agent to read local files, directories, or repositories.
If any cell is unknown, run `ls`, `grep`, `find`, or read the file beforeThe documentation asks the agent to run terminal commands or scripts.
npm install <package>The documentation asks the agent to run terminal commands or scripts.
pnpm add <package>Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 96/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 9 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Do NOT use when:
readme-writing instead/docsPackage README that makes adoption easy. A developer should know within 30 seconds: what it does, whether it fits their stack, how to install it, and how to use it.
Before drafting, produce an evidence ledger from a fresh inspection of the package — manifest, source, CI, examples. Do not rely on prior turns or the existing README prose.
ledger:
package: <name + version from manifest>
description: <verbatim from manifest>
install_cmd: <verified against the manifest's package manager>
requirements: <language version, framework version, ext-*, services>
public_api: <entry classes / functions / exports from source>
test_command: <real command from manifest scripts / Taskfile>
doc_targets: <list of /docs files actually linked from the new draft>
visual_keep: <line range of existing README header / banner / badges to preserve>
If any cell is unknown, run ls, grep, find, or read the file before
writing — never invent. When the user asks to keep the existing banner
or badge row, reproduce it byte-for-byte from the source.
| Type | Audience | README focus |
|---|---|---|
| Library | Any developer | Install → Usage → API surface |
| Framework extension | Framework users | Requirements → Install → Register → Use |
| Plugin | Plugin host users | Compatibility → Install → Config → Use |
| SDK | API consumers | Auth → Install → First request → Response handling |
| Internal shared package | Team members | Purpose → Install → Integration → Dev workflow |
Read and verify files that define actual package behavior (confirm each claim against the source — never paraphrase from memory):
composer.json, package.json, pyproject.toml, Cargo.toml, go.mod, or *.gemspec — name, description, requirements, scriptsCHANGELOG.md / releases — current state, breaking changesExtract: package name, purpose, install command, runtime requirements, supported versions, public API, setup steps, test/lint commands.
Priority order for packages:
Skip sections that have no real content. Never pad.
State only what is tested and supported. Pull the values from the package's manifest, not from memory. Examples per stack:
## Requirements (PHP)
- PHP ^8.2
- Laravel 11.x (optional integration)
- ext-json
## Requirements (JS / TS)
- Node.js >= 20
- TypeScript >= 5.4 (for typed consumers)
- npm / pnpm / yarn / bun
## Requirements (Python)
- Python >= 3.11
- pip / poetry / uv
- Optional: `fastapi >= 0.110` for the FastAPI integration
## Requirements (Go)
- Go >= 1.22
## Requirements (Rust)
- Rust >= 1.78 (stable)
- `cargo` workspace member or standalone crate
## Requirements (Ruby)
- Ruby >= 3.2
- Bundler >= 2.5
- Optional: Rails 7.1+ for the Rails integration
Do NOT imply broad compatibility if only tested in a narrow range. Include language version, framework version, required extensions, and services.
Document the exact install command and any required follow-up. Use the package manager native to the stack — never edit manifests by hand.
# PHP / Composer
composer require vendor/package
# Optional Laravel integration:
php artisan vendor:publish --tag=package-config
# JS / TS — pick whichever the consumer uses
npm install <package>
pnpm add <package>
yarn add <package>
bun add <package>
# Python
pip install <package>
poetry add <package>
uv add <package>
# Go
go get github.com/<owner>/<package>@latest
# Rust
cargo add <package>
# Ruby
bundle add <package>
# or, for a standalone gem:
gem install <package>
Validate each step against the actual codebase. Include post-install steps (config publish, service / module / provider registration, env vars, codegen, migrations) if the package requires them.
This is the most critical section. Rules:
Bad: abstract, large, requires unexplained setup. Good: 5-15 lines, directly relevant, immediately runnable.
Move deep content to dedicated docs. Recommended layout for packages:
README.md ← entry: what, why, install, minimal usage
docs/
installation.md ← full install matrix, post-install steps
usage.md ← extended examples, common patterns
architecture.md ← internal design, decisions
api.md ← full API reference
migration.md ← version upgrade guides
For multi-platform install (> 5 variants), prefer a single table with
deep links over stacked inline blocks. For occasionally-needed detail
(long platform quirks, troubleshooting), use <details> — never for
install, first example, or requirements.
→ See docs/guidelines/docs/readme-size-and-splitting.md for thresholds,
deep-link-table pattern, collapsibles, and anti-patterns (premature
splitting, duplication between README and /docs/).
For packages that target many AI assistants or platforms (CLI installers, agent-config tools, language SDKs with 10+ targets), prefer a flat per-AI catalog over a giant matrix. One line per target, install command on the left, aligned trailing comment naming the platform:
npx <package> init --tools=claude-code # Claude Code
npx <package> init --tools=cursor # Cursor
npx <package> init --tools=windsurf # Windsurf
# ... one line per supported target
Pair the catalog with a separate "Global install" subsection (same flags
plus --global) and an "Other commands" subsection. Reference example:
README.md § Pick specific AIs in
this repository — or any well-structured external skill README that
lists per-target install commands in a flat catalog.
Use the catalog when the package's primary install action varies by platform; use a matrix table (Tool / Rules / Skills / Commands) for capability comparison. They serve different jobs — install vs. coverage.
README = enough to adopt. Docs = enough to master.
For every internal link in the new draft:
test -f files, test -d directories. Strip
#anchor and ?query before the check.kept / added /
dropped. For every dropped target, search the rest of the repo
(grep -r over AGENTS.md, docs/, dist/agent-src*/, packages/).
No other reference → mark orphan-candidate.Surface the orphan-candidate list to the user — never delete silently.
composer.json, package.json, pyproject.toml, Cargo.toml, go.mod, *.gemspec) and the CI matrix/docs/kept / added / dropped with orphan-candidates flaggedcomposer.json, package.json, pyproject.toml, Cargo.toml, go.mod, *.gemspec) and source, not the old proseApply the Frugality Charter to every package README you author.
Examples in this artifact:
CHANGELOG.md.Pre-save self-check:
→ Final prose pass for audience-facing output: humanizer — remove AI-writing tells before delivery.
Frequently asked questions
Focus on installability, minimal usage example, compatibility, and developer onboarding.
The source record exposes this install command: npx skills add https://github.com/event4u-app/agent-config --skill "src/skills/readme-writing-package". Inspect the command and pinned source before running it.
Static rules flagged read-files, exec-script in the source; the page lists the matching lines and excerpts.
Alternatives
enuno/unifi-mcp-server
Specialized guide for adding new MCP tools to the UniFi MCP Server following project standards, UniFi API patterns, and test-driven development practices. Use when implementing new UniFi Network Controller features as MCP tools.
NintendaDev/unikit-ai
Generate and maintain the project's TECHNICAL documentation from its codebase — scans the project structure, tech stack, and module boundaries, then writes a lean README landing page plus detailed topic pages (architecture, modules, setup, build, APIs), only the docs that are relevant. Use whenever the user wants to create, update, or validate documentation of the CODE or the project itself, e.g. "generate documentation", "create docs", "write the README", "update the project docs", "document th
vasilyu1983/AI-Agents-public
Scans public GitHub repos for agent skills, dev practices, and code patterns. Use when enriching skills, setting team policy, or researching a build domain.
SerendipityOneInc/ZooData-Skills
API endpoint reference for the ZooData data platform: the 12 commerce endpoints plus 10 keyword-intelligence endpoints (categories, markets, products, competitors, realtime ASIN, AI review analysis, raw reviews, price band, brand, history, and the keyword detail/trend/extends/search/ market-profile/product-traffic/competitor-keywords/traffic-profile/ traffic-timeline family) — their inputs/outputs, parameter quirks, Quick Start (auth, base URL), how credits are tracked (meta.creditsConsumed), an