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 firstPaste 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
| Piece | Where | Agents |
|---|---|---|
| Skill | skills/warden/: SKILL.md + references/{ui,specs,suites,troubleshooting}.md, embedded in the binary | anything the skills CLI installs into |
| Rule | ~/.claude/rules/warden.md, written directly | Claude Code |
| SessionEnd hook | warden hook session-end | Claude 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 offersEvery 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 doctordoctor 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.