跳到正文
cccskills
免费在 GitHub 公开

principle-make-operations-idempotent

Design commands and processing loops that reach the same final state after retries or crashes. Use the current state to apply only necessary changes, and make leftover locks, files, or records recognizable during the next run.

中文简介正在准备中。当前显示英语简介。

原文查看原文说明

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.

查看安装方法

适用场景

  • Design commands that can be safely rerun
  • Review recovery after a crash
  • Handle leftover locks and temporary files
  • Check that processing loops converge after retries

包含的文件(1)

  • SKILL.md1.8 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

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.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

architect

免费

Plan types, function inputs and outputs, and module boundaries before implementation. Compare structurally different designs from multiple AI models, document the chosen approach, and guide coding while tracking changes to the agreed design.

中文简介正在准备中。当前显示英语简介。

  • Designing a complex feature before coding
  • Comparing alternative module structures
  • Keeping implementation aligned with design decisions
michael-denyer/pstack-claude33042026年10月22日 更新

arena

免费

Generate several candidate solutions in parallel, compare them against concrete criteria, and choose a base. Combine useful parts from other candidates, then verify the final artifact and document why each major choice was made.

中文简介正在准备中。当前显示英语简介。

  • Compare multiple designs before choosing a direction
  • Explore different implementations of the same task
  • Combine useful elements from competing drafts
michael-denyer/pstack-claude33042026年10月22日 更新

Turn recurring work habits and communication preferences into a personal agent skill. It combines evidence from workspace conversations with direct questions, then drafts or updates instructions for how agents should work with you.

中文简介正在准备中。当前显示英语简介。

  • Capture preferred response length and tone
  • Document testing and review expectations
  • Update personal instructions as work habits change
michael-denyer/pstack-claude33042026年10月22日 更新

babysit

免费

Monitor an open pull request, fix failing automated checks and merge conflicts, and address straightforward review feedback. Recheck after updates, report the resulting status, and hand decisions requiring design judgment back to the user.

中文简介正在准备中。当前显示英语简介。

  • Following up on an open PR without repeated prompts
  • Fixing failed automated checks and rechecking results
  • Addressing straightforward review comments
michael-denyer/pstack-claude33042026年10月22日 更新

Checks whether performance measurements support a speedup, slowdown, or technology choice. It examines bottlenecks, production settings, errors, repeatability, and completed work, then guides reporting with run counts, ranges, and a clear verdict.

中文简介正在准备中。当前显示英语简介。

  • Checking before-and-after performance claims in a PR
  • Comparing libraries or configurations fairly
  • Investigating suspicious benchmark results
michael-denyer/pstack-claude33042026年10月22日 更新

Investigate what a code change could break beyond the edited files. Trace downstream effects, identify the key assumption behind its safety, and test that assumption with real code while clearly reporting unresolved risks.

中文简介正在准备中。当前显示英语简介。

  • Checking the wider impact of a small code change
  • Verifying assumptions about existing code before design
  • Testing the safety assumption before merging a change
michael-denyer/pstack-claude33042026年10月22日 更新

查看 michael-denyer 的全部技能

报告此技能的问题