My portable, version-controlled Claude Code configuration. Fork it, customize it, sync it across machines.
git clone https://github.com/YOUR_USERNAME/claude-code-setup.git
cd claude-code-setup && ./setup.shThat's it. Your Claude Code now uses this repo's skills and commands.
This repo symlinks into ~/.claude/, so your Claude Code configuration lives in a git repo you control.
~/.claude/
├── skills/ → <repo>/skills/
├── commands/ → <repo>/commands/
├── agents/ → <repo>/agents/
├── hooks/ → <repo>/hooks/
└── scripts/ → <repo>/scripts/
Edit files in either location — they're the same files. Commit and push to sync across machines.
- Fork this repo on GitHub
- Clone and run setup:
git clone https://github.com/YOUR_USERNAME/claude-code-setup.git cd claude-code-setup && ./setup.sh
- Customize — see FORKING.md
git clone https://github.com/petekp/claude-code-setup.git
cd claude-code-setup && ./setup.shClone it wherever you keep projects — the setup script detects its own location.
From the repo directory:
git add -A && git commit -m "Update config" && git pushOn another machine, just git pull.
./setup.sh --undoRemoves symlinks and restores any backed-up directories.
| Skill | Purpose |
|---|---|
cognitive-foundations |
User psychology, attention, memory limits, HCI research |
design-critique |
UI/UX reviews with severity ratings and accessibility checks |
dreaming |
Expansive thinking, 10x questions, breaking constraints |
interaction-design |
Component behaviors, micro-interactions, state transitions |
model-first-reasoning |
Formal logic, state machines, constraint systems |
nextjs-boilerplate |
Next.js + Tailwind + shadcn/ui project setup |
oss-product-manager |
Open source strategy, community dynamics, governance |
react-component-dev |
React patterns, forwardRef, accessibility, composition |
startup-wisdom |
Product strategy, PMF, prioritization, founder decisions |
stress-testing |
Pre-mortems, risk analysis, assumption audits |
tutorial-writing |
Educational content, step-by-step implementation guides |
typography |
Type scales, font selection, hierarchy, readability |
unix-macos-engineer |
Shell scripts, CLI tools, launchd, system admin |
ux-writing |
Microcopy, error messages, empty states, voice/tone |
wise-novice |
Fresh perspectives, naive questions, challenging assumptions |
| Command | Purpose |
|---|---|
/commit-and-push |
Generate conventional commit and push to remote |
/grok |
Deep 6-phase codebase analysis for authoritative understanding |
/interview |
Gather context for planning with suggested answers |
/new-project |
Create project from template (example of project-specific command) |
/record-todos |
Capture ideas to TODO.md without acting on them |
/recover |
Escape rabbit holes, impasses, and tangled sessions |
/refactor |
Refactor for readability, maintainability, type safety |
/squad |
Deploy multiple skills on a single request |
/synthesize-feedback |
Consolidate feedback from multiple LLMs |
/verify |
Run lint and typecheck before committing |
| Agent | Purpose |
|---|---|
playwright-qa-tester |
Focused QA testing with Playwright |
| Hook | Purpose |
|---|---|
doc-update-check |
Prompt to update README when commands/skills/hooks change |
pre-commit-verify |
Reminder to verify before committing |
say-ready |
Speak project name when Claude is ready for input |
The doc-update-check hook makes this repo self-maintaining: when Claude adds or removes commands, skills, or hooks, it's prompted to update this README before finishing. No more stale docs.
| Script | Purpose |
|---|---|
say-ready.sh |
Speak project name aloud (with 10s debounce) |
validate.sh |
Validate frontmatter in skills, commands, agents, and hooks |
These files are for reference or manual setup. See templates/README.md for details.
| File | Purpose |
|---|---|
templates/settings.json.reference |
Example permissions — review for patterns, don't copy directly |
templates/settings.local.json.template |
Machine-specific permissions template |
templates/.mcp.json.template |
MCP server config template |
CLAUDE.md |
Coding conventions — edit to match your style |
- Check symlinks exist:
ls -la ~/.claude/skills - Validate frontmatter:
./scripts/validate.sh - Restart Claude Code
chmod +x setup.sh && ./setup.sh./setup.sh --dry-run./setup.sh --undo # Restores from timestamped backupsThis script requires a Unix shell. Use WSL (Windows Subsystem for Linux) or set up symlinks manually.
MIT