Install any skill in seconds. Free to start, no credit card required.
Get Started Free →fradser/improve-codebase-architecture
Scans a codebase for deepening opportunities, presents them as a visual HTML report, then grills through the chosen one.
1 of 22 test cases passed with the skill.
Tokens, turns and time describe resource use, not a dollar price.
Lift withheld: 3 comparable cases; this report requires 8.
A test case the skill fixed. Same model, same prompt, with and without the skill.
Our repository has `docs/adr/0003-separate-read-write-models.md`. During your architecture scan, you notice severe friction in `OrderRepository` that could be fixed by merging read and write paths, directly contradicting ADR 0003. Should you omit this candidate entirely?
| Checked | Without skill | With skill |
|---|---|---|
| Surfaces the candidate in the report when friction warrants reopening the ADR | Passed | Passed |
| Renders a warning callout on the card explicitly noting the contradiction with ADR-0003 | Missed | Passed |
The instructions your model reads when the skill loads.
Surface architectural friction and propose deepening opportunities: refactors that turn shallow modules into deep ones. The aim is testability and AI-navigability.
This command is informed by the project's domain model and built on a shared design vocabulary:
CONTEXT.md gives names to good seams; ADRs in docs/adr/ record decisions this command should not re-litigate.Scope before you scan: YAGNI. Deepening a module pays off by making future changes to it easier, so put extra weight on the parts of the codebase that have recently changed. Decide where to look before you look:
git log --oneline) to find the codebase's hot spots, the files and areas that keep coming up, and let those paths pull your attention first. If the changes are scattered with no clear hot spot, widen the net.Read the project's domain glossary (CONTEXT.md) and any ADRs in the area you're touching first.
Then spawn a sub-agent to walk the codebase. Don't follow rigid heuristics; explore organically and note where you experience friction:
Apply the deletion test to anything you suspect is shallow: would deleting it concentrate complexity, or just move it? A "yes, concentrates" is the signal you want.
Write a self-contained HTML file to the OS temp directory so nothing lands in the repo. Resolve the temp dir from $TMPDIR, falling back to /tmp (or %TEMP% on Windows), and write to <tmpdir>/architecture-review-<timestamp>.html so each run gets a fresh file. Open it for the user (xdg-open <path> on Linux, open <path> on macOS, start <path> on Windows) and tell them the absolute path.
The report uses Tailwind via CDN for layout and styling, and Mermaid via CDN for diagrams where a graph/flow/sequence reliably communicates the structure. Mix Mermaid with hand-crafted CSS/SVG visuals: use Mermaid when relationships are graph-shaped (call graphs, dependencies, sequences), and hand-built divs/SVG when you want something more editorial (mass diagrams, cross-sections, collapse animations). Each candidate gets a before/after visualisation. Be visual.
For each candidate, render a card with:
test cases passed with the skill
Published skills whose descriptions closely match this one, with their headline benchmark lift.
More skills from the same source and nearby in the registry, with their headline benchmark lift.