К основному содержанию
скилл CX Codex

principle-make-operations-idempotent — скилл для Claude Code

Скилл учит писать команды и циклы обработки так, чтобы они сходились к одному состоянию независимо от того, сколько раз запустятся или где прервались. Пригодится, если операции могут упасть, перезагрузиться или повториться.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add backnotprop/pstack --skill principle-make-operations-idempotent -a claude-code
Открыть на GitHub

Что делает principle-make-operations-idempotent

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

Критично: всё, что остаётся после шага (блокировка, временный файл, недописанная запись, зарезервированная задача), должно быть узнаваемо как устаревшее при следующем запуске. Проверяй по фактам, которые остаются истинными независимо от того, где именно упал предыдущий запуск — не только в обычном сценарии. Маркер, который нельзя различить после краша, превращает каждый сбой в ручную очистку. Пример: пиши во временный путь и переименовывай на место, или сравнивай артефакты по содержимому вместо порядка создания.

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

Какие задачи решает

  • Защитить обработку данных от сбоев и перезагрузок
  • Избежать ручной очистки после каждого краша
  • Гарантировать одинаковый финальный результат при повторных запусках
  • Распознавать устаревшие временные файлы и блокировки
  • Проектировать надёжные скрипты установки и миграции

Примеры запросов агенту

  • Помоги мне переписать скрипт миграции БД так, чтобы его можно было запустить дважды без ошибок
  • Как сделать обработчик очереди идемпотентным: прочитай текущий статус перед каждым изменением
  • Проверь, что эта команда сходится к одному состоянию, даже если упадёт на середине

Как установить principle-make-operations-idempotent

1Через Skills CLI (Vercel)

npx skills add backnotprop/pstack --skill principle-make-operations-idempotent -a claude-code

2Вручную: положить файлы

~/.claude/skills/principle-make-operations-idempotent/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/principle-make-operations-idempotent/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора44

principle-model-the-domain Помогает описывать предметную область через структуры данных, а не разрастающиеся условия. Нужен для логики состояний и повторяющихся правил формы данных. CX Codex +1 5 200установок principle-redesign-from-first-principles Скилл учит агента не прикручивать новые требования к готовому дизайну, а перестраивать его так, будто требование было с самого начала. Пригодится, когда правка затрагивает несколько файлов и связей. CX Codex +1 5 200установок principle-never-block-on-the-human Скилл запрещает агенту останавливаться и спрашивать разрешение на обратимые изменения в коде. Пригодится для автономного кодинга без постоянного ожидания человека. CX Codex +1 5 200установок principle-build-the-lever Скилл требует от агента не править файлы руками, а собрать codemod, скрипт или генератор, который сделает ту же работу и который можно перезапустить. CX Codex +1 5 200установок principle-subtract-before-you-add Скилл задаёт правило рефакторинга: сначала удалить мёртвый код, заглушки и лишние валидаторы, а затем добавлять новое. Пригодится перед доработкой архитектуры. CX Codex +1 5 200установок maintain-verification-skill Скилл поддерживает карту функций и инструкции по проверке проекта в актуальном состоянии. Запускайте его для аудита и проверки функций в работающем приложении. CX Codex +1 5 200установок no-comments Скилл находит и удаляет бесполезные комментарии в коде, а спорные случаи выносит на ваше решение. Пригодится при чистке диффа перед ревью. CX Codex +1 5 200установок teach Скилл объясняет код и архитектуру простыми словами без лишней воды. Он запускает субагенты how и why, собирая устройство механизма и причины решений в один связный ответ. CX Codex +1 5 100установок

Похожие

kubernetes Claude MPM Team Плейбук по работе с Kubernetes: подсказывает, как безопасно выкатывать сервисы, ставить пробы и разбирать сбои через kubectl. CX Codex +1 383установок business-operations-skills claude-code-skills Оркестратор внутренних операционных процессов компании. Маршрутизирует задачи по регламентам, SLA подрядчиков, бюджету и загрузке команды в шесть профильных субагентов. 354установок slo-architect claude-code-skills Скилл помогает проектировать, проверять и сопровождать SLO, SLI и error budget. Подойдёт, когда нужны расчёты burn rate и правила алертов. 458установок make-interfaces-feel-better jakubkrehel Скилл помогает доводить детали интерфейса: от радиусов и иконок до анимаций. Пригодится при сборке компонентов и ревью фронтенд-кода. CX Codex +1 73 400установок inngest-events inngest Помогает проектировать событийные воркфлоу Inngest: имена событий, идемпотентность по id, fan-out и системные события. CX Codex +1 3 800установок google-cloud-waf-reliability официальный google Проверяет надёжность Google Cloud-нагрузок и предлагает меры для HA, DR, SLO и восстановления. Нужен при проектировании отказоустойчивой архитектуры. CX Codex 14 039установок

Рядом в теме «DevOps и инфраструктура»

Всё по теме «DevOps и инфраструктура» →

Вопросы о principle-make-operations-idempotent

Как установить principle-make-operations-idempotent в Claude Code?

Выполни npx skills add backnotprop/pstack --skill principle-make-operations-idempotent -a claude-code, затем найди файл скилла по пути ~/.claude/skills/principle-make-operations-idempotent/SKILL.md.

Что делает скилл principle-make-operations-idempotent?

Учит проектировать команды и циклы так, чтобы они безопасно переживали сбои, перезагрузки и повторы. Каждая операция должна читать текущее состояние и применять только нужные изменения, а не полагаться на предыдущие запуски.

Зачем нужна идемпотентность в обработке данных?

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

Исходный текст

SKILL.md · MIT
---
name: principle-make-operations-idempotent
description: "Apply when designing commands, lifecycle steps, or processing loops that run amid crashes, restarts, and retries. Converge to the same end state regardless of partial prior runs."
disable-model-invocation: true
---

# Make Operations Idempotent

Design operations so they converge to the correct state regardless of how many times they run or where the previous run stopped. Every state-mutating operation should answer: "What happens if this runs twice? What happens if the previous run crashed halfway?"

**Why:** Commands, lifecycle operations, and processing loops run where crashes, restarts, and retries are normal. If partial state changes the next run's outcome, every restart becomes a debugging session.

**The idea:** derive each step from the state that exists, not from what the previous run meant to do. Read the current state, compare it to the goal, and apply only the difference. A step written this way is safe to repeat, because a repeat finds nothing left to do.

Anything a run leaves behind, such as a lock, a temporary file, a half-written record, or a claimed job, must be recognizable as stale by the next run. Judge staleness by evidence that stays true wherever the previous run could have stopped, not only in the common case. A marker that the next run cannot judge turns every crash into manual cleanup. For example, write to a temporary path and rename it into place, or compare artifacts by content instead of by creation order.

**The test:**
1. What happens if this runs twice in a row?
2. What happens if the previous run crashed at every possible point?
3. Does re-execution converge to the same end state?

If any answer is "it depends on what state was left behind," the operation needs a reconciliation step.

© backnotprop · MIT · backnotprop/pstack

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой