skills/irreversible-action-checklist/SKILL.md
This skill should be used when about to perform an irreversible or hard-to-undo action on a device, system, or production environment. Trigger when deploying payloads, flashing firmware, writing to hardware, modifying boot sequences, overwriting files on embedded devices, sending destructive USB commands, triggering device reboots with staged changes, or any action where failure means bricking or requiring physical recovery. Also applies to database migrations, production deployments, and any 'point of no return' operation.
npx skillsauth add MansoorMajeed/Clawd irreversible-action-checklistInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Prevent bricking devices, corrupting systems, and creating unrecoverable states by enforcing verification gates before any action that cannot be easily undone.
This skill activates before any operation where:
Never assume. Never skip verification. Never document success before confirming it.
Execute these gates in order before performing the irreversible action. Each gate must pass before proceeding to the next. If any gate fails, STOP and resolve it before continuing.
Before replacing, modifying, or deploying any artifact:
For shared libraries: run readelf --dyn-syms (or equivalent) on the original and verify the replacement exports every required symbol.
For config files: validate against the schema or parser that will consume it.
For firmware: verify checksums, signatures, and partition layout match expectations.
Before deploying, confirm a concrete way to undo the change:
Examples of rollback verification:
git status) and commit or stash any uncommitted work -- git reset --hard destroys uncommitted changes permanently. Prefer working on a dedicated branch (git checkout -b pre-<action>) over git reset as the rollback mechanism: branches preserve history and don't risk losing other work. Use git revert <commit> (creates a new undo commit) instead of git reset --hard when the changes have already been pushed or when other commits exist on top. Only use git reset --hard on local unpushed work where nothing else has been committed after the rollback point. Always run git stash list and git log --oneline -5 before any reset to confirm nothing will be lost.Simulate or verify the deployment without committing:
Present the user with a clear summary before the point of no return:
IRREVERSIBLE ACTION SUMMARY:
- Action: [what will happen]
- Target: [device/system/path]
- Artifact: [file/config/firmware being deployed]
- Interface contract: [verified/not verified] -- [details]
- Rollback: [how to undo] -- [tested/untested]
- Risk if failure: [what breaks]
Proceed? [requires explicit user confirmation]
After executing, verify the outcome before doing anything else:
| Anti-Pattern | Consequence | Correct Approach | |---|---|---| | Deploy without checking interface contract | Service crashes, boot loop | Gate 1: verify all consumers and exports | | "We can fix it after reboot" | Device unreachable after reboot | Gate 2: test rollback before deploying | | Update docs claiming success before verification | False records, confusion | Gate 5: verify first, document after | | Send multiple destructive commands hoping one works | Unpredictable state | One action at a time, verify each | | Assume the replacement is compatible | Missing symbols, wrong format | Gate 1: compare original vs replacement | | Skip user confirmation on hardware actions | Bricked device | Gate 4: always ask |
readelf --dyn-syms original.so -- capture all exportsreadelf --dyn-syms replacement.so -- comparereadelf -d replacement.so | grep SONAMEgit status -- if dirty, commit or git stash firstgit stash list -- note any stashes that could be affectedgit checkout -b pre-<action>-backup then switch backgit log --oneline -5 to confirm the backup branch/commit existsgit checkout pre-<action>-backup -- the safe state is intact on its own branchNever use git reset --hard if:
git revert instead to preserve shared history)For detailed case studies and failure analysis from real sessions:
references/case-studies.md -- Documented failures and what went wrongtools
Allows to interact with web pages by performing actions such as clicking buttons, filling out forms, and navigating links. It works by remote controlling Google Chrome or Chromium browsers using the Chrome DevTools Protocol (CDP). When Claude needs to browse the web, it can use this skill to do so.
development
Update llm-context/ and CLAUDE.md to reflect recent code changes.
tools
Remote control tmux sessions for interactive CLIs (python, gdb, etc.) by sending keystrokes and scraping pane output.
development
Fetch a URL or convert a local file (PDF/DOCX/HTML/etc.) into Markdown using `uvx markitdown`, optionally it can summarize