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

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

Удерживает правки агента строго в границах задачи. Защищает репозиторий от лишних рефакторингов и забытых мест вызова.

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

Что делает scoped-change

Скилл задаёт чёткие правила границ для ИИ-агента. По запросу модель правит только названные слои проекта. Соседний код остаётся нетронутым, даже если выглядит спорно: ассистент просто выпишет замечание в чат вместо правок в diff. Запрещаются лишние абстракции или слои обратной совместимости, если в проекте ещё нет пользователей со старыми данными.

Внутри очерченной границы скилл требует полноты. Агент обязан найти «соседей» изменённой сущности через поиск по коду: общие ключи локализации или карточки того же типа. Новый элемент обязан получить те же обязательные поля и соглашения об именовании, что и существующие рядом.

Порядок работы тоже регламентирован. Тесты фиксируют поведение только после того, как логика согласована, а не посреди обсуждения правок.

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

  • Ограничить diff задачи только запрошенными файлами и слоями
  • Предотвратить создание ненужных миграций и адаптеров обратной совместимости
  • Найти все связанные места вызова и общие интерфейсы перед сдачей кода
  • Исключить дублирование параллельных веток логики рядом со старыми

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

  • Сделай правку по тикету с правилом scoped-change, не трогая соседние компоненты
  • Добавь новый тип карточки в список согласно scoped-change, проверив все соседние реализации
  • Обнови эндпоинт авторизации по правилам scoped-change без создания лишних слоёв совместимости

Как установить scoped-change

1Через Skills CLI (Vercel)

npx skills add scarletkc/agents --skill scoped-change -a claude-code

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

~/.claude/skills/scoped-change/SKILL.md

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

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

Вопросы о scoped-change

Как установить scoped-change в Claude Code?

Выполните команду npx skills add scarletkc/agents --skill scoped-change -a claude-code. Файл инструкции сохранится в ~/.claude/skills/scoped-change/SKILL.md.

Зачем нужен скилл scoped-change?

Он не даёт модели выходить за границы поставленной задачи. Агент перестаёт самовольно переписывать соседние файлы, но при этом аккуратно обновляет все обязательные места внутри заданного контура.

Когда по правилам скилла нужно писать тесты?

Тесты и документацию пишут только после утверждения логики. Попытка зафиксировать тестами сырой или обсуждаемый код ведёт к лишним переписываниям.

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

SKILL.md · Apache-2.0
---
name: scoped-change
description: "Judgment rules for locating the correct boundary of a requested change: staying inert outside it while completing every required site inside it. Use when scope is ambiguous, a diff touches neighboring surfaces, required dependent edits are unclear, or a proposed compatibility layer, migration, fallback, flag, abstraction, or parallel implementation may exceed the request."
license: Apache-2.0
metadata:
  author: scarletkc
  source: https://github.com/scarletkc/agents
  summary: "Hold a change to the size the request defines: no unrequested surfaces, no speculative layers, no half-applied edits."
---

# Scoped Change

A change has one correct size and the request defines it. Overshooting and
undershooting are the same failure — a boundary that was never located —
and they fail differently: unrequested edits surface in review or in
production, missing edits surface as the user finding them. Locate the
boundary first, then be exhaustive inside it and inert outside it.

When the boundary is corrected mid-task, the result reads as though the
corrected scope were the only one there had ever been. A title, comment, or
rationale that keeps the dropped option alive re-imports the overshoot the
correction just removed, and the reader pays for it twice; what belongs in a
deliverable is
[`ux-writing`](https://github.com/scarletkc/agents/blob/main/skills/ux-writing/SKILL.md).

## Outside the boundary

- **Edit only the surfaces the request names.** A request that names one
  layer is a request about that layer, and the neighboring layers stay
  untouched even when they look wrong. Report what you noticed instead of
  fixing it; a separate observation is cheap, an entangled diff is not.
  *Counter-example: asked to adapt a backend endpoint to an existing signup
  form, an agent redesigned the form too, and the reviewer had to pull the
  two apart before either could ship.*
- **Compatibility is a cost, and someone must already be paying it.**
  Migrations, dual-read paths, deprecated aliases, and version shims are
  correct only when real users hold the old state. Establish that they exist
  before writing one; when they don't, a clean break is the smaller change.
  This is a question of fact, not caution. *Counter-example: an unreleased
  product with no installed base got a save-format migration path for data
  no user had ever written, and the dead branch still had to be maintained
  and tested.*
- **Reuse the existing implementation; never add a second one beside it.**
  If the project already renders this panel, formats this message, or awards
  this promotion, extend that path. A parallel implementation that looks
  correct is worse than an obvious gap, because it diverges silently and
  nothing fails when it does. *Counter-example: a new promotion banner was
  written from scratch next to the existing level-up banner; a release later
  only one of them had the new animation.*
- **Prefer changing an existing rule to adding one next to it.** A new
  constant, flag, or branch that coexists with the rule it was meant to
  replace leaves two sources of truth and doubles the states to reason
  about. *Counter-example: a request to restrict upgrades to a single branch
  arrived as a new second rule constant; narrowing the meaning of the
  original constant was the entire change.*
- **Solve the stated problem, not its general form.** Extension points,
  plugin layers, and configuration surfaces are worth building when a second
  caller exists, not when one is imagined. The simple implementation is the
  deliverable unless the request asked for the general one.

## Inside the boundary

- **Apply the change at every site it implies.** The requested behavior is
  the unit, not the file you happened to open. Before declaring it done,
  grep for the siblings of what you edited — the other cards of that type,
  the other localized strings of that key, the other callers of that helper
  — and confirm each one either changed or correctly didn't.
  *Counter-example: a new card type shipped without the category prefix that
  every other card's label carries, so it read as a different kind of object
  in the UI.*
- **Matching the siblings is part of the request, not extra scope.** A new
  item of an existing kind inherits that kind's required fields, naming
  convention, rarity or tier metadata, and text conventions without being
  told. Ask when the value is genuinely undetermined; don't ship the field
  missing. *Counter-example: a new entity landed without the rarity field
  every sibling declares, and only surfaced when a loader that groups by
  rarity silently dropped it.*

## When the boundary is unclear

- **Ask only for consequential boundary decisions.** If the requested boundary
  cannot be determined without making a consequential choice the user has not
  already made, ask before crossing it. Routine implementation decisions stay
  with the agent and must not become confirmation gates.

## Order of work

- **Lock behavior in tests once it is settled, not while it is moving.**
  Every behavior change still ships with happy-path and failure coverage;
  the point is sequence. Tests and docs written against logic that is still
  under discussion pin the wrong behavior and then argue for it, and the
  rewrite costs more than the wait. Get the logic confirmed, then cover it.

© scarletkc · Apache-2.0 · scarletkc/agents

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

Все скиллы по теме «Код-ревью и рефакторинг» →
improve-codebase-architecture Matt Pocock Скилл ищет архитектурные узкие места в кодовой базе и показывает варианты углубления модулей в HTML-отчёте. Подойдёт для ревью перед рефакторингом. 1 163 035установок tdd Matt Pocock Скилл управляет циклом красный-зелёный в TDD: проверяет, что тесты пишутся до кода, держит их на уровне публичных интерфейсов и не завязывает на внутреннюю структуру. 1 141 062установок triage Matt Pocock Скилл проводит issue и внешние PR через роли триажа, проверку и подготовку брифа для агента. Подойдёт мейнтейнеру, который разбирает очередь задач. 990 453установок codebase-design Matt Pocock Скилл помогает проектировать модули с небольшим интерфейсом и скрытой внутри сложностью. Подходит для рефакторинга, тестируемости и поиска чистого seam. 850 344установок code-review Matt Pocock Проверяет изменения от выбранной точки по стандартам репозитория и требованиям задачи. Нужен для ревью ветки, PR или незавершённой работы. 789 521установок implement Matt Pocock Выполняет задачу по спецификации или тикетам, ведёт работу через тесты и завершает её ревью с коммитом. Подходит для задач, где нужен дисциплинированный цикл разработки. 774 700установок

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

worktree-pr Скилл изолирует крупные или рискованные задачи в отдельном git worktree, сравнивает результат с исходным состоянием и готовит ветку к pull request. CX Codex +1 ★ 224звёзд репо ux-writing Скилл задаёт правила для пользовательских строк и документации: вывод CLI, ошибки, справка, README, комментарии и заголовки. Пригодится, когда правишь копирайт или структуру доков. CX Codex +1 ★ 224звёзд репо product-writing Скилл помогает писать и проверять интерфейсные тексты и техническую документацию. Пригодится для сообщений об ошибках, инструкций и описания поведения продукта. CX Codex +1 ★ 224звёзд репо marketing-copy Пишет посты о запуске, описания в сторах, заголовки лендингов и анонсы. Следит, чтобы в публичный текст не попали ключи, закрытые ссылки и невыпущенные фичи. CX Codex +1 ★ 224звёзд репо grok-cli Запускает Grok Build как отдельного агента для проверки, ревью или кодинга параллельно с ведущей моделью. Управляет фоновой сессией через ACP-клиент. CX Codex +1 ★ 224звёзд репо devin-cli Передаёт ограниченные задачи локальному Devin CLI через ACP и возвращает отчёт о ходе работы. Подходит для параллельной реализации, переноса и ревью. CX Codex +1 ★ 224звёзд репо codex-cli Скилл объясняет, когда передавать работу в Codex CLI и как подобрать модель, усилие и права песочницы. Для агента-супервизора, а не для самого Codex. CX Codex +1 ★ 224звёзд репо ask-to-plan Превращает смутную идею в чёткий план с помощью встроенных кнопок агента. Задаёт по одному вопросу за шаг, чтобы согласовать цели и стек до написания кода. CX Codex +1 ★ 224звёзд репо

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

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