principle-make-operations-idempotent
GitHub指导设计幂等操作,确保命令、生命周期步骤或处理循环在崩溃重启后能收敛至正确状态。通过扫描现有状态、内容清理和自愈合锁等模式,避免部分执行导致的结果不一致,提升系统健壮性。
Trigger Scenarios
Install
npx skills add sediman-agent/OpenSkynet --skill principle-make-operations-idempotent -g -y
SKILL.md
Frontmatter
{
"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 they start from. 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 pattern:
- Convergent startup: scan for existing state, clean stale artifacts, adopt live sessions
- Content-based cleanup: compare by content equivalence, not creation order
- Self-healing locks: use PID-based stale lock detection
- Idempotent scheduling: failed work respawns cleanly, fresh input regenerated after each cycle
The test:
- What happens if this runs twice in a row?
- What happens if the previous run crashed at every possible point?
- 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.
Version History
- c9d8953 Current 2026-07-05 19:53


