{"_id":"@blazer2k/pi-personality","_rev":"6-06f28e70f3aa9cccf46126d8dc12fd12","name":"@blazer2k/pi-personality","dist-tags":{"latest":"0.2.2"},"versions":{"0.1.0":{"name":"@blazer2k/pi-personality","version":"0.1.0","keywords":["pi","pi-package","personality","communication-style"],"author":{"name":"Fedor Vasilev"},"license":"MIT","_id":"@blazer2k/pi-personality@0.1.0","maintainers":[{"name":"blazer2k","email":"blazer2kforever@gmail.com"}],"homepage":"https://github.com/blazer2k/pi-blz/tree/main/packages/pi-personality#readme","bugs":{"url":"https://github.com/blazer2k/pi-blz/issues"},"pi":{"image":"https://raw.githubusercontent.com/blazer2k/pi-blz/main/packages/pi-personality/images/bg.jpg","extensions":["./src/index.ts"]},"dist":{"shasum":"5d62f62d31de2b917b4a0f3b7bd0816ca4d8c112","tarball":"https://registry.npmjs.org/@blazer2k/pi-personality/-/pi-personality-0.1.0.tgz","fileCount":11,"integrity":"sha512-7sj9fy/U8tGn+ZU4T5eMV74CsIQHU5K3zC12w8WqdOLZTtjwH/6824GB0+rbCmQdydqPcLcCNwziEZjZsJdmXw==","signatures":[{"sig":"MEYCIQCQ2I5HMc2x/yWY5fXN+O2U9S5PCPkx9SMsqRmx2f1VFgIhAOD1OtenDYOkrFnz5maOpBG9x4GAlv7Njk9t0iPEoGMR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":120913},"type":"module","gitHead":"3ed2b9fbbb3dc9ee4eaba80644372e389af2b3be","_npmUser":{"name":"blazer2k","email":"blazer2kforever@gmail.com"},"repository":{"url":"git+https://github.com/blazer2k/pi-blz.git","type":"git","directory":"packages/pi-personality"},"_npmVersion":"11.8.0","description":"Codex-style /personality command for pi.","directories":{},"_nodeVersion":"24.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-personality_0.1.0_1781311605528_0.35081633764215536","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@blazer2k/pi-personality","version":"0.1.1","keywords":["pi","pi-package","personality","communication-style"],"author":{"name":"Fedor Vasilev"},"license":"MIT","_id":"@blazer2k/pi-personality@0.1.1","maintainers":[{"name":"blazer2k","email":"blazer2kforever@gmail.com"}],"homepage":"https://github.com/blazer2k/pi-blz/tree/main/packages/pi-personality#readme","bugs":{"url":"https://github.com/blazer2k/pi-blz/issues"},"pi":{"image":"https://raw.githubusercontent.com/blazer2k/pi-blz/main/packages/pi-personality/images/bg.jpg","extensions":["./src/index.ts"]},"dist":{"shasum":"3fe2f1777d83fb6cd72ad2c86b04a55d3a842c3b","tarball":"https://registry.npmjs.org/@blazer2k/pi-personality/-/pi-personality-0.1.1.tgz","fileCount":11,"integrity":"sha512-09fzdDkgGD2xm9cRZCCJi6HIwUP1cKtgGzyoPX6VKrtVt0g8RoquOz55eM/QeVLyCelEG10q+kLcrcPGqIXnQQ==","signatures":[{"sig":"MEQCIEJYyw909E50pn6vqFLPKF8DNHZft4gdjdL5vbex0+GaAiBtE/7bMCTKbaHQHFueOQfQMQxCKfnBjKhTVwORrNduLA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121037},"type":"module","gitHead":"e849a40057aead9baf7c29e54e77b017663cc317","_npmUser":{"name":"blazer2k","email":"blazer2kforever@gmail.com"},"repository":{"url":"git+https://github.com/blazer2k/pi-blz.git","type":"git","directory":"packages/pi-personality"},"_npmVersion":"11.8.0","description":"Codex-style /personality command for pi.","directories":{},"_nodeVersion":"24.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-personality_0.1.1_1781396410262_0.09172058083343848","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@blazer2k/pi-personality","version":"0.1.2","keywords":["pi","pi-package","personality","communication-style"],"author":{"name":"Fedor Vasilev"},"license":"MIT","_id":"@blazer2k/pi-personality@0.1.2","maintainers":[{"name":"blazer2k","email":"blazer2kforever@gmail.com"}],"homepage":"https://github.com/blazer2k/pi-blz/tree/main/packages/pi-personality#readme","bugs":{"url":"https://github.com/blazer2k/pi-blz/issues"},"pi":{"image":"https://raw.githubusercontent.com/blazer2k/pi-blz/main/packages/pi-personality/images/bg.jpg","extensions":["./src/index.ts"]},"dist":{"shasum":"fe7aec77a3c4ec7148795b7ea86730322fc43e0c","tarball":"https://registry.npmjs.org/@blazer2k/pi-personality/-/pi-personality-0.1.2.tgz","fileCount":11,"integrity":"sha512-4R+C6k7nXCG1FwhM6S4dL2H9JMfGO9pgK8YRg7DzT0xxPMsu9cNnrCvbVGs8h4iOwzDwkV1Sb7lJZj1LAubNfQ==","signatures":[{"sig":"MEYCIQCehwwa5KDIxg8GQ1k5o6ar3ihMiHuriKQCH91TF8xDAAIhAKG8jKxkfVuOvCpYG7RI3q82Ep1c2ih5ibqgOZV4hTXM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121250},"type":"module","gitHead":"1a23ea9574204e8d20cb7b2544a49b5c5e52603f","_npmUser":{"name":"blazer2k","email":"blazer2kforever@gmail.com"},"repository":{"url":"git+https://github.com/blazer2k/pi-blz.git","type":"git","directory":"packages/pi-personality"},"_npmVersion":"11.8.0","description":"Codex-style /personality command for pi.","directories":{},"_nodeVersion":"24.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-personality_0.1.2_1781396862517_0.1146583188467547","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@blazer2k/pi-personality","version":"0.2.0","keywords":["pi","pi-package","personality","communication-style"],"author":{"name":"Fedor Vasilev"},"license":"MIT","_id":"@blazer2k/pi-personality@0.2.0","maintainers":[{"name":"blazer2k","email":"blazer2kforever@gmail.com"}],"homepage":"https://github.com/blazer2k/pi-blz/tree/main/packages/pi-personality#readme","bugs":{"url":"https://github.com/blazer2k/pi-blz/issues"},"pi":{"image":"https://raw.githubusercontent.com/blazer2k/pi-blz/main/packages/pi-personality/images/bg.jpg","extensions":["./src/index.ts"]},"dist":{"shasum":"0a6227eae7b96ea651a1ab195de418611f9204af","tarball":"https://registry.npmjs.org/@blazer2k/pi-personality/-/pi-personality-0.2.0.tgz","fileCount":12,"integrity":"sha512-tcMZQETQH+8+8/jRey5WX07QQS1LRoQDU44hgZjENlXJUB/U6PmQ1BPflkaEaqg25N4PbDpzR4zFz2rQWG87LA==","signatures":[{"sig":"MEQCIGE3aF48Jf6AsFACdvKO9L5FmBacUOFaCpaQJ8dqfZoxAiAMj35HkO2A/gC5A7G+MdMo2n5swrKGPwMDblVKnw4oNw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":123938},"type":"module","gitHead":"ca360bd9d13852bac132451291e4c8886bf140bc","_npmUser":{"name":"blazer2k","email":"blazer2kforever@gmail.com"},"repository":{"url":"git+https://github.com/blazer2k/pi-blz.git","type":"git","directory":"packages/pi-personality"},"_npmVersion":"11.8.0","description":"Codex-style /personality command for pi.","directories":{},"_nodeVersion":"24.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-personality_0.2.0_1781933350788_0.6846976319048037","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@blazer2k/pi-personality","version":"0.2.1","keywords":["pi","pi-package","personality","communication-style"],"author":{"name":"Fedor Vasilev"},"license":"MIT","_id":"@blazer2k/pi-personality@0.2.1","maintainers":[{"name":"blazer2k","email":"blazer2kforever@gmail.com"}],"homepage":"https://github.com/blazer2k/pi-blz/tree/main/packages/pi-personality#readme","bugs":{"url":"https://github.com/blazer2k/pi-blz/issues"},"pi":{"image":"https://raw.githubusercontent.com/blazer2k/pi-blz/main/packages/pi-personality/images/bg.jpg","extensions":["./src/index.ts"]},"dist":{"shasum":"9cd2e3e038bdf10c77f92402c93bb5098e5d6ca9","tarball":"https://registry.npmjs.org/@blazer2k/pi-personality/-/pi-personality-0.2.1.tgz","fileCount":12,"integrity":"sha512-BgXbA23GoEfg5dCfC61GYlDv8cGa4hSGGI7tLAQ5oex7m4UHK+hBFcbitdF3r9K+Pc7LCIlDCNPVNPmKvjewiw==","signatures":[{"sig":"MEUCIQDQS7FXpHCAsrzbQ3vivNXSs4c4M+W+pMba+EEEEIkbSgIgPsrS371SP9RJlD70/IHATRN4OTam8Dq6Loz/c+XbVvM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":124636},"type":"module","gitHead":"947562c2f9951644f95be2a56b190e9bb28a7365","_npmUser":{"name":"blazer2k","email":"blazer2kforever@gmail.com"},"repository":{"url":"git+https://github.com/blazer2k/pi-blz.git","type":"git","directory":"packages/pi-personality"},"_npmVersion":"11.8.0","description":"Codex-style /personality command for pi.","directories":{},"_nodeVersion":"24.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-personality_0.2.1_1782036323829_0.291963678423256","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@blazer2k/pi-personality","version":"0.2.2","description":"Codex-style /personality command for pi.","type":"module","keywords":["pi","pi-package","personality","communication-style"],"author":{"name":"Fedor Vasilev"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/blazer2k/pi-blz.git","directory":"packages/pi-personality"},"bugs":{"url":"https://github.com/blazer2k/pi-blz/issues"},"homepage":"https://github.com/blazer2k/pi-blz/tree/main/packages/pi-personality#readme","publishConfig":{"access":"public"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*","@earendil-works/pi-tui":"*"},"pi":{"extensions":["./src/index.ts"],"image":"https://raw.githubusercontent.com/blazer2k/pi-blz/main/packages/pi-personality/images/bg.jpg"},"gitHead":"727c51d5c1ba9859213946f5d11495d421222b00","_id":"@blazer2k/pi-personality@0.2.2","_nodeVersion":"24.13.1","_npmVersion":"11.8.0","dist":{"integrity":"sha512-3cIOojtQdP8DCLeriLJJNtT8BrTV+Tl7+A8wL/VH85Wfq2TsxU5FBTnbRoNiBHFk105Q3YA0UeaHxgC2053ZYA==","shasum":"af3c64a77ceb78337881b2c349184744fa93624b","tarball":"https://registry.npmjs.org/@blazer2k/pi-personality/-/pi-personality-0.2.2.tgz","fileCount":12,"unpackedSize":124947,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCyIYv/PZEI8GDVT0mPFpCA1NN7pq4Uuq1e82ufhc3PKQIgLGBF9qQl2cvxWCW6LsWP20/8G1jr5wuTZgPsJcylAQ0="}]},"_npmUser":{"name":"blazer2k","email":"blazer2kforever@gmail.com"},"directories":{},"maintainers":[{"name":"blazer2k","email":"blazer2kforever@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-personality_0.2.2_1782039847355_0.7395112741347738"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-13T00:46:45.390Z","modified":"2026-06-21T11:04:07.625Z","0.1.0":"2026-06-13T00:46:45.681Z","0.1.1":"2026-06-14T00:20:10.503Z","0.1.2":"2026-06-14T00:27:42.695Z","0.2.0":"2026-06-20T05:29:10.927Z","0.2.1":"2026-06-21T10:05:23.990Z","0.2.2":"2026-06-21T11:04:07.516Z"},"bugs":{"url":"https://github.com/blazer2k/pi-blz/issues"},"author":{"name":"Fedor Vasilev"},"license":"MIT","homepage":"https://github.com/blazer2k/pi-blz/tree/main/packages/pi-personality#readme","keywords":["pi","pi-package","personality","communication-style"],"repository":{"type":"git","url":"git+https://github.com/blazer2k/pi-blz.git","directory":"packages/pi-personality"},"description":"Codex-style /personality command for pi.","maintainers":[{"name":"blazer2k","email":"blazer2kforever@gmail.com"}],"readme":"# @blazer2k/pi-personality\n\nSwitchable communication styles for [pi](https://pi.dev), inspired by Codex CLI's `/personality` command.\n\n**Current version:** 0.2.2\n\n## Why This Matters\n\nPersonality shapes how pi communicates with you: word choice, warmth, how eagerly it explains things, and how it raises concerns. It is intended to steer tone and collaboration posture, not task execution.\n\nThe personality text is wrapped in a scoping instruction telling the model to apply it only to communication style. In practice, the containment is not perfect — evaluation runs show that different personalities can produce different tool-calling patterns, different architectural choices, and different levels of verbosity. The effect varies by model and prompt. Treat personality as a dial that primarily affects communication style but may have secondary effects on how the agent approaches problems.\n\n## Overview\n\nThis extension adds a `/personality` command that lets you pick a communication style for pi. The chosen personality is appended to the system prompt.\n\n### Included Personalities\n\n| Personality   | Style                                                                             | Origin                |\n| ------------- | --------------------------------------------------------------------------------- | --------------------- |\n| **None**      | No personality prompt. Raw model behavior.                                        | —                     |\n| **Pragmatic** | Concise, task-focused, direct. No fluff, no cheerleading.                         | Copied from Codex CLI |\n| **Friendly**  | Warm, encouraging, collaborative. Uses \"we\" and \"let's\".                          | Copied from Codex CLI |\n| **Teacher**   | Builds durable understanding while getting work done. Teaches at decision points. | Custom                |\n| **Casual**    | Informal, natural, and easygoing. Keeps collaboration conversational.             | Custom                |\n\n### Custom Personalities\n\nDrop `.md` files with YAML frontmatter into `~/.pi/agent/personalities/`:\n\n```markdown\n---\nname: MyStyle\ndescription: A custom communication style\n---\n\nYour system prompt text here...\n```\n\nCustom personalities with the same name as a builtin override it. Others appear alongside builtins in the picker.\n\n## Installation\n\n```bash\npi install npm:@blazer2k/pi-personality\n```\n\nOr install locally for development:\n\n```bash\ngit clone https://github.com/blazer2k/pi-blz.git\ncd pi-blz\nnpm install\npi -e ./packages/pi-personality/src/index.ts\n```\n\n## Usage\n\nType `/personality` in pi to open the style picker. Select a personality and it takes effect immediately for the current session.\n\n## Caveats\n\n- **Mutates the system prompt.** The personality text is appended to the existing system prompt via the `before_agent_start` hook. This adds ~500-800 tokens to the context window (or zero with **None**).\n- **File changes require reload.** If you edit a personality `.md` file while pi is running, the extension will not pick up the changes until you `/reload` or switch to a different personality and back.\n- **Beware of untrusted prompts.** Custom personalities are injected directly into the system prompt. If you install personalities from unknown sources, review their content first; a malicious prompt could steer the agent's behavior in unintended ways.\n- **Personality can affect more than tone.** The scoping instruction is not fully enforced — personality may influence tool-calling patterns, architectural decisions, and verbosity beyond just communication style.\n\n## Persistence\n\nThe active personality is saved to `~/.pi/agent/personality-state.json` and restored on next session.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}