by code-yeongyu
pi had nothing (nothing), so I made something (something) — sorry mariozechner-senpai, I went ahead and lovingly soiled your pure pi for you. opinionated fork of badlogic/pi-mono with extension-first additions. ganbare ganbare senpi 頑張れ頑張れ先輩
# Add to your Claude Code skills
git clone https://github.com/code-yeongyu/senpiLast scanned: 5/30/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-30T15:33:35.467Z",
"npmAuditRan": true,
"pipAuditRan": true
}See how senpi compares with popular alternatives.
senpi is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by code-yeongyu. pi had nothing (nothing), so I made something (something) — sorry mariozechner-senpai, I went ahead and lovingly soiled your pure pi for you. opinionated fork of badlogic/pi-mono with extension-first additions. ganbare ganbare senpi 頑張れ頑張れ先輩. It has 444 GitHub stars.
Yes. senpi 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/code-yeongyu/senpi" and add it to your Claude Code skills directory (see the Installation section above).
senpi is primarily written in TypeScript. It is open-source under code-yeongyu 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 senpi 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.
⚠️ Experimental. senpi is an opinionated, in-flight fork of badlogic/pi-mono. It powers Dori under the hood and reflects what one specific AI assistant needs from a coding-agent runtime. Use it; don't bet a production pipeline on it.
senpi is a senpai-name pun and a more sane pi with extra batteries included — a TypeScript monorepo that rebrands pi-mono's coding agent as senpi and ships a curated set of builtin extensions and core tweaks on top of upstream.
Upstream: pi-mono by @mariozechner — tools for building AI agents and managing LLM deployments.
senpi was born from two influences:
Core source modifications are minimised and tracked in changes.md files alongside every modified subdirectory so upstream merge commits stay reviewable.
| Package | Description |
|---|---|
| @earendil-works/chord | Standalone application-composition runtime for services, replicated state, RPC, and plugins |
| @earendil-works/pi-telemetry | Vendor-neutral telemetry contracts, reference adapter, conformance tests, and typed schemas |
| @earendil-works/pi-ai | Unified multi-provider LLM API (OpenAI, Anthropic, Google, etc.) |
| @earendil-works/pi-agent-core | Agent runtime with tool calling and state management |
| @earendil-works/pi-coding-agent | Interactive coding agent CLI |
| @earendil-works/pi-tui | Terminal UI library with differential rendering |
If you're migrating from OMO (oh-my-openagent), here is the practical map from "what I used in OMO" to "what to install in senpi". A lot of OMO's signature work is already wired into senpi as a builtin (nothing to install); the rest lives in the code-yeongyu/pi-* GitHub repos and is one senpi install away.
senpi is intentionally lighter than OMO — single CLI binary, not an opencode plugin. Some OMO concepts (Discipline Agents, Team Mode, Skills, Hashline, Ralph Loop,
/init-deep) have no 1:1 senpi counterpart and are flagged at the bottom of this section. If you need those, keep using OMO.
| OMO feature | senpi builtin |
|---|---|
| 🚪 IntentGate | Dynamic system prompt — every prompt opens with a forced intent gate before tool use. |
| ✅ Todo Enforcer | todowrite + continuation loop that re-engages idle agents. |
| Per-model tuning ("Model Setup") | prompt-preset — GPT-5.x / Claude Opus 4.{5,6,7} / Kimi K2.6 presets. |
| Session recovery / context management | compaction — adaptive thresholds, restoration tracker, emergency compaction, tool-result truncation. |
| Apply-patch on GPT models | gpt-apply-patch — Codex-style freeform apply_patch with Lark grammar. |
| Native web search (Anthropic + OpenAI) | anthropic-web-search, openai-web-search builtins. |
| Bash timeout discipline | bash-timeout — default + max-timeout enforcement, policy in system prompt. |
| Compaction-safe tool pairing | tool-pair-guard — strips orphan tool_result blocks. |
| Permission system (opencode-style allow/deny) | permission-system — rules, JSONL storage, TUI prompts, parser-aware patterns. |
Senpi builtins, standalone pi-* extensions, and the
OMO Senpi plugin
overlap. Do not install every standalone package when the capability is already provided by Senpi or the plugin.
| Capability | Senpi without the OMO plugin | Senpi with the OMO plugin |
|---|---|---|
| LSP | Install pi-lsp-client. |
The plugin registers six LSP tools through its packaged daemon. Install pi-lsp-client only if you specifically need its /lsp inspector. |
| AST-grep | Install pi-ast-grep. |
The plugin ships an AST-grep skill, helper, and installer scripts. pi-ast-grep remains optional when you want the native ast_grep_search and ast_grep_replace tools. |
| Comment checking | Install pi-comment-checker. |
The plugin registers its own comment-checker component; do not install the standalone extension too. |
Rules and nested AGENTS.md |
Already provided by the rules and nested-agents-md builtins. |
Same; no standalone extension is required. |
| Web search and fetch | Already provided by the websearch and webfetch builtins. |
Same; no standalone extension is required. |
| Persistent goals | Already provided by the goal builtin. |
Same; no standalone extension is required. |
| Subagent profiles | pi-agent-system supports external launchers that set PI_AGENT_TYPE or SANEPI_AGENT_TYPE. |
The plugin owns task/member routing and tool filtering, so pi-agent-system is normally unnecessary. Keep it only when another launcher relies on its environment-variable contract. |
For standalone Senpi without the OMO plugin, install only the non-builtin capabilities you need:
senpi install git:github.com/code-yeongyu/pi-lsp-client # 🛠️ LSP: rename / goto / refs / diagnostics + /lsp inspector
senpi install git:github.com/code-yeongyu/pi-ast-grep # 🛠️ AST-Grep across 25 languages (auto-downloads sg)
senpi install git:github.com/code-yeongyu/pi-comment-checker # 💬 Comment Checker — the standalone pi port of OMO's hook
# Optional — only if you used the matching OMO surface:
senpi install git:github.com/code-yeongyu/pi-cua-integration # 🖥️ Computer-use bindings (desktop / browser)
senpi install git:github.com/code-yeongyu/pi-anthropic-computer-use # Claude-native computer use
senpi install git:github.com/code-yeongyu/pi-anthropic-code-execution # Claude-native code execution
senpi install git:github.com/code-yeongyu/pi-google-code-execution # Google-native code execution
senpi install git:github.com/code-yeongyu/pi-openai-code-interpreter # OpenAI Code Interpreter
senpi install git:github.com/code-yeongyu/pi-anthropic-text-editor # Claude-native text editor tool
senpi install git:github.com/code-yeongyu/pi-anthropic-tool-search # Claude-native tool search
senpi install git:github.com/code-yeongyu/pi-anthropic-web-fetch # Claude-native web fetch
senpi install git:github.com/code-yeongyu/pi-google-google-search # Google Search grounding
senpi install git:github.com/code-yeongyu/pi-google-url-context # Google URL grounding
senpi install git:github.com/code-yeongyu/pi-openai-api-parallel-tool-calls # OpenAI parallel_tool_calls payload support
See Senpi Packages for the full install / update / remove flow.
OMO runs with all tool permissions pre-approved. To replicate that behavior in senpi, add a wildcard allow rule to your global settings:
mkdir -p ~/.senpi/agent
cat > ~/.senpi/agent/settings.json << 'EOF'
{
"permission": {
"*": "allow"
}
}
EOF
This tells the permission system to auto-approve every tool call without prompting. The "*" key matches all permission names, and "allow" grants them unconditionally. You can also set this per-project by placing the same settings.json in `