~ / rigs / FailproofAI / failproofai

FailproofAI/failproofai

Observability and enforcement for AI agent harnesses. Capture every run and runtime reliability with policy enforcement.

↗ GitHub ★ 5,234 other updated 9d ago project Claude CodeCodex
share on X
ARCHETYPE
Automator
Hooks on every lifecycle event: format, lint, notify, log.
CONTEXT TAX · EVERY TURN
~22.9k tokens
Context hog · median rig: 2.3k · breakdown
GUARDRAILS
2/5
Pre-tool screening hook · No YOLO mode · details

Copy this rig

# review before running: this installs third-party code
$ npx degit FailproofAI/failproofai/.claude ./rig-failproofai  # inspect, then merge into .claude/

MCP servers are added to Claude Code at local scope; env vars are shown as YOUR_… placeholders — we never store values. Files are fetched with degit into a separate folder so you can review before merging.

$ npx degit FailproofAI/failproofai/.agents/skills/mintlify .claude/skills/mintlify

Merge into .claude/settings.json (project) or ~/.claude/settings.json (user). Hook commands reference scripts in the source repo — copy those too.

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "*",
        "hooks": [
          {
            "type": "command",
            "command": "command -v node >/dev/null 2>&1 || { echo '[failproofai] node not found; install Node >=20.9' >&2; exit 2; }; node \"$CLAUDE_PROJECT_DIR/scripts/dev-hook.mjs\" --hook PreToolUse"
          }
        ]
      }
    ]
  }
}

Skills (1)

Hooks (25)

eventmatcherruns
SessionStart*command -v node >/dev/null 2>&1 || { echo '[failproofai] node not found; install Node >=20.9' >&2; exit 2; }; node "$CLAUDE_PROJECT_DIR/scripts/dev-hook.mjs" --hook SessionStart
SessionEnd*command -v node >/dev/null 2>&1 || { echo '[failproofai] node not found; install Node >=20.9' >&2; exit 2; }; node "$CLAUDE_PROJECT_DIR/scripts/dev-hook.mjs" --hook SessionEnd
UserPromptSubmit*command -v node >/dev/null 2>&1 || { echo '[failproofai] node not found; install Node >=20.9' >&2; exit 2; }; node "$CLAUDE_PROJECT_DIR/scripts/dev-hook.mjs" --hook UserPromptSubmit
PreToolUse*command -v node >/dev/null 2>&1 || { echo '[failproofai] node not found; install Node >=20.9' >&2; exit 2; }; node "$CLAUDE_PROJECT_DIR/scripts/dev-hook.mjs" --hook PreToolUse
PermissionRequest*command -v node >/dev/null 2>&1 || { echo '[failproofai] node not found; install Node >=20.9' >&2; exit 2; }; node "$CLAUDE_PROJECT_DIR/scripts/dev-hook.mjs" --hook PermissionRequest
PermissionDenied*command -v node >/dev/null 2>&1 || { echo '[failproofai] node not found; install Node >=20.9' >&2; exit 2; }; node "$CLAUDE_PROJECT_DIR/scripts/dev-hook.mjs" --hook PermissionDenied
PostToolUse*command -v node >/dev/null 2>&1 || { echo '[failproofai] node not found; install Node >=20.9' >&2; exit 2; }; node "$CLAUDE_PROJECT_DIR/scripts/dev-hook.mjs" --hook PostToolUse
PostToolUseFailure*command -v node >/dev/null 2>&1 || { echo '[failproofai] node not found; install Node >=20.9' >&2; exit 2; }; node "$CLAUDE_PROJECT_DIR/scripts/dev-hook.mjs" --hook PostToolUseFailure
Notification*command -v node >/dev/null 2>&1 || { echo '[failproofai] node not found; install Node >=20.9' >&2; exit 2; }; node "$CLAUDE_PROJECT_DIR/scripts/dev-hook.mjs" --hook Notification
SubagentStart*command -v node >/dev/null 2>&1 || { echo '[failproofai] node not found; install Node >=20.9' >&2; exit 2; }; node "$CLAUDE_PROJECT_DIR/scripts/dev-hook.mjs" --hook SubagentStart
SubagentStop*command -v node >/dev/null 2>&1 || { echo '[failproofai] node not found; install Node >=20.9' >&2; exit 1; }; node "$CLAUDE_PROJECT_DIR/scripts/dev-hook.mjs" --hook SubagentStop
TaskCreated*command -v node >/dev/null 2>&1 || { echo '[failproofai] node not found; install Node >=20.9' >&2; exit 2; }; node "$CLAUDE_PROJECT_DIR/scripts/dev-hook.mjs" --hook TaskCreated
TaskCompleted*command -v node >/dev/null 2>&1 || { echo '[failproofai] node not found; install Node >=20.9' >&2; exit 2; }; node "$CLAUDE_PROJECT_DIR/scripts/dev-hook.mjs" --hook TaskCompleted
Stop*command -v node >/dev/null 2>&1 || { echo '[failproofai] node not found; install Node >=20.9' >&2; exit 1; }; node "$CLAUDE_PROJECT_DIR/scripts/dev-hook.mjs" --hook Stop
StopFailure*command -v node >/dev/null 2>&1 || { echo '[failproofai] node not found; install Node >=20.9' >&2; exit 1; }; node "$CLAUDE_PROJECT_DIR/scripts/dev-hook.mjs" --hook StopFailure
TeammateIdle*command -v node >/dev/null 2>&1 || { echo '[failproofai] node not found; install Node >=20.9' >&2; exit 2; }; node "$CLAUDE_PROJECT_DIR/scripts/dev-hook.mjs" --hook TeammateIdle
InstructionsLoaded*command -v node >/dev/null 2>&1 || { echo '[failproofai] node not found; install Node >=20.9' >&2; exit 2; }; node "$CLAUDE_PROJECT_DIR/scripts/dev-hook.mjs" --hook InstructionsLoaded
ConfigChange*command -v node >/dev/null 2>&1 || { echo '[failproofai] node not found; install Node >=20.9' >&2; exit 2; }; node "$CLAUDE_PROJECT_DIR/scripts/dev-hook.mjs" --hook ConfigChange
CwdChanged*command -v node >/dev/null 2>&1 || { echo '[failproofai] node not found; install Node >=20.9' >&2; exit 2; }; node "$CLAUDE_PROJECT_DIR/scripts/dev-hook.mjs" --hook CwdChanged
FileChanged*command -v node >/dev/null 2>&1 || { echo '[failproofai] node not found; install Node >=20.9' >&2; exit 2; }; node "$CLAUDE_PROJECT_DIR/scripts/dev-hook.mjs" --hook FileChanged
WorktreeRemove*command -v node >/dev/null 2>&1 || { echo '[failproofai] node not found; install Node >=20.9' >&2; exit 2; }; node "$CLAUDE_PROJECT_DIR/scripts/dev-hook.mjs" --hook WorktreeRemove
PreCompact*command -v node >/dev/null 2>&1 || { echo '[failproofai] node not found; install Node >=20.9' >&2; exit 2; }; node "$CLAUDE_PROJECT_DIR/scripts/dev-hook.mjs" --hook PreCompact
PostCompact*command -v node >/dev/null 2>&1 || { echo '[failproofai] node not found; install Node >=20.9' >&2; exit 2; }; node "$CLAUDE_PROJECT_DIR/scripts/dev-hook.mjs" --hook PostCompact
Elicitation*command -v node >/dev/null 2>&1 || { echo '[failproofai] node not found; install Node >=20.9' >&2; exit 2; }; node "$CLAUDE_PROJECT_DIR/scripts/dev-hook.mjs" --hook Elicitation
ElicitationResult*command -v node >/dev/null 2>&1 || { echo '[failproofai] node not found; install Node >=20.9' >&2; exit 2; }; node "$CLAUDE_PROJECT_DIR/scripts/dev-hook.mjs" --hook ElicitationResult

Similar rigs

copied ✓