{"_id":"@damian.diego/claude-toolkit","_rev":"8-c9977300689f100ea043288396c7fc5c","name":"@damian.diego/claude-toolkit","dist-tags":{"latest":"0.7.0"},"versions":{"0.1.0":{"name":"@damian.diego/claude-toolkit","version":"0.1.0","license":"MIT","_id":"@damian.diego/claude-toolkit@0.1.0","maintainers":[{"name":"damian.diego","email":"damian.diego.2510@gmail.com"}],"homepage":"https://github.com/damldieg/claude-toolkit#readme","bugs":{"url":"https://github.com/damldieg/claude-toolkit/issues"},"bin":{"claude-toolkit":"bin/claude-toolkit.js"},"dist":{"shasum":"8cfe5514fd24a1ced2f1c4efc230037cf99d5fa9","tarball":"https://registry.npmjs.org/@damian.diego/claude-toolkit/-/claude-toolkit-0.1.0.tgz","fileCount":17,"integrity":"sha512-72FZPwepG5W12diZB5luZ540E/31Rzf/7f9JiWrl0hmto1lyEUoSNOIx4BlYJmPVrMum7s85ibhnByuiZuHB0A==","signatures":[{"sig":"MEUCIQCdZMfto3zbf2BLOuDV18oA7QOu7Lb5MrGB6uyLsoBKFQIgVisXhaB4HFfAWhjGvpUdBOHM9y767FwSctbY9d9H+U0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16596},"gitHead":"b668beb09d93980a1ee820662d696f041311e08d","scripts":{"postinstall":"node ./bin/claude-toolkit.js install"},"_npmUser":{"name":"damian.diego","email":"damian.diego.2510@gmail.com"},"repository":{"url":"git+https://github.com/damldieg/claude-toolkit.git","type":"git"},"_npmVersion":"10.8.2","description":"Repo-agnostic Claude Code agents, skills, shared working rules, and CLI.","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-toolkit_0.1.0_1786456611099_0.6166668730254001","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@damian.diego/claude-toolkit","version":"0.2.0","license":"MIT","_id":"@damian.diego/claude-toolkit@0.2.0","maintainers":[{"name":"damian.diego","email":"damian.diego.2510@gmail.com"}],"homepage":"https://github.com/damldieg/claude-toolkit#readme","bugs":{"url":"https://github.com/damldieg/claude-toolkit/issues"},"bin":{"claude-toolkit":"bin/claude-toolkit.js"},"dist":{"shasum":"d16d6e35f386707481e8cadb6e495b8a4e22bed9","tarball":"https://registry.npmjs.org/@damian.diego/claude-toolkit/-/claude-toolkit-0.2.0.tgz","fileCount":18,"integrity":"sha512-4w8vbyn6FexMKUHrf3xF4yLQCAILbs257xPW/DKxtTgBDPzvuHhGx/x0/BlqF7WVmAAida6HbI1w7beMuwK2MQ==","signatures":[{"sig":"MEUCIQCbvSUIe3O7Zer2iILOBo9cMaH8/ps4HhUSTWYeEFSpBwIgUlEI4A0DDl2JWH7EEofXeGPd4OU9aKldX3zDANTGAOw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19375},"gitHead":"f2bde729f188cb3d87e2f161a4c6c01271b803df","scripts":{"postinstall":"node ./bin/claude-toolkit.js install"},"_npmUser":{"name":"damian.diego","email":"damian.diego.2510@gmail.com"},"repository":{"url":"git+https://github.com/damldieg/claude-toolkit.git","type":"git"},"_npmVersion":"10.8.2","description":"Repo-agnostic Claude Code agents, skills, shared working rules, and CLI.","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-toolkit_0.2.0_1786457243980_0.5132872120302088","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@damian.diego/claude-toolkit","version":"0.3.0","license":"MIT","_id":"@damian.diego/claude-toolkit@0.3.0","maintainers":[{"name":"damian.diego","email":"damian.diego.2510@gmail.com"}],"homepage":"https://github.com/damldieg/claude-toolkit#readme","bugs":{"url":"https://github.com/damldieg/claude-toolkit/issues"},"bin":{"ctcli":"bin/claude-toolkit.js","claude-toolkit":"bin/claude-toolkit.js"},"dist":{"shasum":"56f7a888ed19c0e9ea31996e60911c7305f2f671","tarball":"https://registry.npmjs.org/@damian.diego/claude-toolkit/-/claude-toolkit-0.3.0.tgz","fileCount":18,"integrity":"sha512-GPXmiKFZoLpX+g2lM6tmvZhcCbhNVzsrMjf/A1Q1Qf6jSuFpVOLnMMqLKeX//pxqd5cFQNwKH/0w2yi3YCFU5A==","signatures":[{"sig":"MEUCID+Xhn4ISkOz9lMh426BOXnyuJ/HmpMaGygbHbS8RN0nAiEA1/5UjjiFFvZJxEhLnujCsJcgBEUo74BWeeWM4+9E/SM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19729},"gitHead":"2bf015a6e36de6f756b22ef57b05484eb11d7c15","scripts":{"postinstall":"node ./bin/claude-toolkit.js install"},"_npmUser":{"name":"damian.diego","email":"damian.diego.2510@gmail.com"},"repository":{"url":"git+https://github.com/damldieg/claude-toolkit.git","type":"git"},"_npmVersion":"10.8.2","description":"Repo-agnostic Claude Code agents, skills, shared working rules, and CLI.","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-toolkit_0.3.0_1786465872053_0.9022672855806666","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@damian.diego/claude-toolkit","version":"0.4.0","license":"MIT","_id":"@damian.diego/claude-toolkit@0.4.0","maintainers":[{"name":"damian.diego","email":"damian.diego.2510@gmail.com"}],"homepage":"https://github.com/damldieg/claude-toolkit#readme","bugs":{"url":"https://github.com/damldieg/claude-toolkit/issues"},"bin":{"ctcli":"bin/claude-toolkit.js","claude-toolkit":"bin/claude-toolkit.js"},"dist":{"shasum":"6229e272e2a9a65e3cf92dc312573d3919210400","tarball":"https://registry.npmjs.org/@damian.diego/claude-toolkit/-/claude-toolkit-0.4.0.tgz","fileCount":18,"integrity":"sha512-lgRfGJZjq7lEVyBHpnS46GPntKCJFW9krCCr5H0BZ+RauZ+5Vi867OUAOeijH2BpfWYnnoxOjyz07Y1sRuKPdg==","signatures":[{"sig":"MEUCIQD9KIgYdiMuW4SPx8mwVajmnWBwg0FaC3ZMDrl48PnMAgIgHXcDKBLYUQpL7gq6aKRUEJ3G+ioy8Zp6v1jcQOSLmeA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19757},"gitHead":"57f88ad907cd024263eeef1f783623c0664f7413","scripts":{"postinstall":"node ./bin/claude-toolkit.js update"},"_npmUser":{"name":"damian.diego","email":"damian.diego.2510@gmail.com"},"repository":{"url":"git+https://github.com/damldieg/claude-toolkit.git","type":"git"},"_npmVersion":"10.8.2","description":"Repo-agnostic Claude Code agents, skills, shared working rules, and CLI.","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-toolkit_0.4.0_1786466044148_0.9071604222158298","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@damian.diego/claude-toolkit","version":"0.4.1","license":"MIT","_id":"@damian.diego/claude-toolkit@0.4.1","maintainers":[{"name":"damian.diego","email":"damian.diego.2510@gmail.com"}],"homepage":"https://github.com/damldieg/claude-toolkit#readme","bugs":{"url":"https://github.com/damldieg/claude-toolkit/issues"},"bin":{"ctcli":"bin/claude-toolkit.js","claude-toolkit":"bin/claude-toolkit.js"},"dist":{"shasum":"0db4ab35a3d9027cd3613105a5cd8faed281f92f","tarball":"https://registry.npmjs.org/@damian.diego/claude-toolkit/-/claude-toolkit-0.4.1.tgz","fileCount":18,"integrity":"sha512-tpK9yPbebBbd/5PMUtcKgMRx2uTHbb0JtfRZGdvB0t12pk4FIVesz7hJcgB2764GgLXnLUi7R6Z/KlTc1/n6qg==","signatures":[{"sig":"MEUCIQDlh80iH7/LX+A/z1a+7YiMW6nmrM/8WnXSj9xsCh81WAIgGeMgf+BricM7jfEGKdzs38/B1F7YzwLdFpMBuTDI0Wk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20850},"gitHead":"e1ead7992ff63f21a86b0feb44b111dd8b0574ba","scripts":{"postinstall":"node ./bin/claude-toolkit.js update"},"_npmUser":{"name":"damian.diego","email":"damian.diego.2510@gmail.com"},"repository":{"url":"git+https://github.com/damldieg/claude-toolkit.git","type":"git"},"_npmVersion":"10.8.2","description":"Repo-agnostic Claude Code agents, skills, shared working rules, and CLI.","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-toolkit_0.4.1_1786466258283_0.9733604208931617","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@damian.diego/claude-toolkit","version":"0.5.0","license":"MIT","_id":"@damian.diego/claude-toolkit@0.5.0","maintainers":[{"name":"damian.diego","email":"damian.diego.2510@gmail.com"}],"homepage":"https://github.com/damldieg/claude-toolkit#readme","bugs":{"url":"https://github.com/damldieg/claude-toolkit/issues"},"bin":{"ctcli":"bin/claude-toolkit.js","claude-toolkit":"bin/claude-toolkit.js"},"dist":{"shasum":"1b482e9534fdb9f75875fbe33562b60d748c015b","tarball":"https://registry.npmjs.org/@damian.diego/claude-toolkit/-/claude-toolkit-0.5.0.tgz","fileCount":18,"integrity":"sha512-yT5hazAxkx3C78puikosMd0sTlFZBZr9zEUAK7s6DMkv1XQK88+GIffifuGLrVCXEE75rytd+/780x39WaP8iw==","signatures":[{"sig":"MEUCIQC9kcV7FUz3TeWL9o2HZXBthHjnB7XE/dqG1m14nkFRMAIgHX4DS7f2ptR801W/JLWAHbh3NsVacfgkv2yqnU/hM5o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22590},"gitHead":"2d72aff8052f1b4efe57ab6f8d376aca72f6efab","scripts":{"postinstall":"node ./bin/claude-toolkit.js update"},"_npmUser":{"name":"damian.diego","email":"damian.diego.2510@gmail.com"},"repository":{"url":"git+https://github.com/damldieg/claude-toolkit.git","type":"git"},"_npmVersion":"10.8.2","description":"Repo-agnostic Claude Code agents, skills, shared working rules, and CLI.","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-toolkit_0.5.0_1786467281544_0.9805923251890765","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@damian.diego/claude-toolkit","version":"0.6.0","license":"MIT","_id":"@damian.diego/claude-toolkit@0.6.0","maintainers":[{"name":"damian.diego","email":"damian.diego.2510@gmail.com"}],"homepage":"https://github.com/damldieg/claude-toolkit#readme","bugs":{"url":"https://github.com/damldieg/claude-toolkit/issues"},"bin":{"ctcli":"bin/claude-toolkit.js","claude-toolkit":"bin/claude-toolkit.js"},"dist":{"shasum":"5313c48b384112a1162fadae78eed2757320b8ac","tarball":"https://registry.npmjs.org/@damian.diego/claude-toolkit/-/claude-toolkit-0.6.0.tgz","fileCount":20,"integrity":"sha512-lykaHC/MbzjvRYFgPX+OeCnECqLq3aKBlNLujaf+wmKkmAewegRdX6x2tG5QD3XMgMwI/hW8ijkST9uamMQ9fw==","signatures":[{"sig":"MEYCIQCyn46YWP9xkWtSsiHzWfuxohNdC0HyaH/kB2ngUj/MBwIhAJMBYfSLRoXwF8fv1ceGZRQap5xa7xEyQR13KyvDAwKZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33119},"gitHead":"7007fba98b678d777fa52660824d2e72aaa662a2","scripts":{"postinstall":"node ./bin/claude-toolkit.js update"},"_npmUser":{"name":"damian.diego","email":"damian.diego.2510@gmail.com"},"repository":{"url":"git+https://github.com/damldieg/claude-toolkit.git","type":"git"},"_npmVersion":"10.8.2","description":"Repo-agnostic Claude Code agents, skills, shared working rules, and CLI.","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-toolkit_0.6.0_1786468475877_0.3774157374099467","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@damian.diego/claude-toolkit","version":"0.7.0","description":"Repo-agnostic Claude Code agents, skills, shared working rules, and CLI.","repository":{"type":"git","url":"git+https://github.com/damldieg/claude-toolkit.git"},"license":"MIT","publishConfig":{"access":"public"},"bin":{"claude-toolkit":"bin/claude-toolkit.js","ctcli":"bin/claude-toolkit.js"},"scripts":{"postinstall":"node ./bin/claude-toolkit.js update","version-packages":"changeset version","release":"changeset publish"},"devDependencies":{"@changesets/cli":"^3.0.0"},"_id":"@damian.diego/claude-toolkit@0.7.0","gitHead":"434cad3d9d5a1e614c82bd2f1a06cef34c812c3e","bugs":{"url":"https://github.com/damldieg/claude-toolkit/issues"},"homepage":"https://github.com/damldieg/claude-toolkit#readme","_nodeVersion":"22.23.1","_npmVersion":"10.9.8","dist":{"integrity":"sha512-Bld8jKg0GfKOY3BT597xVV2DG5qvyTBQQpyOo+e4BPahj4J/iiLT+g1hp6svqu6D5WHMkzWnGMMUOtfJcPCEQA==","shasum":"7ff91228b4d2de28adf925b78ca51431f121a043","tarball":"https://registry.npmjs.org/@damian.diego/claude-toolkit/-/claude-toolkit-0.7.0.tgz","fileCount":27,"unpackedSize":44022,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBmNl/3s7CPuUPU6DWpD7r1/G5cBls58EU9VnNaxDzJoAiA7MX2vCFPHmcj+p0t6G0vlUVQ14EoR4xhA/r1UCLaALw=="}]},"_npmUser":{"name":"damian.diego","email":"damian.diego.2510@gmail.com"},"directories":{},"maintainers":[{"name":"damian.diego","email":"damian.diego.2510@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/claude-toolkit_0.7.0_1786479509035_0.16303316756483333"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-11T13:56:50.940Z","modified":"2026-08-11T20:18:29.308Z","0.1.0":"2026-08-11T13:56:51.262Z","0.2.0":"2026-08-11T14:07:24.101Z","0.3.0":"2026-08-11T16:31:12.198Z","0.4.0":"2026-08-11T16:34:04.340Z","0.4.1":"2026-08-11T16:37:38.457Z","0.5.0":"2026-08-11T16:54:41.705Z","0.6.0":"2026-08-11T17:14:36.010Z","0.7.0":"2026-08-11T20:18:29.160Z"},"bugs":{"url":"https://github.com/damldieg/claude-toolkit/issues"},"license":"MIT","homepage":"https://github.com/damldieg/claude-toolkit#readme","repository":{"type":"git","url":"git+https://github.com/damldieg/claude-toolkit.git"},"description":"Repo-agnostic Claude Code agents, skills, shared working rules, and CLI.","maintainers":[{"name":"damian.diego","email":"damian.diego.2510@gmail.com"}],"readme":"# Claude Toolkit\n\nA small, repository-agnostic Claude Code toolkit for all local projects: cost-aware agents, milestone/audit skills, safe manual Git workflows, a read-only PR reviewer, meta-skills for scaffolding project-specific skills/agents, shared working rules, and a CLI to install/update them. It contains no project instructions, framework assumptions, or application code.\n\nPublished as [`@damian.diego/claude-toolkit`](https://www.npmjs.com/package/@damian.diego/claude-toolkit).\n\n## Install\n\n### Option A: per-project devDependency (recommended, default scope)\n\nAdd it as a `devDependency`. A `postinstall` hook then syncs `<project>/.claude/agents/ctk/` and `<project>/.claude/skills/ctk-*` — vendored into that project, not your machine's `~/.claude`. Commit them like any other vendored file; add project-specific skills alongside them under different names (avoid the `ctk-` prefix, reserved for this toolkit).\n\n```bash\npnpm add -D @damian.diego/claude-toolkit\n```\n\nnpm 11+ and pnpm 10+ both block a new dependency's install-time scripts by default (unrelated supply-chain-security features, one per package manager); `postinstall` may silently not run the first time until you approve it.\n\npnpm: `pnpm approve-builds`. Plain `npm install`: `npm config set allow-scripts=@damian.diego/claude-toolkit --location=user` (persists) or `npm install --allow-scripts=@damian.diego/claude-toolkit` (once). Yarn Berry with `nodeLinker: node-modules` has no such gate; `postinstall` just runs.\n\nTo update: `pnpm add -D @damian.diego/claude-toolkit@latest` (plain `pnpm update` won't cross a `0.x` minor bump under semver's caret rules while this package is pre-1.0) — `postinstall` re-syncs automatically. Run `npx claude-toolkit status` anytime to check whether `.claude/` matches the version currently in `node_modules`.\n\n### Option B: global CLI / machine-wide scope\n\nTwo ways to get the same result outside any single project — both sync to `~/.claude` instead of a project's `.claude/`:\n\n```bash\nnpm install -g @damian.diego/claude-toolkit   # ctcli / claude-toolkit on your PATH\n```\n\n```bash\ngit clone https://github.com/damldieg/claude-toolkit.git ~/.config/claude-toolkit\ncd ~/.config/claude-toolkit && ./scripts/install.sh   # then `git pull` + rerun to update\n```\n\nnpm 11+ blocks lifecycle scripts for global installs too until approved — same `npm config set allow-scripts=...` fix as above. `ctcli update` always works as a manual fallback if `postinstall` didn't run.\n\n### How the CLI picks a scope\n\n`claude-toolkit update` (aliased `install`) writes to a project's `.claude/` whenever it can resolve a consuming project — via `INIT_CWD` when run as another package's lifecycle script, or `cwd` when run manually. It only falls back to the global `~/.claude` for `npm install -g` (detected via `npm_config_global`) or when run from inside this repo's own clone (the standalone-install path above). Global-scope syncs keep the old backup-to-`~/.claude/workflow-backups` behavior; project-scope syncs don't — they rely on git instead.\n\n## Use\n\nManual skills: `/ctk-checkpoint`, `/ctk-audit-context`, `/ctk-git-status`, `/ctk-commit`, `/ctk-push`, `/ctk-rebase`, and `/ctk-prepare-pr`.\n\n`/ctk-add-skill` and `/ctk-add-agent` scaffold a new project-specific skill or subagent (into that project's own `.claude/skills/` or `.claude/agents/`, never the `ctk-*` namespace) following current Claude Code best practices for frontmatter, tool scoping, and description/trigger design.\n\n`ctk-init` is the one skill Claude may run on its own judgment, without being asked: the first time it works in a project that has this toolkit installed but whose `CLAUDE.md` doesn't yet reference `GUIDELINES.md`, it reads both files and proposes wiring the project in, consolidating duplicated generic rules and keeping project-specific ones. It still confirms before writing a non-trivial merge.\n\nUse `ctk-pr-reviewer` for a read-only PR/diff review. The other agents are routed by effort: `ctk-maintenance-tiny` (Haiku/low), `ctk-feature-normal` (Sonnet/medium), `ctk-systems-deep` (Sonnet/high), and `ctk-architecture-review` (Opus/xhigh).\n\n## Shared working rules\n\n`GUIDELINES.md` in this repo holds the project-agnostic working rules, the effort-routing table, and the milestone definition. Reference it from a project's root `CLAUDE.md` instead of repeating it:\n\n```markdown\nShared working rules, effort routing, and milestone policy: `node_modules/@damian.diego/claude-toolkit/GUIDELINES.md`.\n```\n\n(or `~/.config/claude-toolkit/GUIDELINES.md` for the standalone-clone / global path.) Keep each project's own rules in its root `CLAUDE.md`, limited to what is actually specific to that project. If a project uses milestones, add its own `docs/PROJECT_STATE.md`; `/ctk-checkpoint` will not create or alter application files automatically.\n\nNo skill automatically compacts context, commits, pushes, rebases, opens PRs, or changes remote state.\n","readmeFilename":"README.md"}