From mattpocock-skills
Finds architecture deepening opportunities—refactors that consolidate tightly-coupled modules and improve testability and AI-navigability—using domain language from CONTEXT.md and ADRs.
How this skill is triggered — by the user, by Claude, or both
Slash command
/mattpocock-skills:improve-codebase-architectureThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Surface architectural friction and propose **deepening opportunities** — refactors that turn shallow modules into deep ones. The aim is testability and AI-navigability.
Surface architectural friction and propose deepening opportunities — refactors that turn shallow modules into deep ones. The aim is testability and AI-navigability.
Use these terms exactly in every suggestion. Consistent language is the point — don't drift into "component," "service," "API," or "boundary." Full definitions in LANGUAGE.md.
Key principles (see LANGUAGE.md for the full list):
This skill is informed by the project's domain model — CONTEXT.md and any docs/adr/. The domain language gives names to good seams; ADRs record decisions the skill should not re-litigate. See CONTEXT-FORMAT.md and ADR-FORMAT.md.
Read existing documentation first:
CONTEXT.md (or CONTEXT-MAP.md + each CONTEXT.md in a multi-context repo)docs/adr/ (and any context-scoped docs/adr/ directories)If any of these files don't exist, proceed silently — don't flag their absence or suggest creating them upfront.
Then use the Agent tool with subagent_type=Explore 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.
Present a numbered list of deepening opportunities. For each candidate:
Use CONTEXT.md vocabulary for the domain, and LANGUAGE.md vocabulary for the architecture. If CONTEXT.md defines "Order," talk about "the Order intake module" — not "the FooBarHandler," and not "the Order service."
ADR conflicts: if a candidate contradicts an existing ADR, only surface it when the friction is real enough to warrant revisiting the ADR. Mark it clearly (e.g. "contradicts ADR-0007 — but worth reopening because…"). Don't list every theoretical refactor an ADR forbids.
Do NOT propose interfaces yet. Ask the user: "Which of these would you like to explore?"
Once the user picks a candidate, drop into a grilling conversation. Walk the design tree with them — constraints, dependencies, the shape of the deepened module, what sits behind the seam, what tests survive.
Side effects happen inline as decisions crystallize:
CONTEXT.md? Add the term to CONTEXT.md — same discipline as /grill-with-docs (see CONTEXT-FORMAT.md). Create the file lazily if it doesn't exist.CONTEXT.md right there.2plugins reuse this skill
First indexed Jul 13, 2026
npx claudepluginhub timothyvang/grill-meIdentifies shallow modules and proposes deepening refactors to improve testability and AI-navigability. Leverages domain glossary (CONTEXT.md) and ADR decisions to find consolidation opportunities.
Identifies architectural deepening opportunities in codebases, refactoring shallow modules for better testability and AI-navigability, informed by domain glossary and ADRs.
Finds architectural friction and proposes refactoring opportunities that make a codebase more testable and AI-navigable. Informed by domain language in CONTEXT.md and ADRs.