вариант

Этот навык следует применять, когда пользователь просит «упростить код», «привести код в порядок», «провести рефакторинг для большей ясности», «снизить сложность», «повысить читаемость», «упростить обслуживание» или просит упростить недавно измененный код.

...Расширить все
70
Обновлено время 2 июля 2026 г.

О code-simplify

Навык « code-simplify » предназначен для упрощения существующего кода с сохранением его поведения во время выполнения, публичных интерфейсов, побочных эффектов и функционального назначения. Он помогает разработчикам снизить сложность, повысить читаемость и облегчить сопровождение кода без внесения функциональных изменений. Скилл ориентирован на безопасный и целенаправленный рефакторинг, а не на масштабную переработку кода, обеспечивая стабильность входных и выходных данных, поведения при ошибках и внешних контрактов, на которые полагается код. Он предназначен для ситуаций, когда код стал труднопонятным, чрезмерно вложенным, дублирующимся или неоправданно сложным.

Навык определяет подходящую область применения на основе указанных пользователем целей, недавно измененных файлов или изменений в репозитории. Он анализирует окружающий контекст, чтобы установить базовые параметры поведения перед внесением изменений. Упрощение осуществляется посредством структурированного процесса, который включает в себя упрощение потока управления, повышение ясности именования, сокращение дубликатов, реструктуризацию сложных преобразований данных на более понятные этапы, а также повышение ясности типов или контрактов там, где это уместно. Рабочий процесс делает акцент на небольших, обратимых правках и следует существующим проектным конвенциям, линтерам, форматировщикам и тестам. Правила безопасности предотвращают изменения, влияющие на поведение, такие как преобразование синхронных API в асинхронные, удаление операционных мер безопасности или изменение внешних интерфейсов без явных указаний.

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

Часто задаваемые вопросы

Когда следует использовать этот навык?

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

Изменяет ли этот навык поведение приложения или публичные API?

Нет. Этот навык разработан с целью сохранения поведения во время выполнения, публичных контрактов, побочных эффектов, входных и выходных данных, а также семантики ошибок, на которую полагаются внешние компоненты.

Требует ли этот навык репозитория Git?

Да. Рабочий процесс начинается с проверки контекста репозитория. Если текущий каталог не является репозиторием Git, процесс останавливается и запрашивает запуск из репозитория.

Как навык определяет, какие файлы следует изменить?

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

Существуют ли какие-либо ограничения на типы выполняемого рефакторинга?

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

Посмотреть на GitHub

Code Simplify

Objective

Simplify code while preserving behavior, public contracts, and side effects. Favor explicit code and local clarity over clever or compressed constructs.

Arguments

  • Paths, patterns, a commit/range, or a scope phrase: used in Scope Resolution step 2.
  • --no-report: Skip the full user-facing report and return terse working notes for the caller.
  • --no-verify: Skip verification because a parent orchestrator will verify the final result separately.
  • Default: verify touched behavior and present the full report.

Scope Resolution

Resolve scope once, then treat the result as fixed for the rest of the run.

  1. Verify repository context: git rev-parse --git-dir. If this fails, stop and tell the user to run from a git repository.
  2. If the request names targets — file paths/patterns, a commit/range, a natural-language subset (e.g. "the parser changes"), or a resolved-scope fenced block with one repo-relative path per line — scope is exactly those targets. Map natural-language subsets to concrete paths before continuing.
  3. Otherwise, scope is only session-modified files: files created or edited earlier in this session. Do not include other uncommitted changes.
  4. If there are no session-modified files, or earlier conversation history is not visible in this context, fall back to all uncommitted files, running each command once:
    • tracked: git diff --name-only --diff-filter=ACMR
    • untracked: git ls-files --others --exclude-standard
    • combine both lists and de-duplicate.
  5. Exclude generated/low-signal files unless explicitly requested: lockfiles, minified bundles, build outputs, vendored code.
  6. If scope resolves to zero files, report that and stop.
  7. Emit the scope as a fenced code block tagged resolved-scope, one repo-relative path per line. The block is authoritative: do not re-run scope commands or revisit exclusions afterward.

Operating Rules

  • Preserve runtime behavior exactly. Keep inputs, outputs, side effects, and error behavior stable.
  • Prefer project conventions over personal preferences. Infer conventions from existing code, linters, formatters, and tests.
  • Make small, reversible edits. Avoid broad rewrites when targeted simplifications solve the problem.
  • Call out uncertainty immediately when behavior may change.

Workflow

1) Determine Scope

  • Apply the Scope Resolution section.

2) Build a Behavior Baseline

  • Read surrounding context, not only changed lines.
  • Identify invariants that must not change:
    • function signatures and exported APIs
    • state transitions and side effects
    • persistence/network behavior
    • user-facing messages and error semantics where externally relied on
  • Note available verification commands (lint, tests, typecheck).

3) Apply Simplification Passes (in this order)

  1. Control flow:
    • Flatten deep nesting with guard clauses and early returns.
    • Replace nested ternaries with clearer conditionals.
  2. Naming and intent:
    • Rename ambiguous identifiers when local context supports safe renaming.
    • Separate mixed concerns into small helpers with intent-revealing names.
  3. Duplication:
    • Remove obvious duplication.
    • Abstract only when at least two real call sites benefit and the abstraction reduces cognitive load.
  4. Data shaping:
    • Break dense transform chains into named intermediate steps when readability improves.
    • Keep hot-path performance characteristics stable unless improvement is explicit and measured.
  5. Type and contract clarity:
    • Add or tighten type annotations when they improve readability and safety without forcing broad churn.
    • Preserve external interfaces unless asked to change them.

4) Enforce Safety Constraints

  • Do not convert sync APIs to async (or reverse) unless explicitly requested.
  • Do not alter error propagation strategy unless behavior remains equivalent and verified.
  • Do not remove logging, telemetry, guards, or retries that encode operational intent.
  • Do not collapse domain-specific steps into generic helpers that hide intent.

5) Verify

Skip when --no-verify is set. Otherwise verify per the Verification section below.

6) Report

Produce the Report section below.

Simplification Heuristics

  • Prefer explicit local variables over nested inline expressions when it reduces cognitive load.
  • Prefer one clear branch per condition over compact but ambiguous condition trees.
  • Keep function length manageable, but do not split purely for line count.
  • Keep comments that explain intent, invariants, or non-obvious constraints.
  • Remove comments that restate obvious code behavior.
  • Optimize for the next maintainer's comprehension time, not minimum character count.

Anti-Patterns

  • Do not perform speculative architecture rewrites.
  • Do not introduce framework-wide patterns while simplifying a small local change.
  • Do not replace understandable duplication with opaque utility layers.
  • Do not bundle unrelated cleanups into one patch.

Verification

Run the narrowest checks that validate touched behavior:

  • formatter/lint on touched files
  • targeted tests for touched modules
  • typecheck when relevant

Run broader checks only when risk warrants it. Name every skipped check and why.

Report

Skip when --no-report is set; return terse working notes instead: touched scope, key simplifications, residual risks.

Use these section headings, in this order. Omit sections that do not apply — do not number them and do not leave gaps or placeholders.

Scope

Files and regions changed.

Simplifications

One sentence per meaningful change, focused on the readability or maintainability gain. Confirm behavior-preservation assumptions explicitly.

Verification

Commands run and outcomes, including skipped checks.

Residual Risks

One line per risk: Assumed <assumption>; if wrong, <what breaks>; check via <command or inspection>. Plain language — expand or gloss domain-specific terms. Include questions that need a user decision, phrased directly. Write None. when there are none.

Stop Conditions

Stop and ask for direction when:

  • simplification requires changing public API/contracts.
  • behavior parity cannot be confidently verified.
  • the code appears intentionally complex due to domain constraints.
  • the requested scope implies a larger redesign rather than simplification.

Все файлы

1 файлов

Установить code-simplify

Скачайте файлы навыков и распакуйте их в каталог .claude/skills/.

Скачать ZIP

Клонируйте репозиторий и скопируйте файлы навыка в свой проект.

git clone https://github.com/PaulRBerg/agent-skills/blob/main/skills/code-simplify/SKILL.md # Copy SKILL.md to your .claude/skills/ directory

Копировать Копировать
Быстрая настройка: Скопируйте папку со скиллом в каталог .claude/skills/ — Claude автоматически обнаружит и начнет использовать этот скилл
Репозиторий paulrberg/agent-skills

Похожие навыки

requesting-code-review
Обновлено время 29 июня 2026 г.
Git Commit Helper
Обновлено время 29 июня 2026 г.
commit-standards
Обновлено время 29 июня 2026 г.
fetch-pr-review-comments
Обновлено время 29 июня 2026 г.
OR