deepen
О программе
Навык `deepen` — это дополнительный этап рефакторинга, который выявляет поверхностные модули и предлагает улучшения дизайна для создания более глубоких абстракций с меньшими интерфейсами. Он сохраняет существующее поведение и прохождение тестов, одновременно предлагая явные правки в разделах реализации, верификации и тестирования. Разработчики могут активировать его с помощью фраз, таких как «углуби это» или «улучши дизайн», чтобы стратегически использовать доступные ресурсы для повышения качества кодовой базы.
Быстрая установка
Claude Code
Рекомендуетсяnpx skills add JuliusBrussee/blueprint -a claude-code/plugin add https://github.com/JuliusBrussee/blueprintgit clone https://github.com/JuliusBrussee/blueprint.git ~/.claude/skills/deepenСкопируйте и вставьте эту команду в Claude Code для установки этого навыка
Документация
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.
GitHub репозиторий
Часто задаваемые вопросы
Что такое Skill deepen?
deepen — это Claude Skill от JuliusBrussee. Skills объединяют инструкции и ресурсы, которые Claude загружает по мере необходимости, чтобы выполнять задачи, связанные с deepen, без дополнительных запросов.
Как установить deepen?
Используйте команды установки на этой странице: добавьте deepen в Claude Code как плагин или клонируйте репозиторий в каталог skills, затем перезапустите Claude, чтобы загрузить Skill.
К какой категории относится deepen?
deepen относится к категории Мета.
Можно ли использовать deepen бесплатно?
Да. deepen размещён на AIMCP и доступен для бесплатной установки.
Похожие навыки
Этот навык предоставляет проверенную в продакшене настройку для Content Collections — TypeScript-ориентированного инструмента, который преобразует файлы Markdown/MDX в типобезопасные коллекции данных с валидацией Zod. Используйте его при создании блогов, сайтов документации или контентных приложений на Vite + React для обеспечения типобезопасности и автоматической проверки содержимого. Он охватывает всё: от настройки плагина Vite и компиляции MDX до оптимизации развертывания и валидации схем.
Этот навык позволяет разработчикам создавать приложения на платформе прогнозных рынков Polymarket, включая интеграцию с API для торговли и получения рыночных данных. Он также обеспечивает потоковую передачу данных в реальном времени через WebSocket для отслеживания текущих сделок и рыночной активности. Используйте его для реализации торговых стратегий или создания инструментов, обрабатывающих обновления рынка в реальном времени.
Этот навык помогает разработчикам создавать плагины OpenCode, которые подключаются к более чем 25 типам событий, таким как команды, файлы и операции LSP. Он предоставляет структуру плагина, спецификации API событий и шаблоны реализации для модулей на JavaScript/TypeScript. Используйте его, когда вам нужно перехватывать, отслеживать или расширять жизненный цикл ассистента OpenCode AI с помощью пользовательской событийно-ориентированной логики.
SGLang — это высокопроизводительный фреймворк для обслуживания больших языковых моделей (LLM), специализирующийся на быстрой структурированной генерации JSON, regex и рабочих процессов агентов с использованием кэширования префиксов RadixAttention. Он обеспечивает значительно более высокую скорость вывода, особенно для задач с повторяющимися префиксами, что делает его идеальным для сложных структурированных результатов и многократных диалогов. Выбирайте SGLang вместо альтернатив, таких как vLLM, когда вам требуется ограниченное декодирование или вы создаете приложения с интенсивным совместным использованием префиксов.
