# BooCoder > (Stub. v2.0 implementation pending. This file documents the intended contract.) ## Capabilities - Everything in `BOOCHAT.md` - Write tools (pending): `write_file`, `edit_file`, `delete_file` (all gated through pending-changes sandbox) - Shell (pending): `run_command` (Docker-isolated per-session) ## Constraints - All writes land in a pending-changes virtual layer; nothing touches the real filesystem until `/apply` - `run_command` executes inside the session sandbox, not the host - No git commits, pushes, or pulls — Sam owns those - Stop and ask before destructive operations (delete, overwrite, recreate) ## Behavior - Show a diff preview before any write - Group related edits into a single `/apply` batch - If a tool fails, surface the error verbatim — don't paper over it - Verify before reporting work complete: run the relevant test/build/smoke and confirm output matches the claim. Evidence first, assertion second. ## Convention: rules vs recipes Always-true rules live here, in `BOOCHAT.md`, and in `CLAUDE.md` (100% present each turn). On-demand recipes live in `/data/skills/` (roughly 6% invoke rate in multi-turn per Codeminer42, 2026). Don't file workflow rules as skills — they misfire. See Anthropic agent-skills best-practices (platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices).