npx claudepluginhub charleswiltgen/axiom --plugin axiomDefined in hooks/hooks.json
"${CLAUDE_PLUGIN_ROOT}/hooks/stop-validation.sh"Bashbash -c 'O="$CLAUDE_TOOL_OUTPUT"; echo "$O" | grep -qE "Unable to simultaneously satisfy constraints" && echo "💡 Auto Layout conflict. Try: skill auto-layout-debugging"; echo "$O" | grep -qE "Actor-isolated|Sendable|data race|@MainActor" && echo "💡 Concurrency issue. Try: skill swift-concurrency"; echo "$O" | grep -qE "no such column|FOREIGN KEY constraint|migration" && echo "💡 Database migration issue. Try: skill database-migration"; echo "$O" | grep -qE "retain cycle|memory leak|deinit.*never called" && echo "💡 Memory issue detected. Try: skill memory-debugging"; echo "$O" | grep -qE "CKError|CKRecord.*error" && echo "💡 CloudKit issue. Try: skill cloudkit-ref or cloud-sync-diag"; echo "$O" | grep -qE "ubiquitous.*error|iCloud Drive|NSFileCoordinator" && echo "💡 iCloud Drive issue. Try: skill icloud-drive-ref or cloud-sync-diag"; echo "$O" | grep -qE "file.*disappeared|file not found|storage.*full" && echo "💡 File storage issue. Try: skill storage-diag"; echo "$O" | grep -qE "FileProtection|data protection|file.*locked" && echo "💡 File protection issue. Try: skill file-protection-ref"; echo "$O" | grep -qE "error:.*module.*not found|linker command failed" && echo "💡 Build configuration issue. Try: /axiom:fix-build"; exit 0'Write|Editbash -c 'if [[ "$TOOL_INPUT_FILE_PATH" == *.swift ]] && command -v swiftformat &>/dev/null; then swiftformat "$TOOL_INPUT_FILE_PATH" --quiet || true; fi; exit 0'"${CLAUDE_PLUGIN_ROOT}/hooks/swift-guardrails.sh""${CLAUDE_PLUGIN_ROOT}/hooks/session-start.sh""${CLAUDE_PLUGIN_ROOT}/hooks/subagent-start.sh""${CLAUDE_PLUGIN_ROOT}/hooks/user-prompt-submit.sh"Runs swiftformat on Swift file writes/edits, checks bash tool output for iOS/Swift errors (concurrency, CloudKit, memory leaks, DB migrations) with skill suggestions, executes lifecycle scripts via bash. Modifies files.