@pi-stef/superpowers-adapter
Bridges the superpowers skill system to pi's extension API with TodoWrite, Task, and Skill tools.
Package details
Install @pi-stef/superpowers-adapter from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@pi-stef/superpowers-adapter- Package
@pi-stef/superpowers-adapter- Version
0.3.1- Published
- Jun 12, 2026
- Downloads
- not available
- Author
- sfiorini
- License
- MIT
- Types
- extension
- Size
- 18.7 KB
- Dependencies
- 7 dependencies · 4 peers
Pi manifest JSON
{
"extensions": [
"./src/index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
@pi-stef/superpowers-adapter
A pi extension that bridges the superpowers skill system to pi's extension API.
Why This Extension Exists
Pi ships with 4 built-in tools: read, bash, edit, write. The superpowers skill system expects additional tools that pi doesn't provide natively:
| Tool | Pi Built-in | Superpowers Needs | Provided By |
|---|---|---|---|
| TodoWrite | No | Yes | This extension |
| Skill | No | Yes | This extension |
| Agent | No | Yes | @tintinweb/pi-subagents |
The superpowers using-superpowers skill explicitly requires:
- "Use the
Skilltool" to load skill instructions - "Never use the Read tool on skill files" — the Skill tool must be used instead
While pi natively supports skill discovery (listing them in the system prompt), superpowers workflows depend on calling the Skill tool directly.
Installation
# 1. Install superpowers (official skill pack)
pi install https://github.com/obra/superpowers
# 2. Install this extension
pi install git:github.com/sfiorini/pi-stef#packages/superpowers-adapter
Tools
TodoWrite
Track implementation tasks with status progression.
Parameters:
todos(array, required) — Array of todo items, each with:id(string) — Unique identifiercontent(string) — Task descriptionstatus(string) — One of:pending,in_progress,completedpriority(string, optional) — One of:high,medium,low
Example:
TodoWrite({
todos: [
{ id: "1", content: "Design API", status: "completed" },
{ id: "2", content: "Implement", status: "in_progress", priority: "high" },
{ id: "3", content: "Write tests", status: "pending" }
]
})
Skill
Load skill instructions by name. Discovers skills from standard pi skill directories.
Parameters:
skill(string, required) — Skill name (e.g.,brainstorming,test-driven-development)
Discovery paths (searched in order):
<cwd>/.pi/skills/<cwd>/.agents/skills/~/.pi/agent/skills/~/.agents/skills/- Recursively under
~/.pi/agent/git/(depth 10)
Limitation: The YAML frontmatter parser handles simple key: value pairs only. Nested values, multi-line values, and quoted strings with complex escaping are not supported.
Commands
| Command | Description |
|---|---|
/todos |
Display current todo list with progress |
/todo-clear |
Reset all todos |
Architecture
src/
types.ts — Shared type definitions
tools/
todo-write.ts — TodoWrite tool + state management
skill.ts — Skill discovery, parsing, loading
commands.ts — /todos and /todo-clear
index.ts — Extension entry point + lifecycle hooks
The extension auto-injects the using-superpowers skill content into the system prompt via the before_agent_start lifecycle hook. This ensures the LLM receives superpowers instructions without manual configuration.
Troubleshooting
"using-superpowers skill not found"
→ Install superpowers: pi install https://github.com/obra/superpowers
Skills not discovered
→ Check that skill directories contain SKILL.md files with valid YAML frontmatter.
Security
This extension has read-only filesystem access. It reads SKILL.md files from standard pi directories. No network calls, no process execution, no file writes.
License
MIT