← ClaudeAtlas

featuringlisted

Generate hierarchical _FEATURES.md files that describe what a codebase DOES from a user/consumer perspective, anchored to source symbols via tree-sitting. Supports large complex codebases through feature-driven decomposition into sub-feature files. Uses a multi-pass synthesis: orientation → detail → overview rewrite. Use when someone says "what does this do", "document features", "feature inventory", "_FEATURES.md", or needs to understand a codebase's purpose before modifying it. Complements tree-sitting (structural) with semantic (why/what-for) layer.
oaustegard/claude-skills · ★ 124 · Data & Documents · score 84
Install: claude install-skill oaustegard/claude-skills
# Featuring Generate `_FEATURES.md` files — top-down documentation of what a codebase **does**, organized by feature/capability, anchored to specific source symbols. **tree-sitting** tells you WHAT symbols exist. **_FEATURES.md** tells you WHY they exist and what they accomplish together. For large codebases, the root `_FEATURES.md` decomposes into sub-feature files linked by capability area — not by folder structure. An agent starts at the root and is drawn into sub-files only when working on a relevant area. ## Dependency Requires **tree-sitting** skill. Uses its engine for AST scanning. ```bash uv venv /home/claude/.venv 2>/dev/null uv pip install tree-sitter-language-pack --python /home/claude/.venv/bin/python ``` For quick structural orientation before running gather.py, use tree-sitting's CLI: ```bash TREESIT=/mnt/skills/user/tree-sitting/scripts/treesit.py # Complete tree, sparse detail — see the full shape /home/claude/.venv/bin/python $TREESIT /path/to/repo --depth=-1 --detail=sparse ``` ## Workflow: Multi-Pass Synthesis Feature documentation is built in three passes. The overview is written LAST, after all features are understood — not first. ### Pass 1: Orientation (quick scan) ```bash /home/claude/.venv/bin/python /mnt/skills/user/featuring/scripts/gather.py /path/to/repo \ --skip tests,.github,node_modules --source-budget 8000 ``` Read the gather output. Before writing anything, form a hypothesis: > "This codebase appears to be a **[what it is]**