doc-project
Project Documentation Sync
Update all project documentation files in one pass by delegating to specialized skills.
Workflow
1. Analyze codebase → 2. CLAUDE.md + AGENTS.md → 3. README.md → 4. SKILLS.md → 5. CHANGELOG.md → 6. Summary
1. Analyze Codebase
Before updating any docs, gather project state:
# Project type signals
ls package.json go.mod pyproject.toml Cargo.toml Dockerfile *.tf 2>/dev/null
# Current doc state
ls CLAUDE.md AGENTS.md README.md SKILLS.md 2>/dev/null
# Recent changes since docs were last updated
git log --oneline -20
# Plugin/skill count if marketplace repo
ls plugins/ 2>/dev/null | wc -l
2. CLAUDE.md + AGENTS.md
CRITICAL: Never manually edit the AGENTS.md directory tree. It uses non-breaking spaces (\xa0) from the tree command that the Edit tool cannot match. Always use the script — it regenerates the tree from scratch.
Run validate_docs.py --fix from the doc-claude-md skill:
python3 ~/.claude/skills/doc-claude-md/scripts/validate_docs.py --path <project> --fix
This handles:
- Regenerating the directory tree (from
treecommand) - Validating CLAUDE.md (pointer file)
- Checking AGENTS.md structure and codebase consistency
- Updating
last_validatedtimestamp
After the script runs, manually update any non-tree content in AGENTS.md (e.g., skill counts in prose, new naming conventions).
3. README.md
Delegate to doc-readme skill:
Skill(skill="doc-readme")
This handles:
- Creating or updating README.md
- Syncing with current codebase state (features, structure, install steps)
4. SKILLS.md
Delegate to doc-skills-md skill:
Skill(skill="doc-skills-md")
This handles:
- Analyzing project to recommend relevant marketplace plugins
- Creating or updating Required/Recommended tables
- Updating plugin counts
Skip this step if the project does not use a plugin marketplace.
5. CHANGELOG.md
Delegate to doc-changelog skill:
Skill(skill="doc-changelog")
This handles:
- Generating changelog entries from git history since last release/tag
- Classifying commits by type (Added, Changed, Fixed, Removed)
- Enriching entries with PR references
- Updating the Unreleased section
Skip this step if the project does not maintain a CHANGELOG.md.
6. Summary
After all updates, report what changed:
## Documentation Updated
| File | Action | Changes |
|------|--------|---------|
| CLAUDE.md | Updated/Created/No change | ... |
| AGENTS.md | Updated/Created/No change | ... |
| README.md | Updated/Created/No change | ... |
| SKILLS.md | Updated/Created/Skipped | ... |
| CHANGELOG.md | Updated/Created/Skipped | ... |
Modes
Full Sync (default)
Update all five files. Use for initial setup or after major changes.
"Update all project docs"
Selective
Update only specified files. Name them explicitly.
"Update AGENTS.md and README.md"
Validate Only
Check docs without modifying. Report what's stale.
"Check if project docs are up to date"
For validate-only, read each file and compare against codebase state. Report discrepancies without editing.
More from molechowski/claude-skills
res-price-compare
Polish market product price comparison: 20+ shops, shipping costs, manufacturer vs seller warranty, B2B/statutory warranty analysis, stock status, distribution chain. Export TXT/XLSX/HTML. Use when: looking for a product to buy, price comparison, where to buy cheapest. Triggers: cena, porównaj, gdzie kupić, najtaniej, sklep, price compare, best price, kup, ile kosztuje.
36doc-vault-project
Manage multi-note research projects in Obsidian vault with phased subdirectory structure (concept, research, design, implementation). Scaffold new projects, add component notes, track status, link existing research, promote topics to projects. Use when: creating a project, adding to a project, checking project status, linking research to a project, promoting a research topic to a full project. Triggers: project init, project add, project status, project link, project promote, create project, new project.
35res-deep
Iterative multi-round deep research with structured analysis frameworks. Use for: deep research on a topic, compare X vs Y, landscape analysis, evaluate options for a decision, deep dive into a technology, comprehensive research with cross-referencing. Triggers: deep research, compare, landscape, evaluate, deep dive, comprehensive research, which is better, should we use.
35doc-daily-digest
Process Obsidian daily notes: classify raw URLs and loose ideas, fetch content (X tweets, GitHub repos, web pages), run deep research on ideas, create structured vault notes, replace raw items with wikilinks. Orchestrates doc-obsidian, res-x, and res-deep skills. Use when: processing daily note links, digesting saved URLs into notes, turning ideas into research, daily note cleanup. Triggers: daily digest, process daily, daily links, triage daily, digest daily note.
35res-x
Fetch X/Twitter tweet content by URL and search X posts. Resolves tweet links that WebFetch cannot scrape. Use for: reading saved X/Twitter links, fetching tweet content from URLs, searching X for posts on a topic, batch-processing X links from notes. Triggers: x.com link, twitter.com link, fetch tweet, read tweet, what does this tweet say, X search, twitter search.
34doc-obsidian
Obsidian vault management combining qmd (search) and notesmd-cli (CRUD). No Obsidian app needed. Use for: (1) searching notes with keyword, semantic, or hybrid search, (2) creating/editing/moving/deleting notes, (3) daily journaling, (4) frontmatter management, (5) backlink discovery, (6) AI agent memory workflows, (7) vault automation and scripting. Triggers: obsidian vault, obsidian notes, vault search, note management, daily notes, agent memory, knowledge base, markdown vault.
34