graphify-wrapper-maplisted
Install: claude install-skill yoelgal/agent-tools
# /graphify-wrapper-map
Turn a sprawling repo into a small, deliberate set of domains. The goal is
**focus** - index the few subtrees the operator will actually query, not the
whole tree. Flow: discover → propose → refine → register.
```bash
. .better-dev/bin/bd-gfx 2>/dev/null || . "${CLAUDE_PLUGIN_ROOT}/scripts/bd-gfx"
reg=$(gfx_registry)
[ -f "$reg" ] || { echo "run /graphify-wrapper-setup first"; exit 1; }
root=$(gfx_this_worktree)
```
## 1. Discover
Drill into any parent dir (`services/`, `apps/`, `packages/`, `cmd/`, `libs/`)
that holds multiple independent units.
```bash
cd "$root"
echo "## build roots (dependency boundaries)"
find . -maxdepth 4 \( -name go.mod -o -name package.json -o -name pyproject.toml \
-o -name pubspec.yaml -o -name Cargo.toml -o -name pom.xml -o -name build.gradle \) \
-not -path '*/node_modules/*' -not -path '*/.git/*' -not -path '*/vendor/*' \
| sed 's#^\./##' | sort
echo "## top-level dirs: tracked files + dominant language"
for d in $(git ls-files | awk -F/ 'NF>1{print $1}' | sort -u); do
n=$(git ls-files "$d" | wc -l | tr -d ' ')
ext=$(git ls-files "$d" | sed -n 's/.*\.//p' | sort | uniq -c | sort -rn | head -1 \
| awk '{print $2" ("$1")"}')
printf '%7s %-26s %s\n' "$n" "$d" "$ext"
done
echo "## already registered (skip / refine these)"
gfx_index_names
```
Size a candidate path with `git ls-files <path> | wc -l` and sample its
languages before proposing.
## 2. Propose
**≤ ~6 coherent domains**, each a singl