featuringlisted
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]**