MCPInstall

seam-ripper

Ruthlessly analyze architectural seams—the interfaces, boundaries, and contracts between system components—to expose coupling problems, abstraction leaks, and design failures. Use when asked to review architecture, analyze coupling, find interface problems, improve module boundaries, audit dependencies, or redesign system structure. Produces uncompromising redesign proposals that prioritize correctness over backwards compatibility.

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

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/petekp/claude-code-setup --skill seam-ripper
  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 seam-ripper 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.

Seam Ripper

Systematically dissect a codebase's internal architecture to expose where it's wrong and propose what's right.

Principles

No sacred cows. Existing patterns are evidence of past decisions, not correct ones.

Seams reveal truth. How components connect exposes what the system actually is, not what documentation claims.

Backwards compatibility is not a constraint. The goal is correct architecture. Migration is a separate problem.

Complexity is guilt until proven innocent. Every abstraction, indirection, and interface must justify its existence.

Execution

Phase 1: Map the Terrain

Build a complete picture of the system's internal structure before judging it.

  1. Identify all modules/packages/namespaces - List every bounded unit of code
  2. Trace import/dependency graphs - What depends on what, and why
  3. Catalog public interfaces - Every exported function, class, type, constant
  4. Find the data contracts - Shared types, DTOs, schemas that cross boundaries
  5. Locate the integration points - Where modules actually talk to each other

Output a dependency map showing:

  • Module → Module edges with dependency reason
  • Circular dependencies (immediate red flags)
  • Fan-in/fan-out counts per module

Phase 2: Interrogate Each Seam

For every boundary identified, answer these questions:

Interface Clarity

  • Can you understand what this module does from its public interface alone?
  • Are there "util" or "helper" exports? (smell: no clear responsibility)
  • Does the interface expose implementation details?

Dependency Direction

  • Does this dependency make conceptual sense?
  • Is a "lower-level" module depending on a "higher-level" one?
  • Would inverting this dependency simplify both sides?

Coupling Assessment

  • How many other modules break if this interface changes?
  • Is the coupling through data, behavior, or both?
  • Could this be an event/message instead of a direct call?

Abstraction Integrity

  • Does this interface leak implementation details?
  • Are callers doing work that belongs inside the module?
  • Are there multiple ways to accomplish the same thing?

Contract Stability

  • How often has this interface changed historically?
  • Are there versioned interfaces or deprecation warnings? (smell: unstable contract)
  • Do tests mock this interface? (evidence of coupling pain)

Phase 3: Identify Patterns of Failure

Look for these systemic problems:

PatternSymptomsWhat's Actually Wrong
God ModuleEverything imports it, huge public APIMissing domain boundaries
Shotgun SurgeryOne change requires edits across many modulesResponsibility scattered
Feature EnvyModule A constantly reaches into Module B's dataWrong ownership of data/behavior
Inappropriate IntimacyTwo modules share private detailsShould be one module or have explicit contract
Middle ManModule just delegates to anotherUnnecessary indirection
Parallel HierarchiesAdding X requires adding Y in another moduleMissing abstraction
Speculative GeneralityInterfaces for flexibility never usedPremature abstraction
Dead AbstractionInterface with one implementation foreverAbstraction without purpose

Phase 4: Propose the Redesign

For each significant problem, provide:

1. The Indictment State clearly what is wrong and why it matters. Be specific:

  • "Module X has 47 public exports and is imported by 23 other modules"
  • "The User type is defined in core but has fields only used by billing"

2. The Correct Architecture Describe what it should look like:

  • Clear module boundaries with stated responsibilities
  • Dependency direction that follows conceptual hierarchy
  • Interfaces that expose intent, not implementation

3. The Transformation Concrete steps to get from wrong to right:

  • What moves where
  • What gets split or merged
  • What interfaces change
  • What new abstractions emerge

4. The Evidence Explain why this is better:

  • Reduced coupling (quantify: N imports → M imports)
  • Clearer responsibilities
  • Easier to test, extend, or replace

Output Format

# Seam Analysis: [System/Area Name]

## Dependency Map
[Visual or textual representation of module dependencies]

## Critical Findings

### Finding 1: [Problem Name]
**Location:** [modules/files involved]
**Severity:** Critical | High | Medium
**Pattern:** [which failure pattern]

**Evidence:**
[Specific code/structure references]

**Indictment:**
[Clear statement of what's wrong]

**Redesign:**
[Proposed correct architecture]

**Transformation:**
1. [Step]
2. [Step]
...

### Finding 2: ...

## Recommended Architecture

[Overall vision for how the system should be structured]

## Transformation Sequence

[Ordered list of changes, grouped by logical phases]

Red Lines

Refuse to:

  • Propose "incremental improvements" that preserve broken architecture
  • Accept "but it works" as justification for poor design
  • Recommend adapters/facades that hide problems instead of fixing them
  • Preserve interfaces just because they're widely used

Always:

  • Name the actual problem, not a symptom
  • Propose the correct design, not a compromise
  • Quantify coupling and complexity where possible
  • Explain the conceptual model that makes the redesign correct

FAQ

What does the seam-ripper skill do?

Ruthlessly analyze architectural seams—the interfaces, boundaries, and contracts between system components—to expose coupling problems, abstraction leaks, and design failures. Use when asked to review architecture, analyze coupling, find interface problems, improve module boundaries, audit dependencies, or redesign system structure. Produces uncompromising redesign proposals that prioritize correctness over backwards compatibility.

How do I install seam-ripper?

Run npx skills add https://github.com/petekp/claude-code-setup --skill seam-ripper 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/seam-ripper/ (personal) or .claude/skills/seam-ripper/ (project).

Which AI agents can use seam-ripper?

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 seam-ripper 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 seam-ripper?

It is published by petekp in petekp/claude-code-setup. It has 42 recorded installs.

More from petekp/claude-code-setup

View all →

code-comments

petekp/claude-code-setup

Write, review, or remove code comments. Use when adding comments or doc comments, reviewing the comments in a diff, or cleaning up or removing comments.

deep-research

petekp/claude-code-setup

Investigate a question that requires sustained research across sources and produce cited findings. Use for deep research requests; skip ordinary lookups and single-document reviews.

exhaustive-systems-analysis

petekp/claude-code-setup

Open the skill to read its SKILL.md instructions.

173 installs

typography

petekp/claude-code-setup

Apply professional typography principles to create readable, hierarchical, and aesthetically refined interfaces. Use when setting type scales, choosing fonts, adjusting spacing, designing text-heavy layouts, implementing dark mode typography, or when asked about readability, font pairing, line height, measure, typographic hierarchy, variable fonts, font loading, or OpenType features.

Frontend & Design158 installs

claude-code-audit

petekp/claude-code-setup

Forensic audit of the user's recent Claude Code sessions to surface step-change workflow improvements — not marginal ones. Use when the user asks to "audit my Claude Code sessions", "analyze how I use Claude Code", "find patterns in my usage", "improve my Claude Code workflow", "review my sessions", "find leverage in my setup", or wants to understand where their Claude Code setup is leaking time. Samples dozens of real transcripts, extracts quantitative signal via scripts, uses parallel subagents for deep reads, then synthesizes into a short prioritized report with drafted implementations (new skills, CLAUDE.md rules, hooks, settings diffs) that the user can install directly. Trigger even when the user doesn't say the word "audit" — if they're asking about improving or reviewing their Claude Code habits at scale, use this skill.

Security130 installs

literate-guide

petekp/claude-code-setup

Create a narrative guide to a codebase or feature in the style of Knuth's Literate Programming — code and prose interwoven as a single essay, ordered for human understanding rather than compiler needs. Use when the user asks to 'explain this codebase as a story', 'write a literate guide', 'create a narrative walkthrough', 'tell the story of this code', 'Knuth-style documentation', 'weave a guide for this feature', or when they want deep, readable documentation that treats the program as literature. Also trigger when someone wants a document that a thoughtful reader could follow from start to finish and come away understanding both WHAT the code does and WHY every design choice was made.

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.