К основному содержанию
скилл CX Codex

deepen — скилл для Claude Code: что делает и как установить

Находит поверхностные модули с громоздкими интерфейсами и проектирует глубокую архитектуру. Запускается, когда тесты зелёные и остался неизрасходованный бюджет токенов.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add JuliusBrussee/cavekit --skill deepen -a claude-code
Открыть на GitHub

Что делает deepen

Скилл ищет в затронутых задачей файлах так называемые поверхностные модули (shallow modules). Это классы и функции, чей интерфейс столь же сложен, как и внутренняя реализация: сквозные методы, аргументы с кучей флагов или дублирование абстракций. За один проход инструмент берёт ровно один проблемный участок, чтобы не устраивать хаотичный рефакторинг по всему репозиторию.

Работа идёт в пять шагов: выбор модуля, точный диагноз дефекта со ссылкой на строку, поиск подходящего паттерна, подготовка правок спецификации (§I, §V, §T) и сверка тестов. Скилл сам не переписывает файлы проекта, а лишь формулирует изменения для передачи агенту спецификаций. Если подключён скилл codebase-design, deepen опирается на его терминологию.

Главное ограничение — поведение системы неприкосновенно. Тесты обязаны проходить до начала работы и после неё. Запускать deepen в разгаре разработки фичи или перед дедлайном бессмысленно, потому что скилл рассчитан на спокойную зачистку архитектурного долга за счёт лишнего лимита токенов.

Какие задачи решает

  • скрыть детали реализации за лаконичным интерфейсом
  • найти методы-прослойки и утечки конфигурации в коде
  • сформулировать правки §I, §V и §T для спецификации без изменения поведения
  • убрать эффект лавинообразных правок по множеству файлов

Примеры запросов агенту

  • /ck:deepen
  • найди поверхностный интерфейс в затронутом коде и спрячь сложность внутри
  • исследуй архитектуру модуля и подготовь правки интерфейса через /ck:deepen

Как установить deepen

1Через Skills CLI (Vercel)

npx skills add JuliusBrussee/cavekit --skill deepen -a claude-code

2Вручную: положить файлы

~/.claude/skills/deepen/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/deepen/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора9

caveman Скилл переводит записи в SPEC.md и рядом с ним на телеграфный «пещерный» язык. Токенов уходит примерно на 75% меньше, чем в обычной прозе. CX Codex +1 2 800установок check Скилл читает SPEC.md и сравнивает его с кодом. Ничего не пишет, только сообщает о расхождениях по степеням важности. CX Codex +1 2 700установок spec Создаёт и обновляет файл SPEC.md в корне проекта, фиксируя цели, инварианты, задачи и найденные баги в лаконичном стиле caveman. CX Codex +1 2 700установок build Выполняет задачи из SPEC.md по схеме «план, реализация, проверка». Подходит для работы с конкретной задачей §T или очередью незавершённых задач. CX Codex +1 2 700установок backprop Скилл превращает исправление багов в обновление спецификации SPEC.md. Агент находит причину ошибки, формулирует проверяемый инвариант, пишет падающий тест и фиксирует всё одним коммитом. CX Codex +1 2 600установок grill Задаёт точечные вопросы по одному за раз, чтобы отсеять слабые места в идее фичи до составления спецификации. CX Codex +1 793установок review Проводит враждебную ревизию спецификации до того, как написан код. Строит скептичного рецензента и пытается опровергнуть план, а не подписать его. CX Codex +1 787установок research Собирает факты из документации и RFC во внешний журнал §R со ссылками на источники, чтобы агент не выдумывал поведение библиотек. CX Codex +1 786установок

Похожие

singleton-pattern patterns.dev Обучает реализации паттерна «Одиночка» в JavaScript и TypeScript для создания единого экземпляра класса. Пригодится при настройке общих ресурсов или глобальной конфигурации. CX Codex +1 637установок improve shadcn Анализирует кодовую базу в режиме чтения и создаёт автономные пошаговые планы для других агентов. Помогает найти баги, долги архитектуры и проблемы безопасности без правки файлов. CX Codex +1 37 700установок thermo-nuclear-code-quality-review cursor Строго проверяет поддерживаемость кода, качество абстракций и рост условной логики. Нужен для глубокого аудита изменений и структуры проекта. CX Codex +1 22 200установок simplify brianlovin Переписывает код, который вы только что написали: снимает лишнюю вложенность, дубли и неудачные имена. Поведение программы остаётся прежним. CX Codex +1 20 100установок principal-engineering riekelt Скилл задаёт строгие инженерные правила перед правками: запрещает заглушать ошибки, требует чекпоинт рисков и проверку работы реальным кодом, а не догадками. CX Codex +1 18 000установок documenting-legacy-codebases riekelt Скилл восстанавливает документацию по коду, когда старые доки устарели или врут. Сначала инвентаризация системы, потом текст. CX Codex +1 17 900установок

Рядом в теме «Код-ревью и рефакторинг»

Всё по теме «Код-ревью и рефакторинг» →

Вопросы о deepen

Как установить deepen в Claude Code?

Выполните в терминале команду npx skills add JuliusBrussee/cavekit --skill deepen -a claude-code.

Что делает скилл deepen?

Он анализирует затронутый код, выбирает один модуль с раздутым интерфейсом и предлагает архитектурные правки, скрывая внутреннюю логику от вызывающего кода.

Можно ли запускать deepen, если тесты падают?

Нет, скилл требует зелёного набора тестов как до начала рефакторинга, так и после него.

Исходный текст

SKILL.md · MIT
---
name: deepen
description: |
  Optional design-improvement pass for when you have spare usage to drain. Finds
  the shallowest modules in the code the spec touches, researches a deeper
  design, and proposes refactors that shrink interfaces and hide decisions —
  behavior held constant, tests green before and after. Proposes §I/§V/§T edits,
  never silent rewrites. Triggers when the user says "deepen this", "improve the
  design", "this module feels shallow", "pull complexity down", "use spare
  budget on the codebase", or invokes /ck:deepen. Leans on the codebase-design
  skill's deep-module vocabulary when present.
---

# deepen — make modules deep

**Behavior is sacred: tests green before AND after. Every change shrinks an interface or hides a decision — deepen, don't churn.**

A **deep module** hides a lot behind a small interface; a **shallow** one's
interface costs as much to use as writing the code yourself. Complexity =
dependencies + obscurity, and it compounds. Deepen spends spare usage paying
that down *before* it becomes a §B. Run it when the build is green & you have
budget to drain — not under deadline.

## WHEN TO DEEPEN

- Build is green, tests pass, & you have token budget spare.
- A module's interface feels as complex as its implementation (shallow smell).
- The same change keeps touching many files (change amplification).
- User explicitly asks to improve design quality.

⊥ run mid-feature or under pressure. Deepen is the deliberate pass, not the reflex.

## FIVE STEPS

### 1. PICK THE SHALLOW
Scan the modules the spec touches. Rank by shallowness — interface surface vs
work done. Pick the **one** worst offender. Tells:
- Pass-through method that only forwards to one other (shallow layer).
- Caller must set 5 flags right to use it (config leakage).
- Same abstraction repeated at two layers (no information hiding).
- A `?` or §B that traces back to a confusing interface.

One module per pass. Deepening is surgical, ⊥ a codebase sweep.

### 2. DIAGNOSE
Name the design defect in caveman, citing file:line:
> src/auth/token.go: 6-arg ctor leaks rotation policy to every caller. shallow.
Complexity is real only if it shows: change amplification, high cognitive load,
or an unknown-unknown (caller must know a hidden fact to call it right).

### 3. RESEARCH THE DEEPENING
What does a deeper version look like? Pull a known pattern (hand to **research**
for the external case → §R) or derive from the codebase's own better modules.
Moves that deepen:
- **Pull complexity down** — hide the hard part inside, give callers the simple path.
- **Define errors out of existence** — design the interface so the edge can't occur.
- **Information hiding** — one decision, one module; callers don't learn it.
- **General-purpose interface** over a pile of special-case methods.

### 4. PROPOSE
Draft the change as spec edits, not a silent rewrite:
- New/simpler §I shape for the module.
- §V that locks the deepened invariant so a future build can't re-shallow it.
- §T refactor row(s), each citing the §V/§I it serves.
Hand to **spec** to write. Show the before/after interface so the user sees the shrink.

### 5. VERIFY BEHAVIOR HELD
Refactor ≠ rewrite. Full suite green before you start AND after. A deepening that
changes behavior is a feature in disguise — stop, route through `/spec` + `/build`.
New interface gets a test proving the old callers still work.

## WHEN TO STOP

Done when the chosen module's interface is strictly smaller, its hidden decision
no longer leaks, tests are green, and §I/§V record the new shape. One module
deepened beats five churned. Budget left → pick the next shallowest, fresh pass.

## BOUNDARIES

- ⊥ change behavior. Green before, green after. Pure structure.
- ⊥ write SPEC.md. Propose §I/§V/§T; spec writes.
- ⊥ deepen more than one module per pass.
- ⊥ run under deadline or mid-feature. This is the spare-budget pass.
- ⊥ add abstraction for single-use code. A deep module earns its hiding; a speculative one is just more surface.

© JuliusBrussee · MIT · JuliusBrussee/cavekit

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой