by narumiruna
A TypeScript monorepo of Pi Coding Agent extensions for automation, planning, language tooling, browser control, web research, Git workflows, and configuration sync.
# Add to your Claude Code skills
git clone https://github.com/narumiruna/pi-extensionsGuides for using ai agents skills like pi-extensions.
Last scanned: 7/5/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-07-05T07:24:55.946Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}pi-extensions is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by narumiruna. A TypeScript monorepo of Pi Coding Agent extensions for automation, planning, language tooling, browser control, web research, Git workflows, and configuration sync. It has 365 GitHub stars.
Yes. pi-extensions passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/narumiruna/pi-extensions" and add it to your Claude Code skills directory (see the Installation section above).
pi-extensions is primarily written in TypeScript. It is open-source under narumiruna on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh pi-extensions against similar tools.
No comments yet. Be the first to share your thoughts!
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
Independently installable Pi Coding Agent extensions and reusable extension libraries for coding, research, browser automation, workflow management, observability, and terminal ergonomics.
Install only what you need. Every package is published separately under the @narumitw npm scope.
Install an extension permanently:
pi install npm:@narumitw/pi-goal
Try one without adding it permanently:
pi -e npm:@narumitw/pi-statusline
Combine multiple extensions:
pi -e npm:@narumitw/pi-goal \
-e npm:@narumitw/pi-statusline \
-e npm:@narumitw/pi-lsp
[!IMPORTANT] Pi extensions run with your full user permissions. Review an extension before installing it from any third party.
| Package | Use it for | Install |
|---|---|---|
pi-codex-compact |
Use OpenAI Codex Remote Compaction V2 to persist and replay bounded opaque checkpoints, with /codex-compact manual controls and safe Pi-native fallback. |
pi install npm:@narumitw/pi-codex-compact |
pi-lsp |
Language-server diagnostics and code actions across JavaScript, TypeScript, Python, Rust, Go, Ruby, C/C++, JVM, .NET, Swift, shell, infrastructure formats, and more. | pi install npm:@narumitw/pi-lsp |
pi-plan-mode |
Codex-like, read-only /plan collaboration before implementation begins. |
pi install npm:@narumitw/pi-plan-mode |
pi-subagents |
Delegate isolated work in single, parallel, or chained execution modes. | pi install npm:@narumitw/pi-subagents |
| Package | Use it for | Install |
|---|---|---|
pi-chrome-devtools |
Inspect tabs, navigate pages, evaluate JavaScript, and capture screenshots through Chrome DevTools Protocol. | pi install npm:@narumitw/pi-chrome-devtools |
pi-firecrawl |
Scrape pages, crawl websites, discover URLs, and search the web with Firecrawl. | pi install npm:@narumitw/pi-firecrawl |
| Package | Use it for | Install |
|---|---|---|
pi-btw |
Ask a quick /btw side question without adding it to the main conversation. |
pi install npm:@narumitw/pi-btw |
pi-caffeinate |
Prevent system sleep while Pi processes a long-running prompt. | pi install npm:@narumitw/pi-caffeinate |
pi-goal |
Keep the agent working until a goal is verified complete; optionally enable an experimental ordered queue. | pi install npm:@narumitw/pi-goal |
pi-worktree |
Create, switch, remove, and prune Git worktrees while carrying the Pi session into another workspace. | pi install npm:@narumitw/pi-worktree |
| Package | Use it for | Install |
|---|---|---|
pi-accounts |
Switch named OpenAI Codex, Anthropic, and GitHub Copilot subscription OAuth accounts with /account. |
pi install npm:@narumitw/pi-accounts |
pi-usage |
View current-account Codex subscription limits or OpenRouter API-key spend limits with /usage. |
pi install npm:@narumitw/pi-usage |
pi-sync |
Sync allowlisted Pi settings and optional sessions through Cloudflare R2 or S3-compatible storage. | pi install npm:@narumitw/pi-sync |
| Package | Use it for | Install |
|---|---|---|
pi-github-pr |
Show current-branch pull request checks, reviews, and comment counts through the authenticated gh CLI. |
pi install npm:@narumitw/pi-github-pr |
pi-langfuse |
Send agent runs, generations, token usage, costs, and tool activity to Langfuse. | pi install npm:@narumitw/pi-langfuse |
pi-stamp |
Show configurable timestamps with opt-in assistant metadata, response timing, and tool timing in the TUI transcript. | pi install npm:@narumitw/pi-stamp |
pi-starship |
Use a native Starship-style TOML footer with Pi-specific modules and no Starship binary dependency. | pi install npm:@narumitw/pi-starship |
pi-statusline |
Show model, tools, Git state, context usage, tokens, cost, and time in a preset or JSON-configured footer. | pi install npm:@narumitw/pi-statusline |
pi-tool |
Browse every configured tool and inspect its active state, source, parameter schema, and prompt guidelines with /tool. |
pi install npm:@narumitw/pi-tool |
Choose either pi-starship or pi-statusline; do not enable both footer extensions together.
| Package | Use it for | Install |
|---|---|---|
pi-tui-kit |
Extend @earendil-works/pi-tui with reusable navigation helpers and declarative action, detail, settings, and multi-select flows. |
npm install @narumitw/pi-tui-kit |
Libraries are runtime dependencies for extension authors, not standalone Pi extensions. New standard
manager menus should use @narumitw/pi-tui-kit; extensions continue to own domain state,
commands, settings persistence, confirmations, and specialized UI.
[!WARNING] Experimental extensions are published and installable, but their interaction models and package APIs may change between releases.
| Package | Use it for | Install |
|---|---|---|
pi-analytics |
Review private, content-free local metrics for model calls, skills, tools, response cycles, and observed provider reliability through /analytics. |
pi install npm:@narumitw/pi-analytics |
pi-chat |
Join ephemeral peer-to-peer chat rooms that stay separate from Pi sessions, prompts, and model context. | pi install npm:@narumitw/pi-chat |
pi-file-context |
Browse project files, preview text, select exact lines or Git diff hunks, and attach immutable snapshots with Git provenance to the next prompt. Open it with configurable F8 or /file-context. |
pi install npm:@narumitw/pi-file-context |
pi-fleet |
Start a separate Pi process in a Ghostty split and connect explicit local Pi sessions for bounded messages and one-turn requests. | pi install npm:@narumitw/pi-fleet |
pi-recall |
Save selected text messages locally and preview or quote them across Pi sessions. | pi install npm:@narumitw/pi-recall |
pi-workflow |
Combine /plan and /goal in one experimental package with an integrated, recoverable Plan-to-Goal handoff. |
pi install npm:@narumitw/pi-workflow |
Install the repository as one Pi package:
pi install git:github.com/narumiruna/pi-extensions
The repository root Pi manifest explicitly lists every stable extension under packages/, so this enables all of them. Packages marked with the experimental lifecycle are intentionally excluded from the root Git package.
To load only selected extensions, replace the installed package entry in ~/.pi/agent/settings.json with a resource filter:
{
"packages": [
{
"source": "git:github.com/narumiruna/pi-extensions",
"extensions": [
"packages/pi-accounts/src/index.ts",
"packages/pi-usage/src/index.ts"
]
}
]
}
Filters use resource paths relative to the repository root. A package directory such as packages/pi-accounts is not enough; select its src/index.ts entrypoint.
Restart Pi or run /reload after changing the filter. Update the checkout later with:
pi update --extensions
From the repository root:
npm install
npm test
npm run check
npm test typechecks the test sources and runs the root and workspace suites with Vitest.
Use the generic Just recipes with an unscoped extension name:
just try goal
just pack goal
# Experimental packages use the same recipes
just try file-context
just pack file-context
# Libraries use the same generic pack recipe
just pack tui-kit
Run just --list to see all development, install, pack, and release recipes. Pull requests that
change published package behavior should add release intent with npm run changeset; packages version
independently.
just npm-public @narumitw/pi-new-extension only changes visibility for an existing npm package. If npm returns 404 for a brand-new package, publish it once with public access:
npm publish --workspace @narumitw/pi-new-extension --access public
After the initial publication, Changesets handles stable extensions, experimental extensions, and libraries through independent package versions.
A behavior-changing package pull request records its affected packages and SemVer bumps with:
npm run changeset
After changesets reach main, the release workflow creates or updates one version pull request. That
pull request changes only selected package versions, dependency ranges where configured, changelogs,
and the lockfile. Merging it publishes the new versions with npm provenance and creates
package-specific tags and GitHub releases such as @narumitw/pi-goal@0.50.0.
Repository-only documentation, tests, tooling, and path migrations may omit a changeset. Use