What is readme-writing-package?
Focus on installability, minimal usage example, compatibility, and developer onboarding.
event4u-app/agent-config
Use when creating or rewriting a README for a reusable package or library. Focus on installability, minimal usage example, compatibility, and developer onboarding.
npx skills add https://github.com/event4u-app/agent-config --skill "src/skills/readme-writing-package"Quick start
Install it or open the source, trigger it with a clear task, then follow the source workflow.
npx skills add https://github.com/event4u-app/agent-config --skill "src/skills/readme-writing-package"Use readme-writing-package to help me with: [describe your task]. Before you begin, tell me what input you need, the steps you will follow, and the expected output.
No structured workflow was detected; follow the original SKILL.md below.
Continue to the workflowDirect answers
Focus on installability, minimal usage example, compatibility, and developer onboarding.
It is relevant to workflows involving Documentation, Engineering, Research.
SkillSignal detected this source-specific command: npx skills add https://github.com/event4u-app/agent-config --skill "src/skills/readme-writing-package". Inspect the repository and command before running it.
The upstream source does not declare a dedicated Agent platform.
Static analysis detected read-files, exec-script signals. Review the cited source lines before installing; these signals are not a security audit.
This page combines upstream documentation with deterministic repository, quality, and static-risk signals. It is not described as a manual test or security review.
SkillSignal brief
Focus on installability, minimal usage example, compatibility, and developer onboarding.
Useful in these contexts
Core capabilities
Distilled from the source
About 8 min · 9 sections
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)
Documenting a package for Packagist, npm, or internal registries
Full README draft
Detected package type + audience
Compatibility summary
Quality breakdown
Based on traceable docs and repository signals; stars are not treated as quality.
Compare before choosing
These links are selected from shared tasks, functions, stacks, platforms, and same-name variants. Compare the source owner, documentation, permissions, and maintenance signals.
ONLY when user asks for single-pass tech-stack detection or `agents/evidence/analysis/` write-up. Deep multi-pass audit → `universal-project-analysis`. Raw primitives → `project-analysis-core`.
Build applications and agents with Exa's API Platform: search, contents, answer, context, Agent API, monitors, websets, OpenAI-compatible endpoints, and exa-py / exa-js. Use when choosing Exa endpoints, writing Exa API calls, integrating semantic web search or research into products, or debugging Exa request shapes. Load references/ on demand for endpoint details.
Build an organic-traffic operating system for any site or app: a multi-phase, resumable engine that ships programmatic landing pages (alternatives, comparisons, use-cases, playbooks) on top of real keyword research. Use when the user says 'SEO machine', 'build organic traffic', 'rank on Google', 'we need traffic', 'alternatives pages', 'comparison pages', '/for/ pages', 'programmatic SEO', or 'build an SEO engine'. Distinct from `seo-audit` (one-off diagnostic) and `seo-content` (single-article
Core Python library for astronomy and astrophysics workflows that need Astropy APIs, including units/quantities, coordinates, FITS I/O, tables, time systems, WCS, and cosmology. Use when implementing or debugging astronomical data analysis code with Astropy.
Use when optimizing test suite performance — database setup, seeder optimization, parallel testing, CI pipeline efficiency, or RefreshDatabase alternatives.
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.