Help us improve
Share bugs, ideas, or general feedback.
From git
Analyze git changes since last README update and intelligently update README with new features, API changes, setup instructions, or breaking changes
npx claudepluginhub tarqd/skills --plugin gitHow this skill is triggered — by the user, by Claude, or both
Slash command
/git:update-readmeExploreThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Intelligently analyze git changes since the last README update and determine if any changes warrant documentation updates. Make minimal, precise updates that preserve the existing structure and style.
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
Intelligently analyze git changes since the last README update and determine if any changes warrant documentation updates. Make minimal, precise updates that preserve the existing structure and style.
Get the commit hash where README was last modified:
# Get the last commit that modified README.md
git log -n1 --format=%H -- README.md
Then get all changes since that commit:
# Get list of changed files with statistics
git diff --find-renames --find-copies --stat "$(git log -n1 --format=%H -- README.md)..HEAD"
# Get summary of commits since last README update
git log --oneline "$(git log -n1 --format=%H -- README.md)..HEAD"
Analyze the changed files and commits to identify user-facing changes:
Warrant README updates:
Do NOT warrant README updates:
If updates are needed, determine which sections:
Common README sections:
If updates are needed:
# Read the current README
cat README.md
# Get detailed diffs for specific files if needed
git diff "$(git log -n1 --format=%H -- README.md)..HEAD" -- path/to/relevant/file.ext
Read or search files to understand:
Make minimal, targeted updates:
Guidelines for updates:
After updating:
User: "Update the README"
After analysis:
git log --oneline "$(git log -n1 --format=%H -- README.md)..HEAD"
Output:
a1b2c3d feat(api): add user authentication endpoints
e4f5g6h docs: update API examples
Relevant files changed:
src/api/auth.js (new file)src/routes.js (modified)Analysis:
Actions:
src/api/auth.js to understand endpoints## API Endpoints
### Authentication
- `POST /api/auth/login` - Authenticate user
- Body: `{ "email": "string", "password": "string" }`
- Returns: `{ "token": "string", "user": {...} }`
- `POST /api/auth/logout` - Logout user
- Headers: `Authorization: Bearer <token>`
- Returns: `{ "success": true }`
User: "Update README"
After analysis:
git log --oneline "$(git log -n1 --format=%H -- README.md)..HEAD"
Output:
a1b2c3d refactor: extract validation logic
e4f5g6h test: add unit tests for parser
h7i8j9k chore(deps): bump lodash to 4.17.21
Analysis:
Report:
No README updates needed. Changes since last update:
- Internal refactoring
- Test additions
- Dependency updates
None of these affect user-facing documentation.
User: "Update the README"
After analysis:
Commits:
a1b2c3d feat!: change config format from JSON to YAML
Analysis:
Actions:
## Configuration
⚠️ **Breaking Change in v2.0**: Configuration format changed from JSON to YAML
Create a `config.yaml` file in the root directory:
```yaml
server:
port: 3000
host: localhost
database:
url: postgres://localhost/mydb
pool: 10
4. Update migration guide or add note about upgrading from v1.x
5. Report: "Updated README with breaking configuration change"
### Example 4: New installation requirement
**User**: "Update README"
**After analysis:**
Commits:
a1b2c3d feat(search): add full-text search with Elasticsearch
Files changed:
- `package.json` (added elasticsearch dependency)
- `src/search.js` (new file)
- `docker-compose.yml` (added Elasticsearch service)
**Analysis:**
- New feature requiring external service
- Warrants README update: ✅ Yes (new setup requirement)
**Actions:**
1. Read README.md Installation section
2. Add Elasticsearch requirement:
```markdown
## Installation
### Prerequisites
- Node.js 18+
- PostgreSQL 14+
- **Elasticsearch 8+ (new in v2.0)**
### Setup
1. Install dependencies:
```bash
npm install
Start Elasticsearch:
docker-compose up -d elasticsearch
Run migrations:
npm run migrate
3. Add search feature to Features section
4. Report: "Updated README with Elasticsearch installation requirement and search feature"
## Edge Cases
### README Doesn't Exist
If no README.md found:
- Inform user: "No README.md found in repository"
- Ask: "Would you like to create one? (yes/no)"
- If yes, create a basic README structure with project info
### No Changes Since Last Update
If README was just updated:
- Report: "README was updated in the most recent commit, no further changes needed"
- Do not make unnecessary updates
### README Never Modified
If `git log -- README.md` returns nothing:
- README might be new or never committed
- Use HEAD as comparison point: `git diff --stat HEAD`
- Proceed with analysis
### Large Number of Changes
If 50+ commits since last README update:
- Summarize by category: features, breaking changes, new requirements
- Focus on the most significant changes
- Ask: "Many changes found. Should I focus on specific areas? (features/api/setup/all)"
### Conflicting Information
If changes conflict with existing README content:
- Flag the conflict to user
- Ask: "Found conflicting info in README. Which is correct?"
- Update only after clarification
### Multiple README Files
If project has multiple READMEs (e.g., `README.md`, `docs/README.md`):
- Ask: "Multiple READMEs found. Which should I update?"
- Update the specified one
## Guidelines
1. **Only update when needed** - don't make changes for the sake of it
2. **Focus on user-facing changes** - internal refactors don't count
3. **Be minimal and precise** - no fluff or rewrites
4. **Preserve structure and style** - match the existing README
5. **Check git history** - use git diff to understand changes
6. **Read the code if needed** - understand what changed before documenting
7. **Keep it factual** - no marketing speak or exaggeration
8. **Use proper markdown** - maintain formatting consistency
9. **Add, don't replace** - preserve existing content unless wrong
10. **Report what you did** - summarize updates for user review
## Anti-Patterns to Avoid
❌ **DO NOT**:
- Rewrite sections that don't need updating
- Add unnecessary fluff or marketing language
- Update for internal changes (refactors, tests)
- Change the tone or style arbitrarily
- Remove existing content without reason
- Make assumptions about changes without reading code
- Update based solely on commit messages
✅ **DO**:
- Make minimal, targeted updates
- Focus on user-facing documentation needs
- Preserve existing structure and style
- Read code/diffs to understand changes
- Update only relevant sections
- Keep the same level of detail as existing content
- Match the existing markdown formatting
## References
- [Make a README](https://www.makeareadme.com/)
- [Awesome README](https://github.com/matiassingers/awesome-readme)
- [README Template](https://github.com/othneildrew/Best-README-Template)