By igorjs
A pragmatic Claude Code toolkit: opinionated skills, slash commands, subagents, and safety and state hooks for planning, review, memory, and guarded editing.
Walk unresolved PR review comments one at a time, apply fixes or draft replies, then commit-and-push and post replies with the new SHA.
Use when recording a significant, hard-to-reverse architectural decision. Creates a fact-checked ADR with an optional execution blueprint and saves it to .claude/adr/.
Divergent discovery session that explores a raw idea, weighs approaches, and produces an approved design doc that hands off to /scope.
Use when committing staged changes with a generated message and pushing. Handles staging, formatting, a signed commit, optional rebase, and push.
Create a pull request with pre-flight checks, a conventional-commit title, and the team PR template, following engineering-standards and writing-style.
Isolated read-only executor for the /repo-audit command. Runs the full four-phase repository audit in a forked context on Opus and returns the finished audit document as its only output. Not for general-purpose work; /repo-audit routes to it via `context: fork`.
Isolated executor for the /commit-and-push and /create-pull-request commands. Delivers signed commits and pull requests end to end in a forked context, on Haiku. Not for general-purpose work; these two commands route to it via `context: fork`.
Isolated read-only code reviewer for the /deep-review swarm and /quick-review. Each spawn takes a review focus, either a single lens (logic, test, security, data, types, perf, or a conditional lens) for the deep-review swarm, or the entire diff for a quick-review single pass, and returns findings in the exact shape the orchestrator's prompt specifies. Structurally read-only (no Edit/Write/Bash). Not for general-purpose work.
Use when writing or reviewing JavaScript or TypeScript code and tests under the team engineering standards, especially when validating input or setting up mocks in a Jest or Vitest test.
Use when working on pull requests, planning a testing approach, or thinking about deployment under the team engineering standards.
Use when exploring or investigating a codebase, tracing execution paths, mapping dependencies, or producing a sourced findings report. Distinct from grounding-review, which is for reviewing PRs.
Use when reviewing a pull request or code change, whether a quick single pass or a structured deep review. Distinct from grounding-research, which is for investigating code.
Use at the end of a working session, before /clear or context compaction, or when the user asks to wrap up or summarize for next time.
Executes bash commands
Hook triggers when Bash tool is used
Modifies files
Hook triggers on file write and edit operations
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Uses power tools
Uses Bash, Write, or Edit tools
Uses power tools
Uses Bash, Write, or Edit tools
Runs pre-commands
Contains inline bash commands via ! syntax
Runs pre-commands
Contains inline bash commands via ! syntax
My personal Claude Code setup: a zsh launcher, session hooks, a custom system prompt, skills, slash commands, and a statusline. It lives at ~/.claude and replaces the default config directory.
| Tool | Status | Why |
|---|---|---|
claude on PATH | required | Claude Code itself |
| zsh | required for cc | the launcher is zsh-only; run claude directly from any shell without it |
git, jq, bash, shasum | required | used by hooks and the install script |
python3 3.9+ | required | used by two bash hooks (path resolution and the memory-graph rebuild); the hooks themselves are bash |
rtk (Rust Token Killer) | required | a PreToolUse hook routes every Bash command through it to cut token use |
gh | optional | statusline PR and CI status |
agent-browser | optional | browser automation MCP used by /brainstorm for web-only tickets and attachments |
Config lives at ~/.claude (all paths are hardcoded to $HOME/.claude).
Quickest, no clone:
curl -fsSL https://raw.githubusercontent.com/igorjs/pragmatic-claude/main/install.sh | bash
Downloads the latest release (or main if none exists), backs up anything it replaces to ~/.claude/backups/, runs brew bundle, adds the launcher to ~/.zshrc, and opens a fresh shell. Pin a version or install files only:
PRAGMATIC_CLAUDE_REF=v0.1.0 curl -fsSL https://raw.githubusercontent.com/igorjs/pragmatic-claude/main/install.sh | bash
curl -fsSL https://raw.githubusercontent.com/igorjs/pragmatic-claude/main/install.sh | bash -s -- --no-setup
Pin PRAGMATIC_CLAUDE_REF to a tag or commit for a reproducible, reviewable install: the same files every run, and a ref you inspect first.
Prefer git? Clone fresh:
git clone https://github.com/igorjs/pragmatic-claude.git ~/.claude
Already have a ~/.claude from Claude Code? Adopt it in place. The .gitignore is an allowlist, so sessions, caches, and runtime files stay ignored:
cd ~/.claude
git init
git remote add origin https://github.com/igorjs/pragmatic-claude.git
git fetch origin
git checkout -f main
Add the launcher to .zshrc:
source ~/.claude/shell/cc.zsh
Reload with exec zsh.
cc # resume this directory's last session, or start fresh
ccd # same, with --dangerously-skip-permissions
cc fresh # new session, no history
cc list # recent sessions for this directory
cc clean # resume with /model, /effort, /config, /output-style, /style stripped
cc raw [id] # resume verbatim, no fork or cleanup
cc worktree <branch> # create/enter a git worktree, then start a session there
cc new <branch> # alias for cc worktree
cc loads the system prompt, picks a model, and prunes old transcripts (keeps the newest 5; set CCD_KEEP to change, CCD_KEEP=0 disables).
cc worktree (also ccd worktree) creates or enters a worktree off the project's base branch, grouped under <repo-parent>/.worktrees/<repo>/<folder> (set WORKTREE_BASE_DIR to change the base folder). It names the folder after the JIRA key in the branch name, copies .env, clones node_modules with a copy-on-write copy so each branch gets an independent tree, pushes the branch to set upstream (pass --no-push or set WORKTREE_NO_PUSH=1 to skip), and runs a daily background cleanup of merged or stale worktrees. On a rebase conflict Claude offers to resolve it (--ai-resolve is always set): you get a prompt first, and it defaults to yes. Set WORKTREE_AI_RESOLVE_SILENT=1 to resolve without the prompt, or WORKTREE_AI_RESOLVE=0 to turn it off. Only available via cc/ccd. cc new <branch> is an alias for cc worktree.
Full documentation: docs/index.md.
docs/concepts/): system prompt design and the memory system.docs/guides/): plan-and-implement, review and PR flow, decisions and memory.docs/authoring/): writing commands, skills, and hooks.docs/internals/): launcher, hooks, model routing, and memory injection.prompts/SYSTEM_PROMPT.md is passed as --system-prompt-file on every cc session. It sets the persona (senior principal engineer, security specialization) and the rules every session follows: terse output, voice rules for prose, rtk integration, model routing, TDD, verification, and the memory protocol. Edit it to change how sessions behave; changes take effect on the next fresh session.
Slash commands live in commands/. See docs/guides for full usage.
npx claudepluginhub igorjs/pragmatic-claude --plugin pragmatic-claudeHarness-native ECC plugin for engineering teams - 67 agents, 279 skills, 94 legacy command shims, reusable hooks, rules, MCP conventions, and operator workflows for Claude Code plus adjacent agent harnesses
v9.54.1 — Reliability wave: tangle contextual review correction loop with hard round ceiling, progress-supervised review rounds (per-agent stall watch, descendant-tree kills), council diversity and agy pin fixes, marketplace generator source-of-truth fix, provider troubleshooting runbook and cost-expectations docs. Run /octo:setup.
Claude harness - A harness for solo developers (Vibecoders) to handle full-cycle contract development.
Evidence-gated AI coding workflow: scan → analyze → plan → TDD → execute → fix → verify → review, powered by Codebase Memory MCP >= 0.9.0 with optional Serena LSP intelligence. Includes blast-radius planning, test/cycle gates, independent review, and Windows Git Bash hook auto-resolution.
Core skills library for Claude Code: TDD, debugging, collaboration patterns, and proven techniques
The Claude Code knowledge system — 380+ skills, 182+ agents, 100+ commands, 40 hooks, 32 rules, and workflows.