architecture-maplisted
Install: claude install-skill atretyak1985/swarmery
# Architecture Map
Produce `<repo>/architecture-out/architecture-map.json` + `.html`. The JSON is the
source of truth; the HTML is rendered from it by `scripts/build.sh` — never write
HTML by hand.
## 0. Freshness gate (always first)
```bash
HEAD=$(git rev-parse HEAD)
LAST=$(node -e "try{const v=JSON.parse(require('fs').readFileSync('architecture-out/architecture-map.json')).analyzedAtCommit;console.log(typeof v==='string'&&v.length>=7?v:'')}catch{console.log('')}")
```
- `LAST == HEAD` → report "architecture map is up to date (commit <short>)" and STOP.
- `LAST` non-empty → **incremental mode**: `git diff --name-only $LAST..HEAD` →
map changed paths onto existing `modules[].path` prefixes; re-describe ONLY
touched modules, re-check only flows whose steps reference them; keep the rest.
- `LAST` empty → full analysis.
## 1. Inventory (ground truth, no invention)
- `.claude/project.json` — name, repos, stack, domainTerms.
- Root `CLAUDE.md` — layout section, commands, hard rules → `conventions` + `importantNotes`.
- `graphify-out/graph.json` if present (nodes have `community`/`community_name`,
top-level `built_at_commit`): communities are *candidate* module groupings,
god nodes are *candidate* hubs. Curate — target 15–40 modules, never 1:1 with
communities. If graphify's `built_at_commit` trails HEAD, note it in
`importantNotes` and lean on direct exploration instead.
- Manifests (`package.json`, `go.mod`, `plugin.json`, workflow YAML) → techStack,
entryPoin