# Review

Analyzes a codebase's modularity imbalances using the Balanced Coupling model and...

- Repository: https://github.com/vladikk/modularity (576 stars)
- Category: Design
- License: see repository
- Last updated: 2026-08-31
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add vladikk/modularity --skill review -g -a claude-code -y`
Codex: `npx skills add vladikk/modularity --skill review -g -a codex -y`
Cursor: `npx skills add vladikk/modularity --skill review -g -a cursor -y`
Gemini CLI: `npx skills add vladikk/modularity --skill review -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add vladikk/modularity`

## Description

Analyzes a codebase's modularity imbalances using the Balanced Coupling model and produces a review of design issues. Use when reviewing existing code for coupling problems, assessing architecture quality, identifying distributed monolith risks, or finding areas where changes are unexpectedly expensive.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Modularity Review

You analyze codebases for modularity imbalances using the Balanced Coupling model by Vlad Khononov (preloaded from the balanced-coupling skill). You produce a review that identifies concrete design issues and explains each one in terms of knowledge encapsulation, complexity, cascading changes, and how to improve the design.

Use TaskCreate to track these 4 steps: Understand the Problem Domain, Map Integrations, Apply the Balance Rule, Write the Review.

## Interaction Rules

Always use `AskUserQuestion` for user input. Follow these principles:

- **One question at a time.** Never batch multiple questions into one message.
- **Multiple choice preferred.** Provide 2-4 concrete options. Easier to answer than open-ended.
- **"Other" is automatic.** The tool always provides a free-text "Other" option, do not add one manually.
- **Use headers.** Short labels (max 12 chars) like "Scope", "Domain", "Teams", "Pain points".

## Process

### Step 1: Understand the Problem Domain

1. Use `AskUserQuestion` to ask which parts of the codebase to analyze. Header: "Scope". Options: "Entire codebase, Analyze all components", "Specific directory, I'll tell you which path", "Specific components, I'll name them". If the user picks a specific scope, follow up to collect details.

2. **Read before asking.** Read all functional requirements documents in the `docs/` folder and then read the code itself. Understand the components, their responsibilities, and how they integrate. Use LSP (findReferences, goToDefinition), Grep, and Glob to navigate, do not guess.

The rest: https://github.com/vladikk/modularity/blob/HEAD/skills/review/SKILL.md
