# Idempotent Script Design

> Use this skill when writing scripts, cron jobs, data pipelines, or any automated process that may be run multiple times. Design every operation to be safely re-runnable without side effects.

- Skill: `gabrielmoreira/idempotent-script-design` (Agent Skill)
- Install (CLI): `npx skillmds@latest add gabrielmoreira/idempotent-script-design`
- Raw SKILL.md: https://api.skillmd.com/api/skills/gabrielmoreira/idempotent-script-design/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: gabrielmoreira (https://skillmd.com/u/gabrielmoreira)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/gabrielmoreira/idempotent-script-design

---


# Idempotent Script Design

An idempotent operation produces the same result whether run once or ten times.

**Techniques:**
- **Check before create:** `CREATE TABLE IF NOT EXISTS`, `mkdir -p`, check file existence before writing.
- **Upsert instead of insert:** Use `INSERT ... ON CONFLICT DO UPDATE` in SQL.
- **Atomic writes:** Write to a temp file, then rename — prevents corrupt partial output.
- **Track progress:** Write a completion marker or checkpoint so reruns skip done work.

**Testing idempotency:** Run your script twice on the same input and verify the output is identical.

**Anti-patterns:**
- Appending to a file without checking if the data is already there.
- Inserting rows without checking for duplicates.

