My working setup for Claude Code — skills, agents, hooks, slash commands, output styles, and the CLAUDE.md that drives it.
Take what's useful, ignore the rest.
The repo lives at ~/Claude and symlinks into ~/.claude/:
git clone <your-fork> ~/Claude
ln -s ~/Claude/CLAUDE.md ~/.claude/CLAUDE.md
ln -s ~/Claude/agents ~/.claude/agents
ln -s ~/Claude/commands ~/.claude/commands
ln -s ~/Claude/hooks ~/.claude/hooks
ln -s ~/Claude/skills ~/.claude/skills
ln -s ~/Claude/output-styles ~/.claude/output-stylesThen create your own MEMORY.md, settings.json, and the todos/, memories/, projects/ directories. They're gitignored — that's where your real context lives.
Coding work:
- browser-tools — Browser automation via Chrome DevTools.
- codebase-documenter — Write READMEs, architecture docs, and code comments.
- commit — Conventional-commit workflow; read before committing.
- frontend-design — Distinctive frontend interfaces; no generic AI aesthetics.
- frontend-philosophy — React/Preact conventions: TanStack Query, no TypeScript, no barrel files.
- improve-codebase-architecture — Consolidate modules, improve testability and AI navigation.
- insecure-defaults — Catch hardcoded secrets, weak auth, permissive config.
- playwright-skill — Browser automation with Playwright.
- prototype — Build a throwaway prototype to flesh out a design.
- quality-code — Type-safe, well-tested, observable TypeScript.
- requesting-code-review — Verify work meets requirements before merging.
- scaffold-astro — Scaffold Astro projects with Bun + Tailwind.
- skill-creator — Create or update skills.
- systematic-debugging — Root-cause-first discipline for hard bugs.
- test-driven-development — Red-green-refactor loop.
- to-issues — Break a plan into tracer-bullet issues.
- to-prd — Turn a conversation into a PRD and publish it.
- triage — Triage incoming issues through a state machine.
- using-git-worktrees — Isolated worktrees for feature work.
- visual-audit — Screenshot and analyze visual composition.
Writing and communication:
- caveman — Ultra-compressed output mode; cuts tokens ~75%.
- compress — Compress memory files (CLAUDE.md, todos) to caveman format.
- writing-clearly-and-concisely — Strunk's writing rules for docs, commits, errors, UI copy.
Integrations:
- bird — Twitter/X via the
birdCLI. - cloudflare — Cloudflare API: DNS, Workers, Tunnels, zones.
- gccli — Google Calendar CLI.
- gdcli — Google Drive CLI.
- hetzner-cloud — Hetzner Cloud infrastructure via
hcloud. - jarvislabs — GPU experiments on JarvisLabs.ai.
- localmaxxing — Local-LLM benchmark and eval leaderboards.
- dhh-code-reviewer — JavaScript/TypeScript review in DHH's style.
- go-reviewer — Idiomatic Go review against Effective Go.
- react-masters-reviewer — React/Preact review through Linsley, Florence, Dodds, Pocock, Abramov, Browne.
- builder — Executes one engineering task at a time.
- validator — Read-only verification that a task met its acceptance criteria.
- api-frontend-tester — Systematic API testing with curl.
- api-backend-tester — Backend testing with pytest and Python tooling.
- test-coverage — Add tests retroactively to existing untested code.
- docs-fetcher — Pull current API references and gotchas before implementing.
/plan— Write an engineering plan tospecs/./plan_w_team— Same, with a multi-agent team pass./build— Implement the plan./pickup— Pick up where you left off last session./remember— Capture this session's outcome to memory./question— Answer questions about the project without writing code./generate-visual-plan— Render a feature plan as a visual.
Python scripts (run via uv inline deps) wired to Claude Code lifecycle events:
- Session start/end — load context, log sessions.
- Notifications — audio cues when Claude needs input.
- Validators — ruff runs after every Python write.
- Subagent sounds — distinct cues per agent type.
- TTS — ElevenLabs, OpenAI, Piper, pyttsx3, Qwen.
Swap response format on the fly: genui, markdown-focused, table-based, ultra-concise.
| Path | Why |
|---|---|
MEMORY.md |
Persistent context, preferences, active state |
settings.json |
Customize your own |
*.local.json |
Machine-specific overrides |
memories/ |
Session snapshots |
projects/ |
Living docs for active work |
todos/ |
Task tracking |
.env |
API keys |
logs/, status_lines/ |
Runtime ephemera |
- Claude Code
- uv — hooks run via
uv run --script - PipeWire —
pw-playfor notification sounds on Linux - ruff — Python validator, auto-installed via
uvx