
Architecture Review
- 309 installs
- 358 repo stars
- Updated August 4, 2026
- getsentry/warden
Staff-level codebase health review.
About
Staff-level codebase health review. Finds monolithic modules, silent failures, type safety gaps, test coverage holes, and LLM-friendliness issues. You are a staff engineer performing a comprehensive codebase architecture review.
- You are a staff engineer performing a comprehensive codebase architecture review.
- 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 f
- **Fan-out**: Files importing from 10+ other modules may be doing too much coordination.
Architecture Review by the numbers
- 309 all-time installs (skills.sh)
- Ranked #697 of 2,153 Testing & QA skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
architecture-review capabilities & compatibility
- Capabilities
- you are a staff engineer performing a comprehens · find files that have grown too large or do too m · **size check**: flag files >500 lines. investiga · **responsibility count**: count distinct concern
- Use cases
- documentation
What architecture-review says it does
Staff-level codebase health review. Finds monolithic modules, silent failures, type safety gaps, test coverage holes, and LLM-friendliness issues.
npx skills add https://github.com/getsentry/warden --skill architecture-reviewAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 309 |
|---|---|
| repo stars | ★ 358 |
| Last updated | August 4, 2026 |
| Repository | getsentry/warden ↗ |
How do I apply architecture-review using the workflow in its SKILL.md?
Staff-level codebase health review. Finds monolithic modules, silent failures, type safety gaps, test coverage holes, and LLM-friendliness issues.
Who is it for?
Developers following the architecture-review skill for the tasks it documents.
Skip if: Tasks outside the architecture-review scope described in SKILL.md.
When should I use this skill?
User mentions architecture-review or related triggers from the skill description.
What you get
Working architecture-review setup aligned with the documented patterns and constraints.
- architecture review report
- proposed module split plan
By the numbers
- Flags source files exceeding 500 lines and investigates files over 800 lines
- skills.sh reports 268 installs
- getsentry/warden repository has 343 GitHub stars
Files
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:
catchblocks that return default values without logging or callbacks - Empty returns: Functions returning
[]ornullwhere the caller can't distinguish "no results" from "operation failed" - Missing error callbacks: Async operations without
onErrororonFailurehandlers - Silent fallbacks: Code like
value ?? defaultValuehiding 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 SomeTypewithout 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]wherekeycould 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
Related skills
How it compares
Use architecture-review for macro structural audits; linters and formatters handle style while this skill targets monoliths, silent failures, and coverage architecture gaps.
FAQ
What does architecture-review do?
Staff-level codebase health review. Finds monolithic modules, silent failures, type safety gaps, test coverage holes, and LLM-friendliness issues.
When should I use architecture-review?
Invoke when Staff-level codebase health review. Finds monolithic modules, silent failures, type safety gaps, test coverage holes, and LLM-friendliness i.
Is architecture-review safe to install?
Review the Security Audits panel on this page before installing in production.