152 lines
5.2 KiB
Markdown
152 lines
5.2 KiB
Markdown
# Plan: Restructure pi-skill as a Self-Contained Pi Package
|
|
|
|
## Context
|
|
|
|
The pi-skill project currently has a messy structure with three separate skill sources:
|
|
|
|
| Source | Location |
|
|
|--------|----------|
|
|
| agent-pi skills (20+) | `.repos/agent-pi/skills/` |
|
|
| Open Design skills (80+) | `.repos/open-design/skills/` |
|
|
| pi-skill custom skills (emdash, etc.) | `skills/` |
|
|
| Copied during install | `~/.pi/agent/skills/` |
|
|
|
|
The `install.sh` tries to copy skills between these directories, which is fragile and confusing. Pi already has two ways to discover skills — auto-discovering `~/.pi/agent/skills/` AND loading from package manifests — but the current setup fights both mechanisms.
|
|
|
|
**Goal:** Make pi-skill a single, self-contained Pi package. All skills in one place. Install via `pi install .` — no install script needed.
|
|
|
|
---
|
|
|
|
## Phase 1: Centralize All Resources into pi-skill
|
|
|
|
**Why:** pi-skill already has copies of agent-pi's 43 extensions and most of its skills. We need the remaining agent-pi resources (themes, agents, commands, prompts) to make pi-skill a complete stand-in for agent-pi.
|
|
|
|
**Copy** → agent-pi resources that pi-skill is missing:
|
|
|
|
- `cp -r .repos/agent-pi/themes/ themes/` (11 themes)
|
|
- `cp -r .repos/agent-pi/agents/ agents/` (agent definitions YAML)
|
|
- `cp -r .repos/agent-pi/commands/ commands/` (slash commands)
|
|
- `cp -r .repos/agent-pi/prompts/ prompts/` (prompt templates)
|
|
- `cp -r .repos/agent-pi/tex/ tex/` (Text Tools app)
|
|
- `cp .repos/agent-pi/agent-logo.png agent-logo.png`
|
|
|
|
**Update** → `package.json` to declare ALL resources:
|
|
|
|
```json
|
|
{
|
|
"name": "pi-skill",
|
|
"private": true,
|
|
"version": "2.0.0",
|
|
"description": "pi-skill — 50+ skills, 43 extensions, 11 themes for Pi",
|
|
"keywords": ["pi-package"],
|
|
"pi": {
|
|
"extensions": ["./extensions"],
|
|
"skills": ["./skills"],
|
|
"themes": ["./themes"],
|
|
"agents": ["./agents"],
|
|
"commands": ["./commands"],
|
|
"prompts": ["./prompts"]
|
|
}
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## Phase 2: Resolve Skill Conflicts and Clean Up
|
|
|
|
**Why:** Some skills may now exist in both pi-skill's `skills/` and pi-agent's old skills. We need to deduplicate.
|
|
|
|
**Check for name collisions** between pi-skill `skills/` and agent-pi `skills/`:
|
|
|
|
| pi-skill has | agent-pi has | Conflict? |
|
|
|---|---|---|
|
|
| agent-browser | agent-browser | YES — pi-skill has emdash version, agent-pi has original |
|
|
| building-emdash-site | — | No (pi-skill custom) |
|
|
| creating-plugins | — | No (pi-skill custom) |
|
|
| emdash-cli | — | No (pi-skill custom) |
|
|
| ... | autoresearch, just-bash, nano-banana, etc. | pi-skill may be missing some agent-pi skills |
|
|
|
|
**Action:** Copy any agent-pi skills missing from pi-skill's `skills/` into it. Keep pi-skill's versions where conflicts exist (they're more specific/detailed).
|
|
|
|
---
|
|
|
|
## Phase 3: Register pi-skill as the Primary Package
|
|
|
|
**Why:** Pi currently loads `git:github.com/ruizrica/agent-pi` as a package. We need to replace it with pi-skill.
|
|
|
|
**Update** `~/.pi/agent/settings.json`:
|
|
|
|
```json
|
|
{
|
|
"packages": [
|
|
"/Users/kunthawatgreethong/gitea/pi-skill",
|
|
"npm:@plannotator/pi-extension"
|
|
]
|
|
}
|
|
```
|
|
|
|
Then verify: `pi install /Users/kunthawatgreethong/gitea/pi-skill`
|
|
|
|
---
|
|
|
|
## Phase 4: Simplify install.sh → bootstrap.sh
|
|
|
|
**Why:** The current install.sh is complex and user wants it gone. Replace it with a minimal bootstrap script.
|
|
|
|
New minimal `bootstrap.sh`:
|
|
```bash
|
|
#!/bin/bash
|
|
# bootstrap.sh — One-time setup for pi-skill
|
|
# After this, just use: pi install <path-to-pi-skill>
|
|
|
|
set -e
|
|
SOURCE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
|
|
echo "Registering pi-skill with Pi..."
|
|
pi install "$SOURCE_DIR"
|
|
|
|
echo ""
|
|
echo "Done! Restart Pi agent to load all 50+ skills, 43 extensions, and 11 themes."
|
|
```
|
|
|
|
---
|
|
|
|
## Phase 5: Test & Verify
|
|
|
|
1. Run `pi install /Users/kunthawatgreethong/gitea/pi-skill`
|
|
2. Restart Pi
|
|
3. Verify emdash skills appear in AI's available skills
|
|
4. Verify extensions still work (modes, commands, themes)
|
|
5. Clean up old agent-pi package from settings if still listed
|
|
|
|
---
|
|
|
|
## Critical Files
|
|
|
|
| File | Action |
|
|
|------|--------|
|
|
| `package.json` | Modify — add themes, agents, commands, prompts |
|
|
| `themes/` | New — copy from `.repos/agent-pi/themes/` |
|
|
| `agents/` | New — copy from `.repos/agent-pi/agents/` |
|
|
| `commands/` | New — copy from `.repos/agent-pi/commands/` |
|
|
| `prompts/` | New — copy from `.repos/agent-pi/prompts/` |
|
|
| `tex/` | New — copy from `.repos/agent-pi/tex/` |
|
|
| `agent-logo.png` | New — copy from `.repos/agent-pi/` |
|
|
| `install.sh` | Replace with minimal `bootstrap.sh` |
|
|
| `~/.pi/agent/settings.json` | Update — replace agent-pi package with pi-skill |
|
|
| `~/.pi/agent/skills/` | Clean up redundant copies |
|
|
|
|
## Reusable Components (no changes needed)
|
|
|
|
- **`extensions/`** — already identical to agent-pi's 43 extensions, ready to use
|
|
- **`skills/`** — already has 51 skills including emdash ones, just need to fill missing agent-pi skills
|
|
- **`.repos/`** — keep as reference sources for future syncs
|
|
|
|
## Verification
|
|
|
|
1. `pi list` — should show pi-skill with 50+ skills, 43 extensions, 11 themes
|
|
2. Restart Pi — all modes, commands, themes should work
|
|
3. Ask about "emdash" — AI should find the building-emdash-site, creating-plugins, etc. skills
|
|
4. `/mode` — should cycle modes normally
|
|
5. No more errors about missing extensions or skills
|