bug-receipt — скилл для GitHub Copilot: что делает и как установить
Фиксирует закрытие багов и инцидентов через стандартизированный чек с вердиктом VERIFIED, PARTIAL или BLOCKED. Помогает пресечь догадки и мнимые починки.
npx skills add github/awesome-copilot --skill bug-receiptЧто делает bug-receipt
Скилл заставляет ассистента оформлять финал отладки в виде строгого отчёта BUG RECEIPT. В нём обязательно указываются наблюдаемый дефект, базовый прогон, подтверждённый корень проблемы, внесённая правка, прямые проверки и оставшиеся пробелы. Ассистент не имеет права заменять эту форму обычным текстом или скрывать пропущенные шаги: если что-то не проверялось, он обязан явно записать not run или unproven.
Перед правкой кода помощник отслеживает цепочку от ввода к симптому и разделяет факты и догадки. Скилл требует минимальных точечных правок без лишнего рефакторинга. Для подтверждения нужны прямые проверки на реальном слое: упавший тест, сетевой запрос в API или раундтрип в базу данных. Для CI или выгрузки в JSON есть шаблон assets/receipt.template.json и валидатор node scripts/validate-receipt.mjs .
Ставьте этот скилл, если ассистент часто объявляет баг исправленным после первой же случайной правки.
Какие задачи решает
- Оформить закрытие бага в стандартизированном текстовом виде
- Отделить подтверждённую причину сбоя от неподтверждённых гипотез
- Зафиксировать статус решения между VERIFIED, PARTIAL и BLOCKED
- Проверить сгенерированный JSON-отчёт скриптом валидации
Примеры запросов агенту
- Закрой инцидент с таймаутом авторизации и сформируй BUG RECEIPT
- Найди причину падения теста корзины, исправь ошибку и выведи отчёт
- Подготовь артефакт receipt.json по результатам проверки API
Как установить bug-receipt
1Через Skills CLI (Vercel)
npx skills add github/awesome-copilot --skill bug-receipt2GitHub CLI
gh skill install github/awesome-copilot bug-receipt3Вручную: положить файлы
.github/skills/bug-receipt/SKILL.md1Через Skills CLI (Vercel)
npx skills add github/awesome-copilot --skill bug-receipt -a claude-code2Вручную: положить файлы
~/.claude/skills/bug-receipt/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/bug-receipt/
Вручную: положить файлы
.agents/skills/bug-receipt/SKILL.mdДля всех проектов — ~/.agents/skills/
Вручную: положить файлы
.cursor/skills/bug-receipt/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
Командой платформы
gemini skills install https://github.com/github/awesome-copilot --path skills/bug-receiptВручную: положить файлы
.devin/skills/bug-receipt/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Claude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
Из того же набора554
Весь набор →Похожие
Вопросы о bug-receipt
Как установить bug-receipt в GitHub Copilot?
Запустите npx skills add github/awesome-copilot --skill bug-receipt или gh skill install github/awesome-copilot bug-receipt. Также файл можно скопировать вручную в .github/skills/bug-receipt/SKILL.md.
Зачем нужен скилл bug-receipt?
Он запрещает модели закрывать баг простым рассуждением в чате. Любое решение обязано завершаться строгим отчётом с указанием конкретных проверок и уровня доказанности.
Чем отличаются статусы VERIFIED, PARTIAL и BLOCKED?
Статус VERIFIED ставится при полностью доказанной причине и пройденных тестах без пробелов. PARTIAL означает, что часть проверок отсутствует или не дала однозначного ответа, а BLOCKED фиксирует внешнюю помеху для воспроизведения или починки.
Исходный текст
SKILL.md · MIT
--- name: bug-receipt description: 'Close defects and incidents with a BUG RECEIPT and VERIFIED, PARTIAL, or BLOCKED status after diagnosis, repair, or recovery.' metadata: version: "1.4.1" --- # Bug Receipt ## Mandatory closeout output For every bug or incident closeout decision, return the complete receipt below as the entire user-facing result, even when the user requests a concise reply or does not name this format. Concision shortens field values; it never removes or renames a row. Do not replace the receipt with prose. ```text BUG RECEIPT · VERIFIED | PARTIAL | BLOCKED Problem <observed defect and intended behavior> Baseline <failing interaction or command and decisive result; or not run> Root cause <proven mechanism; or unproven hypothesis> Change <responsible change; or none> Proof <supplied or executed check: result; include every decisive layer> Gaps <none; or exact missing proof and single next experiment/package> Source executed now | supplied | mixed ``` Use `not run`, `unproven`, or `none` explicitly. Never omit a row to make the receipt look complete. ## Establish the evidence boundary Before editing, record the observed problem, intended behavior, strongest direct check, and evidence source: `executed now`, `supplied`, or `mixed`. Never imply that supplied evidence was executed in the current run. Keep evidence privacy-minimal. Redact credentials, tokens, cookies, personal data, private URLs, and sensitive payloads; preserve only the identifiers and excerpts needed to reproduce or correlate the failure. Reproduce the failure with the narrowest safe check when possible. If reproduction is unavailable, preserve the evidence obtained and cap the result at `PARTIAL` or `BLOCKED`. ## Trace and repair 1. Follow the live owner path from input to symptom. 2. Separate observed facts, bounded inferences, and gaps. 3. Require a concrete location or runtime transition before naming root cause. 4. Make the smallest responsible change; avoid unrelated cleanup, retries, silent fallbacks, and fixture-specific exceptions. Do not convert a plausible patch, stale log, source read, or passing build into proof of the user-visible behavior. ## Close the proof loop Run only checks required by the affected contract: - original reproduction or direct acceptance check; - nearest negative or regression check; - affected build or integration gate; - real UI, API, persistence, concurrency, or runtime path when the claim crosses that boundary. Use these decisive boundaries: | Surface | Required direct proof | | --- | --- | | Logic or failing test | Original failing input or focused test now passes | | UI behavior | Real interaction plus relevant console and network observation | | API or integration | Request, response, and responsible service behavior | | Persistence | Write/read or reload round trip through the real owner path | | Race or lifecycle | Repeated concurrent trigger; zero-or-one success; affected-row and transaction evidence; final invariant | | Cross-system blocker | One sanitized failing request/response with timestamp or request ID, edge and application logs, and identity-provider logs when the trace reaches that owner | ## Assign status - `VERIFIED`: observed baseline, concrete cause, responsible change, all declared checks passed, no material gap. - `PARTIAL`: useful evidence exists, but a required proof layer is missing or inconclusive. - `BLOCKED`: a specific external condition prevents reproduction, repair, or proof. For `PARTIAL` or `BLOCKED`, name the single minimal experiment or correlated evidence package that closes the decisive gap. Never invent a command, observation, count, location, or result. For a machine-readable receipt or CI integration, read [references/receipt-contract.md](references/receipt-contract.md) and conform to its JSON fields, evidence-source marker, compatibility rule, and status invariants. When a JSON artifact is requested, start from [assets/receipt.template.json](assets/receipt.template.json), write it to a task-owned path, and validate it with `node scripts/validate-receipt.mjs <receipt.json>` from this skill directory. Do not commit the generated receipt unless the user requests it. ## Source and license Originally published at https://github.com/lMysticl/bug-receipt under the MIT License.
© github · MIT · github/awesome-copilot