SAC Plan
Cheap, deterministic map of what is present in each --scan-root (top-level + known markers). Presence and counts only — not a full scan and not architecture-retriever.
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/sac_plan.py" \
--repo . --system "$SYSTEM_NAME" --scan-root "$REPO_ROOT" --write --json
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/sac_orchestrate.py" \
--repo . --system "$SYSTEM_NAME" --scan-root "$REPO_ROOT" --plan-only --json
Writes knowledge/.sac/re-plan.md + .json (repo map, ranked domain areas, signal-gated language/IaC specialists, unchecked checklists, suggested sub-agents). Do not spawn a specialist the plan did not list.
Mark progress after an area walker finishes an item:
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/sac_plan.py" mark \
--plan knowledge/.sac/re-plan.json --area iac --item capture --status done
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/sac_plan.py" mark \
--plan knowledge/.sac/re-plan.json --area lang-java --item inventory-maven --status done
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/sac_plan.py" mark \
--plan knowledge/.sac/re-plan.json --area identity --item jwt --status blocked \
--note "token config is generated; no static evidence"
Then fan out with skill sac-reverse-engineer / --from-plan --area <id>.