Skip to main content

pi-command

Pi slash commands, prompt templates, workflow skills, or command placement. Not for skill authoring; use skills-engineer.

Source facts

Repository
ilude/dotfiles
Last source activity
September 6, 2026 at 04:25
Detected SKILL.md language
English
Stars
4
Forks
1

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
pi-command
description
Pi slash commands, prompt templates, workflow skills, or command placement. Not for skill authoring; use skills-engineer.
# Pi Command Authoring ## Boundary Use `pi-command` for command surface and placement decisions. Use `skills-engineer` for generic skill quality, frontmatter, or activation trigger editing. ## Placement Rules | Need | Preferred surface | | --- | --- | | Prompt-only slash command | `pi/prompts/<name>.md` (frontmatter, auto-discovered) | | Workflow command with TS logic or state | `pi/extensions/` registration + body in `pi/skills/workflow/<name>.md` (no frontmatter) | | Structured tool-backed command | `pi/extensions/` | | Shared Claude/OpenCode wrapper | `claude/commands/` only when cross-client support is requested | | OpenCode override | `opencode/commands/` | Keep command-specific model instructions in the owning prompt template, workflow skill, or extension. Do not place them in `pi/AGENTS.md`; reserve AGENTS for repository-wide rules that apply independently of the active command and tool set. Pi-first rule: when improving agent runtime features, implement in Pi unless the request is explicitly Claude/OpenCode-only. ## Practical Steps 1. Identify the owning runtime: Pi, shared wrapper, or client-specific. 2. Check for command name collisions and existing behavior. 3. Choose prompt template vs TypeScript extension based on whether tools/state are required. 4. Keep command docs and examples near the owning surface. 5. Validate with Pi-specific pnpm commands for TypeScript changes. ## State and Safety Stateful commands must be idempotent and use locked read-modify-write plus atomic writes for shared `.pi/*.json` files. Reset commands must target exact owned files, never broad globs. A command whose output is visible to the user must persist that output or a faithful summary in model context. UI-only notifications, widgets, and overlays are defects when they contain state the model cannot read back. ## Anti-Patterns - Modifying `claude/` as a proxy for Pi behavior. - Creating duplicate commands with unclear precedence. - Adding state without lock/atomic-write behavior.
View on GitHub