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

anti-patterns — скилл для Claude Code: каталог антипаттернов SDLC

Справочник известных антипаттернов разработки, на которые агенты great_cto ссылаются, когда отклоняют архитектуру, план или код.

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

Что делает anti-patterns

Скилл даёт агенту словарь для отказа. Когда архитектор пишет ADR, продакт-менеджер разбивает задачи, разработчик тянется к «быстрому фиксу», а поддержка ищет причину инцидента, каталог подсказывает название проблемы. Вместо «так делать не стоит» агент говорит «это A-3, синхронная цепочка» — и с этим уже можно спорить по существу.

Внутри пять разделов. Архитектурные антипаттерны: god service, распределённый монолит, синхронные цепочки, преждевременная оптимизация, разработка ради резюме. Процессные: big-bang rewrite, культура героя, план без пути отката, задачи без таймбоксов. Кодовые: god class, строковые статусы, catch-and-continue, захардкоженные секреты. Отдельно — UI-антипаттерны вроде чипов без смысла и картинок-заглушек, и операционные: отсутствие SLO, спам алертами, поиск виноватого в постмортеме, снежинки-серверы.

У каждого пункта есть код (A-1, P-3, C-4), описание «чем пахнет», объяснение вреда и конкретное исправление. Скилл разрешает только Read, Grep и Glob — он ничего не меняет в проекте, лишь читает файлы по путям docs/**, src/** и lib/**. Каталог сам оговаривает, когда его не применять: хобби-проекты, учебные упражнения и одноразовый код с пометкой об удалении. Антипаттерны про масштаб, и на пет-проекте ссылка на A-2 будет выглядеть странно.

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

  • объяснить в ревью, почему распределённый монолит — это дорого
  • поймать god service до того, как он попал в архитектуру
  • отклонить big-bang rewrite и предложить strangler-fig
  • найти причину инцидента в известном антипаттерне
  • зафиксировать альтернативы в ADR, когда автор плана не согласен

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

  • Проверь этот ADR на антипаттерны и назови их кодами
  • Разбей фичу на задачи не длиннее четырёх часов с критериями готовности
  • Посмотри диф и скажи, есть ли тут catch-and-continue или строковые статусы

Как установить anti-patterns

1Через Skills CLI (Vercel)

npx skills add avelikiy/great_cto --skill anti-patterns -a claude-code

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

~/.claude/skills/anti-patterns/SKILL.md

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

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

Вопросы о anti-patterns

Как установить anti-patterns в Claude Code?

Выполните npx skills add avelikiy/great_cto --skill anti-patterns -a claude-code. Скилл встанет в ~/.claude/skills/anti-patterns/SKILL.md.

Что делает скилл anti-patterns?

Это справочный каталог антипаттернов SDLC с кодами, признаками и исправлениями. Агент ссылается на него, когда блокирует предложение по архитектуре, плану, коду или постмортему.

Когда anti-patterns не применяют?

Сам каталог исключает хобби-проекты, учебные упражнения и одноразовый код с явной пометкой об удалении. Антипаттерны описывают проблемы масштаба.

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

SKILL.md · MIT
---
name: anti-patterns
description: Catalogue of known SDLC anti-patterns that great_cto agents must actively reject when reviewing architecture, plans, code, or post-mortems. Used by architect (pre-impl), pm (planning), senior-dev (impl), l3-support (post-incident).
when_to_use: |
  Apply when:
  - architect is writing ARCH/ADR and might be tempted by a known bad pattern
  - pm is decomposing tasks and the breakdown smells like a known failure mode
  - senior-dev is implementing and considers a "quick fix" that is anti-pattern
  - l3-support is doing root-cause and finds an anti-pattern as the cause
  - any agent reviewing third-party code that exhibits anti-patterns
effort: low
allowed-tools: Read, Grep, Glob
paths:
  - "docs/**"
  - "src/**"
  - "lib/**"
---

# SDLC anti-patterns to reject

Reference catalogue. Cite the anti-pattern by name when blocking a
proposal — gives the user a clear vocabulary to discuss the issue.

## Architecture anti-patterns

### A-1. God service
**Smell:** One service does auth, billing, search, file storage, and email.
**Why bad:** Single deploy unit, single point of failure, every team
touches it, change velocity drops over time.
**Fix:** Split by business capability (DDD bounded context).

### A-2. Distributed monolith
**Smell:** 12 microservices but they share a database and deploy together.
**Why bad:** All cost of distributed (latency, eventual consistency, ops
overhead) with none of the benefits (independent deploy, isolation).
**Fix:** Either truly separate (own DB, own deploy pipeline) or merge.

### A-3. Synchronous chains
**Smell:** Request → Service A → Service B → Service C → Service D.
**Why bad:** Compound failure probability, p99 latency adds up.
**Fix:** Async with events, or co-locate hot path.

### A-4. Premature optimization
**Smell:** Custom Redis Lua scripts, hand-tuned binary protocols, before
the first paying user.
**Why bad:** Complexity cost paid up front, never recouped.
**Fix:** Start simple. Optimize when you have load data.

### A-5. Resume-driven development
**Smell:** "Let's use Kubernetes / GraphQL / event sourcing / DDD" with
no current pain it solves.
**Why bad:** Optimizes for engineer's resume, not user's outcome.
**Fix:** Ask "what's the simplest thing that could work?"

## Plan / process anti-patterns

### P-1. Big-bang rewrite
**Smell:** "Let's rewrite this in <new framework>."
**Why bad:** 80% of rewrites fail. The old system has years of bug fixes
baked in.
**Fix:** Strangler-fig. New behaviour in new code, old code coexists,
delete when traffic moves.

### P-2. Hero culture
**Smell:** "Senior X always fixes the 3am incidents."
**Why bad:** Bus factor 1. X burns out. Knowledge doesn't transfer.
**Fix:** Runbooks, post-mortems, rotating on-call, pair-debugging.

### P-3. No reversibility plan
**Smell:** Plan ships a one-way door (data migration, public API change,
breaking-contract release).
**Why bad:** If wrong, recovery is days or weeks.
**Fix:** Mandate dry-run + rollback path before approval.

### P-4. Plan without timeboxes
**Smell:** Tasks named "implement feature X" with no end criteria.
**Why bad:** Open scope, time inflates to fit.
**Fix:** Each task ≤ 4 hours, with explicit "done = X" criteria.

## Code-level anti-patterns

### C-1. God class / God function
**Smell:** A class > 500 lines or function > 100 lines doing 5 unrelated things.
**Why bad:** Tests become integration tests. Diff readability collapses.
**Fix:** Single responsibility. Extract collaborators.

### C-2. Stringly typed
**Smell:** Status passed as strings ("open", "closed", "blocked") with no enum.
**Why bad:** Typos compile. New status forgotten in switch.
**Fix:** Enum / discriminated union / branded type.

### C-3. Catch-and-continue
**Smell:**
```js
try { doThing(); } catch (e) { console.log(e); }
```
**Why bad:** Hides bugs. Silent corruption.
**Fix:** Catch only what you can handle; re-throw the rest; log with context.

### C-4. Hardcoded secrets
**Smell:** API keys, passwords, DB URLs in source.
**Why bad:** Leaks in git history forever; rotation requires force-push (impossible).
**Fix:** Env vars or secret manager. Pre-commit hook to grep for `sk-`, `ghp_`, etc.

## UI anti-patterns

Taken from Google AI Studio's guide to polishing generated interfaces (2026-09-16):
the fastest way to spot one is decoration that means nothing.

### U-1. Chips that mean nothing
**Smell:** Status pills, badges, counters and tags that no state drives — "New", "Beta",
"AI", "3 insights" on a screen where nothing is new, beta, or counted.
**Why bad:** The reader cannot tell signal from ornament, so a real warning in the same
visual language is ignored. It is the most reliable tell of a generated UI.
**Fix:** Each chip names its meaning and the state behind it, or it is removed.

### U-2. Placeholder imagery
**Smell:** Grey boxes, lorem photos, broken or hotlinked stock image URLs in a build
that is meant to be shown.
**Why bad:** The first impression is of an unfinished product; hotlinked assets break
or change without notice and may not be licensed.
**Fix:** Every image has a named source — generated for this product, owned, or
licensed — and is served from the product's own assets.

## Incident / ops anti-patterns

### O-1. No SLO
**Smell:** "Production seems slow today" but no SLO target.
**Why bad:** Can't tell breach from normal.
**Fix:** Set p99 latency, error rate, availability SLOs. Track burn.

### O-2. Alert spam
**Smell:** Every error pages. Engineers stop reading alerts.
**Why bad:** Real incidents get missed in noise.
**Fix:** Page only on user-visible failure. Other signals to dashboard, not pager.

### O-3. Post-mortem blame
**Smell:** "Engineer X deployed without testing."
**Why bad:** Suppresses future post-mortems. Blame doesn't fix the system.
**Fix:** Blameless post-mortems. Focus on missing guardrails, not the human.

### O-4. Snowflake servers
**Smell:** "Don't reboot SRV-PROD-3, it has special config that's not in IaC."
**Why bad:** Disaster recovery impossible.
**Fix:** Everything in IaC. Servers are cattle, not pets.

## How to use this catalogue

When you find one of these in a proposal/review:

1. Cite the code (A-3, P-1, etc.) so the user has a vocabulary
2. Quote the specific smell from the proposal
3. Propose the specific fix
4. If the user disagrees, capture as ADR with the alternatives section
   filled in

## When NOT to apply

- Hobby projects, learning exercises — anti-patterns are about scale
- Throwaway code with explicit `// TODO delete in 2 weeks`
- Time-boxed POCs where the goal is "does the API actually work"

© avelikiy · MIT · avelikiy/great_cto

Похожие скиллы

Все скиллы по теме «Код-ревью и рефакторинг» →
python-anti-patterns Seth Hobson Скилл-чеклист по типичным ошибкам в Python: разбирает код перед мержем и ловит грабли заранее. Пригодится на ревью и при отладке. CX Codex 13 278установок test-anti-patterns dotnet Анализирует тесты на антипаттерны: пустые проверки, перехватанные исключения, зависимость от порядка, магические значения. Работает с любым языком — выдаёт отчёт с ранжированием по серьёзности. CX Codex +1 4 400установок testing-anti-patterns bobmatnyc Скилл помогает находить ошибки в тестах: проверки поведения моков, тестовые методы в продакшене и неполные заглушки. CX Codex +1 368установок anti-slop rand Находит шаблонные следы ИИ в текстах, коде и интерфейсах и подсказывает, как их убрать. Пригодится перед сдачей сгенерированного материала. CX Codex +1 718установок m15-anti-pattern actionbook Ищет анти-паттерны в Rust-коде и предлагает более идиоматичные замены. Пригодится при ревью, рефакторинге и разборе проблем с владением. CX Codex +1 8 600установок

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

signing-preflight Проверяет до первого коммита, что ключ подписи загружен и разблокирован, и просит разблокировать его заранее. CX Codex +1 ★ 107звёзд репо prose-style Задаёт агентам стиль письма: вывод, факты, конкретика. Пригодится, когда отчёты читает занятой человек, а не парсер. CX Codex +1 ★ 107звёзд репо pm-planning Превращает утверждённый документ архитектуры в список задач Beads с зависимостями, оценками и критериями приёмки. Нужен, когда pm-агент готовит план для senior-dev. CX Codex +1 ★ 107звёзд репо observability-baseline Добавляет в новый сервис перехват ошибок в Sentry, структурные логи с request_id и эндпоинты /healthz и /readyz. Пригодится, когда проект только собирается и первый сбой в проде не должен остаться незамеченным. CX Codex +1 ★ 107звёзд репо great_cto Скилл превращает Claude в оркестратора: CTO описывает задачу словами, а агенты сами проходят этапы пайплайна. Пригодится тем, кто ведёт проект целиком через агента. CX Codex +1 ★ 107звёзд репо deploy-landed Скилл проверяет, что на сервере работает именно нужный коммит, переменные окружения на месте и продукт выполняет свою работу. Пригодится после деплоя, рестарта или правки на сервере. CX Codex +1 ★ 107звёзд репо cost-model Задаёт единый формат раздела о стоимости в планах и архитектурных документах. Нужен, когда отчёт называет экономию и её придётся защищать. CX Codex +1 ★ 107звёзд репо brainstorming Прогоняет сырую продуктовую идею через три шага: генерация разных ставок, спор четырёх персон на четырёх моделях в два раунда, синтез решения. CX Codex +1 ★ 107звёзд репо

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

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