{"_id":"@anaszulkfli/plane-skills","_rev":"3-55624e653c16d49e310aed3c2ef0b8fd","name":"@anaszulkfli/plane-skills","dist-tags":{"latest":"1.0.3"},"versions":{"1.0.0":{"name":"@anaszulkfli/plane-skills","version":"1.0.0","_id":"@anaszulkfli/plane-skills@1.0.0","maintainers":[{"name":"anaszulkfli","email":"anas.zulkifli2001@gmail.com"}],"bin":{"plane-skills":"dist/cli.js"},"dist":{"shasum":"734c446011d4669146385565a7757be9ae5d88ea","tarball":"https://registry.npmjs.org/@anaszulkfli/plane-skills/-/plane-skills-1.0.0.tgz","fileCount":31,"integrity":"sha512-3uHqbBcu8JoCcCepEU/NhU+yChyxGcT2ojrm2bLJ/w7khwmfoSW/ICCeMRixIOLeAC8kF52wEtjU2RbQ0wNyZw==","signatures":[{"sig":"MEUCIQDw9XZXdCEVlIfxG0tfdFySzeMTOleklNvWPXmec4mZNAIgSubhACSAVn4+P5Ul4sd50I8aYBhYZe8xu2LGbfyOAfI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":54744},"type":"module","engines":{"node":">=20"},"gitHead":"6261168a31fe4e2a4ab17baed87c486c1fbdbc73","scripts":{"test":"npm run build && vitest run","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"anaszulkfli","email":"anas.zulkifli2001@gmail.com"},"_npmVersion":"10.9.2","description":"Plane skills for Codex","directories":{},"_nodeVersion":"22.13.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vitest":"^3.2.4","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/plane-skills_1.0.0_1787794710548_0.1332655677472776","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@anaszulkfli/plane-skills","version":"1.0.1","_id":"@anaszulkfli/plane-skills@1.0.1","maintainers":[{"name":"anaszulkfli","email":"anas.zulkifli2001@gmail.com"}],"bin":{"plane-skills":"dist/cli.js"},"dist":{"shasum":"26673a1f14528ad1c73cba6cf1ca00ceaafa1d44","tarball":"https://registry.npmjs.org/@anaszulkfli/plane-skills/-/plane-skills-1.0.1.tgz","fileCount":31,"integrity":"sha512-+XYM8GrAeDV87hl5szD3izSsqYUjTO/Vw0VKBeF+Ohs3y19S5I3/60RMKoZNgiXmr1QfPATaiSMKyTJlwiYO1Q==","signatures":[{"sig":"MEUCIQDvrTd+hYUCRTYUq8VVLq6flyWQZxnAl/Tatb52ZEyXqwIgIl0nBOC29mj6EHlzBMSnDcwcYGFU1RuvyfQj3747qN4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58827},"type":"module","engines":{"node":">=20"},"gitHead":"95b14c6377f352a2e965d4c3b0a08022a52c108c","scripts":{"test":"npm run build && vitest run","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"anaszulkfli","email":"anas.zulkifli2001@gmail.com"},"_npmVersion":"10.9.2","description":"Plane skills for Codex","directories":{},"_nodeVersion":"22.13.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vitest":"^3.2.4","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/plane-skills_1.0.1_1787822667865_0.14966636152325097","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@anaszulkfli/plane-skills","version":"1.0.3","description":"Plane skills for Codex","type":"module","engines":{"node":">=20"},"bin":{"plane-skills":"dist/cli.js"},"scripts":{"test":"npm run build && vitest run","typecheck":"tsc --noEmit","build":"tsc"},"devDependencies":{"@types/node":"^22.10.2","tsx":"^4.19.2","typescript":"^5.7.2","vitest":"^3.2.4"},"_id":"@anaszulkfli/plane-skills@1.0.3","gitHead":"12a15003fdee08b03803cc0bc16707f6e039b256","_nodeVersion":"22.13.1","_npmVersion":"10.9.2","dist":{"integrity":"sha512-Mkh0Kgu7MBSJWmKWRLAwqEMXvnWDSXZBdH6gwR4OPYX+JC+h1fCMNI+HcTYFW0yg7VvZdE6ilV7W6N3oz6KY9g==","shasum":"4772f1f25e6f01ce5cb1e8104c2ae77992d0b0fa","tarball":"https://registry.npmjs.org/@anaszulkfli/plane-skills/-/plane-skills-1.0.3.tgz","fileCount":31,"unpackedSize":55037,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICwv4RtE9PxyGglngzHaS23aE1dEUfyDxtcQbRtrsR9HAiB7xEkuuAAh7kt96NqpZiWndXeiki8HNMFIT9HY/49VpQ=="}]},"_npmUser":{"name":"anaszulkfli","email":"anas.zulkifli2001@gmail.com"},"directories":{},"maintainers":[{"name":"anaszulkfli","email":"anas.zulkifli2001@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/plane-skills_1.0.3_1787884611431_0.31861239792543206"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-27T01:38:30.371Z","modified":"2026-08-28T02:36:51.759Z","1.0.0":"2026-08-27T01:38:30.692Z","1.0.1":"2026-08-27T09:24:28.013Z","1.0.3":"2026-08-28T02:36:51.579Z"},"description":"Plane skills for Codex","maintainers":[{"name":"anaszulkfli","email":"anas.zulkifli2001@gmail.com"}],"readme":"# Plane Skills\n\nFour portable Plane skills for Codex, Cursor, and compatible agents: search work items, create a subticket, create a User Story, and update a status.\n\n## Architecture\n\n```text\nDeveloper\n  ↓\nCodex / Cursor\n  ↓\nTeam Plane instructions\n  ↓\nOfficial Plane MCP\n  ↓\nPlane REST API\n```\n\nThe skills use the **Official Plane MCP**, which uses the developer's **individual Plane OAuth** login. They do not require a local API key, local Plane CLI, or environment-variable configuration.\n\n## Install\n\nChoose exactly one runtime and scope:\n\n```sh\n# Codex, all projects\nnpx @anaszulkfli/plane-skills@latest install --runtime codex --global\n# Codex, this project\nnpx @anaszulkfli/plane-skills@latest install --runtime codex --project\n# Claude Code, all projects\nnpx @anaszulkfli/plane-skills@latest install --runtime claude --global\n# Claude Code, this project\nnpx @anaszulkfli/plane-skills@latest install --runtime claude --project\n```\n\nUse the same runtime and scope to update an installation. Updates preserve unrelated files and refuse to replace locally modified installed files unless `--force` is supplied.\n\n```sh\nnpx @anaszulkfli/plane-skills@latest update --runtime codex --global\nnpx @anaszulkfli/plane-skills@latest update --runtime claude --project\n```\n\n## Team setup\n\n1. Enable the Official Plane MCP in Codex or Cursor. Each developer completes their own individual Plane OAuth login when prompted.\n2. Put the shared workflow in Team Plane instructions: search first, show possible matches, retrieve the user-selected ticket, and ask for explicit confirmation before any change.\n3. For Cursor, place the equivalent Cursor rules in its project or team rule configuration.\n4. Optionally add repository Plane configuration that names the default workspace/project or links to the team's instructions. Keep it non-secret; OAuth credentials belong to the MCP connection.\n\n## Workflow safety\n\nSearch is read-only. Before any create or update, the skills show the selected work item or complete proposed change and require explicit confirmation immediately before the Official Plane MCP mutation. Ambiguous tickets, states, or types require user selection rather than guessing.\n\nExample prompt:\n\n> Find the relevant Plane ticket for implementing a barcode scanner.\n\nThe agent reads the team instructions, searches through Plane MCP, shows possible matches, retrieves the selected ticket, and asks for confirmation before making an approved change.\n\n## Development and package checks\n\n```sh\nnpm install\nnpm test\nnpm run typecheck\nnpm run build\nnpm pack --dry-run\n```\n\n## Maintainer release\n\nPublishing is a separate, explicitly authorized maintainer action. Do not publish as part of local development, installation, or a skill run:\n\n```sh\nnpm version patch   # or: minor, major\nnpm test && npm run typecheck && npm run build && npm pack --dry-run\nnpm publish\n```\n","readmeFilename":"README.md"}