@fernado03/pi-flow
OMP-native static workflows for deliberate engineering decisions.
Package details
Install @fernado03/pi-flow from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@fernado03/pi-flow- Package
@fernado03/pi-flow- Version
0.2.2- Published
- Jul 26, 2026
- Downloads
- 633/mo · 202/wk
- Author
- fernado03
- License
- MIT
- Types
- skill, prompt
- Size
- 279.8 KB
- Dependencies
- 0 dependencies · 0 peers
Pi manifest JSON
{
"skills": [
"./compat/pi/skills"
],
"prompts": [
"./compat/pi/prompts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
Pi Flow
Pi Flow is a dependency-free workflow package for Oh My Pi. It packages focused engineering disciplines, command wrappers, and one tiny toggle extension (/pi-flow on|off|status) that lets you opt in or out of Pi Flow workflow preference per session.
Canonical Package
This repository root (@fernado03/pi-flow) is the canonical OMP package. It is installed via OMP and discovered statically (skills, commands, rules) plus one small runtime extension for the session toggle. There is no install hook and no executable.
Original Pi compatibility export: A separate generated export of the original Pi (badlogic/pi-mono@9b3a205, 2026-07-22) lives in
compat/pi/. It installs viapi install npm:@fernado03/pi-flow,pi install <path>, orpi -e <path>(original Pi CLI), providespi.skillsadapters andpi.prompts/pi-*wrappers, and records compatibility against badlogic/pi-mono@9b3a205. It is not the canonical package. Seecompat/pi/README.mdfor boundaries, translation limits, and generator behavior.
Install (Canonical OMP Package)
Install the published package:
omp plugin install @fernado03/pi-flow
For local development, link the package directory:
omp plugin link <path>
For example: omp plugin link C:/Users/Fernado/Desktop/Projects/Code/pi-flow.
Then reload discovered plugins in the current OMP session:
/reload-plugins
Static OMP Discovery
OMP discovers this package directly from its conventional roots:
skills/<name>/SKILL.mdcontains one flat skill per directory.commands/*.mdprovides slash-command wrappers.rules/contains small always-loaded guidance.extensions/index.tsregisters/pi-flow on|off|status.
There is no install hook or executable. After installing or linking, update the package files and run /reload-plugins to refresh discovery.
Session Toggle
Pi Flow is a preference, not an override. The bundled extension registers one command:
/pi-flow on Prefer the smallest suitable Pi Flow workflow this session
/pi-flow off Return to normal OMP skill selection
/pi-flow status Show the current mode
While on, the extension appends a short per-turn preference (~60 tokens): choose at most one matching Pi Flow skill, skip ceremony for trivial requests, and verify observable behavior. OMP task subagents created from the session inherit the active preference while preserving their own system prompt; unrelated headless sessions do not. While off (the default), nothing is injected and Pi Flow stays purely on-demand. The state persists across session resume/branch. A status-line chip (Pi Flow: on|off) shows the current mode.
Commands
Use a wrapper in chat, for example /pi-research to investigate a decision, /pi-fix to diagnose and repair a defect, or /pi-code-review to review a focused change. The available wrappers are:
| Workflow | Wrappers |
|---|---|
| Investigate and decide | /pi-ask, /pi-research, /pi-wayfinder, /pi-explore, /pi-questionnaire, /pi-to-spec, /pi-to-tickets |
| Build and improve | /pi-feature, /pi-fix, /pi-implement, /pi-prototype, /pi-refactor, /pi-tdd, /pi-tweak |
| Review and verify | /pi-code-review, /pi-grill, /pi-batch-grill, /pi-grill-with-docs, /pi-verify, /pi-triage, /pi-diagnose |
| Maintain collaboration | /pi-commit, /pi-handoff, /pi-resolve-merge, /pi-scaffold-context, /pi-setup, /pi-update-docs |
| Practice and design | /pi-caveman, /pi-improve-architecture, /pi-teach, /pi-writing-great-skills |
Each wrapper routes to exactly one skill. Read a skill directly when you need its full procedure through skill://<skill-name>.
Token Strategy
The baseline prompt receives only the tiny rule content and visible skill metadata. Full skill bodies load on demand through skill:// references. User-invoked workflows set disable-model-invocation: true, keeping their metadata out of the baseline; reusable model-invoked disciplines remain visible. When /pi-flow on is active, one short preference block (~60 tokens) is appended per turn; when off, nothing is injected. This keeps ordinary turns small without discarding the detailed procedure when it is needed.
Package Checks
npm run check
npm run pack:check
check validates the static package shape, metadata budgets, command-to-skill references, and unsupported platform terminology. pack:check previews the npm tarball without publishing.
License
Original Pi Compatibility Export
This repository also publishes a compatibility export of the original Pi (badlogic/pi-mono@9b3a205, 2026-07-22) under compat/pi/. It is not the canonical OMP package.
- Canonical OMP package:
@fernado03/pi-flow(this repository root). Install withomp plugin install @fernado03/pi-flow. - Compatibility export:
compat/pi/— generated adapters/wrappers for original Pi. Install withpi install npm:@fernado03/pi-flow,pi install <path>, orpi -e <path>(original Pi CLI).
What the compat export provides
pi.skills/— Generated adapters that reference the canonical skill bodies from@fernado03/pi-flowby relative path. No skill bodies are duplicated.pi.prompts/—/pi-*slash-command wrappers that locate the installed package root and read the matching skill adapter, using original Pi's$ARGUMENTSconvention.- No runtime extension, no install hook, no executable — same static OMP package model as the canonical package.
What the compat export does NOT provide
- Not original Pi — Original Pi has no OMP plugin install/link, no rules system, no built-in task agents, and no
skill://loader. - No bundled subagents — Original Pi's optional subagent extension is not included. Subagent-style work runs directly/sequentially unless you install that extension separately.
- No duplication — Adapters reference canonical bodies; no sync drift.
Translation boundaries
| Original Pi concept | Compat export translation |
|---|---|
task / Task (subagent) |
Direct/sequential work; subagents require original Pi's optional subagent extension (not bundled) |
ask |
Conversational question |
lsp |
Language-aware navigation/compiler checks or targeted read/bash |
todo |
Markdown checklist |
glob / grep |
Targeted glob/grep/bash search |
browser |
Installed browser extension or manual scenario |
skill://<name> |
Load named installed skill (canonical body) |
$ARGUMENTS (prompt args) |
Preserved in pi.prompts wrappers |
Generator & check behavior (deterministic, checkable)
- Generator reads canonical
skills/<name>/SKILL.mdandcommands/*.md, emitspi.skills/<name>/SKILL.mdadapters andpi.prompts/pi-*.mdwrappers. - Check verifies every adapter's canonical-skill target exists, every wrapper's target skill exists, and manifest matches canonical skill/command set.
- Fails on drift (added/removed/renamed skills or commands without regeneration).
See compat/pi/README.md for full details and CHANGELOG.md for the compatibility record against badlogic/pi-mono@9b3a205.
MIT © Fernado