{"_id":"@anton-kochev/pithos.skills","_rev":"2-7d650ee67e24fb883168b20f7948982e","name":"@anton-kochev/pithos.skills","dist-tags":{"bootstrap":"0.0.0","latest":"0.3.2"},"versions":{"0.0.0":{"name":"@anton-kochev/pithos.skills","version":"0.0.0","keywords":["pi-package","pi-prompt-template","pi-skill","pithos","plan-mode","planning","tdd","test-driven-development","srs","requirements","iso-29148","ears"],"license":"MIT","_id":"@anton-kochev/pithos.skills@0.0.0","maintainers":[{"name":"anton-kochev","email":"anton.kochev@gmail.com"}],"homepage":"https://github.com/anton-kochev/pithos-kit#readme","bugs":{"url":"https://github.com/anton-kochev/pithos-kit/issues"},"pi":{"skills":["./skills"],"themes":["./themes"],"prompts":["./prompts"],"extensions":["./extensions/plan-theme.ts"]},"dist":{"shasum":"346b4c21232d837a157bb099bd9c3600b1e52812","tarball":"https://registry.npmjs.org/@anton-kochev/pithos.skills/-/pithos.skills-0.0.0.tgz","fileCount":12,"integrity":"sha512-N5f7yVqoMXVexi1SyA896TBd4AN5OtANGA6H5cETwX8XzOZW8Hm00794RntXdw3pr+FFkZnc/Vt6tn5KtbyTVQ==","signatures":[{"sig":"MEYCIQD8IxYo7hiwRRVq5AEavwlpUR7oc4IzQo3whSKTjy99BgIhALzCStsEJ/HJiO5YDwAGodlB5mFrXHa4U65z0/tIUL+H","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69797},"type":"module","scripts":{"test":"node --test test/*.test.ts"},"_npmUser":{"name":"anton-kochev","email":"anton.kochev@gmail.com"},"repository":{"url":"git+https://github.com/anton-kochev/pithos-kit.git","type":"git","directory":"pithos.skills"},"_npmVersion":"10.9.2","description":"Anton Kochev's Pi skills and prompt commands.","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pithos.skills_0.0.0_1786363694623_0.862310301964438","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@anton-kochev/pithos.skills","version":"0.3.2","description":"Anton Kochev's Pi skills and prompt commands.","keywords":["pi-package","pi-prompt-template","pi-skill","pithos","plan-mode","planning","tdd","test-driven-development","srs","requirements","iso-29148","ears"],"license":"MIT","type":"module","scripts":{"test":"node --test test/*.test.ts"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*"},"repository":{"type":"git","url":"git+https://github.com/anton-kochev/pithos-kit.git","directory":"pithos.skills"},"publishConfig":{"access":"public"},"pi":{"extensions":["./extensions/plan-theme.ts"],"prompts":["./prompts"],"skills":["./skills"],"themes":["./themes"]},"gitHead":"14e32cc67fc85c72b7588bf1c31b78361f1eaa8c","_id":"@anton-kochev/pithos.skills@0.3.2","bugs":{"url":"https://github.com/anton-kochev/pithos-kit/issues"},"homepage":"https://github.com/anton-kochev/pithos-kit#readme","_nodeVersion":"24.18.0","_npmVersion":"12.0.2","dist":{"integrity":"sha512-O5XqZEqxiKM8yLVGCFOhtJSDl6tgrHgDAiJDAZdIOywNz+A4AxNUuv4V3ti/c9XcMvaS2Wy41eN+uB1TpVhFLQ==","shasum":"494ab82a554eccf899b6bc5b3af9f001d768d9dd","tarball":"https://registry.npmjs.org/@anton-kochev/pithos.skills/-/pithos.skills-0.3.2.tgz","fileCount":12,"unpackedSize":69797,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anton-kochev%2fpithos.skills@0.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAVT+C0O8w6+0/HE8fd3qgEU9Tc4cuht6WC0xm/bAmzdAiEAsV2IunSlUWouTzFd58O8W4awVEx8Q8S+vyvkZYDos5s="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:307f84cb-2f15-4204-acdf-3ecbcec6db6f"}},"directories":{},"maintainers":[{"name":"anton-kochev","email":"anton.kochev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pithos.skills_0.3.2_1786376416949_0.7840639350125433"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-10T12:08:14.454Z","modified":"2026-08-10T15:40:17.447Z","0.0.0":"2026-08-10T12:08:14.773Z","0.3.2":"2026-08-10T15:40:17.116Z"},"bugs":{"url":"https://github.com/anton-kochev/pithos-kit/issues"},"license":"MIT","homepage":"https://github.com/anton-kochev/pithos-kit#readme","keywords":["pi-package","pi-prompt-template","pi-skill","pithos","plan-mode","planning","tdd","test-driven-development","srs","requirements","iso-29148","ears"],"repository":{"type":"git","url":"git+https://github.com/anton-kochev/pithos-kit.git","directory":"pithos.skills"},"description":"Anton Kochev's Pi skills and prompt commands.","maintainers":[{"name":"anton-kochev","email":"anton.kochev@gmail.com"}],"readme":"# @anton-kochev/pithos.skills\n\n[![npm version](https://img.shields.io/npm/v/@anton-kochev/pithos.skills)](https://www.npmjs.com/package/@anton-kochev/pithos.skills)\n\nAnton Kochev's Pi skills and prompt commands.\n\n## Plan mode\n\nUse `/plan` when you want the agent to explore before asking questions, reach explicit shared understanding, save a plan under `.pi/plans/`, and only then implement.\n\nWhile Plan mode is active, Pi exposes only the trusted built-in `read`, `grep`, `find`, and `ls` tools plus an internal `create_plan` tool. Source edits, model shell commands, custom tools, and manual `!`/`!!` shell commands are blocked. The internal plan creator is hidden outside Plan mode and uses exclusive file creation, so a plan that appears after path generation is never overwritten; the timestamp advances until an unused path is created.\n\nEach plan receives a sortable UTC timestamp and readable task-derived name, such as `2026-08-05-132751-save-plan-storage.md`. The bundled `plan` theme replaces the standard footer with a subtly fading `● planning` indicator, but enforcement remains active if the theme cannot load. When the agent is ready to create the plan—or when you run `/plan` again—Pi asks whether to create it and proceed to implementation or continue planning. Approval permits the controlled plan creation; declining keeps Plan mode read-only and active. After successful creation, Pi restores the previous theme and tools and implementation can begin.\n\nPlan creation requires an interactive UI. Without one, creation attempts are blocked and Plan mode remains active.\n\n### Enforcement boundary\n\nPlan mode prevents model-initiated project mutation through Pi's tool interface and intercepts manual user shell commands. It is extension-level enforcement, not an operating-system sandbox: slash commands and event handlers implemented by other extensions, direct filesystem or `pi.exec()` calls inside extension code, and external processes remain outside this boundary. Use an OS sandbox or container when no process may mutate the filesystem.\n\nUse `/commit` to stage relevant files when intent is clear and generate a Conventional Commits 1.0.0 message — problem-framed subjects, subject-only by default, with a body only when it earns its place.\n\nUse `/srs` to create an ISO/IEC/IEEE 29148:2018 Software Requirements Specification with EARS requirements, explicit approval gating, and a traceability matrix.\n\nUse the `tdd` skill when you want the agent to build or change non-trivial logic test-first with the red-green-refactor loop.\n\n## Install\n\n```bash\npi install npm:@anton-kochev/pithos.skills\n```\n\nFor local development from this repository:\n\n```bash\npi install -l ./pithos.skills\n```\n\n## Usage\n\nInvoke prompt commands directly:\n\n```text\n/plan <your task>\n/commit [instructions]\n/srs <product or change description>\n```\n\nThese are prompt templates, so they are manual-only: they appear as slash commands rather than being auto-selected as skills.\n\nThe TDD workflow is packaged as a skill. Pi can load it proactively for matching requests, or you can force it with:\n\n```text\n/skill:tdd <your task>\n```\n\n## Changelog\n\n### 0.3.2\n\n- Create generated plans atomically through a dedicated controlled tool so late path collisions cannot overwrite existing files.\n- Clarify the Plan mode enforcement boundary and behavior without an interactive UI.\n\n### 0.3.1\n\n- Enforce read-only Plan mode across built-in, custom, and user-shell tools, with fail-closed activation and branch-scoped state restoration.\n- Require interactive approval for the exact generated plan write; continuing stays in Plan mode, while a successful approved write exits and authorizes implementation.\n\n### 0.3.0\n\n- Ask whether to create the generated plan file when exiting an active `/plan` session.\n- Add an automatic temporary minimal `plan` theme and replace the standard footer with a subtly fading `● planning` indicator while `/plan` is active.\n- Save plans under `.pi/plans/` with unique, timestamp-prefixed readable names instead of overwriting a root `PLAN.md` or adding numeric suffixes.\n- Fix cancelled `/plan` sessions continuing to influence later model turns through stale prompt history.\n\n### 0.2.0\n\n- `/commit`: infer and stage relevant files when commit intent is clear, while preserving staged-only commits and avoiding local artifacts.\n\n### 0.1.3\n\n- Fix `/plan` prompt command discovery by quoting its YAML frontmatter description.\n\n### 0.1.2\n\n- Add `/srs` prompt command for ISO/IEC/IEEE 29148:2018 SRS generation with EARS requirements and traceability.\n\n### 0.1.1\n\n- `/commit`: reconcile the subject-mood rule with the problem-framed examples (declarative when stating a problem, imperative when describing value), default to subject-only bodies, and fix an over-length breaking-change example.\n\n### 0.1.0\n\n- Initial release: `/plan` and `/commit` prompt commands plus the `tdd` skill.\n","readmeFilename":"README.md"}