{
  "markdown": "# homemade-claude-kit\n\nA personal, harness-portable toolkit — 60 composable skills for business architecture,\ndomain modeling, product specification, and developer workflow, packaged as **11 toggleable\nplugin sets** and consumable from **Claude Code, OpenAI Codex CLI, and OpenCode**.\n\nThree design pillars (kit [ADR-0006](docs/architecture/decisions/adr-0006-plugin-packaging-cross-harness-activation.md) / [ADR-0007](docs/architecture/decisions/adr-0007-metamodel-distribution-as-skill.md)):\n\n1. **SKILL.md is the portability layer** — all three harnesses read it natively; `install.sh` flattens `plugins/*/skills/*` into one directory per harness. No conversion, ever.\n2. **The metamodel travels as a skill** — the `metamodel` skill carries the documentation-stack contract (build order, YAML type registry, frontmatter schema, open-items governance + Audit/Scaffold/Migrate modes). Structural facts are canonically owned by [clew](https://github.com/VictorHueni/clew) (clew ADR-0008); the kit ships the projection.\n3. **Toggling is harness-native** — the kit ships no activation state; each harness uses its own idiom (see § Toggling a set).\n\n---\n\n## Plugin sets\n\n| Set | Purpose | Skills |\n|---|---|---|\n| `kit-core` | Always on — the metamodel keystone + cross-cutting operators | `metamodel` · `util-open-items` · `util-provenance` · `util-toolkit-doctor` |\n| `strategy` | Business architecture + discovery evidence | `business-vision` · `business-persona` · `business-model-canvas` · `business-capability-map` · `business-value-stream` · `business-objective` · `business-process` · `business-quantitative-model` · `business-competitive-landscape` · `discovery-idea` · `discovery-research` · `discovery-workshop` |\n| `domain-modeling` | Strategic + tactical DDD | `domain-bounded-context` · `domain-glossary` · `domain-model` |\n| `product-spec` | Specs + build planning | `spec-functional-breakdown-structure` · `spec-prd` · `spec-use-case` · `plan-delivery-roadmap` · `plan-implementation` |\n| `quality-assurance` | Test strategy, scenarios, cases — the validate/test stage | `spec-quality-attributes` · `qa-test-strategy` · `qa-test-scenario` |\n| `architecture` | Decisions, contracts, diagrams, arc42 | `arch-adr` · `arch-research` · `arch-service-contract` · `arch-cli-contract` · `arch-structurizr` · `arch-c4` · `arch-plantuml` · `arch-uml` · `arch-arc42` |\n| `dev-flow` | Developer workflow (+ `branch-cleanup-audit` command) | `dev-git-init` · `dev-git-commit` · `dev-pr` · `dev-git-worktree` · `dev-release-init` · `dev-stack-guide` · `dev-getting-started` |\n| `agent-loop` | Guide → Verify → Solve agent cycle (+ `ralph-audit` command) | `agent-config` · `agent-grill-me` · `agent-peer-review` · `agent-ralph-loop` |\n| `delivery-comms` | Presentation layer | `com-slide-deck` · `com-artefact-viz` · `com-release-note` · `ux-design-system` |\n| `ops` | Post-ship operations | `ops-runbook` · `ops-bug-rca` · `ops-terraform-exoscale` |\n| `docs-hygiene` | Documentation housekeeping | `util-docs-audit` · `util-docs-index` · `util-docs-lint` · `util-docs-log` |\n\nPer-skill purpose lives in each `plugins/<set>/skills/<name>/SKILL.md` frontmatter description.\n\n---\n\n## Install\n\n### Claude Code — marketplace channel (recommended)\n\n```bash\n# In Claude Code:\n/plugin marketplace add VictorHueni/homemade-claude-kit\n# then enable the sets you want in /plugin\n```\n\nEach plugin bundles its skills, commands, and MCP servers (`plugins/<set>/.mcp.json`) — a\nset toggle carries all three. **One channel per machine:** after adopting the marketplace,\nrecord it once —\n\n```bash\ncd ~/projects/homemade-claude-kit && ./install.sh --claude-channel marketplace\n```\n\n— every later `install.sh` run (including chezmoi's) then skips and prunes the\n`~/.claude/skills` + `~/.claude/commands` links while still serving Codex/OpenCode, rules,\nadapters, and MCP. Revert with `--claude-channel symlink`. The choice persists in\n`var/claude-channel` (per machine, gitignored); `util-toolkit-doctor` warns if both channels\nend up live.\n\n### All harnesses — symlink channel\n\n```bash\ngit clone git@github.com:VictorHueni/homemade-claude-kit.git ~/projects/homemade-claude-kit\ncd ~/projects/homemade-claude-kit && ./install.sh\n```\n\nA global run:\n\n- symlinks all skills (flat) into `~/.claude/skills`, `~/.codex/skills`, `~/.agents/skills` (OpenCode discovers the latter two natively) and commands into `~/.claude/commands`;\n- symlinks the Claude rules into `~/.claude/rules`;\n- renders the **AGENTS.md adapter** (metamodel routing + behavioural rules, marker-delimited) into `~/.codex/AGENTS.md` and `~/.config/opencode/AGENTS.md`;\n- projects **`mcp/registry.json`** into `~/.codex/config.toml` (`[mcp_servers.*]` marker block) and `opencode.json`'s `mcp` key.\n\n`./install.sh /path/to/project` installs into a single project instead (skills/commands/rules only). Re-run after `git pull` — idempotent, prunes retired skills, never touches your content outside its marker blocks.\n\n## Update\n\n```bash\ncd ~/projects/homemade-claude-kit && git pull   # chezmoi machines do this automatically\n# symlinks point here — install.sh re-runs only regenerate adapters/MCP\n```\n\n---\n\n## Toggling a set\n\nThe kit ships no activation state — use each harness's native idiom (ADR-0006):\n\n| Harness | Toggle | MCP follows? |\n|---|---|---|\n| **Claude Code** | `/plugin` → enable/disable the set | ✅ automatic (per-plugin `.mcp.json`) |\n| **OpenCode** | Paste deny-globs into `opencode.json` — one line per set thanks to prefix naming: `\"permission\": { \"skill\": { \"business-*\": \"deny\", \"discovery-*\": \"deny\" } }` (that line disables `strategy`) | manual |\n| **Codex CLI** | Remove the set's symlinks: `rm ~/.codex/skills/{business,discovery}-*` — **caveat:** any `install.sh` re-run (incl. the chezmoi hook) restores them | manual |\n\nIf you find yourself re-deleting the same Codex globs weekly, that's the recorded trigger to\nbuild the deferred `--sets` activation layer (see the open-items ledger).\n\n## MCP servers\n\n`mcp/registry.json` is the single source of truth: 3 always-on (Chrome DevTools, Context7 →\n`dev-flow`; Playwright → `delivery-comms`), 2 documented opt-ins (GitHub, Terraform — flip\n`enabled` and re-run `scripts/gen-mcp.py plugins` + `./install.sh`), and a **project-scoped\nPostgreSQL recipe** (Postgres MCP Pro — declare per project, not user-globally). Web search\nis deliberately absent: harness-native search is relied on.\n\n---\n\n## Adding a skill\n\n1. Create `plugins/<set>/skills/<skill-name>/SKILL.md` — naming + set placement per [`rules/skill-creation-sync.md`](./rules/skill-creation-sync.md); reference the metamodel **name-first** (\"the `metamodel` skill's `references/<file>`\").\n2. Structural metamodel changes (new artefact type, ID, path) are authored **clew-side first** (clew ADR-0008), then synced into the `metamodel` skill's registry YAML.\n3. Run `./install.sh` and `bash scripts/audit-skills.sh`.\n4. Commit and push.\n\n## Backlog\n\nOpen items live as GitHub Issues labelled `open-item` —\n<https://github.com/VictorHueni/homemade-claude-kit/issues?q=label%3Aopen-item>\n(authored via the Open Item form; contract: the `metamodel` skill's\n`references/open-items-governance.md`).\n\n## Rules\n\nClaude-side conventions in `rules/` (symlinked to `~/.claude/rules`); the behavioural ones\nalso feed the generated AGENTS.md adapter for Codex/OpenCode:\n\n| Rule file | Covers |\n|---|---|\n| `rules/artefact-frontmatter.md` | **Pointer stub** → the `metamodel` skill's `references/artefact-frontmatter.md` (kit ADR-0007) |\n| `rules/skill-creation-sync.md` | Skill naming (incl. registered exceptions), set placement, reference convention, blast-radius procedure |\n| `rules/metamodel.md` | **Pointer stub** → the `metamodel` skill (spine, variants, references) |\n| `rules/artefact-types-registry.md` | **Pointer stub** → the `metamodel` skill's `references/artefact-types-registry.yaml` (clew-owned projection, clew ADR-0008) |\n| `rules/open-items-governance.md` | **Pointer stub** → the `metamodel` skill's `references/open-items-governance.md` |\n| `rules/git-and-tools.md` | Git discipline, Edit tool usage *(→ AGENTS.md adapter)* |\n| `rules/working-style.md` | Sequential plans, trust-but-verify *(→ AGENTS.md adapter)* |\n| `rules/diagramming-mermaid.md` | Mermaid diagram pitfalls *(→ AGENTS.md adapter)* |\n| `rules/frontend-nuxt.md` | Nuxt UI v4 / Vue 3.5 / Reka UI *(→ AGENTS.md adapter)* |\n| `rules/writing-citations.md` | Citation discipline *(→ AGENTS.md adapter)* |\n",
  "bytes": 8455,
  "sha": "510e15a715df7880335cd01addf6979cdd2878a5649364f83b1ced4d516140ca",
  "repo_slug": "victorhueni/homemade-claude-kit",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/okf_victorhueni_homemade_claude_kit_docs_ind_db7b0767/readme"
}