docs(pi): implement milestone M1 - research and shared docs
This commit is contained in:
@@ -0,0 +1,89 @@
|
|||||||
|
# PI RESEARCH
|
||||||
|
|
||||||
|
## Scope
|
||||||
|
|
||||||
|
This document records the pi-specific findings that drive the `pi` variants in this repo. It is intentionally source-backed so later skill work does not rely on memory or assumptions.
|
||||||
|
|
||||||
|
Checked on `2026-04-23`.
|
||||||
|
|
||||||
|
## Primary Sources
|
||||||
|
|
||||||
|
- [pi skills documentation](https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/docs/skills.md)
|
||||||
|
- [pi packages documentation](https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/docs/packages.md)
|
||||||
|
- [pi extensions documentation](https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/docs/extensions.md)
|
||||||
|
- [pi settings documentation](https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/docs/settings.md)
|
||||||
|
- [pi coding-agent README](https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/README.md)
|
||||||
|
|
||||||
|
## Findings
|
||||||
|
|
||||||
|
### Skill Discovery
|
||||||
|
|
||||||
|
Pi loads skills from multiple places:
|
||||||
|
|
||||||
|
- global skill roots: `~/.pi/agent/skills/` and `~/.agents/skills/`
|
||||||
|
- project skill roots: `.pi/skills/` and `.agents/skills/`
|
||||||
|
- package resources: `skills/` convention directories or `pi.skills` entries in `package.json`
|
||||||
|
- settings-provided skill paths
|
||||||
|
- explicit `--skill <path>` CLI arguments
|
||||||
|
|
||||||
|
Important discovery details from the skills docs:
|
||||||
|
|
||||||
|
- directories containing `SKILL.md` are discovered recursively
|
||||||
|
- top-level `.md` files are loaded as skills in pi-native roots like `.pi/skills/`
|
||||||
|
- per the upstream skills docs, top-level `.md` files are ignored in `.agents/skills/`
|
||||||
|
|
||||||
|
Implication for this repo: `skills/<skill>/pi/SKILL.md` fits pi's recursive discovery model cleanly, both for local copies and for package-based installs.
|
||||||
|
|
||||||
|
### Package Support
|
||||||
|
|
||||||
|
Pi packages are a first-class distribution path. The package docs say pi can load resources through conventional directories like `skills/`, or through explicit `pi` manifest entries in `package.json`.
|
||||||
|
|
||||||
|
Relevant package behaviors:
|
||||||
|
|
||||||
|
- `keywords: ["pi-package"]` makes packages show up in the gallery
|
||||||
|
- `pi.skills` can point at specific skill directories
|
||||||
|
- `files` allowlists should be used to keep tarballs tight
|
||||||
|
- installed pi packages can also ship `extensions/`, `prompts/`, and `themes/`
|
||||||
|
- when pi installs npm or git packages, it runs `npm install`
|
||||||
|
|
||||||
|
Implication for this repo: a single repo-level `package.json` is a viable v1 surface for shipping only the pi resources.
|
||||||
|
|
||||||
|
### Settings And Path Overrides
|
||||||
|
|
||||||
|
Pi settings support `packages`, `extensions`, `skills`, `prompts`, and `themes`. In both `~/.pi/agent/settings.json` and `.pi/settings.json`, the `skills` array can point to local files or directories, and the docs explicitly allow absolute paths and `~`.
|
||||||
|
|
||||||
|
Implication for this repo:
|
||||||
|
|
||||||
|
- pi can consume repo-local resources without publishing a package
|
||||||
|
- users can point pi at shared roots like `~/.agents/skills`
|
||||||
|
- workflow skills can document deterministic helper paths and fall back to settings-driven installs when needed
|
||||||
|
|
||||||
|
### Extensions
|
||||||
|
|
||||||
|
Pi extensions are TypeScript modules that can:
|
||||||
|
|
||||||
|
- register custom tools
|
||||||
|
- register commands
|
||||||
|
- intercept lifecycle events and tool calls
|
||||||
|
- add UI interactions and custom components
|
||||||
|
- persist session state
|
||||||
|
|
||||||
|
The coding-agent README explicitly lists advanced behaviors like sub-agents, plan mode, permission gates, MCP integration, and git checkpointing as extension-capable areas.
|
||||||
|
|
||||||
|
Implication for this repo: extensions are a real opportunity for workflow-heavy skills, but they are optional for the initial skill port. The base skill variants should remain usable without any extension dependency.
|
||||||
|
|
||||||
|
### Cross-Harness Compatibility
|
||||||
|
|
||||||
|
The pi skills docs explicitly call out `~/.agents/skills/` as a supported global skill root, and describe adding Codex or Claude skill directories through settings when needed.
|
||||||
|
|
||||||
|
Implication for this repo:
|
||||||
|
|
||||||
|
- existing Superpowers installs exposed through `~/.agents/skills/` can already be visible to pi
|
||||||
|
- pi-specific skill variants still need their own instructions because pi does not share Codex's `update_plan`, plan-mode, or worktree assumptions
|
||||||
|
|
||||||
|
## Decisions Derived From Research
|
||||||
|
|
||||||
|
- Use `skills/<skill>/pi/` for all five skill families.
|
||||||
|
- Publish shared pi guidance in repo docs instead of burying pi assumptions inside each skill.
|
||||||
|
- Use one repo-level pi package in v1.
|
||||||
|
- Assess extensions explicitly, but defer them unless they provide clear v1 value beyond documentation and helper scripts.
|
||||||
@@ -0,0 +1,84 @@
|
|||||||
|
# PI SUPERPOWERS
|
||||||
|
|
||||||
|
## Purpose
|
||||||
|
|
||||||
|
The pi workflow variants in this repo depend on two shared pieces of setup:
|
||||||
|
|
||||||
|
- Obra Superpowers skills
|
||||||
|
- reviewer-runtime helper scripts
|
||||||
|
|
||||||
|
This guide documents how to make both available to pi without inventing skill-specific setup instructions in three different workflow docs.
|
||||||
|
|
||||||
|
## Superpowers Setup
|
||||||
|
|
||||||
|
Pi can load skills from `~/.pi/agent/skills/`, `~/.agents/skills/`, `.pi/skills/`, `.agents/skills/`, package manifests, and settings-defined skill paths. Because of that, there are two supported ways to expose Obra Superpowers to pi.
|
||||||
|
|
||||||
|
### Option 1: Reuse `~/.agents/skills/`
|
||||||
|
|
||||||
|
If you already expose Superpowers through a shared root such as:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
~/.agents/skills/superpowers -> ~/.codex/superpowers/skills
|
||||||
|
```
|
||||||
|
|
||||||
|
pi can discover those skill directories directly. This is only an example path, not a requirement; any shared skill root that pi can read is fine. It is simply the easiest path when Codex and pi share the same machine.
|
||||||
|
|
||||||
|
### Option 2: Add An Explicit Pi Settings Entry
|
||||||
|
|
||||||
|
If you want pi to load a different path, add it in either `~/.pi/agent/settings.json` or `.pi/settings.json`:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"skills": [
|
||||||
|
"~/.agents/skills",
|
||||||
|
"/absolute/path/to/obra/superpowers/skills"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Use this when the shared `~/.agents/skills/` root is missing or when you want a pi-specific override.
|
||||||
|
|
||||||
|
## Reviewer Runtime Setup
|
||||||
|
|
||||||
|
The workflow-heavy pi variants expect the helper scripts from `skills/reviewer-runtime/pi/` to be installed in one of these locations:
|
||||||
|
|
||||||
|
1. `.pi/skills/reviewer-runtime/pi/`
|
||||||
|
2. `~/.pi/agent/skills/reviewer-runtime/pi/`
|
||||||
|
|
||||||
|
Supported helper files:
|
||||||
|
|
||||||
|
- `run-review.sh`
|
||||||
|
- `notify-telegram.sh`
|
||||||
|
|
||||||
|
Example global install:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mkdir -p ~/.pi/agent/skills/reviewer-runtime/pi
|
||||||
|
cp -R skills/reviewer-runtime/pi/* ~/.pi/agent/skills/reviewer-runtime/pi/
|
||||||
|
chmod +x ~/.pi/agent/skills/reviewer-runtime/pi/*.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
Example project-local install:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mkdir -p .pi/skills/reviewer-runtime/pi
|
||||||
|
cp -R skills/reviewer-runtime/pi/* .pi/skills/reviewer-runtime/pi/
|
||||||
|
chmod +x .pi/skills/reviewer-runtime/pi/*.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
## Telegram Notifications
|
||||||
|
|
||||||
|
If you want pi workflow skills to send completion messages, configure:
|
||||||
|
|
||||||
|
- `TELEGRAM_BOT_TOKEN`
|
||||||
|
- `TELEGRAM_CHAT_ID`
|
||||||
|
|
||||||
|
The shared notification behavior matches the existing repo guidance in [TELEGRAM-NOTIFICATIONS.md](./TELEGRAM-NOTIFICATIONS.md).
|
||||||
|
|
||||||
|
## What This Does Not Assume
|
||||||
|
|
||||||
|
- pi does not automatically provide Codex `update_plan` semantics
|
||||||
|
- pi does not automatically provide plan mode or worktree workflows
|
||||||
|
- pi does not require extensions for the base workflow skills in this repo
|
||||||
|
|
||||||
|
The pi variants must therefore spell out their workflow steps directly and only rely on dependencies documented here.
|
||||||
+82
@@ -0,0 +1,82 @@
|
|||||||
|
# PI
|
||||||
|
|
||||||
|
## Purpose
|
||||||
|
|
||||||
|
This repo now treats pi as a first-class target alongside Codex, Claude Code, Cursor, and OpenCode.
|
||||||
|
|
||||||
|
The pi support surface is built around the same family layout already used elsewhere in this repo:
|
||||||
|
|
||||||
|
- `skills/atlassian/pi/`
|
||||||
|
- `skills/create-plan/pi/`
|
||||||
|
- `skills/do-task/pi/`
|
||||||
|
- `skills/implement-plan/pi/`
|
||||||
|
- `skills/web-automation/pi/`
|
||||||
|
|
||||||
|
Shared pi guidance lives in:
|
||||||
|
|
||||||
|
- [PI-RESEARCH.md](./PI-RESEARCH.md)
|
||||||
|
- [PI-SUPERPOWERS.md](./PI-SUPERPOWERS.md)
|
||||||
|
|
||||||
|
## Support Strategy
|
||||||
|
|
||||||
|
### Variant Layout
|
||||||
|
|
||||||
|
Each skill family gets a dedicated `pi` variant instead of a pointer-only shim. That keeps pi-specific wording, installation paths, and workflow constraints reviewable in-repo.
|
||||||
|
|
||||||
|
### Shared Workflow Guidance
|
||||||
|
|
||||||
|
The workflow-heavy skills (`create-plan`, `do-task`, `implement-plan`) refer to [PI-SUPERPOWERS.md](./PI-SUPERPOWERS.md) for:
|
||||||
|
|
||||||
|
- exposing Obra Superpowers to pi
|
||||||
|
- installing the shared reviewer runtime for pi
|
||||||
|
- Telegram notification setup expectations
|
||||||
|
|
||||||
|
### Package Strategy
|
||||||
|
|
||||||
|
V1 uses one repo-level pi package rather than per-skill packages. The package surface is intentionally narrow:
|
||||||
|
|
||||||
|
- only pi skill variants
|
||||||
|
- shared pi docs
|
||||||
|
- pi reviewer-runtime helper sources
|
||||||
|
- a verification script
|
||||||
|
|
||||||
|
The package metadata and allowlist live at repo root so `pi install -l /absolute/path/to/ai-coding-skills` works without extra wrapping.
|
||||||
|
|
||||||
|
## Install Options
|
||||||
|
|
||||||
|
### Local Skill Copy
|
||||||
|
|
||||||
|
Copy a single variant into `~/.pi/agent/skills/<skill>/` or `.pi/skills/<skill>/` if you only want one skill.
|
||||||
|
|
||||||
|
### Shared Skill Roots
|
||||||
|
|
||||||
|
Pi can load from `~/.agents/skills/`, `.agents/skills/`, `.pi/skills/`, `~/.pi/agent/skills/`, package manifests, or settings-defined skill paths. That makes it possible to keep shared skill roots or repo-local installs.
|
||||||
|
|
||||||
|
### Package Install
|
||||||
|
|
||||||
|
The intended repo-level install flow is:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pi install -l /absolute/path/to/ai-coding-skills
|
||||||
|
pi list
|
||||||
|
```
|
||||||
|
|
||||||
|
Package details are finalized by the packaging milestone and verified by `scripts/verify-pi-resources.sh` once that script is added in M5.
|
||||||
|
|
||||||
|
## Extension Decision
|
||||||
|
|
||||||
|
Pi extensions are powerful enough to add todo tracking, review orchestration helpers, or sub-agent-like flows, but they are not required for v1.
|
||||||
|
|
||||||
|
Current v1 decision:
|
||||||
|
|
||||||
|
- ship usable pi skill variants without extensions
|
||||||
|
- document the extension opportunities explicitly
|
||||||
|
- only add an extension later if it removes meaningful friction that documentation and helper scripts cannot address cleanly
|
||||||
|
|
||||||
|
This section is intentionally provisional until M4, which records the final v1 extension assessment in this document.
|
||||||
|
|
||||||
|
## Scope Notes
|
||||||
|
|
||||||
|
- Pi variants are written for pi-native behavior, not as thin copies of Codex instructions.
|
||||||
|
- The workflow-heavy skills assume pi can load referenced skills, but they do not assume pi has built-in equivalents for Codex-specific concepts like `update_plan`.
|
||||||
|
- Shared helper scripts are documented with deterministic install paths so workflow instructions stay reproducible.
|
||||||
@@ -8,6 +8,9 @@ This directory contains user-facing docs for each skill.
|
|||||||
- [CREATE-PLAN.md](./CREATE-PLAN.md) — Includes requirements, install, verification, and execution workflow for create-plan.
|
- [CREATE-PLAN.md](./CREATE-PLAN.md) — Includes requirements, install, verification, and execution workflow for create-plan.
|
||||||
- [DO-TASK.md](./DO-TASK.md) — Single-prompt end-to-end execution with dual reviewer loops (plan + implementation), TDD-first, single task commit. Sibling of create-plan/implement-plan scoped to ad-hoc tasks.
|
- [DO-TASK.md](./DO-TASK.md) — Single-prompt end-to-end execution with dual reviewer loops (plan + implementation), TDD-first, single task commit. Sibling of create-plan/implement-plan scoped to ad-hoc tasks.
|
||||||
- [IMPLEMENT-PLAN.md](./IMPLEMENT-PLAN.md) — Includes requirements, install, verification, and milestone review workflow for implement-plan.
|
- [IMPLEMENT-PLAN.md](./IMPLEMENT-PLAN.md) — Includes requirements, install, verification, and milestone review workflow for implement-plan.
|
||||||
|
- [PI.md](./PI.md) — Pi support overview, variant strategy, package direction, and extension decision.
|
||||||
|
- [PI-RESEARCH.md](./PI-RESEARCH.md) — Source-backed pi findings that inform the repo's pi variants and packaging choices.
|
||||||
|
- [PI-SUPERPOWERS.md](./PI-SUPERPOWERS.md) — Shared Obra Superpowers and reviewer-runtime setup for pi workflow skills.
|
||||||
- [TELEGRAM-NOTIFICATIONS.md](./TELEGRAM-NOTIFICATIONS.md) — Shared Telegram notification setup used by reviewer-driven skills.
|
- [TELEGRAM-NOTIFICATIONS.md](./TELEGRAM-NOTIFICATIONS.md) — Shared Telegram notification setup used by reviewer-driven skills.
|
||||||
- [WEB-AUTOMATION.md](./WEB-AUTOMATION.md) — Includes requirements, install, dependency verification, and usage examples for web-automation.
|
- [WEB-AUTOMATION.md](./WEB-AUTOMATION.md) — Includes requirements, install, dependency verification, and usage examples for web-automation.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user