warden

Set up your agent

Install the warden skill and hooks into your coding agent, or paste a prompt that does it for you.

Your coding agent needs the warden skill to know the claim, drive, release rules. Run warden install, or paste the prompt below into the agent.

warden install    # skill + rule + SessionEnd hook for every detected agent; shows a diff, asks first

Paste this into your agent

Set up warden for mobile device work in this repo.
1. Run `npm i -g @delacour/warden && warden install` (or `bunx @delacour/warden install`). Approve the diff.
2. Run `warden doctor` and fix anything it reports.
3. Run `warden skill show` and read it. Follow its rules from now on:
   claim a device with `warden claim ios --json`, pass the returned udid on every call,
   drive it with `warden ui`, never touch a device you did not claim,
   and release with `warden ui close --release`.
4. In an Expo app, run `warden init --bundle-id <id>` and install the packages it names.

What gets installed

PieceWhereAgents
Skillskills/warden/: SKILL.md + references/{ui,specs,suites,troubleshooting}.md, embedded in the binaryanything the skills CLI installs into
Rule~/.claude/rules/warden.md, written directlyClaude Code
SessionEnd hookwarden hook session-endClaude Code, Codex

The skill loads into Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode, Windsurf, Zed and the other agents the skills CLI supports. Hooks exist only for Claude Code and Codex.

Agents are detected from ~/.claude / claude on PATH and $CODEX_HOME (~/.codex) / codex on PATH; with none found, only the binary is installed. The skill is placed by the skills CLI, which may prompt (--yes is passed through).

Per agent

warden install --claude   # Claude Code only: skill (via `skills add`) + rule + SessionEnd hook
warden install --codex    # Codex only: hooks in $CODEX_HOME/hooks.json
warden skill install      # the skill, into any agent the skills CLI offers

Every agent-config change shows a diff and asks first. --yes skips the prompt, --dry-run only prints, and a non-TTY without --yes skips.

warden install --claude installs the skill, the rule and the SessionEnd hook. It also removes the PreToolUse hook (warden hook pretool) that older versions installed. Details: Agent rules.

Verify

warden doctor

doctor checks hooks, the skill and the rule among other things. Then ask the agent to run warden claim ios --json and warden ui snapshot -i.

On this page