Awesome-omni-skill repo-atlas
Build a self-contained persistent context system (atlas) for any repository. Use when asked to create a repo map, generate codebase documentation for LLM agents, set up an atlas, or create onboarding docs for a codebase. Also use when asked to "map this repo", "document this codebase", or "create context docs".
git clone https://github.com/diegosouzapw/awesome-omni-skill
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data-ai/repo-atlas" ~/.claude/skills/diegosouzapw-awesome-omni-skill-repo-atlas && rm -rf "$T"
skills/data-ai/repo-atlas/SKILL.mdRepo Atlas
Build an in-repo persistent context system so engineers and LLM agents can understand any codebase quickly with minimal searching.
Hard Constraints
- Do NOT change product/runtime behavior
- No paid/hosted tooling — everything lives in the repo
- Zero or minimal dependencies (Python 3 standard library only)
- All generated content must reflect real repo specifics, not generic filler
Workflow
Phase 1: Reconnaissance
Before writing anything, understand the repo:
- Read the top-level directory structure
- Identify the repo type:
- App (web, mobile, desktop) — has screens/views, state managers, routes
- Backend/API — has controllers, routes, middleware, models
- Library — has public exports, module structure, build config
- Monorepo — multiple packages/services
- CLI tool — has command handlers, argument parsing
- Infrastructure — has deployment configs, IaC files
- Identify the primary language(s) and framework(s)
- Find entrypoints, build configs, CI files
- Read 5-10 key files to understand architecture patterns
Phase 2: Run the Generator Script
Copy
scripts/generate_atlas.py (bundled with this skill) to the repo at scripts/atlas/generate_atlas.py. Then customize and run it:
- Copy the script to the target repo
- Review and adjust the configuration section at the top:
— add repo-specific directory names to ignore (exact segment match)IGNORE_NAMES
— add short descriptions for key directoriesTREE_ANNOTATIONS
— add framework-specific entry filenamesENTRYPOINT_NAMES
— add path-based patterns (fnmatch style, e.g.,ENTRYPOINT_PATH_PATTERNS
)cmd/*/main.go
— add code markers that identify entry pointsENTRYPOINT_CONTENT_MARKERS
— adjust if repo uses different commit conventionsCONVENTIONAL_COMMITS
— change the changelog lookback window (default: 14)CHANGELOG_DAYS
- Run:
python3 scripts/atlas/generate_atlas.py --write
This auto-generates:
— directory tree + entrypoints + file statsdocs/atlas/repo-map.md
— categorized recent commitsdocs/atlas/08_CHANGELOG_LAST_14_DAYS.md
Phase 3: Enhance repo-map.md
After the script generates the skeleton, manually add these sections to
repo-map.md:
Router Table — "Where to look for X" (10-15 rows):
## Where to Look for X | Task | Start Here | |------|-----------| | Fix [domain concept] | `path/to/file.ext` |
Map the top 10-15 tasks someone would do in this repo to specific files.
Danger Zones — fragile files/areas:
## Danger Zones | File/Area | Why It's Fragile | |-----------|-----------------| | `path/to/file` | Reason |
Phase 4: Write Manual Atlas Docs
Create
docs/atlas/ with these files. See references/atlas-templates.md for structure guidance on each.
| File | Content Source |
|---|---|
| How to use the atlas + agent workflow conventions |
| Read entrypoints, DI setup, module boundaries |
| Read models/types, identify state machines |
| Trace top 3-5 user flows through the code |
| Identify all state stores (DB, cache, files, memory) |
| Read package manifests + integration code |
| Look for race conditions, init ordering, fragile patterns |
| Read test configs, describe how to run tests |
Each doc should be 50-150 lines with real paths, real code references, and real gotchas from the codebase. Not generic advice.
Phase 5: Add Agent On-Ramp
Add an atlas section to the repo's
CLAUDE.md (or create one). Include:
## Atlas — Persistent Context System The `docs/atlas/` folder contains structured documentation for fast codebase onboarding. ### Agent Workflow **Agent A (Plan + Execute)**: 1. Load `docs/atlas/repo-map.md` for orientation 2. Load the domain-specific atlas doc for your task 3. Read source files only after the atlas narrows your search 4. Implement changes following the patterns in the atlas **Agent B (Verify)**: 1. Review diffs against `docs/atlas/06_GOTCHAS.md` 2. Verify changes match the flow described in `03_CRITICAL_FLOWS.md` 3. Confirm tests pass per `07_TEST_MATRIX.md` 4. Check state consistency against `04_STATE_SOURCES_OF_TRUTH.md` ### Working Rules - **Analysis first**: Read the relevant atlas docs before writing code - **Verify behavior**: After changes, confirm critical flows still work - **No test-cheating**: Tests must pass because the code is correct - **Update atlas**: If changes alter architecture/flows/state, update the relevant doc - **Regenerate**: Run `make atlas-generate` after structural changes
Phase 6: Add Build Targets
Add to
Makefile (create if needed):
atlas-generate: python3 scripts/atlas/generate_atlas.py --write atlas-check: python3 scripts/atlas/generate_atlas.py --check
If the repo uses
package.json, also add to scripts:
"atlas:generate": "python3 scripts/atlas/generate_atlas.py --write", "atlas:check": "python3 scripts/atlas/generate_atlas.py --check"
Phase 7: Verify
- Run
— must complete without errorsatlas-generate - Run
— must exit 0 immediately after generationatlas-check - Confirm every atlas doc has real file paths and repo-specific content
- Confirm no runtime/product code was changed
Output Summary
After completing all phases, report:
- List of created files
- How to run atlas generation/check
- 10-line "How an agent should use this atlas" quick reference
Resources
- Generator script: See
— copy to target repo and customizescripts/generate_atlas.py - Doc templates: See
for structure guidance on each manual docreferences/atlas-templates.md