Навык implement-patch
✓ ПровереноИсправляет подтвержденные локальные баги путем внедрения исправлений на уровне инвариантов, написания регрессионных тестов и генерации структурированных записей патчей.
- Звёзды на GitHub
- 8 136
- Файлы
- 1
- Последний коммит
- 11 нояб. 2026 г.
- Лицензия
- CC-BY-SA-4.0
- Разрешённые инструменты
- —
Что делает навык implement-patch?
implement-patch — это Agent Skill. Исправляет подтвержденные локальные баги путем внедрения исправлений на уровне инвариантов, написания регрессионных тестов и генерации структурированных записей патчей.
Сводка сгенерирована из SKILL.md навыка.
О skill implement-patch
Основная функция этого навыка — исправление подтвержденных локальных багов с помощью исправлений на уровне инвариантов и регрессионного тестирования. Разработчики используют его, когда баг уже прошел независимую валидацию и требует структурированного процесса исправления, а не спекулятивного поиска. Агент следует строгому протоколу, который начинается с запуска проверки через record validator с помощью команды uv run, чтобы убедиться, что область исправления и план действий применимы.
Как только нарушенный инвариант идентифицирован, агент ищет все случаи его нарушения в пределах своей области. Он пишет регрессионный тест, который падает на базовой версии, прежде чем применить минимально проверяемое изменение для исправления инварианта. Процесс завершается генерацией двух специфических файлов, fix.patch и tests.patch, внутри директории patch. В завершение агент создает запись patch.json, содержащую SHA коммитов, статистику по файлам и результаты набора тестов, которая затем фиксируется с помощью команды manifest и проверяется через record validator.
Что агент может делать с ним
- 1Исправление подтвержденных локальных баговПрименение исправления на уровне инварианта для бага, который уже был подтвержден в ходе независимой валидации.
- 2Создание регрессионных тестовРазработка нового теста, который падает на текущей базовой версии, чтобы гарантировать устранение бага и его вариантов.
- 3Генерация структурированных записей патчейСоздание файла patch.json, содержащего сведения о коммитах, количество измененных строк и результаты набора тестов.
- 4Поиск нарушений инвариантовИдентификация каждого случая конкретного нарушения в границах нарушенного инварианта.
Написано на основе skill SKILL.md. Каждый сценарий использования проверен по цитате из него.
Как установить навык implement-patch
Каждая команда копирует папку навыка в каталог навыков клиента. Перезапустите клиент или начните новую сессию, чтобы загрузить его.Установка навыка implement-patch в Плагин
/plugin marketplace add trailofbits/skills /plugin install patching-bugs@trailofbits
Установка навыка implement-patch в Claude Code
~/.claude/skills/implement-patch/SKILL.md
$ npx degit trailofbits/skills/plugins/patching-bugs/skills/implement-patch ~/.claude/skills/implement-patchУстановка навыка implement-patch в Claude Code (project)
.claude/skills/implement-patch/SKILL.md
$ npx degit trailofbits/skills/plugins/patching-bugs/skills/implement-patch .claude/skills/implement-patchУстановка навыка implement-patch в Codex
~/.agents/skills/implement-patch/SKILL.md
$ npx degit trailofbits/skills/plugins/patching-bugs/skills/implement-patch ~/.agents/skills/implement-patchУстановка навыка implement-patch в Gemini CLI
~/.gemini/skills/implement-patch/SKILL.md
$ npx degit trailofbits/skills/plugins/patching-bugs/skills/implement-patch ~/.gemini/skills/implement-patchУстановка навыка implement-patch в Claude.ai
npx degit trailofbits/skills/plugins/patching-bugs/skills/implement-patch implement-patch && zip -r implement-patch.zip implement-patch # claude.ai → Customize → Skills → + → Create skill → Upload a skill → implement-patch.zip
Автоматические проверки
Запущено 14 нояб. 2026 г.Полный отчёт →Прошёл наши автоматические проверки. Это не аудит безопасности: прочитайте скрипты, прежде чем агент их запустит. Как работают проверки
- Связанный и доступный исходный репозиторийtrailofbits/skills/plugins/patching-bugs/skills/implement-patch is public and reachablegithub.com/trailofbits/skills/tree/HEAD/plugins/patching-bug ↗Пройдено
- Open source лицензия (OSI)CC-BY-SA-4.0 is not OSI-approvedspdx.org/licenses/CC-BY-SA-4.0.html ↗Проблема
- Коммит или релиз за последний годLast commit 2026-11-11github.com/trailofbits/skills/commits ↗Пройдено
- В скриптах нет загрузки с запуском и кражи учётных данныхNo scripts in the skill folderПройдено
- В SKILL.md нет скрытых инструкцийNo override phrases, safeguard switches, credential requests or hidden charactersgithub.com/trailofbits/skills/blob/HEAD/plugins/patching-bug ↗Пройдено
- Заранее разрешённые инструменты ограниченыNo pre-approved tools; the agent asks before using onegithub.com/trailofbits/skills/blob/HEAD/plugins/patching-bug ↗Пройдено
SKILL.md
Открыть на GitHubImplement Patch
When to Use
Use after independent validation confirms one claim. Read the record contract. Before target commands, follow its project guidance.
When NOT to Use
Do not use for speculative bug hunting, proof of a completed patch, or a change that cannot be exercised by the local compiler or runtime.
Procedure
-
Before editing, run
uv run --no-project <script> check --before-repair <run-dir>with the record validator. If this check fails, stop and return its errors for an INCONCLUSIVE report. The gate requiresfinding.repair_scopewith a usable case plan and a consistent attempt count. Use the declared scope as the repair brief. Identify the broken invariant and search within its boundary for every instance of the same violation. Read the threat model only to preserve intended behavior; it is not a gate. -
Run the project's existing suite and record its results. Write a regression test that fails on the baseline for the named bug and any fixed variant. Observe the failure. Fix the invariant within the repair brief with the smallest reviewable change.
-
Run the regression test and full existing suite again. Compare before and after failures. Fix new failures or explain a pre-existing one from receipts.
-
Record every variant as
fixedornot_fixedwith a reason. Produce exactly one local commit. Never push or open a PR. From the baseline, writefix.patchfor production changes andtests.patchfor test changes inpatch/attempt-N/. -
Write
patch.jsonwith the two commit SHAs, changed-file and line counts, variants, suite results, and your agent identity. If the attempt produced no commit, recordpatch_commit: nulland return it as failed. Manifest the entire attempt directory, including both patch files and the record, usinguv run --no-project <script> manifest <patch-attempt-dir>. Check it with the record validator.
{
"schema_version": 1,
"attempt": 1,
"baseline_commit": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"patch_commit": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
"files_changed": 2,
"lines_added": 3,
"lines_removed": 1,
"variants": [],
"suite_before": {"command": "pytest", "passed": 9, "failed": 1, "skipped": 0},
"suite_after": {"command": "pytest", "passed": 10, "failed": 0, "skipped": 0},
"agent": "patcher-1"
}
Rationalizations to Reject
| Shortcut | Required action |
|---|---|
| Only the reported line matters. | Search for the same invariant violation. |
| Minimal means the fewest lines. | Make the smallest reviewable invariant-level fix. |
| Tests pass after the patch. | Show the regression test failed before it. |
Файлы в этом навыке
1Вопросы о навыке implement-patch
Как установить навык implement-patch в Claude Code?
Выполните npx degit trailofbits/skills/plugins/patching-bugs/skills/implement-patch ~/.claude/skills/implement-patch. Claude Code загружает навыки из ~/.claude/skills (все проекты) или .claude/skills (один проект) и использует навык, когда его описание соответствует задаче.
Какие клиенты могут использовать навык implement-patch?
Любой клиент, который читает формат Agent Skills: Claude Code, Codex, Gemini CLI и claude.ai (загрузить как ZIP). Скрипты в навыке выполняются только там, где клиент разрешает выполнение кода.
Когда следует использовать навык implement-patch?
Используйте этот навык после того, как независимая проверка подтвердила наличие бага и вам необходимо выполнить исправление на уровне инварианта, найти варианты нарушений и создать локальный коммит.
Можно ли использовать этот навык для спекулятивного поиска багов?
Нет, навык не предназначен для спекулятивного поиска багов или для доказательства того, что патч полностью готов.
Что делать, если проверка начального валидатора записей не удалась?
Если проверка не пройдена, вы должны остановиться и вернуть ошибки в виде отчета INCONCLUSIVE.
Нужно ли отправлять изменения в удаленный репозиторий?
Нет, вам следует создать ровно один локальный коммит и никогда не делать push и не открывать pull request.