Back to skills
SkillHub ClubShip Full StackFull StackTesting

pi

Route tasks to Pi for comparison testing. Toggle Pi mode or run specific commands through Pi.

Packaged view

This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.

Stars
125
Hot score
95
Updated
March 20, 2026
Overall rating
C2.8
Composite score
2.8
Best-practice grade
B84.0

Install command

npx @skill-hub/cli install majiayu000-claude-skill-registry-pi

Repository

majiayu000/claude-skill-registry

Skill path: skills/data/pi

Route tasks to Pi for comparison testing. Toggle Pi mode or run specific commands through Pi.

Open repository

Best for

Primary workflow: Ship Full Stack.

Technical facets: Full Stack, Testing.

Target audience: everyone.

License: Unknown.

Original source

Catalog source: SkillHub Club.

Repository owner: majiayu000.

This is still a mirrored public skill entry. Review the repository before installing into production workflows.

What it helps with

  • Install pi into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
  • Review https://github.com/majiayu000/claude-skill-registry before adding pi to shared team environments
  • Use pi for development workflows

Works across

Claude CodeCodex CLIGemini CLIOpenCode

Favorites: 0.

Sub-skills: 0.

Aggregator: No.

Original source / Raw SKILL.md

---
name: pi
description: Route tasks to Pi for comparison testing. Toggle Pi mode or run specific commands through Pi.
beta_required: pi
---

# Pi Integration

Run tasks through Pi (Mario Zechner's self-extending coding agent) to compare with Claude Code.

## Usage

| Command | Effect |
|---------|--------|
| `/pi` | Open Pi in a new terminal (no preset task) |
| `/pi on` | Enable Pi mode - prefer Pi for building tasks |
| `/pi off` | Disable Pi mode - back to Claude Code |
| `/pi /daily-plan` | Run a specific skill through Pi with full context |
| `/pi "build me a tool that..."` | Run a custom task through Pi |

---

## How It Works

When you run `/pi <command>`:

1. **Skill Detection:** If the command is a skill (starts with `/`), read its SKILL.md
2. **Context Gathering:** Collect user profile, pillars, today's date, vault path
3. **Terminal Launch:** Open a new Terminal.app window with Pi
4. **Context Injection:** Pi receives the full skill instructions + context

This ensures a **fair comparison** - Pi gets the same instructions Claude Code would get.

---

## Implementation

### `/pi` (No Arguments)

Open Pi in a new terminal window in the vault directory.

**macOS (default):**
```bash
osascript -e 'tell application "Terminal"
    do script "cd \"'$VAULT_PATH'\" && pi"
    activate
end tell'
```

**If in tmux:**
```bash
tmux split-window -h "cd \"$VAULT_PATH\" && pi"
```

**Output to user:**
```
✓ Pi opened in new Terminal window

  You can now interact with Pi directly.
  When done, Cmd+Tab back here.
```

---

### `/pi on`

Enable Pi mode for the session.

**Steps:**

1. Read `System/user-profile.yaml`
2. Set or update `pi_mode: true` under a `beta` section:
   ```yaml
   beta:
     pi_mode: true
   ```
3. Confirm to user:
   ```
   ✓ Pi mode enabled

   Tasks will prefer Pi. To run something in Claude Code instead,
   just say "use Claude Code for this" or run `/pi off`.
   ```

**Behavior when Pi mode is on:**

When the user asks to build something (e.g., "build me a tool that tracks relationships"):
- Suggest running it through Pi: "Pi mode is on. I'll open Pi with this task."
- Automatically invoke `/pi "build me a tool that tracks relationships"`

---

### `/pi off`

Disable Pi mode.

**Steps:**

1. Read `System/user-profile.yaml`
2. Set `pi_mode: false` under `beta` section
3. Confirm:
   ```
   ✓ Pi mode disabled

   Back to Claude Code for all tasks.
   ```

---

### `/pi <skill>` (e.g., `/pi /daily-plan`)

Run a Dex skill through Pi with full context.

**Steps:**

1. **Parse the skill name:**
   - Extract skill name from command (e.g., `daily-plan` from `/daily-plan`)
   - Handle with or without leading `/`

2. **Locate skill file:**
   - Check `.claude/skills/<skill-name>/SKILL.md`
   - Also check `.claude/skills/<skill-name>-dave/SKILL.md` (user variants)
   - If not found, report error

3. **Read skill instructions:**
   - Read full SKILL.md content
   - This is what Claude Code would use

4. **Gather context:**
   ```
   VAULT_PATH: /path/to/vault
   DATE: 2026-02-03
   DAY: Monday
   USER_NAME: [from user-profile.yaml]
   PILLARS: [from pillars.yaml]
   ```

5. **Build Pi prompt:**
   Combine skill instructions + context into a single prompt:

   ```markdown
   # Task: [Skill Name]

   You are helping a user with their personal knowledge system (Dex).
   Execute the following skill instructions.

   ## Context

   - **Vault Path:** /Users/dave/Claudesidian
   - **Date:** Monday, February 3, 2026
   - **User:** Dave Killeen
   - **Pillars:** [list from pillars.yaml]

   ## Skill Instructions

   [Full SKILL.md content here]

   ---

   Execute this skill now. You have access to the vault at the path above.
   Read files as needed to gather context.
   ```

6. **Launch Pi with prompt:**

   Write prompt to a temp file, then launch Pi:

   ```bash
   # Write prompt to temp file (handles special characters)
   PROMPT_FILE=$(mktemp)
   cat > "$PROMPT_FILE" << 'PROMPT_EOF'
   [Full prompt content]
   PROMPT_EOF

   # Launch Pi in new Terminal
   osascript -e 'tell application "Terminal"
       do script "cd \"'$VAULT_PATH'\" && pi -p \"$(cat '$PROMPT_FILE')\" && rm '$PROMPT_FILE'"
       activate
   end tell'
   ```

7. **Confirm to user:**
   ```
   ✓ Pi launched with /daily-plan

   Pi has received the full skill instructions and context.
   A new Terminal window should now be active.

   When done, compare the results:
   - Pi's output: See Terminal window
   - Claude Code: Run /daily-plan here
   ```

---

### `/pi "custom task"` (Quoted String)

Run a custom task (not a skill) through Pi.

**Steps:**

1. Extract the task description from quotes
2. Gather basic context (vault path, date, user)
3. Build prompt:
   ```markdown
   # Task

   [User's task description]

   ## Context

   - **Vault Path:** /Users/dave/Claudesidian
   - **Date:** Monday, February 3, 2026

   Execute this task. You have access to the vault.
   ```

4. Launch Pi with prompt (same as above)

---

## Error Handling

### Pi Not Installed

If `pi` command not found:

```
❌ Pi is not installed

Install it with:
  npm install -g @mariozechner/pi-coding-agent

Then try again.
```

### Skill Not Found

If skill doesn't exist:

```
❌ Skill not found: /unknown-skill

Available skills:
  /daily-plan, /daily-review, /week-plan, ...

Or run a custom task:
  /pi "build me a tool that..."
```

### Beta Not Activated

If Pi beta not activated:

```
❌ Pi integration requires beta activation

Run: /beta-activate PILAUNCH2026
```

---

## Environment Detection

Detect the user's environment to choose the best terminal launch method:

```bash
# Check if in tmux
if [ -n "$TMUX" ]; then
    # Use tmux split
    tmux split-window -h "cd \"$VAULT_PATH\" && pi"
else
    # Check OS
    if [[ "$OSTYPE" == "darwin"* ]]; then
        # macOS - use Terminal.app or iTerm2
        if [ -d "/Applications/iTerm.app" ]; then
            osascript -e 'tell application "iTerm"
                create window with default profile
                tell current session of current window
                    write text "cd \"'$VAULT_PATH'\" && pi"
                end tell
            end tell'
        else
            osascript -e 'tell application "Terminal"
                do script "cd \"'$VAULT_PATH'\" && pi"
                activate
            end tell'
        fi
    else
        # Linux - try common terminals
        if command -v gnome-terminal &> /dev/null; then
            gnome-terminal -- bash -c "cd \"$VAULT_PATH\" && pi; exec bash"
        elif command -v xterm &> /dev/null; then
            xterm -e "cd \"$VAULT_PATH\" && pi" &
        else
            echo "Please open a terminal and run: cd \"$VAULT_PATH\" && pi"
        fi
    fi
fi
```

---

## Comparison Workflow

After running a task through Pi:

1. **Review Pi's output** in the Terminal window
2. **Run the same task** in Claude Code (e.g., `/daily-plan`)
3. **Compare:**
   - Quality of output
   - Time taken (subjective)
   - Ease of iteration
   - Integration with Dex

4. **Capture learnings** (optional):
   ```
   /pi capture
   ```
   Logs the comparison to `System/Pi_Comparisons/YYYY-MM-DD.md`

---

## Notes

- Pi runs as a **separate process** in its own terminal
- Pi has access to your vault files but **not** Dex MCP servers
- For MCP access, Pi uses the MCP bridge (if configured in `.pi/`)
- Results may differ because Pi's approach is more minimal

---

## Related

- `/pi-tools` - View synced Pi extensions
- `/beta-status` - Check Pi beta activation
- `System/Beta/pi/README.md` - Pi setup documentation
pi | SkillHub