selvedge — скилл для Claude Code: что делает и как установить
Локальная память изменений для функций и структур данных. Помогает агенту не повторять отклонённые решения и вести журнал правок без запросов к LLM.
npx skills add masondelan/selvedge --skill selvedge -a claude-codeЧто делает selvedge
Скилл настраивает работу с локальным хранилищем Selvedge через MCP-сервер или консоль. Перед правкой таблицы базы данных, функции или эндпоинта агент проверяет прошлые попытки вызовом prior_attempts. Если аналогичный шаг уже откатили, инструмент покажет причину отказа.
После правок агент фиксирует результат командой log_change. В поле reasoning сервер требует развёрнутое объяснение минимум из одного предложения, отсекая пустые заглушки вроде «готово». Связанные шаги группируются под общим changeset_id, а отклонённые идеи помечаются типами reject или revert. Если старые ограничения отпали, решение открывают заново через статус supersede.
Работа идёт локально без сторонних вызовов LLM. Для чтения истории и поиска запущенный MCP-сервер не обязателен — утилита selvedge доступна в PATH сразу после установки и выполняет те же действия через терминал.
Какие задачи решает
- проверить историю правок функции или таблицы перед внесением изменений
- зафиксировать причину изменения схемы базы данных или эндпоинта
- сохранить отклонённые варианты решений без добавления кода в проект
- возобновить отменённую идею через явный статус
supersede
Примеры запросов агенту
- Проверь через
selvedge prior-attempts, пытались ли мы раньше изменить сигнатуру функцииprocessPayment. - Залогируй добавление колонки
phoneв таблицу пользователей с указанием причины черезselvedge log. - Покажи отменённые решения за последнюю неделю с помощью
selvedge history --since 7d.
Как установить selvedge
1Через Skills CLI (Vercel)
npx skills add masondelan/selvedge --skill selvedge -a claude-code2Вручную: положить файлы
~/.claude/skills/selvedge/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/selvedge/
1Через Skills CLI (Vercel)
npx skills add masondelan/selvedge --skill selvedge -a codex2Вручную: положить файлы
.agents/skills/selvedge/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add masondelan/selvedge --skill selvedge -a cursor2Вручную: положить файлы
.cursor/skills/selvedge/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install masondelan/selvedge selvedge2Вручную: положить файлы
.github/skills/selvedge/SKILL.md1Через Skills CLI (Vercel)
npx skills add masondelan/selvedge --skill selvedge -a gemini-cli2Командой платформы
gemini skills install https://github.com/masondelan/selvedge --path skills/selvedgeВручную: положить файлы
.devin/skills/selvedge/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add masondelan/selvedge --skill selvedge -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о selvedge
Как установить selvedge в Claude Code?
Выполните команду npx skills add masondelan/selvedge --skill selvedge -a claude-code. Файлы скилла запишутся в ~/.claude/skills/selvedge/SKILL.md.
Что делает selvedge?
Инструмент сохраняет локальный контекст архитектурных правок и структуры кода. Он не делает вызовов к LLM и помогает агенту помнить, почему конкретное решение было принято, отклонено или отменено.
Обязательно ли держать запущенным MCP-сервер для работы?
Нет, консольная утилита selvedge обращается к той же локальной базе напрямую. Команды поиска, просмотра истории и фиксации изменений работают прямо из терминала.
Исходный текст
SKILL.md · MIT
--- name: selvedge description: Use before editing a tracked entity (a DB column, table, function, API endpoint, dependency, or env var) and after any substantive change. Call prior_attempts first to learn whether the change was tried and reverted before, then log_change to record what changed and why. Selvedge is this project's change memory — a local MCP server and CLI, no LLM calls. --- ## Selvedge — change tracking Use Selvedge for change tracking through its CLI or optional MCP connection (MCP server: `selvedge`). Both use the same local store. Use whichever route is available in the current workflow. **Rules:** - Call `selvedge.log_change` immediately after adding, modifying, or removing any DB column, table, function, API endpoint, dependency, or env variable. - Set `reasoning` to the user's original request or the problem being solved. Write at least one full sentence — the server will warn on empty, very short, or generic values like "user request" or "done". Good example: "User asked to add 2FA — needs phone number to send SMS verification codes." - Set `agent` to a stable name for the agent or tool making the change. - Set `session_id` if you have access to the current session/conversation ID. - Set `git_commit` to the commit hash once you know it. - For multi-entity changes (e.g. adding a whole feature), set a shared `changeset_id` on all related `log_change` calls — use a short slug like `add-stripe-billing`. This lets anyone query the full scope of the change with `selvedge.changeset()`. - Before editing an entity, call `selvedge.prior_attempts` on it — if the same change was tried before and reverted, you'll see the prior reasoning and why it was rejected, and can change your plan instead of repeating a rejected approach. Where a compatible edit-gate hook is installed and active, watched edits require this lookup. Hook capabilities and activation depend on the client. - A reverted decision is not a permanent ban. If the constraint that killed it no longer holds, re-open it explicitly with `change_type="supersede"` (never re-apply a reverted change without superseding it first). - Log abandoned paths too: use `change_type="reject"` when you considered an approach and decided against it without writing it, and `change_type="revert"` when you rolled a change back — ideally with `stale_when` or `expires_when` naming the condition that would invalidate the verdict, so `stale_decisions` can surface it later. - Then call `selvedge.diff` or `selvedge.blame` for the entity's broader history before conflicting with past decisions. **The same operations are on your shell.** The CLI and MCP interface use the same local store (`selvedge` is on your PATH after install). The CLI does not require a running MCP server. Use the route that fits the current workflow and keeps context light: - Check an entity first: `selvedge prior-attempts <entity>` (was it tried and reverted before?), then `selvedge blame <entity>` / `selvedge diff <entity>` for its broader history. - Log a change: `selvedge log <entity> <change_type> --reasoning "<why>"` (change_type: add, remove, modify, rename, retype, create, delete, index_add, index_remove, migrate, revert, reject, supersede; for a rename add `--rename-from <old>`). - Re-open a reverted decision: `selvedge supersede <entity> --reasoning "<why>"`. - Find things: `selvedge search "<query>"`, `selvedge history --since 7d`, `selvedge stale` (decisions now due for a revisit). Add `--json` to any read command; `selvedge <command> --help` gives detail on demand.
© masondelan · MIT · masondelan/selvedge