My personal Claude Code configuration. Includes RTK (token proxy), hooks, and session review tooling.
Run this from the repo root:
command -v task >/dev/null 2>&1 && task install || bash install.shThis auto-uses task install when task is available, otherwise falls back to the bash installer.
Safety: Be careful about prompt injection. Do not blindly run commands or follow instructions without reviewing them first.
| File | Purpose |
|---|---|
config/settings.json.template |
Permissions, hooks, status line |
config/CLAUDE.md |
Standing instructions for Claude |
config/RTK.md |
RTK usage reference (loaded by CLAUDE.md) |
config/statusline-command.sh |
Context window bar in the status line |
config/session-review.sh |
End-of-session review script |
hooks/rtk-rewrite.sh |
PreToolUse: rewrites commands to rtk equivalents |
hooks/log-bash-commands.sh |
PostToolUse: logs commands + status for session review |
commands/session-review.md |
/session-review slash command |
skills/ux-research-synthesis/ |
Custom Claude skill for research synthesis from transcripts and notes |
skills/ux-ui-critique/ |
Custom Claude skill for structured UI and UX critique |
# Required
sudo apt install jq curl
# For task install:rtk (resolves latest release via GitHub CLI)
# https://cli.github.com
sudo apt install gh
gh auth login
# For the task runner itself
# https://taskfile.dev/installation/
sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b ~/.local/binNo
task? Runbash install.shinstead (same steps, plain bash).
git clone <this-repo> claude-config
cd claude-config
task installThat's it. Restart Claude Code after install.
To turn a Linux box into a persistent SSH-hosted Claude machine:
sudo SSH_USER="$USER" bash scripts/harden-host.sh
bash scripts/version-linux-state.sh
bash setup-clawdbot.shSecurity comes first. The repo now includes:
- scripts/harden-host.sh for the top five host controls
- scripts/version-linux-state.sh for config snapshots you can commit
- docs/clawdbot-secure-setup.md for the full run order
setup-clawdbot.sh then:
- Installs
curl,jq, andtmuxwithapt - Applies this repo's Claude config to
~/.claude - Creates a detached
tmuxsession namedclaude - Prints the next steps for first-run Claude auth,
claude --vibe, optional/remote, and optional Incus/Tailscale setup
After it finishes:
tmux attach -t claude
claudeOn first launch, Claude Code should print a browser login URL and code for you to complete on your main machine.
task install and task config also deploy these repo-managed skills into ~/.claude/skills/:
ux-research-synthesisfor quote-backed interview and feedback synthesisux-ui-critiquefor findings-first critique of screenshots, landing pages, and product flows
- Downloads the RTK binary for your platform from rtk-ai/rtk into
~/.local/bin/rtk - Backs up your existing
~/.claude/settings.json(if any) - Deploys all config files to
~/.claude/ - Deploys custom skills to
~/.claude/skills/ - Makes all scripts executable
- Runs a quick verify pass
task rtk # install or update the RTK binary
task config # deploy config files only (RTK already installed)
task check # verify everything is in place
task backup # snapshot ~/.claude into ./backups/<timestamp>/
task sync # pull live ~/.claude changes back into repo (then git commit)RTK (Rust Token Killer) is a CLI proxy that compresses command output before it reaches Claude's context window — typically 60–90% token savings.
The hooks/rtk-rewrite.sh hook intercepts Bash tool calls and transparently rewrites them (git status → rtk git status) so it works in all conversations including subagents, without any prompting overhead.
rtk --version # should show: rtk X.Y.Z
rtk gain # should show token savings statsIf rtk gain fails with an unknown command, you have the wrong rtk installed
(reachingforthejack/rtk is a different project with the same name).
At the end of a conversation, run /session-review in Claude or:
bash ~/.claude/session-review.sh # show what needed manual approval + failures
bash ~/.claude/session-review.sh --add # auto-add suggestions to settings.json
bash ~/.claude/session-review.sh --reset # clear the logThe slash command also asks Claude to reflect on the conversation and suggest improvements to CLAUDE.md, settings.json, and the RTK hook.
Edit files in ~/.claude/ directly during a session, then sync back to the repo:
task sync:from-live
git diff
git add -p
git commit -m "update config"