From booskills
Evaluates the architecture of a codebase or subsystem and recommends intra-codebase structural changes with evidence. Use for "is this well structured," coupling/cohesion questions, layering review, "should I split this," module boundary decisions. Do NOT use for producing a neutral context map; use boo-mapping-project-context. Do NOT use for reviewing one diff; use boo-reviewing-code.
How this skill is triggered — by the user, by Claude, or both
Slash command
/booskills:boo-analyzing-architectureThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Classify small/medium/large from the number of modules, coupling complexity, and cross-cutting concerns. Default: small (single module, well-bounded). Announce with one-line justification. Accept `$size` override.
Classify small/medium/large from the number of modules, coupling complexity, and cross-cutting concerns. Default: small (single module, well-bounded). Announce with one-line justification. Accept $size override.
A current context map must exist. If one does not, run boo-mapping-project-context first.
boocontext MCP tools are available, gather hard structural evidence first and pass it to the analysts: boocontext_callgraph (callers/callees) and boocontext_impact (blast radius) seed structural-analyst and behavioral-analyst; boocontext_health (A-F grades, hotspots) and boocontext_severity (severity-classified hotspots with git churn) seed risk-analyst. This grounds the lenses in measured coupling instead of impressions. Skip when the tools are absent; the analysts still work from direct reads.structural-analyst, behavioral-analyst, concurrency-analyst, and risk-analyst in parallel (each seeded with the boocontext evidence from step 2 when present).software-architect to synthesize findings into recommendations.mcp__paseo__*) are available, spawn each agent persona as an attached Paseo subagent with create_agent (detached: false, notifyOnFinish: true; for an opencode provider also pass settings.modeId: "build" and settings.features.auto_accept: true) so every persona appears in the operator's Paseo agent track. Resolve each persona's provider/model from the active preset's agents map in ~/.paseo/orchestration-preferences.json; supervise on the finish notification (never poll) and read each result with get_agent_activity.agents/<name>.md persona and apply its lens in sequential passes.concurrency value in ~/.paseo/orchestration-preferences.json. When it is 1 (local heavy-weight presets, around 27b/35b or larger on a single llama-swap server), dispatch subagents STRICTLY ONE AT A TIME: launch one, wait for its finish notification and read its result, then launch the next. This overrides any parallel fan-out. Absent or higher concurrency means parallel fan-out is fine.git add -A. Prove any edits with git diff --stat.boocontext_* tool returning UNSAFE or empty means seed the analysts from direct reads, not stop.# Architecture Analysis: <scope>
## Findings
### Structural (S#)
<findings from structural-analyst>
### Behavioral (B#)
<findings from behavioral-analyst>
### Concurrency (C#)
<findings from concurrency-analyst>
### Risk (R#)
<risk assessments from risk-analyst>
## Synthesized Recommendations
**A1: <title>**
- **Addresses:** S1, B3
- **Principle:** SRP / OCP / DIP / etc.
- **Change:** <what to change, with pseudocode>
- **YAGNI evidence:** <forcing function>
- **Risk if deferred:** <reference R#>
## Deferred (YAGNI)
<recommendations without current evidence, with reopen trigger>
## Out of scope (cross-service)
<concerns deferred to system-architect>
## Claims I did not verify
- <anything assumed or not checked>
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub indifferentketchup/booskills --plugin booskills