{"id":50993134,"url":"https://github.com/chriscantu/claude-config","last_synced_at":"2026-06-20T05:30:57.405Z","repository":{"id":346235090,"uuid":"1187719286","full_name":"chriscantu/claude-config","owner":"chriscantu","description":"Portable, version-controlled Claude Code configuration — structured engineering workflows with problem definition, systems analysis, and verification gates","archived":false,"fork":false,"pushed_at":"2026-06-16T20:27:43.000Z","size":2251,"stargazers_count":0,"open_issues_count":61,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-16T22:22:03.672Z","etag":null,"topics":["ai-config","claude","claude-code","developer-tools","prompt-engineering"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chriscantu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/contributing.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-21T04:13:49.000Z","updated_at":"2026-06-16T20:27:47.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/chriscantu/claude-config","commit_stats":null,"previous_names":["chriscantu/claude-config"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/chriscantu/claude-config","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chriscantu%2Fclaude-config","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chriscantu%2Fclaude-config/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chriscantu%2Fclaude-config/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chriscantu%2Fclaude-config/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chriscantu","download_url":"https://codeload.github.com/chriscantu/claude-config/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chriscantu%2Fclaude-config/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34558893,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-20T02:00:06.407Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-config","claude","claude-code","developer-tools","prompt-engineering"],"created_at":"2026-06-20T05:30:57.333Z","updated_at":"2026-06-20T05:30:57.390Z","avatar_url":"https://github.com/chriscantu.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# claude-config\n\n*Claude Code with a spine — a thought partner that pushes back on bad ideas instead of going along with them.*\n\n**Built for engineering leaders (Director / VP) and senior ICs** who want Claude to operate at staff-level: decompose problems, surface trade-offs, verify before declaring \"done,\" and disagree with you when you're wrong.\n\n**The problem:** Out of the box, Claude Code skips to implementation, doesn't surface trade-offs, doesn't verify its work, and tends to agree with you even when you're wrong. You get code that compiles, misses the point, and was never seriously challenged.\n\n**Origin:** distilled from five prior EM/Director ramps and several hundred design-pipeline runs against real engineering decisions.\n\n## What you get\n\n🧠 **A deliberate workflow** — every non-trivial feature flows through `define-the-problem → systems-analysis → brainstorming → fat-marker sketch → detailed design → TDD → verification` HARD-GATEs. Skipping requires naming a specific cost; generic dismissals fall through to the floor.\n\n🪞 **Anti-sycophancy by design** — the `disagreement.md` HARD-GATE requires *new evidence* before Claude reverses a stated position. Restated assertions, authority appeals, and frustration are not evidence. Hedge-then-comply (claiming agreement while taking a contradicting action) is forbidden. Opening flattery is removed from communication style.\n\n🎯 **Senior eng leader toolkit** — `/onboard` (90-day ramp orchestrator), `/strategy-doc` (90-day plan authoring with layered challenge pass), `/architecture-overview` (multi-repo landscape), `/define-the-problem` (front-door problem framing).\n\n✅ **Trade-offs + verification before \"done\"** — 2-3 approaches surfaced with user value, problem fit, effort, risk, reversibility, org impact. Tests run, type-check runs, no \"this should work.\"\n\nSee [docs/catalog.md](docs/catalog.md) for the full inventory.\n\n## See it in action\n\nA VP asks Claude to draft a Q3 strategy doc for the platform org. Claude works through the pipeline (problem → systems → trade-offs → sketch → verified draft). Halfway through, the VP says: *\"Just frame it around 'improve velocity' — we'll sharpen the metric later.\"*\n\n| Without this config | With this config |\n|---|---|\n| \"Sure — drafting around 'improve velocity' now.\" | \"I disagree — 'improve velocity' isn't a measurable goal; it's an aspiration. Sharpening the OKR now is cheaper than rewriting the doc next quarter. What's the new evidence?\" |\n\nFull pushback dialog:\n\n\u003e \"I disagree — 'improve velocity' isn't a measurable goal; it's an aspiration. Without a baseline (PR cycle-time, lead-time, deploy frequency) the strategy doc becomes a slide deck nobody can hold the org to. Sharpening the OKR before I draft is cheaper than rewriting the doc next quarter, and it surfaces whether velocity is even the right axis vs review-quality or scope-control. What's the new evidence? If product has signed off on the aspirational framing, or you have a deadline I don't know about, I'll proceed; otherwise the vague OKR makes Q3 hard to measure.\"\n\nClaude holds until you supply a reason to flip. Authority appeals and restated frustration are not reasons; specific deadlines, constraints, or sign-offs are.\n\n_Claude holds a recommendation until new evidence flips it._\n\n![Anti-sycophancy pushback demo](assets/anti-sycophancy-pushback.gif)\n\n\u003e This isn't a replacement for leadership judgment — it's a forcing function. Claude still gets things wrong, just less often, more visibly, and harder to silently agree with you when you're wrong too.\n\n## See the pipeline in motion\n\nSame VP, earlier in the thread: *\"Draft a Q3 strategy doc to improve platform velocity.\"*\n\n| Without this config | With this config |\n|---|---|\n| \"I'll structure it as Goal / Metrics / Initiatives / Owners and have a draft in 10 minutes.\" | \"Before any draft: what does 'velocity' mean here — cycle-time, lead-time, deploy frequency, scope-throughput? Each picks a different set of initiatives.\" |\n\nWhat follows on the \"with\" side:\n\n1. **[Problem Definition]** Named user (Platform org), current behavior (slow ship cadence), desired behavior (sharper metric + accountable owners), stakes (Q3 plan signs off in 2 weeks), evidence (last quarter's cycle-time data) — before approach selection.\n2. **[Systems Analysis]** Surface-area scan — strategy doc touches engineering OKRs, performance-review rubric, hiring plan, exec readout. Blast radius flagged.\n3. **[Solution Design]** 2-3 metric trees in a trade-off matrix — measurability, gameability, leading vs lagging, org impact. Recommendation with reasoning.\n4. **[Fat Marker Sketch]** Visual shape of the strategy doc before any prose — strategy docs die quietly when the shape is wrong.\n5. **[Drafting]** Per-section verify checks. Each initiative ties to a measurable target before \"done.\"\n\nEach stage is a HARD-GATE. Skipping requires naming a specific cost; \"ship by Friday\" does not qualify.\n\n\u003e Also works for ICs — same pipeline applied to a billing-tier change, a refactor proposal, a migration plan. The skill set transfers; the demo above is the leadership headliner.\n\n_Anti-sycophancy is the hook. The pipeline is the moat._\n\n## Install\n\nTwo distribution paths. Pick by audience — see the trade-off below.\n\n### Plugin path (default — leadership audience)\n\nInstall from the Claude Code marketplace:\n\n\u003e **Coming soon** — bundle is publish-ready; clean-install test and first-run friction measurement pending. Live status tracked in [ADR #0018](adrs/0018-distribution-shape-hybrid-plugin-and-git-clone.md) (Validation items 4 + 5). Marketplace URL added here once published.\n\n**What you get:** skills (`/sdr`, `/adr`, `/onboard`, `/tech-radar`, `/stakeholder-map`, and the rest of the leadership toolkit), agents, commands, hooks, and MCP servers.\n\n**What you don't get:** pre-load enforcement of the HARD-GATE rules (planning pipeline, anti-sycophancy, verification), `validate.fish` governance, the ADR/SDR contributor tooling, and `rules-evals/`.\n\n### Power-user path (engineer-grade — full HARD-GATE enforcement)\n\nRequires [fish shell](https://fishshell.com/) (`brew install fish` on macOS, `apt install fish` on Debian).\n\n```sh\ngit clone https://github.com/chriscantu/claude-config.git ~/repos/claude-config\ncd ~/repos/claude-config\n./bin/link-config.fish\n```\n\nExisting real files are backed up with `.bak`. Re-running is safe. CI uses `fish bin/link-config.fish --check` for verification.\n\n**Optional — guided personalization.** After install, run `fish bin/first-run.fish` for an interactive walkthrough that patches `global/CLAUDE.md` with your shell/language/TDD/sycophancy preferences, registers the repo hooks in `~/.claude/settings.json` (with a timestamped backup), and verifies the install. Idempotent via a managed-block marker — re-run safely to update preferences.\n\n**What you get:** everything in the plugin path PLUS `rules/` (HARD-GATE pre-load enforcement), `validate.fish` (structural + concept validation across rules, skills, agents, hooks, evals), `rules-evals/` (discriminating-signal eval suites), `bin/` tooling, and the ADR/SDR governance docs.\n\n### Trade-off\n\nThe plugin path ships the runtime extension surface (skills, agents, commands, hooks, MCP) but loses pre-load enforcement of the planning pipeline (`define-the-problem` / `systems-analysis` / `fat-marker-sketch` / `goal-driven` / `verification` / `pr-validation` / `disagreement` / `execution-mode` / `think-before-coding` / `memory-discipline`). For end users in the leadership audience (Director / VP / Sr. IC consumers), the plugin path is sufficient — skills, agents, and hooks cover the daily workflow. For contributors, and for anyone who wants the full anti-sycophancy + planning-pipeline discipline pre-loaded into every session, the power-user path is required.\n\nSee [ADR #0018](adrs/0018-distribution-shape-hybrid-plugin-and-git-clone.md) for the decision rationale and [ADR #0013](adrs/0013-shared-vocab-monorepo-only.md) for the original distribution-shape deferral that #0018 supersedes.\n\n**Customize `global/CLAUDE.md`** to match your shell, language defaults, and communication style — it's the one file you should personalize.\n\n## Documentation\n\n- **[docs/mental-model.md](docs/mental-model.md)** — start here: the eight load-bearing concepts (pipeline, skip contracts, pressure framing, emission contract, discriminating signals, anchor pattern, HARD-GATE cap, scope-tier routing)\n- **[docs/catalog.md](docs/catalog.md)** — full inventory: rules, skills, agents, templates, ecosystem\n- **[docs/operations.md](docs/operations.md)** — runtime bypass flags, git guardrails hook, usage log hook (opt-in engagement tracking)\n- **[docs/contributing.md](docs/contributing.md)** — add your own rules, skills, agents\n- **[docs/superpowers/README.md](docs/superpowers/README.md)** — retention rubric for design specs and plans\n- **[ADR #0020](adrs/0020-memory-layer-primary-and-delegations.md)** — where each kind of saved data goes: auto-memory MD for stable facts, ruflo MCP memory for session resume and vector search\n\n## References\n\n- [Claude Code docs](https://docs.anthropic.com/en/docs/claude-code) · [awesome-claude-md](https://github.com/josix/awesome-claude-md) · [HumanLayer: Writing a Good CLAUDE.md](https://www.humanlayer.dev/blog/writing-a-good-claude-md) · [Fat Marker Sketches](https://domhabersack.com/blog/fat-marker-sketches)\n- [andrej-karpathy-skills](https://github.com/forrestchang/andrej-karpathy-skills) — source for the Karpathy Coding Principles in `global/CLAUDE.md`\n- [caveman plugin](https://github.com/JuliusBrussee/caveman) — optional terseness mode (~75% token reduction; opt-in via `/caveman`)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchriscantu%2Fclaude-config","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchriscantu%2Fclaude-config","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchriscantu%2Fclaude-config/lists"}