Skills, hooks, and prompts that extend Claude Code. Installed via symlinks — git pull updates everything.
LLM-assisted development increases entropy without guardrails. Models will push to main, overwrite protected files, skip tests, and commit secrets — not maliciously, but because nothing stops them. This toolkit is a local control layer: declarative skills define what the AI can do, hooks enforce what it can't.
- No push without preflight —
pre-commit.pyblocksgit pushunless/preflighthas run - Sensitive files are write-protected —
protect-files.pyblocks.env,.pem,.key, and credential files - Every tool call is logged —
log-tool-use.pyappends timestamp, session, and tool name to~/.claude/tool-use.log - Dry-run by default —
setup.pypreviews all changes;--applyrequired to execute - Non-invasive — setup.py only manages its own symlinks, never touches files it didn't create
Invoked via /skillname in Claude Code.
/bootstrap— Interactive new-project setup (debug logging, docs, git hygiene, CLAUDE.md)/preflight— Pre-push quality checks (secrets, docs, tests, git hygiene, cleanup, security)/add-debug-logging— Add a--debugflag and structured file logging/sync-env— Sync skills, hooks, settings, and files from ai-toolkit/code-review— Review code for bugs, clarity, edge cases, and security/doc-gen— Generate or update documentation for files or directories/fix-issue— Read a GitHub issue, implement a fix, write tests/security-review— Security-focused audit with severity ratings/tdd— Strict red-green-refactor test-driven development
- protect-files.py — Blocks writes to .env, .pem, .key, and credentials files
- pre-commit.py — Blocks git push without /preflight; blocks --no-verify
- auto-format.py — Formats files after Write/Edit (gofmt, black, prettier, rustfmt)
- log-tool-use.py — Logs all tool calls to
~/.claude/tool-use.log
git clone <repo> ~/dev/ai-toolkit
python ~/dev/ai-toolkit/setup.py --applyThis installs skills, hooks, settings.json entries, and shared files (like ~/dev/CLAUDE.md).
From Claude Code: /sync-env
From terminal: python ~/dev/ai-toolkit/setup.py
git pull is usually enough — symlinks pick up changes automatically.
Run /sync-env if you added new skills, hooks, or files to environment.md.
Runs setup.py, shows what's current/missing/stale, and offers to fix it. All logic lives in setup.py.
python setup.py --uninstall --apply