# verify-receipt

Проверяет Ed25519-подпись файла receipt и показывает, был ли он изменён. Подходит для разовой проверки записи protect-mcp.

- команда · `type=command` · Claude Code, Codex, Cursor · ★ 41823
- Автор: Tom Farley
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/wshobson/agents/tree/HEAD/plugins/protect-mcp/commands/verify-receipt.md
- Обновлён: 2026-10-24
- HTML: https://affpapa.org/nevibecode/commands/verify-receipt

## Что делает

Команда читает JSON-файл receipt, проверяет обязательные поля и типы, затем восстанавливает каноническое представление по JCS (RFC 8785). После этого она сверяет Ed25519-подпись через `@veritasacta/verify@0.9.2`. Проверка не делает сетевых запросов.

Публичный ключ можно передать вторым аргументом в hex или взять из `./protect-mcp.key`. При первом запуске `npx` скачивает пакет; для офлайн-машины сначала выполните `npm install --no-save @veritasacta/verify@0.9.2`. Код завершения `0` означает подлинную запись, `1` — несовпадение подписи, `2` — повреждённую структуру или отсутствующий ключ. Без публичного ключа команда не сможет подтвердить receipt.

## Установка

### Claude Code (родная платформа)

1. **Через маркетплейс плагинов**
В чате агента (не в терминале):
```text
/plugin marketplace add wshobson/agents
```
В чате агента (не в терминале):
```text
/plugin install protect-mcp@claude-code-workflows
```

2. **Вручную: положить файлы**
- Файл: `.claude/commands/verify-receipt.md` — Вызов — /verify-receipt. Для всех проектов — ~/.claude/commands/

### Codex

**Вручную: положить файлы**
- Файл: `~/.codex/prompts/verify-receipt.md` — Вызов — /prompts:verify-receipt. В Codex этот формат помечен устаревшим, замена — скиллы

### GitHub Copilot

**Вручную: положить файлы**
- Файл: `.github/prompts/verify-receipt.prompt.md`

### Gemini CLI

**Вручную: положить файлы**
- Файл: `.gemini/commands/verify-receipt.toml` — Gemini хранит команды в TOML: текст запроса — в поле prompt

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/wshobson/agents/tree/HEAD/plugins/protect-mcp/commands/verify-receipt.md

## Когда брать
- проверить подпись файла receipt
- найти изменённую после подписания запись
- проверить структуру JSON и обязательные поля
- передать публичный ключ для верификации
- отличить повреждённый receipt от подлинного

## Примеры запросов агенту
- Проверь файл `./receipt.json` командой `/verify-receipt ./receipt.json`.
- Проверь `./receipt.json` с публичным ключом `0faf558a90dfbf88...`.
- Возьми последнюю строку из `./receipts/receipts.jsonl`, сохрани её в `receipt.json` и проверь через `/verify-receipt receipt.json`.

## Похожие
- [hookify](https://affpapa.org/nevibecode/commands/hookify.md) — команда · ★ 44770
- [modernize-harden](https://affpapa.org/nevibecode/commands/modernize-harden.md) — команда · ★ 44770
- [modernize-assess](https://affpapa.org/nevibecode/commands/modernize-assess.md) — команда · ★ 44770
- [security-audit](https://affpapa.org/nevibecode/commands/security-audit.md) — команда · 1485 установок
- [supabase-security-audit](https://affpapa.org/nevibecode/commands/supabase-security-audit.md) — команда · 1020 установок

Из того же набора: [wshobson/agents](https://affpapa.org/nevibecode/by/wshobson/agents.md) — 432 карточки

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
