{"_id":"@code-assistants/autopilot","_rev":"10-ee2a35d18a7a3abf1bb909a5fb18dde3","name":"@code-assistants/autopilot","dist-tags":{"latest":"10.0.0"},"versions":{"7.2.0":{"name":"@code-assistants/autopilot","version":"7.2.0","license":"MIT","_id":"@code-assistants/autopilot@7.2.0","maintainers":[{"name":"awinogradov","email":"winogradovaa@gmail.com"}],"homepage":"https://github.com/awinogradov/code-assistants#readme","bugs":{"url":"https://github.com/awinogradov/code-assistants/issues"},"dist":{"shasum":"cc4320010cbc9ffdf7a13d252f518be937c5b941","tarball":"https://registry.npmjs.org/@code-assistants/autopilot/-/autopilot-7.2.0.tgz","fileCount":152,"integrity":"sha512-VhPc7HQPJx31TVpINmpXYzKigI95NywgNlan7iN3OFU6lpK+GGfvOOba6NIbDDvv8Ub1zAsSp1/0bLyCi5qHxQ==","signatures":[{"sig":"MEQCIACd5OA1KW5KYt/+YfA55VXuqL/SpcOUSd1xhkwPLvPsAiBDIrB55vZsiq3PZhPa0RBzK74TK1jgKXKn4ayarlk8ew==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":975530},"type":"module","gitHead":"9a76ac82dc5e5222945fab7bcad352521de47874","release":{"type":"claude-plugin"},"scripts":{"test":"bun test lib","clean":"rm -rf node_modules .turbo","typecheck":"tsc --noEmit"},"_npmUser":{"name":"awinogradov","email":"winogradovaa@gmail.com"},"repository":{"url":"git+https://github.com/awinogradov/code-assistants.git","type":"git"},"_npmVersion":"10.9.8","description":"Autopilot: plan, implement, commit, PR, and monitor — skills and agents for AI-assisted development workflows","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/autopilot_7.2.0_1787839897284_0.2244729797137215","host":"s3://npm-registry-packages-npm-production"}},"7.3.0":{"name":"@code-assistants/autopilot","version":"7.3.0","license":"MIT","_id":"@code-assistants/autopilot@7.3.0","maintainers":[{"name":"awinogradov","email":"winogradovaa@gmail.com"}],"homepage":"https://github.com/awinogradov/code-assistants#readme","bugs":{"url":"https://github.com/awinogradov/code-assistants/issues"},"dist":{"shasum":"2ab6f09eddaf28058d3eb240dee0c81a80ee2c30","tarball":"https://registry.npmjs.org/@code-assistants/autopilot/-/autopilot-7.3.0.tgz","fileCount":152,"integrity":"sha512-bPvULihsGEDJfFSwTUzPo5b1nG4n1/g5aGzsREQSULQ1e31MmOzSKYwn23PMe3c8NSObSXg+7UxjbRq59RShRg==","signatures":[{"sig":"MEUCIAmy5R029p8YClzPEFqNQ9MAscq2RM+Qtay4ea0BGg9nAiEAhnT/IMjct/CoB0jzwSVDn9XIjCHLtmFqo6D2zPJDiSs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":987839},"type":"module","gitHead":"4e179f44666eeee9dfedfce8d674e17fedd3912f","release":{"type":"claude-plugin"},"scripts":{"test":"bun test lib","clean":"rm -rf node_modules .turbo","typecheck":"tsc --noEmit"},"_npmUser":{"name":"awinogradov","email":"winogradovaa@gmail.com"},"repository":{"url":"git+https://github.com/awinogradov/code-assistants.git","type":"git"},"_npmVersion":"10.9.8","description":"Autopilot: plan, implement, commit, PR, and monitor — skills and agents for AI-assisted development workflows","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/autopilot_7.3.0_1788000472650_0.3837396794213459","host":"s3://npm-registry-packages-npm-production"}},"7.4.0":{"name":"@code-assistants/autopilot","version":"7.4.0","license":"MIT","_id":"@code-assistants/autopilot@7.4.0","maintainers":[{"name":"awinogradov","email":"winogradovaa@gmail.com"}],"homepage":"https://github.com/awinogradov/code-assistants#readme","bugs":{"url":"https://github.com/awinogradov/code-assistants/issues"},"dist":{"shasum":"96b475eecc8a215a6a34affdb25e9e38418326e3","tarball":"https://registry.npmjs.org/@code-assistants/autopilot/-/autopilot-7.4.0.tgz","fileCount":152,"integrity":"sha512-HulfUsDrKSe33y8URLJ0q+hA64a/nyBfNz0SlcVBozHm1WT17WqgJwAf+ytcMAiwo6Fsu/S89VbtZs8Iv8gLIQ==","signatures":[{"sig":"MEUCIQC3ZlxM4EhAANwap0atxXnMuZNevhdmquo+kPETAao22QIgAJP9s/+Tyq77j7jvX50lLR8VUh8+dvWX9gjRuCDVx60=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":991171},"type":"module","gitHead":"d77bfaa4d55c7bd1a0d98dfb039ed7a917e89ba5","release":{"type":"claude-plugin"},"scripts":{"test":"bun test lib","clean":"rm -rf node_modules .turbo","typecheck":"tsc --noEmit"},"_npmUser":{"name":"awinogradov","email":"winogradovaa@gmail.com"},"repository":{"url":"git+https://github.com/awinogradov/code-assistants.git","type":"git"},"_npmVersion":"10.9.8","description":"Autopilot: plan, implement, commit, PR, and monitor — skills and agents for AI-assisted development workflows","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/autopilot_7.4.0_1788373552374_0.8266722289736466","host":"s3://npm-registry-packages-npm-production"}},"7.5.0":{"name":"@code-assistants/autopilot","version":"7.5.0","license":"MIT","_id":"@code-assistants/autopilot@7.5.0","maintainers":[{"name":"awinogradov","email":"winogradovaa@gmail.com"}],"homepage":"https://github.com/awinogradov/code-assistants#readme","bugs":{"url":"https://github.com/awinogradov/code-assistants/issues"},"dist":{"shasum":"57e654720436cba33222ef1367e514641c39d144","tarball":"https://registry.npmjs.org/@code-assistants/autopilot/-/autopilot-7.5.0.tgz","fileCount":160,"integrity":"sha512-PoZ7bknQ1CauLUJF5Fhw2Ca/F6eTrEi1KuGMApqfpm1HPmW2OD+CGRvUJ1QYRoXwx4NsZzNOnUaWOV+1cgHPVw==","signatures":[{"sig":"MEQCIACh5+tYLWH/aCLvXKdL5UqTLn1RoGkbnnNJQmHbv2WnAiBSrdbjOQZhyWvX2cBTbDvQL0IYTLJ7Yfgr4As646Zhbw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1007167},"type":"module","gitHead":"435d9509c85c1eb47a0d1cd1a51bdc860fa66374","release":{"type":"claude-plugin"},"scripts":{"test":"bun test lib","clean":"rm -rf node_modules .turbo","typecheck":"tsc --noEmit"},"_npmUser":{"name":"awinogradov","email":"winogradovaa@gmail.com"},"repository":{"url":"git+https://github.com/awinogradov/code-assistants.git","type":"git"},"_npmVersion":"10.9.8","description":"Autopilot: plan, implement, commit, PR, and monitor — skills and agents for AI-assisted development workflows","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/autopilot_7.5.0_1788386181029_0.49478978066486223","host":"s3://npm-registry-packages-npm-production"}},"7.5.1":{"name":"@code-assistants/autopilot","version":"7.5.1","license":"MIT","_id":"@code-assistants/autopilot@7.5.1","maintainers":[{"name":"awinogradov","email":"winogradovaa@gmail.com"}],"homepage":"https://github.com/awinogradov/code-assistants#readme","bugs":{"url":"https://github.com/awinogradov/code-assistants/issues"},"dist":{"shasum":"c89a25ecd68b42478a103d1610de03e91480ba15","tarball":"https://registry.npmjs.org/@code-assistants/autopilot/-/autopilot-7.5.1.tgz","fileCount":160,"integrity":"sha512-cm9lcf8WSodkqaj7AvPTFNLBCT6GU+84UY4/aMTSYIM1FoFJwqPL24AmsWR3IEcpEh1uyfKl0FPvoagFlp4kCg==","signatures":[{"sig":"MEQCICaojm9ziP1Xo3LkCPG6rxnHTXQ7V91y1TgoU9mvW6wLAiBFjNOmvwbzu7z/6Hk6Qrn5NBvC73FTNnrf35hs3pMxiw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1007822},"type":"module","gitHead":"a755a5012ccc5e0bae8107be8019c9a97efffe6f","release":{"type":"claude-plugin"},"scripts":{"test":"bun test lib","clean":"rm -rf node_modules .turbo","typecheck":"tsc --noEmit"},"_npmUser":{"name":"awinogradov","email":"winogradovaa@gmail.com"},"repository":{"url":"git+https://github.com/awinogradov/code-assistants.git","type":"git"},"_npmVersion":"10.9.8","description":"Autopilot: plan, implement, commit, PR, and monitor — skills and agents for AI-assisted development workflows","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/autopilot_7.5.1_1788388260586_0.8122225641025951","host":"s3://npm-registry-packages-npm-production"}},"7.5.2":{"name":"@code-assistants/autopilot","version":"7.5.2","license":"MIT","_id":"@code-assistants/autopilot@7.5.2","maintainers":[{"name":"awinogradov","email":"winogradovaa@gmail.com"}],"homepage":"https://github.com/awinogradov/code-assistants#readme","bugs":{"url":"https://github.com/awinogradov/code-assistants/issues"},"dist":{"shasum":"4c24a6bf17c9622105bac83dba1d7b9654a0c7bd","tarball":"https://registry.npmjs.org/@code-assistants/autopilot/-/autopilot-7.5.2.tgz","fileCount":160,"integrity":"sha512-/dw237Ifm0n63hbpXPiomgV12/aYv0EOy+0hQ9eHJPyriIB+JNvLQfZMg2Fr7A+Hrf/ucDOn37fQtadBM9RWXA==","signatures":[{"sig":"MEUCIQCpvDF9uXx23JNQPdMwtITCkJqqBtEtgcNtUlCob2HCKQIgf2QXKZ4RyI5EAWh+/wfA9HmCASrPBJtUbSzPHFT3NVY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1006310},"type":"module","gitHead":"6945e7fd002a4b21b8ac3dd89d02609609271db2","release":{"type":"claude-plugin"},"scripts":{"test":"bun test lib","clean":"rm -rf node_modules .turbo","typecheck":"tsc --noEmit"},"_npmUser":{"name":"awinogradov","email":"winogradovaa@gmail.com"},"repository":{"url":"git+https://github.com/awinogradov/code-assistants.git","type":"git"},"_npmVersion":"10.9.8","description":"Autopilot: plan, implement, commit, PR, and monitor — skills and agents for AI-assisted development workflows","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/autopilot_7.5.2_1788791612286_0.3081906357770261","host":"s3://npm-registry-packages-npm-production"}},"8.0.0":{"name":"@code-assistants/autopilot","version":"8.0.0","license":"MIT","_id":"@code-assistants/autopilot@8.0.0","maintainers":[{"name":"awinogradov","email":"winogradovaa@gmail.com"}],"homepage":"https://github.com/awinogradov/code-assistants#readme","bugs":{"url":"https://github.com/awinogradov/code-assistants/issues"},"dist":{"shasum":"d3bf676b180c4ef8350a4343f852cf2733254962","tarball":"https://registry.npmjs.org/@code-assistants/autopilot/-/autopilot-8.0.0.tgz","fileCount":160,"integrity":"sha512-secowZEMUjmoQa/S7uUqmpxG8A2SGpxbeoA2biVXWvJ6tBKHrpvgBMQL3XCRrs7Rvafm3yopC77n6yZXAkV8XA==","signatures":[{"sig":"MEUCIQCJAVfiKT3R+M64lY0r3nfXSe34Huy52ygdGfJH0zaHswIgc6BRsA1fIuEqFzNQXrgkpZXnQY7It+VTvoCIV12HdYE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1015752},"type":"module","gitHead":"751588b1902b25b17b33690d551fd25bb77f0c8c","release":{"type":"claude-plugin"},"scripts":{"test":"bun test lib","clean":"rm -rf node_modules .turbo","typecheck":"tsc --noEmit"},"_npmUser":{"name":"awinogradov","email":"winogradovaa@gmail.com"},"repository":{"url":"git+https://github.com/awinogradov/code-assistants.git","type":"git"},"_npmVersion":"10.9.8","description":"Autopilot: plan, implement, commit, PR, and monitor — skills and agents for AI-assisted development workflows","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/autopilot_8.0.0_1788792167119_0.11932160471157394","host":"s3://npm-registry-packages-npm-production"}},"9.0.0":{"name":"@code-assistants/autopilot","version":"9.0.0","license":"MIT","_id":"@code-assistants/autopilot@9.0.0","maintainers":[{"name":"awinogradov","email":"winogradovaa@gmail.com"}],"homepage":"https://github.com/awinogradov/code-assistants#readme","bugs":{"url":"https://github.com/awinogradov/code-assistants/issues"},"dist":{"shasum":"db78b51fb86c54355fbf0b476e9bdd59512eaae6","tarball":"https://registry.npmjs.org/@code-assistants/autopilot/-/autopilot-9.0.0.tgz","fileCount":162,"integrity":"sha512-VifJCDahvQICjS3Qbgow9mP3xvcMCsxw9KfWTD5hrx4RVJ63a0pPvJPPHymRMa/PrwjQZhIT6VKRUeCmwzN4/Q==","signatures":[{"sig":"MEYCIQDgKG/5fySeOYAbpqUqMnPuSOgUWfCGS+MKByll1O4yPQIhAI7b3SxRxk6OfDKw3AnEo6wabw/jmTSqk2M5C2gP7Dor","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC18hUtSSMeshc0PKXi4y/TztV/6gOE3GPdrVlNKndOowIgX1JGjCjeXd7bgwF8hBKVVERpYVHg1B9atOjloGIzua8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1048352},"type":"module","gitHead":"8ff3a81d088202339234cb14a378081b50e01f00","release":{"type":"claude-plugin"},"scripts":{"test":"bun test lib","clean":"rm -rf node_modules .turbo","typecheck":"tsc --noEmit"},"_npmUser":{"name":"awinogradov","email":"winogradovaa@gmail.com"},"repository":{"url":"git+https://github.com/awinogradov/code-assistants.git","type":"git"},"_npmVersion":"10.9.8","description":"Autopilot: plan, implement, commit, PR, and monitor — skills and agents for AI-assisted development workflows","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/autopilot_9.0.0_1789135420686_0.9300479721673067","host":"s3://npm-registry-packages-npm-production"}},"9.0.1":{"name":"@code-assistants/autopilot","version":"9.0.1","license":"MIT","_id":"@code-assistants/autopilot@9.0.1","maintainers":[{"name":"awinogradov","email":"winogradovaa@gmail.com"}],"homepage":"https://github.com/awinogradov/code-assistants#readme","bugs":{"url":"https://github.com/awinogradov/code-assistants/issues"},"dist":{"shasum":"55864e72273c448982dea468a735edcaa681e10a","tarball":"https://registry.npmjs.org/@code-assistants/autopilot/-/autopilot-9.0.1.tgz","fileCount":174,"integrity":"sha512-Cv8JHtJ8yG2hu8PtpvwFbtb3XmcLOelcwvwaPgbz6mTjD85gnsIfCI8GGmyIb6sdwP8ROvN34UiTphFJ0bi8BA==","signatures":[{"sig":"MEQCIDTdZcFTesubBp7+Y0DXEsAbsYgjcqbZhVun8RP1It5aAiAn9YqXUQkCm2FBy71FMKinVHHL/mNg6W3cYGZBnKAs+A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDaLEREcKsnsNhvLFlG7o+KpG9ieHzO0KkPZETpU9q4twIhAKceVFA5gIjy/0fLrXpAbtc+KQ4WpIv4CeMd93i645KF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1050136},"type":"module","gitHead":"5ba9b9605d5f4d92ac979631b945348563b76b32","release":{"type":"claude-plugin"},"scripts":{"test":"bun test lib","clean":"rm -rf node_modules .turbo","typecheck":"tsc --noEmit"},"_npmUser":{"name":"awinogradov","email":"winogradovaa@gmail.com"},"repository":{"url":"git+https://github.com/awinogradov/code-assistants.git","type":"git"},"_npmVersion":"10.9.8","description":"Autopilot: plan, implement, commit, PR, and monitor — skills and agents for AI-assisted development workflows","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/autopilot_9.0.1_1789163000579_0.82959067013331","host":"s3://npm-registry-packages-npm-production"}},"10.0.0":{"_id":"@code-assistants/autopilot@10.0.0","bugs":{"url":"https://github.com/awinogradov/code-assistants/issues"},"dist":{"shasum":"a23671f489bc8907dfa179e3b7320580c9bf7b68","tarball":"https://registry.npmjs.org/@code-assistants/autopilot/-/autopilot-10.0.0.tgz","fileCount":173,"integrity":"sha512-bfS2Nxb3lGBv5Rt3tjEaEFZy3gSZC3gBhKbMHfgGubDtzab3m1qR0KEqSdJ73APcYYDNCuixkOQHveCbvxFrHg==","signatures":[{"sig":"MEYCIQDt/2cRt2oywtHRdrV8xVEv/CulhZ4EFLOU/afLARcsswIhAPxzC2gypLxopbHyewRail5AyBd8qvLgvV1WV6K1DyXz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIF3ERYPhUrMNJJ4axXM8kXLeqs3txdFxZVUuu0Ov8B0QAiEA5+AvYqul6+NrSDpGYR3qCSyztN4Zjd17nT14/2TZEk8="}],"unpackedSize":1035810},"name":"@code-assistants/autopilot","type":"module","gitHead":"81c6539a53711ae9bc562b26b1bb026a42831606","license":"MIT","release":{"type":"claude-plugin"},"scripts":{"test":"bun test lib","clean":"rm -rf node_modules .turbo","typecheck":"tsc --noEmit"},"version":"10.0.0","_npmUser":{"name":"awinogradov","email":"winogradovaa@gmail.com"},"homepage":"https://github.com/awinogradov/code-assistants#readme","repository":{"url":"git+https://github.com/awinogradov/code-assistants.git","type":"git"},"_npmVersion":"10.9.8","description":"Autopilot: plan, implement, commit, PR, and monitor — skills and agents for AI-assisted development workflows","directories":{},"maintainers":[{"name":"awinogradov","email":"winogradovaa@gmail.com"}],"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/autopilot_10.0.0_1789742621338_0.790838290842613"}}},"time":{"created":"2026-08-27T14:11:37.048Z","modified":"2026-09-18T14:43:41.597Z","7.2.0":"2026-08-27T14:11:37.508Z","7.3.0":"2026-08-29T10:47:52.832Z","7.4.0":"2026-09-02T18:25:52.585Z","7.5.0":"2026-09-02T21:56:21.220Z","7.5.1":"2026-09-02T22:31:00.734Z","7.5.2":"2026-09-07T14:33:32.424Z","8.0.0":"2026-09-07T14:42:47.319Z","9.0.0":"2026-09-11T14:03:40.801Z","9.0.1":"2026-09-11T21:43:20.669Z","10.0.0":"2026-09-18T14:43:41.426Z"},"bugs":{"url":"https://github.com/awinogradov/code-assistants/issues"},"license":"MIT","homepage":"https://github.com/awinogradov/code-assistants#readme","repository":{"url":"git+https://github.com/awinogradov/code-assistants.git","type":"git"},"description":"Autopilot: plan, implement, commit, PR, and monitor — skills and agents for AI-assisted development workflows","maintainers":[{"name":"awinogradov","email":"winogradovaa@gmail.com"}],"readme":"# Autopilot Claude Plugin\n\n[![GitHub Release](https://img.shields.io/badge/release-v10.0.0-blue)](https://github.com/awinogradov/code-assistants/releases/latest)\n[![Create Release](https://img.shields.io/badge/Create-Release-blue?logo=github)](https://github.com/awinogradov/code-assistants/actions/workflows/release_create.yml)\n\n> Part of the [code-assistants](../../README.md) marketplace repository.\n\nSlash commands, skills, and agents for AI-assisted development workflows.\n\n**Upgrading?** See [MIGRATING.md](./MIGRATING.md) for breaking changes and upgrade instructions.\n\n## Installation\n\n### From GitHub (recommended)\n\nFirst, add the marketplace:\n\n```bash\n/plugin marketplace add awinogradov/code-assistants\n```\n\nThen install the plugin. Choose the scope that fits your workflow:\n\n| Scope       | Flag              | Stored in                     | Shared via git | Availability              |\n| ----------- | ----------------- | ----------------------------- | -------------- | ------------------------- |\n| **user**    | `--scope user`    | `~/.claude/settings.json`     | No             | All your projects         |\n| **project** | `--scope project` | `.claude/settings.json`       | Yes            | All project collaborators |\n| **local**   | `--scope local`   | `.claude/settings.local.json` | No             | Only you, only this repo  |\n\n```bash\n# Install for all your projects (default)\n/plugin install autopilot@code-assistants\n\n# Install for the team (checked into git)\n/plugin install autopilot@code-assistants --scope project\n\n# Install only for this repo, not shared\n/plugin install autopilot@code-assistants --scope local\n```\n\n### From npm (version-pinned)\n\nThe full plugin — `skills/`, `agents/`, `lib/`, `.claude-plugin/plugin.json`, and `.mcp.json` — ships as the public npm package `@code-assistants/autopilot`, so a consuming repository pins one immutable version in `package.json` and its lockfile records the resolved artifact with registry integrity. Per this repo's conventions, pin the exact version (no `^` or `~`):\n\n```bash\nnpm install --save-exact @code-assistants/autopilot\n# or\nbun add --exact @code-assistants/autopilot\n```\n\nDependabot and Renovate then propose upgrades through their normal dependency path — no more tracking a plugin version and a source commit SHA separately.\n\nThe installed package directory is itself a single-plugin Claude Code marketplace (it ships its own `.claude-plugin/marketplace.json`), so register it from the local path — no writes to Claude's internal plugin cache:\n\n```bash\n/plugin marketplace add ./node_modules/@code-assistants/autopilot\n/plugin install autopilot@code-assistants-autopilot\n```\n\nVerified end-to-end with Claude Code 2.1.226 against the 7.1.2 artifact (`marketplace add` → `install` → plugin enabled); the pack-and-install contract is enforced continuously by [`lib/packContract.test.ts`](./lib/packContract.test.ts).\n\nnpm is the dependency-managed distribution. The alternatives stay supported and unchanged: the GitHub marketplace above, [`agents-skills-sync`](../../.github/actions/agents-skills-sync/README.md) for file-sync consumers, and portable-skills copying per [RFC-0002](../../rfc/0002-portable-skills-layout.md).\n\n### Local development\n\n```bash\nclaude --plugin-dir .\n```\n\nAfter installation, restart Claude Code.\n\n### Use with Codex, Kimi, and other CLIs\n\nThe `skills/` directory IS the portable Agent Skills layout ([RFC-0002](../../rfc/0002-portable-skills-layout.md)) — no generated copy, no transform. Copy skill directories straight into your CLI's skills directory (`~/.codex/skills/` for Codex CLI; a configured skills directory for Kimi Code CLI), or let the [`agents-skills-sync`](../../.github/actions/agents-skills-sync/README.md) action publish them verbatim into your repository's `.agents/skills/`. A `/autopilot:x` slash command corresponds to the skill `x` — the namespace comes from the plugin at runtime. See [Portable single-source skills](../../docs/18-agent-skills-export.md) for details and the Claude Code-only mechanics in `plan` and `run-primed`.\n\n## Structure\n\n```\ncode-assistants/\n├── .claude-plugin/\n│   └── marketplace.json            # Marketplace manifest (lists all plugins)\n└── claude-plugins/\n    └── autopilot/                  # This plugin\n        ├── .claude-plugin/\n        │   └── plugin.json         # Plugin metadata\n        ├── .mcp.json               # MCP servers\n        ├── agents/                 # Sub-agents\n        │   ├── analyze-pr-commits.md\n        │   ├── analyze-staged-changes.md\n        │   ├── digest-repo-standards.md\n        │   ├── resolve-alert-context.md\n        │   ├── resolve-assignees.md\n        │   ├── digest-session-history.md\n        │   ├── resolve-issue-context.md\n        │   ├── scan-and-analyze-todos.md\n        │   └── search-codebase-todos.md\n        └── skills/                 # Skills\n            ├── ascii-schemas/\n            ├── branch-create/\n            ├── commits-create/\n            ├── commits-restructure/\n            ├── dependabot-resolve/\n            ├── explore/\n            ├── gather-context/\n            ├── issue-create/\n            ├── issue-run/\n            ├── linear-create/\n            ├── linear-plan/\n            ├── linear-run/\n            ├── pdf-create/             # bundles a self-contained Node renderer/ sub-project\n            ├── plan/                   # bundles references/ loaded on demand\n            ├── pr-answer/\n            ├── pr-create/\n            ├── pr-monitor/\n            ├── pr-resolve/\n            ├── pr-review/\n            ├── pr-update/\n            ├── pr-validate/\n            ├── preflight-check/\n            ├── run/\n            ├── run-primed/\n            ├── shared-rules/           # bundles references/ — the canonical shared instruction blocks\n            └── todo-cleanup/\n```\n\n## Slash Skills\n\nAll user-invocable entries are skills. Skills natively accept `$ARGUMENTS` and show `argument-hint` autocomplete. Invoke any of the entries below via `/<name>` at the slash prompt.\n\n### Codebase context\n\nThe skills that need codebase context — `/autopilot:plan`, `/autopilot:run`, `/autopilot:run-primed`, `/autopilot:linear-plan`, `/autopilot:linear-run`, `/autopilot:explore`, `/autopilot:issue-create`, `/autopilot:linear-create`, `/autopilot:pr-review`, `/autopilot:pr-answer`, `/autopilot:pr-resolve` — gather it with the default tools: `Grep`/`Glob` to locate, `Read` on the matched files only, and `git` through Bash for branch and working-tree state. Nothing is packed, attached, or queried through an MCP server or CLI, so context gathering behaves the same in every repository.\n\n### `/autopilot:branch-create`\n\nCreate a git branch following repository naming conventions with GitHub issue integration. For an issue branch it also self-assigns the issue to you when possible (best-effort; never blocks branch creation).\n\n```bash\n/autopilot:branch-create 123                                     # Auto-generate slug from GitHub issue title\n/autopilot:branch-create 123 \"custom description\"                # Use custom slug\n/autopilot:branch-create --hotfix \"memory leak in editor\"        # Emergency production fix\n/autopilot:branch-create --trivial \"fix typo in readme\"          # Typos, docs, formatting\n/autopilot:branch-create --maintenance \"upgrade node to 22\"      # Deps, CI, configs\n/autopilot:branch-create --proposal \"add vim keybindings\"        # Suggest a change without an issue\n```\n\n### `/autopilot:issue-create`\n\nCreate a GitHub issue with a structured body (Context / What / Why / Scope / Solution) and curated labels via the `gh` CLI. Titles are plain business descriptions — no convention prefixes. Reads the codebase per [Codebase context](#codebase-context).\n\n```bash\n/autopilot:issue-create                                                # Prompt for hint, generate everything\n/autopilot:issue-create \"users cannot reset password via email\"        # Use hint to seed title and body\n/autopilot:issue-create \"refactor token streaming pipeline\"            # Solution may include ASCII diagram\n```\n\n### `/autopilot:issue-run`\n\nPick one of the repository's recent open issues and start autopilot on it. Lists the most-recently-updated open issues via `gh issue list`, lets you select one (or type any number), then hands it to `/autopilot:run`.\n\n```bash\n/autopilot:issue-run                # List recent open issues, pick one, run autopilot\n/autopilot:issue-run 142            # Skip the picker, run autopilot on issue #142\n```\n\n### `/autopilot:commits-create`\n\nAnalyze changes and create a conventional commit message.\n\n```bash\n/autopilot:commits-create                     # Analyze staged changes, generate commit\n/autopilot:commits-create \"add auth feature\"  # Provide context for better message\n```\n\n### `/autopilot:commits-restructure`\n\nRestructure messy draft commits (wip, fix, btw) into proper conventional commits.\n\n```bash\n/autopilot:commits-restructure              # Restructure commits since main\n/autopilot:commits-restructure --base dev   # Restructure commits since dev branch\n```\n\n### `/autopilot:pr-create`\n\nCreate a pull request with validated title and description.\n\n```bash\n/autopilot:pr-create                                              # Basic PR, closes issue from branch\n/autopilot:pr-create --draft                                      # Create as draft\n/autopilot:pr-create --closes 124,125                             # Close additional issues\n/autopilot:pr-create --related 100                                # Link related issues\n/autopilot:pr-create --draft --closes 124 --related 100,101       # Combine all options\n/autopilot:pr-create --release-notes                              # Include release notes section\n/autopilot:pr-create --release-notes --closes 124                 # Release notes + close issues\n```\n\n### `/autopilot:pr-update`\n\nUpdate an existing PR's title and description based on current branch commits.\n\n```bash\n/autopilot:pr-update                                    # Update PR from current commits\n/autopilot:pr-update --release-notes                    # Update with release notes section\n/autopilot:pr-update --closes 125                       # Add issue to close\n/autopilot:pr-update --related 100                      # Add related issue\n```\n\n### `/autopilot:plan`\n\nPerform deep analysis and create a validated implementation plan. Detects tech stack automatically. Reads the codebase per [Codebase context](#codebase-context). Accepts `--brief <path>` for explicit validated context reuse. See [how the plan and run skills work](../../docs/05-plan-run-skills.md) for the flow.\n\n```bash\n/autopilot:plan #42                                                      # From GitHub issue\n/autopilot:plan 123                                                      # From GitHub issue number\n/autopilot:plan https://github.com/org/repo/issues/789                   # From GitHub URL\n/autopilot:plan \"add user authentication\"                                # From description\n/autopilot:plan #42 I think we should start with the auth module         # Issue + additional context\n```\n\n### `/autopilot:run`\n\nPlan and implement without a plan-approval pause, then select one of two terminal paths. A task whose verified plan explicitly requires no repository edits reports `Outcome: no_repository_change`; a repository change is committed, opened as a PR, and monitored until it is ready for human review. A Linear-issue input additionally gets the finalized plan stored on its ticket before implementation — the same stored format `/autopilot:linear-plan` writes; see [the linear-plan skill](../../docs/16-linear-plan-skill.md). Reads the codebase per [Codebase context](#codebase-context). See [how the plan and run skills work](../../docs/05-plan-run-skills.md#how-run-differs-automated-post-implementation) for the terminal-path contract.\n\n```bash\n/autopilot:run #42                                                      # From GitHub issue\n/autopilot:run 123                                                      # From GitHub issue number\n/autopilot:run https://github.com/org/repo/issues/789                   # From GitHub URL\n/autopilot:run ENG-123                                                  # From Linear issue (plan stored on the ticket)\n/autopilot:run \"add user authentication\"                                # From description\n/autopilot:run #42 I think we should start with the auth module         # Issue + additional context\n```\n\nPlan, run, linear-plan, and linear-run accept `--brief <path>`; invalid explicit briefs stop rather than silently gathering broadly. Stored Linear plans retain durable evidence in format v2, and readers still accept v1.\n\n### `/autopilot:run-primed`\n\nSame as `/autopilot:run`, but reads the repository from a validated `.claude/context/brief.md` instead of re-running the codebase fan-out. See [the run-primed skill](../../docs/15-run-primed-skill.md) for the full contract.\n\n**Precondition:** the session must already have been primed by `/autopilot:explore`, and the orchestrator must have placed that brief in this checkout — `.claude/context/` is git-ignored, so a clone never carries it. A restored transcript on its own is not enough. When the brief is missing, malformed, stale, or from another revision, the skill stops with an actionable error and names `/autopilot:run` as the fallback; it never downgrades on its own.\n\n```bash\n/autopilot:run-primed #42                                               # From GitHub issue\n/autopilot:run-primed https://github.com/org/repo/issues/789            # From GitHub URL\n```\n\n### `/autopilot:explore`\n\nMap the repository broadly, write a durable context brief and source-dependency sidecar, then take surgical fixes one at a time. Refresh affected sections when dependencies change; structural or unknown changes trigger a full prime. Reads the codebase per [Codebase context](#codebase-context). See [the explore skill](../../docs/14-explore-skill.md) for the full flow.\n\nReach for it when you have an _area_ rather than a target and the changes that follow are small and located. Unlike `/autopilot:plan` and `/autopilot:run` it never branches, never opens a PR, and never asks for approval — invoking it commits you to nothing.\n\n```bash\n/autopilot:explore                                                      # Takes no arguments; the map is broad by design\n```\n\nRe-invoking it refreshes the brief, replaying the full fan-out only when something other than derived files moved upstream. Deleting the brief is the supported reset.\n\n### `/autopilot:linear-create`\n\nCreate a Linear issue with the same five-section body as `/autopilot:issue-create` (Context / What / Why / Scope / Solution), then pick its workflow status, labels, and assignee through a short wizard. Above the five sections it keeps your original prompt verbatim in a collapsed section. See [Linear tracker support](../../docs/11-linear-tracker.md) for the tracker contract.\n\n**Precondition:** a `linear` tracker in `package.json` `agents.trackers`. Without one the skill stops and points at `/autopilot:issue-create` for a GitHub issue instead.\n\n```bash\n/autopilot:linear-create                                                # Prompt for hint, generate everything\n/autopilot:linear-create \"users cannot reset password via email\"        # Use hint to seed title and body\n```\n\n### `/autopilot:linear-plan`\n\nSame as `/autopilot:plan`, but stores the finished plan in its Linear ticket's description so it outlives the session — then stops, without implementing. See [the linear-plan skill](../../docs/16-linear-plan-skill.md) for the stored format.\n\n**Precondition:** a `linear` tracker in `package.json` `agents.trackers`, a Linear issue as the argument, and a reachable Linear MCP server. All three are checked before the expensive planning pass, and each names `/autopilot:plan` as the alternative. Storing is unconditional and never gated.\n\n```bash\n/autopilot:linear-plan ENG-123                                          # From Linear id\n/autopilot:linear-plan https://linear.app/acme/issue/ENG-123            # From Linear URL\n```\n\n### `/autopilot:linear-run`\n\nSame as `/autopilot:run`, but first checks the Linear ticket for a durable plan. A valid stored plan is executed verbatim; when no executable stored plan is available, the skill drafts a fresh plan before continuing autonomously. See [the linear-run skill](../../docs/17-linear-run-skill.md) for the two-mode contract.\n\n**Precondition:** only a Linear ticket is required. Missing, unreadable, malformed, or unverifiable stored-plan data selects the fresh-plan path instead of rejecting the issue. The fallback never invokes `/autopilot:linear-plan` or rewrites the ticket description.\n\n```bash\n/autopilot:linear-run ENG-123                                           # From Linear id\n/autopilot:linear-run https://linear.app/acme/issue/ENG-123             # From Linear URL\n```\n\n### `/autopilot:todo-cleanup`\n\nScan codebase for TODO/FIXME comments, verify actuality against GitHub issues, and create/link issues.\n\n```bash\n/autopilot:todo-cleanup\n```\n\n### `/autopilot:dependabot-resolve`\n\nReview and merge dependabot PRs safely, one-by-one.\n\n```bash\n/autopilot:dependabot-resolve\n```\n\n### `/autopilot:pr-review`\n\nReview a pull request and provide constructive feedback with structured verdict output. Used by the [Code Review Action](https://github.com/awinogradov/code-review-action) action. Reads the codebase per [Codebase context](#codebase-context).\n\n```bash\n/autopilot:pr-review REPO: owner/repo PR_NUMBER: 123 REVIEWER: tars-copilot PR_AUTHOR: username\n```\n\n### `/autopilot:pr-answer`\n\nAnswer a user comment on a PR review and update review state if needed. Used by the [Code Review Action](https://github.com/awinogradov/code-review-action) action. Reads the codebase per [Codebase context](#codebase-context).\n\n```bash\n/autopilot:pr-answer REPO: owner/repo PR_NUMBER: 123 REVIEWER: tars-copilot COMMENT_BODY: \"...\" COMMENT_PATH: src/file.ts COMMENT_LINE: 42\n```\n\n### `/autopilot:pr-resolve`\n\nAddress PR review comments. Fetches review feedback, categorizes by severity, makes code fixes, replies to comment threads, and updates the PR. Reads the codebase per [Codebase context](#codebase-context). Aborts when the pull request conflicts with its base, since fixes pushed onto a conflicting branch stay unmergeable.\n\n```bash\n/autopilot:pr-resolve\n```\n\n### `/autopilot:pr-monitor`\n\nMonitor a PR for CI check status and review feedback until it is ready for human review: checks settled for the current head, no unanswered feedback, no conflict. The waiting runs in a packaged watcher that returns one bounded event, so the model stays dormant through pending CI instead of polling every minute (see the [PR watcher doc](../../docs/20-pr-watcher.md)). Resolves review feedback and fixes CI failures along the way, then ends with `Status: READY_FOR_REVIEW` — human approval and merge are asynchronous follow-ups, handled by running the monitor again or `/autopilot:pr-resolve` when feedback arrives. Pass `--wait-for-approval` to keep the previous behaviour of blocking until a human approves with all checks passing. Detects a conflicting branch and rebases it onto its base the sanctioned way, reporting and stopping when the rebase cannot complete cleanly.\n\n```bash\n/autopilot:pr-monitor\n/autopilot:pr-monitor --wait-for-approval\n```\n\n### `/autopilot:pr-validate`\n\nValidate a PR title and branch name against contributing guidelines. Used by the [contributing-action](https://github.com/awinogradov/contributing-action) action.\n\n```bash\n/autopilot:pr-validate PR_TITLE: \"Allow password reset via email\" BRANCH_NAME: \"issue-123-add-password-reset\" PR_AUTHOR: \"username\"\n```\n\n### `/autopilot:ascii-schemas`\n\nGenerate ASCII schemas, diagrams, and UI wireframes using Unicode box-drawing characters (wiretext conventions). Use for architecture diagrams, ER models, flow charts, sequence diagrams, and UI mockups.\n\n```bash\n/autopilot:ascii-schemas\n```\n\n### `/autopilot:pdf-create`\n\nGenerate a beautiful, brand-themed, multi-page PDF — report, research doc, six-pager, or playbook — from structured content, using a bundled `@react-pdf/renderer` pipeline (direct rendering, no headless browser). Optionally themed by a Google `design.md`. The skill is self-contained and portable: copy its folder into `~/.claude/skills/` to use it without the plugin (requires a local Node runtime). See the [pdf-create skill doc](../../docs/10-pdf-create-skill.md).\n\n```bash\n/autopilot:pdf-create \"quarterly report from these notes\"                 # Default theme\n/autopilot:pdf-create \"strategy six-pager\" ./brand/design.md             # Brand-themed\n/autopilot:pdf-create \"ops playbook\" ./brand/design.md ./playbook.pdf    # Theme + output path\n```\n\n### `/autopilot:ask-codex`\n\nDelegate a code-analysis, refactoring, or automated-editing task to the OpenAI Codex CLI, then critically evaluate its output as a peer AI. Prompts for model and reasoning effort, picks a sandbox mode, runs `codex exec` safely (stderr suppression, stdin-hang fix), and supports session resume. Requires the `codex` CLI installed and on `PATH`.\n\n```bash\n/autopilot:ask-codex                                   # Prompt for model + effort, run a Codex task\n/autopilot:ask-codex \"audit auth flow for races\"       # Seed the task description\n/autopilot:ask-codex \"refactor parser\" --model gpt-5.5 --effort high\n```\n\n### `/autopilot:ask-gemini`\n\nDelegate a code-analysis, refactoring, or automated-editing task to the Google Gemini CLI, then critically evaluate its output as a peer AI. Prompts for model and approval mode, runs `gemini -p` non-interactively (clean output handling, stdin-hang guard), and supports native session resume (`--resume`). Requires the `gemini` CLI installed and on `PATH`.\n\n```bash\n/autopilot:ask-gemini                                    # Prompt for model + approval mode, run a Gemini task\n/autopilot:ask-gemini \"audit auth flow for races\"        # Seed the task description\n/autopilot:ask-gemini \"refactor parser\" --model pro --approval-mode auto_edit\n```\n\n### `/autopilot:shared-rules`\n\nThe canonical home for instruction blocks several skills need — reference formatting (RFC-0001), AskUserQuestion formatting, agent structured output, Linear MCP access, and PR title/body grammar. Each block is a file under `references/`, so a consumer reads exactly the one it needs instead of carrying a copy. Mostly read by other skills rather than invoked directly; see the host repo's [shared-rules doc](../../docs/13-shared-rules-skill.md).\n\n```bash\n/autopilot:shared-rules                                  # List the blocks and where each is read from\n```\n\n## Agents\n\n### Helper sub-agents (9 agents)\n\nContext-isolating workers invoked by other skills to keep the parent conversation small. Each returns a structured summary only. Deterministic work is not delegated: the plan/run branch digest and GitHub issue fetch run as bundled helper CLIs under [`lib/`](./lib) (see [Bundled helpers](#bundled-helpers) below), so `gather-context` spawns an agent only for semantic digests.\n\n| Agent                    | Model  | Used by                  | Purpose                                                                                      |\n| ------------------------ | ------ | ------------------------ | -------------------------------------------------------------------------------------------- |\n| `analyze-pr-commits`     | sonnet | `pr-create`, `pr-update` | Summarize branch commits, diff, and linked issue for PR context                              |\n| `digest-repo-standards`  | sonnet | `gather-context`         | Digest the repo's README, docs/, rfc/, and principles/ into a bounded standards summary      |\n| `analyze-staged-changes` | haiku  | `commits-create`         | Categorize staged files and recommend a commit strategy                                      |\n| `digest-session-history` | haiku  | `plan`, `run`, `explore` | Map task files and commits to the Entire sessions and checkpoints that produced them         |\n| `resolve-alert-context`  | sonnet | `plan`, `run`            | Fetch GitHub code-scanning alert context via the code-scanning API                           |\n| `resolve-assignees`      | sonnet | `linear-create`          | Resolve candidate assignees from CODEOWNERS and Linear team members, current user first      |\n| `resolve-issue-context`  | sonnet | `pr-review`              | Fetch GitHub/Linear issue context; optionally auto-assign current user (idempotent) via `gh` |\n| `scan-and-analyze-todos` | sonnet | `todo-cleanup`           | Scan codebase for TODOs and check linked GitHub issue statuses                               |\n| `search-codebase-todos`  | haiku  | `pr-review`              | Search the codebase for TODOs and references to a specific issue                             |\n\n## Internal Skills (not in slash menu)\n\nThese skills set `user-invocable: false` — they run only when invoked programmatically via `Skill(autopilot:X)` from other skills. They do not appear in the `/` menu.\n\n### `preflight-check`\n\nValidate git working state before branching, committing, or opening a PR. Mode-aware: in `plan`/`branch` modes it fetches remote and offers to pull; in `commits`/`pr` modes it warns if you are on `main` and offers to create a branch first. Each mode's own checks live in a `references/` file that only that mode reads.\n\nInvoked automatically at the start of `/autopilot:branch-create`, `/autopilot:commits-create`, `/autopilot:pr-create`, and `/autopilot:plan`. On the `/autopilot:run` family it runs **once per session**, unconditionally, before any git mutation — that single invocation installs the git-history policy gate for the rest of the session, and is why the three creation skills skip their own preflight under `--autopilot`. See [skill token budget](../../docs/19-skill-token-budget.md).\n\n### `gather-context`\n\nAcquire all planning context in one parallel fan-out and emit a Context Map. Invoked automatically by `/autopilot:plan` and `/autopilot:run` after they detect the input type, and by `/autopilot:explore`.\n\nThe fan-out issues every context call in a single message — the repo-standards and branch-diff digest agents, the session-history digest when Entire is enabled, issue or alert resolution, the TODO search, stack detection, and git state — then runs one codebase pass and returns the Context Map. Sub-agents return bounded JSON, so the full text of a README, the selected RFCs, and an unbounded `git diff` never reaches the calling skill's context.\n\nAn optional `Scope` input selects how that pass reads the repository: `task` (the default, used by `plan` and `run`) narrows to what the change touches, `broad` maps the repository breadth-first for `/autopilot:explore`, and `primed` reads only the gaps a validated brief leaves for `/autopilot:run-primed`. The emitted Context Map has the same sections at every scope. `primed` is the one value that also gates off a fan-out agent — the repo-standards digest, whose output the brief already carries.\n\nPlanning is stack-agnostic apart from two values (example libraries, verify examples), which both skills resolve from `plan/references/stack-deltas.md` keyed by `agents.rules`. There are no per-stack planning skills.\n\n## Contributing\n\n### Adding Skills\n\nCreate a subdirectory in `skills/` with a `SKILL.md` file:\n\n```\nskills/\n└── my-skill/\n    ├── SKILL.md      # Required: skill definition\n    └── references/   # Optional: supporting docs\n```\n\n### Adding Agents\n\nCreate a `.md` file in `agents/` with capabilities:\n\n```markdown\n---\ndescription: Agent role and expertise\ncapabilities:\n  - Specific task 1\n  - Specific task 2\n---\n\nDetailed agent instructions...\n```\n\n### MCP Servers\n\nConfigure in `.mcp.json` at plugin root:\n\n```json\n{\n  \"mcpServers\": {\n    \"server-name\": {\n      \"type\": \"sse\",\n      \"url\": \"https://mcp.example.com/sse\"\n    }\n  }\n}\n```\n\nThe plugin ships one server: `wiretext` (ASCII wireframes). Linear connectivity is consumer-level: interactive skills use a user- or project-configured Linear MCP server (`claude mcp add --transport http linear https://mcp.linear.app/mcp`), while agents and headless runs use a bundled zero-dependency GraphQL helper (`lib/linear/`) keyed by `LINEAR_API_KEY`. See [Linear tracker support](../../docs/11-linear-tracker.md).\n\n### Bundled helpers\n\nDeterministic retrieval ships as zero-dependency CLIs under [`lib/`](./lib) — run by Node ≥ 24 native type stripping or Bun, always exiting 0 with one typed JSON payload plus telemetry — rather than as delegated agents:\n\n- [`lib/github/fetch-pr-reviews.ts`](./lib/github/fetch-pr-reviews.ts) performs the four bounded, read-only `gh` reads (REST reviews and comments, PR metadata, GraphQL `reviewThreads` resolution state), replacing the delegated `fetch-pr-reviews` agent the `pr-answer`, `pr-resolve`, and `pr-review` skills previously spawned. The invocation and output contract live in the [github-review-fetch shared block](./skills/shared-rules/references/github-review-fetch.md).\n- [`lib/git/digest-branch.ts`](./lib/git/digest-branch.ts) digests the current branch against its base — commits, numstat, `git cherry` stale-merge detection, worktree state — replacing the delegated `digest-branch-diff` agent in the `gather-context` fan-out. Degraded `cherry`/`rev-list` reads report `isStaleMerged`/`baseAhead` as `null`, never as a confident negative.\n- [`lib/github/fetch-issue.ts`](./lib/github/fetch-issue.ts) fetches a GitHub issue and, with `--assign`, self-assigns the authenticated user with a verifying re-read, replacing the `resolve-issue-context` agent's GitHub path in the same fan-out. Each helper's invocation and output contract lives in its header comment.\n\n### Versioning\n\nUpdate version in `.claude-plugin/plugin.json` following [semantic versioning](https://semver.org/):\n\n| Change Type      | Version Bump | Example       |\n| ---------------- | ------------ | ------------- |\n| Breaking changes | MAJOR        | 1.0.0 → 2.0.0 |\n| New features     | MINOR        | 1.0.0 → 1.1.0 |\n| Bug fixes        | PATCH        | 1.0.0 → 1.0.1 |\n\n### Testing Locally\n\nSee [Local development](#local-development) in the Installation section.\n","readmeFilename":"README.md"}