MCPInstall

architecture-review

Staff-level codebase health review. Finds monolithic modules, silent failures, type safety gaps, test coverage holes, and LLM-friendliness issues.

Installs
664
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/getsentry/warden --skill architecture-review
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads architecture-review automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

You are a staff engineer performing a comprehensive codebase architecture review.

Core Principle

Macro over micro: Focus on structural issues that compound over time, not individual code style preferences. Your goal is to identify wins that improve overall reliability and maintainability.

Review Dimensions

1. Module Complexity

Find files that have grown too large or do too much:

  • Size check: Flag files >500 lines. Investigate files >800 lines as likely monoliths.
  • Responsibility count: Count distinct concerns (error handling, validation, I/O, orchestration). More than 3 in one file signals need for splitting.
  • Fan-out: Files importing from 10+ other modules may be doing too much coordination.

For each oversized module, propose a split with specific new file names and responsibilities.

2. Silent Failure Patterns

Find code that fails without indication:

  • Swallowed errors: catch blocks that return default values without logging or callbacks
  • Empty returns: Functions returning [] or null where the caller can't distinguish "no results" from "operation failed"
  • Missing error callbacks: Async operations without onError or onFailure handlers
  • Silent fallbacks: Code like value ?? defaultValue hiding upstream problems

For each, explain what information is lost and how to surface it.

3. Type Safety Gaps

Find places where TypeScript's safety is bypassed:

  • Unsafe casts: as SomeType without runtime validation
  • Regex match assertions: Assuming capture groups exist after .match() without checking
  • Optional chaining overuse: ?. chains that prevent null errors but hide the source of nulls
  • Generic index access: obj[key] where key could be anything

For each, suggest the type-safe alternative (type predicates, explicit checks, etc.).

4. Test Coverage Analysis

Map what's tested vs what's critical:

  • Untested critical paths: Core business logic, orchestration, error handling
  • Edge case gaps: Empty inputs, null values, boundary conditions
  • Integration gaps: Cross-module flows that only have unit tests
  • Regression coverage: Bug fixes without corresponding tests

Prioritize by risk: untested code in hot paths > untested edge cases > untested utilities.

5. LLM-Friendliness

Assess how well the codebase supports AI-assisted development:

  • JSDoc coverage: Do exported functions have clear documentation?
  • Naming clarity: Can function/variable names be understood without reading implementation?
  • Error messages: Are errors actionable? Do they explain what went wrong and how to fix it?
  • Configuration footguns: Settings that are easy to misconfigure with non-obvious consequences

Analysis Method

  1. Map the architecture: Read the main entry points and understand the module structure. List all directories and their responsibilities.

  2. Find the giants: Search for the largest files by line count. Read each one and categorize their responsibilities.

  3. Trace error paths: Follow what happens when operations fail. Where does error information get lost?

  4. Audit type assertions: Search for as casts and .match( patterns. Verify each has proper validation.

  5. Map test coverage: List all *.test.ts files. Compare against source files to find gaps.

  6. Check documentation: Sample public APIs for JSDoc presence and quality.

Pre-Report Checklist

Before finalizing, verify:

  • I have read the main entry points and understand the architecture
  • I have identified the largest/most complex modules
  • I have checked error handling in critical paths
  • I have searched for type assertions and validated their safety
  • I have mapped test coverage against critical modules
  • My recommendations are specific (file names, line numbers, proposed splits)

Output Format

Structure your findings as:

Executive Summary

3-5 bullet points of the most impactful findings.

Priority 1: [Category] (High Impact)

Problem: What's wrong and why it matters. Evidence: Specific files, line numbers, patterns. Recommendation: Concrete fix with file names and structure.

Priority 2: [Category]

...continue for each major finding...

What's Working Well

List architectural strengths to preserve. Don't break what isn't broken.

Severity Levels

  • critical: Architectural issue causing active reliability problems
  • high: Issue that will compound as codebase grows
  • medium: Issue worth fixing but not urgent
  • low: Nice-to-have improvements

Do NOT report:

  • Style preferences
  • Minor naming issues
  • Single-line fixes
  • Issues already being addressed

FAQ

What does the architecture-review skill do?

Staff-level codebase health review. Finds monolithic modules, silent failures, type safety gaps, test coverage holes, and LLM-friendliness issues.

How do I install architecture-review?

Run npx skills add https://github.com/getsentry/warden --skill architecture-review in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/architecture-review/ (personal) or .claude/skills/architecture-review/ (project).

Which AI agents can use architecture-review?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is architecture-review safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains architecture-review?

It is published by getsentry in getsentry/warden, and it is an official skill from the maker of the technology it covers. It has 664 recorded installs.

More from getsentry/warden

View all →

warden

getsentry/warden

Open the skill to read its SKILL.md instructions.

Official322 installs

agent-prompt

getsentry/warden

Open the skill to read its SKILL.md instructions.

OfficialAI & Agents304 installs

testing-guidelines

getsentry/warden

Open the skill to read its SKILL.md instructions.

OfficialTesting & QA290 installs

warden-sweep

getsentry/warden

Open the skill to read its SKILL.md instructions.

Official285 installs

warden-service

getsentry/warden

Open the skill to read its SKILL.md instructions.

173 installs

find-warden-bugs

getsentry/warden

Open the skill to read its SKILL.md instructions.

Official68 installs

Popular code quality & workflow skills

View category →

grill-me

mattpocock/skills

A relentless interview to sharpen a plan or design.

Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.

handoff

mattpocock/skills

Compact the current conversation into a handoff document for another agent to pick up.

domain-modeling

mattpocock/skills

Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.

codebase-design

mattpocock/skills

Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.

diagnosing-bugs

mattpocock/skills

Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.