Install
openclaw skills install @afonsoft/create-readmeUse when generating or updating a project README.md or CHANGELOG.md.
openclaw skills install @afonsoft/create-readmeTransforms a raw repository into a well-documented project by generating professional README.md and CHANGELOG.md files based on empirical evidence from the codebase, git history, and configuration files. Every claim in the generated documentation must be traceable to a file, commit, or config in the repository.
When a project lacks a README or CHANGELOG.
When existing documentation is outdated, incomplete, or inconsistent.
Before shipping a new version to ensure the changelog is up to date.
When restructuring a project and the existing documentation no longer reflects the architecture.
When onboarding new contributors and the README doesn't answer "what is this, how do I run it, how do I test it?"
User asks or mentions this skill in English (e.g., "use /create-readme", "run create-readme").
O usuário pede ou menciona esta skill em português (ex.: "use /create-readme", "execute create-readme").
drawio-architecture or mermaid-architecture skill for visual and Markdown system design.create-agent-harness for CLAUDE.md/AGENTS.md and skill scaffolding.Before writing a single line, analyze the target repository:
Structure analysis:
ls -la, find . -maxdepth 2 -type f)main.ts, Program.cs, __main__.py, index.js)Stack detection:
package.json (name, version, scripts, dependencies, engines)*.csproj, *.sln (TargetFramework, PackageReferences, SDK version)pyproject.toml, setup.py, requirements.txt, Pipfilepom.xml, build.gradle (groupId, artifactId, Java version)go.mod (module path, Go version, requires)Cargo.toml (name, edition, dependencies)Dockerfile, docker-compose.yml (base image, exposed ports, services).github/workflows/, .gitlab-ci.yml, Jenkinsfile, azure-pipelines.ymlHistory analysis:
git log --oneline -n 50 — recent features and fixesgit tag --sort=-creatordate | head -10 — recent releasesgit log --since="last tag" --oneline — unreleased changesExisting docs:
README.md and CHANGELOG.md (if any) — reuse valid contentdocs/ directory — reference but don't duplicateLICENSE file — extract license typeRequirement: Output a "Discovery Summary" containing:
## Discovery Summary
- **Stack**: [languages, frameworks, versions]
- **Architecture**: [monorepo/single, layers, patterns]
- **CI/CD**: [platforms, pipelines, badges available]
- **Entry points**: [main files]
- **Test command**: [how to run tests]
- **Recent releases**: [last 3 tags]
- **Unreleased changes**: [commits since last tag]
- **Gaps**: [what's missing from current docs]
Wait for confirmation before proceeding to Phase 2.
Generate the README following this strict order. Skip sections where no evidence exists — do not invent content.
package.json/*.csproj/pyproject.toml or directory name[](link)project-root/
├── src/ # Source code
├── tests/ # Test suite
├── docs/ # Documentation
├── .github/workflows # CI/CD pipelines
└── package.json # Node.js manifest
| Layer | Technology | Version |
|---|---|---|
| Language | TypeScript | 5.x |
| Framework | Next.js | 15.x |
| Database | PostgreSQL | 16 |
| CI | GitHub Actions | — |
# Prerequisites
node >= 20.x
# Install
npm install
# Configure
cp .env.example .env # then edit values
# Run
npm run dev
.env.example)scripts in package manifest or Makefilenpm test # Run all tests
npm run test:watch # Watch mode
npm run test:coverage # Coverage report
.nycrc, jest.config, coverlet)LICENSE filedocs/, CHANGELOG.md, contributing guide)docs/ structureCreate a bilingual documentation layout:
README.md — English (en-us), always the primary landing page.README.pt-br.md — Portuguese (pt-br) translation of README.md.docs/en/ — auxiliary English documents generated from repository evidence.docs/pt/ — same documents in pt-br.Rules for docs/:
docs/en/ and docs/pt/.[Português](README.pt-br.md) in README.md; [English](README.md) in README.pt-br.md.docs/en/ or docs/pt/ for deeper docs.README.md content inside docs/. Put extended/auxiliary content there (e.g., ARCHITECTURE.md, CONTRIBUTING.md, API.md, INSTALL.md).docs/en/CONTRIBUTING.md and docs/pt/CONTRIBUTING.md).Evidence-based docs to consider:
ARCHITECTURE.md — if architecture patterns or diagrams were identified.CONTRIBUTING.md — if .github/CONTRIBUTING.md or commit conventions exist.API.md — if the project exposes a REST/GraphQL API (link to OpenAPI/Swagger if present).INSTALL.md — if setup has platform-specific steps beyond the README.Rules:
README.md is always en-us; README.pt-br.md is the pt-br translationdocs/en/ and docs/pt/ and must not duplicate README contentFollow the Keep a Changelog and SemVer standards:
# Changelog
All notable changes to this project are documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/),
and this project adheres to [Semantic Versioning](https://semver.org/).
## [Unreleased]
### Added
- New feature X (commit abc123)
### Fixed
- Bug Y in module Z (commit def456)
## [1.2.0] - 2025-01-15
### Added
- Feature A
### Changed
- Updated dependency B to v2.0
[Unreleased]: https://github.com/user/repo/compare/v1.2.0...HEAD
[1.2.0]: https://github.com/user/repo/releases/tag/v1.2.0
Added — new featuresChanged — changes in existing functionalityDeprecated — soon-to-be removed featuresRemoved — removed featuresFixed — bug fixesSecurity — vulnerability fixes[Unreleased] by analyzing git log --since="last tag" --onelinefeat:, fix:, breaking:) to changelog categoriesgit log v1.1.0..v1.2.0 --oneline between tags[Unreleased] from the last 50 commitshttps://github.com/{owner}/{repo}/compare/v{prev}...v{curr}https://github.com/{owner}/{repo}/releases/tag/v{version}Create a dedicated branch:
git checkout -b feature/{YYYYMMDD}-readme-changelog
markdownlint, remark, vale)Use Conventional Commits:
git commit -m "docs(readme): update README and CHANGELOG
- Add tech stack table from package.json analysis
- Add getting started section with verified commands
- Populate CHANGELOG [Unreleased] from git log since v1.2.0
Generated with [Devin](https://devin.ai)"
Provide a summary of changes:
## Summary
- **README.md**: [created/updated] — en-us primary, added sections X, Y, Z
- **README.pt-br.md**: [created/updated] — pt-br translation
- **docs/en/** and **docs/pt/**: [created/updated] — auxiliary docs by language
- **CHANGELOG.md**: [created/updated] — added [Unreleased] with N entries
- **Evidence**: all claims traced to files/commits in Discovery Summary
Do not open the PR automatically — let the human reviewer decide.
| Mistake | Impact | Fix |
|---|---|---|
| Inventing info | README claims a feature that doesn't exist | Every claim must trace to a file, commit, or config |
| Generic templates | README doesn't reflect the actual architecture | Use Discovery Summary to tailor every section |
| Ignoring history | Changelog doesn't match git commits | Use git log between tags as the source of truth |
| Hardcoded secrets | API keys or passwords in README | Use env var names only; link to .env.example |
| Stale badges | CI badge points to wrong workflow | Verify badge URL matches actual workflow filename |
| Manual PRs | PR opened without review | Summarize changes first; let human open the PR |
| Wrong language | README in English for a pt-BR project | Match the language of existing documentation |
| Only one language | Repository misses pt-br users | |
| Docs duplicate README | docs/en/README.md or docs/pt/README.md copies the README |
scripts/Makefile[Unreleased] section matches git log since last tagREADME.pt-br.md is generated as a pt-br translation of README.mddocs/en/ and docs/pt/ exist for auxiliary docsREADME.md and README.pt-br.mdREADME.md content is duplicated inside docs/