architecture-review
Review a codebase for structural defects, propose ranked restructurings that make it simpler, and apply the ones the user approves.
Skill by TomerAberbach
Chalk Labs
Need help deploying architecture-review?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/tomeraberbach-architecture-review
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/architecture-review
What's inside
- Skill name
architecture-review- Description
- Review a codebase for structural defects, propose ranked restructurings that make it simpler, and apply the ones the user approves.
- License
- MIT
- Instructions
- 198 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- allowed-tools: must be a space-separated string
Files (1)
- SKILL.md
SKILL.md (first lines)
Review the codebase for structural defects, propose ranked restructurings that make it simpler to understand and maintain, and apply the ones the user approves. # Target Arguments: $ARGUMENTS Review the part of the codebase, the commit, or the concern named in the arguments. With no arguments, review the whole codebase. The current commit is not the default, because structural defects span files no single change touches. # Principles - Propose only restructurings that remove concepts, files, parameters, branches, or code. When a proposal adds an abstraction, state what it deletes in exchange. Drop a restructuring that only moves the complexity elsewhere - Ask of each concept whether the program needs it before asking where it must be. Before proposing to delete a concept, find the case it exists for. If the case is real, propose a simpler form of the concept instead of its removal - Treat the documented design as the intent. `CLAUDE.md`, the glossary, and the docs state decisions and their reasons. Drop a finding that contradicts a documented decision, unless the decision's reason no longer holds. Then report the finding with the decision and why its reason fails. Report code that fails to meet a documented decision as a finding - Follow the patterns the project already uses. When the codebase solves a problem one way in one place (a handler table, a base class, a factory), propose that shape for the same problem elsewhere before inventing a new one - If the project has no published release, break compatibility. Delete migration code, fallbacks, aliases, and the old path when the new one replaces it. If it has a published release, flag each change to public API in the report and let the user decide whether to shim it These aren't exhaustive. Reason from first principles when none fits cleanly. # Workflow 1. Read `CLAUDE.md`, the glossary if one exists, and any architecture or layering docs. Write a list of the documented layering, dependency direction, and design decisions, each with its reason. Every reviewer checks findings against this list 2. Map the target: the packages and modules, their sizes (`wc -l`), the composition root, and the import graph between packages. Note every dependency edge that points against the documented direction 3. Review in parallel with read-only subagents (see "Fanning out"). For a target small enough to read in one pass, review it yourself 4. Verify every finding you will propose against the code: open the cited lines and confirm the claim. Drop each finding the code contradicts, and each that "Testing a finding" rules out 5. Synthesize the findings into one ranked report (see "The proposal"). Merge findings that share a root cause into one proposal. Stop and wait for the user to approve proposals before changing code 6. Apply the approved proposals (see "Applying") 7. Report what changed (see "After applying") # Lenses Apply each lens to the whole program, each package or crate, each module, and each function or type. Several lenses list a skill. The reviewer, you or a subagent, loads each listed skill for its review criteria only and follows this skill's workflow instead of the loaded skill's. Ignore a loaded skill's instructions to edit code, commit, or report. - Concepts the program doesn't need: a type, state, mode, or mechanism that exists for a case that never happens, or that two other concepts already cover - Speculative generality: an abstract base class or interface with one implementation, type parameters instantiated once, injection points no caller uses, configuration nobody sets. Propose the specific form, unless a second real instance exists - Dead code, found by tracing data flow: fields written and never read, returns every caller ignores, exports used only by tests. Static tools that match by name miss these - Mixed altitude: a unit that uses the vocabulary of two levels of abstraction, or a file whose order is not top-down. Load `/stratify` - Leaky boundaries and bad coupling: interfaces stated in implementation terms, callers that reach through a module, a lower layer importing a higher one, generic code branching on a specific case. Load `/encapsulate` - Duplication and multiple sources of truth: one decision implemented twice, one value stored or derived in two places, two paths into the same state (such as a bulk import that creates invoices without the validation the form runs). Load `/reuse` - Illegal states: booleans and optionals that encode a state machine, combinations that the code must guard against. Load `/outlaw-states` - Misplaced code: logic in the composition root or a command entry point that must be in a domain module, high-level policy mixed into a low-level layer, such as a discount rule inside the database client. Load `/relocate` - Names: jargon and imported metaphors, one concept under several names, a variable whose name differs from its type's (`client: InvoiceStore`). Load `/concretize`, and `/reconcile-language` when the vocabulary is unsettled - Repeated switches: the same switch over a kind in several files, such as a switch over payment method in checkout, refunds, and receipts, which a table of one handler per kind would replace - Parallel structures that differ for no reason: sibling adapters or handlers whose naming and shape diverge. Load `/homogenize` - Conventions callers must remember: a cache every writer must invalidate, a permission check every route must repeat. Propose returning what changed, or a type that makes the check unnecessary - Extra passes: a loop that reruns a deterministic step until its output stops changing, a second loop over the orders to sum what the first loop could have summed, a date formatted to a string and parsed back - Hand-rolled code: code that the standard library, an installed dependency, or the framework already provides, and code that works against the language's or the framework's idioms - Structural optionality: two allowed forms for one thing (a plugin as one file or a directory, a timeout in seconds or as a duration string) where one form would do These aren't exhaustive. Reason from first principles when none fits cleanly. # Fanning out Split the target into slices along package boundaries, sized so one subagent can read its slice in full. Give each subagent: - The repository path and the list of documented decisions from step 1, with the rule from "Principles" for findings that contradict one - Its slice, plus the callers it must read to judge boundaries
From TomerAberbach/claude-config, MIT.
More from TomerAberbach/claude-config
- 0.561score
allay
TomerAberbach
Settle an unnamed unease about a piece of code by naming the design defect behind it or ruling the unease unfounded, then handing off to the skill that fixes…
SkillAFreshness: AClaude Code +9 - 0.561score
concretize
TomerAberbach
Replace jargon and imported metaphors in code and prose with concrete, domain-fitting terms a reader understands without translation.
SkillAFreshness: AClaude Code +9 - 0.561score
homogenize
TomerAberbach
Make a set of things (code, prose, config, docs) consistent along a dimension the user names, by picking a canonical form and conforming every member to it.
SkillAFreshness: AClaude Code +9 - 0.561score
distill
TomerAberbach
Distill a body of data into a small artifact that keeps what matters: a research document, code that handles the data, a skill, a schema.
SkillAFreshness: AClaude Code +9 - 0.561score
encapsulate
TomerAberbach
Find interface boundaries that leak their implementation and close the leaks, so each module hides one coherent decision behind an interface stated in its…
SkillAFreshness: AClaude Code +9 - 0.557score
issue
TomerAberbach
Write, fill in, or update a GitHub issue, including an upstream bug report with a minimal reproduction, and judge replies to it.
SkillAFreshness: AClaude Code +9 - 0.557score
distill-transcripts
TomerAberbach
Distill a project's transcripts into proposals for eliminating repetitive work: skills, scripts, hooks, rules, or fixes to whatever causes the repetition.
SkillAFreshness: AClaude Code +9 - 0.551score
jj-describe
TomerAberbach
Write a description for the current `jj` commit.
SkillAFreshness: AClaude Code +9 - 0.523score
authoring-tests
TomerAberbach
Use when writing, reviewing, or modifying any test files, or when asked to add test coverage.
SkillBFreshness: BClaude Code +9 - 0.518score
audit
TomerAberbach
Audit something against a standard, check every item in scope, and report the findings and the coverage behind them.
SkillBFreshness: BClaude Code +9 - 0.518score
create-skill
TomerAberbach
Create a new Claude Code skill following the conventions of existing skills.
SkillBFreshness: BClaude Code +9 - 0.518score
editorialize
TomerAberbach
Do an editorial review of a post or article and report findings ordered by importance.
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 10, 2026 (21 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/TomerAberbach/claude-config
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from TomerAberbach
- 0.561score
distill
TomerAberbach
Distill a body of data into a small artifact that keeps what matters: a research document, code that handles the data, a skill, a schema.
SkillAFreshness: AClaude Code +9 - 0.561score
encapsulate
TomerAberbach
Find interface boundaries that leak their implementation and close the leaks, so each module hides one coherent decision behind an interface stated in its…
SkillAFreshness: AClaude Code +9 - 0.561score
concretize
TomerAberbach
Replace jargon and imported metaphors in code and prose with concrete, domain-fitting terms a reader understands without translation.
SkillAFreshness: AClaude Code +9 - 0.561score
homogenize
TomerAberbach
Make a set of things (code, prose, config, docs) consistent along a dimension the user names, by picking a canonical form and conforming every member to it.
SkillAFreshness: AClaude Code +9 - 0.561score
allay
TomerAberbach
Settle an unnamed unease about a piece of code by naming the design defect behind it or ruling the unease unfounded, then handing off to the skill that fixes…
SkillAFreshness: AClaude Code +9 - 0.557score
issue
TomerAberbach
Write, fill in, or update a GitHub issue, including an upstream bug report with a minimal reproduction, and judge replies to it.
SkillAFreshness: AClaude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get architecture-review running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
architecture-review skill. Agent Mart. https://agentmart.dev/skills/tomeraberbach-architecture-review (last updated 2026-10-24)