Personal configuration for Claude Code: commands, agents and skills. Designed to complement the public ecosystem (superpowers, astronomer-data, vercel-*, etc.) rather than duplicate it.
# Clone the repo
git clone https://github.com/jbo-tech/claude-setup.git
cd claude-setup
# Preview what would be installed (no changes)
./install.sh --dry-run
# Install — creates symlinks from ~/.claude/ to this repo
./install.sh
# Auto-backup all conflicts without prompting
./install.sh -yThe installer uses symlinks, not copies. Editing files in the repo applies immediately to your ~/.claude/ setup — and git pull updates everything in place.
On conflict (existing file at a target path), the installer asks per file :
[v]iew diff— show what differs[b]ackup— save the existing file, then symlinkbackup-[a]ll— backup this and all remaining conflicts without prompting[s]kip— leave the existing file alone[q]uit— stop the run, keep everything done so far
Backups are stored in .backups/<timestamp>/ at the repo root (gitignored). A manifest is written at ~/.claude/.claude-setup-manifest listing every symlink created. The installer never touches ~/.claude/plugins/ (third-party plugins) and never removes files not in the manifest.
./uninstall.sh --dry-run # preview
./uninstall.sh # remove our symlinksSafety: only symlinks that still point to this repo are removed. Anything you modified (replaced with a regular file, re-pointed elsewhere) is preserved with a warning. Backups under .backups/ are never removed automatically.
Set CLAUDE_HOME if your config lives elsewhere :
CLAUDE_HOME=/path/to/.claude ./install.shThe settings.json ships a hook that runs ruff format after Python file edits. The installer warns if ruff is not in PATH, but does not install it for you.
With pipx (recommended)
brew install pipx
pipx ensurepath
source ~/.zshrc
pipx install ruff
which ruff # → ~/.local/bin/ruffWith uv (modern alternative)
curl -LsSf https://astral.sh/uv/install.sh | sh
uv tool install ruff
which ruff # → ~/.local/bin/ruffWith pip
pip install ruffclaude/
├── CLAUDE.md # Global preferences
├── settings.json # Permissions, hooks and status line
├── commands/ # Slash commands
├── agents/ # Specialized agents
├── skills/ # Skills with templates
└── scripts/ # Status line and utility scripts
| Command | Description |
|---|---|
/bootstrap |
Initialize project context |
/scope |
Entry point (what / why / how) — hands off to /goal |
/explore [tag] |
Exploration (tags: technical, architecture, business, user) |
/audit |
General code audit (security, optimization, homogeneity) |
/audit-ml |
Specialized ML / DL audit (leakage, validation, serving) |
/audit-accessibility |
Specialized accessibility audit (WCAG / ARIA / RGAA) |
/delegate [--task <type>] |
Delegate coding task to cheaper agent CLI |
/delegate-on |
Enable auto-delegation for project |
/delegate-off |
Disable auto-delegation |
/delegate-status |
Show delegation backend status |
/git-commit |
Git commit |
/retro |
Session retrospective |
/document |
Generate orientation docs (architecture + reference/drift) in docs/ |
/delegate routes to a specialized backend based on task type. Claude injects --task automatically — no manual flag needed. Models use the opencode-go provider, ventilated by difficulty tier.
--task |
Model (tier) | Best for |
|---|---|---|
coding |
deepseek-v4-flash (easy) | Simple edits in any language |
python |
minimax-m3 (complex) | Python files, data scripts, ML code |
marketing |
deepseek-v4-pro (medium) | README, docs, copywriting |
| (omit) | deepseek-v4-pro / mistral-medium-3.5 (vibe) | Complex / multi-file / unclear |
Backend config lives in ~/.config/claude-code/delegate.yaml. Add or swap models without touching the skill.
┌─────────────┐
│ /bootstrap │ (project context)
└─────────────┘
↓
┌─────────────┐
│ /explore │ (understanding)
└─────────────┘
↓
┌─────────────┐
│ /scope │ (what / why / how)
└─────────────┘
↓
Clear? ──→ Unclear → /explore [tag] → back to /scope
↓
┌───────┴───────┐
↓ ↓
Code /goal (autonomous execution)
↓ ↓
/git-commit /git-commit
└───┬───────────┘
↓
delegate-auto? ──→ oui → /delegate (cheaper model)
↓
non → code direct
↓
/git-commit
↓
/retro
Specialized audits (/audit, /audit-ml, /audit-accessibility) are called on demand throughout the flow.
| Agent | Triggers |
|---|---|
infra-expert |
container, dockerfile, compose, deploy, kubernetes, systemd |
creative-director |
brainstorm, naming, concept, creative, branding, vision |
| Skill | Description |
|---|---|
agent-builder |
Create specialized agents |
creative-direction |
Naming, branding, creative direction workflow |
data-engineering |
Open-source data pipelines (DuckDB, Parquet, Kestra, MinIO) |
infra-containers |
Open-source containerization (Docker, Podman, K3s, Kestra) |
security-review |
Security best practices for code and infrastructure |
This setup is intentionally minimal. Many workflows are already covered by public skills and plugins — duplicating them locally only adds noise.
| Need | This setup | Public coverage |
|---|---|---|
| TDD red/green/refactor | — | superpowers:test-driven-development |
| Plan a multi-step feature | — | superpowers:writing-plans |
| Execute a plan | /goal (native) |
superpowers:executing-plans / subagent-driven-development |
| Worktrees / isolated workspace | — | superpowers:using-git-worktrees |
| Finish a branch (merge / PR) | — | superpowers:finishing-a-development-branch |
| Brainstorm / ideation | creative-direction skill |
superpowers:brainstorming |
| Airflow / dbt / Snowflake | — | astronomer-data:* |
| Vercel / Next.js | — | vercel-* |
| Frontend design / UI generation | — | frontend-design, taste-design, stitch-* |
| Delegate to cheaper models | /delegate + /delegate-on |
vibe-skill (Mistral Vibe) |
What this setup adds : the /scope → /goal handoff with structured success criteria, auto-delegation to task-specialized cheaper models via /delegate (5 backends, automatic --task routing), the /audit-* family, open-source-focused data-engineering and infra-containers skills, and the creative-director agent. Everything else is delegated.
Install these plugins and skills from within Claude Code to unlock the workflows listed above.
Plugins (via /install-plugin):
| Plugin | Source | Provides |
|---|---|---|
superpowers |
anthropics/claude-plugins-official |
TDD, plans, worktrees, branch finishing, brainstorming |
frontend-design |
anthropics/claude-plugins-official |
UI/UX generation and design review |
remember |
anthropics/claude-plugins-official |
Persistent memory across conversations |
Third-party skills (clone + symlink into ~/.claude/skills/):
| Skill | Repo | Provides |
|---|---|---|
vibe-skill |
pcx-wave/vibe-skill |
Delegate coding tasks to Mistral Vibe — saves tokens and context window |
All plugins from anthropics/claude-plugins-official can be browsed and installed interactively with /install-plugin inside Claude Code. Third-party skills require manual installation — see each repo's README for instructions.
statusline.py displays context window usage, 5-hour and 7-day rate limit quotas with color-coded alerts (green/yellow/red) and remaining time. Requires Python 3.
Opus | project:main ● | ctx ▓░░░░░░░░░ 7% | 5h ░░░░░ 3% ~4h46 | 7d ▓▓░░░ 49% ~3d
The previous context-bar.sh (bash/jq) is still available — switch in settings.json :
"statusLine": { "command": "~/.claude/scripts/context-bar.sh" }- Model: opus
- Permissions: git, python, pytest, ruff, make, docker, uv, pip, npm, gh
- Ruff hook: automatic formatting of Python files after write
- Status line:
statusline.pywith 60s refresh interval
MIT