omp packages

@craftos/agent-app-pi0.1.0

Agent App Framework plugin for Pi (earendil-works/pi): the /agent-app launcher command, the six framework skills, and an extension that makes Pi reachable from `agent-app <dir> bridge`. Pi drives the agent-app and a2app CLIs with its own bash tool.

thamyikfoong Published 18 days ago MIT ~252 downloads/mo

Untested on omp

This is a pi package. No one has reported whether it works on omp yet. If you try it, add your result below.

Did it work for you?

Result

One report per person. A new report replaces your old one.

Reports 0

No reports yet.

Readme

Pi plugin

A Pi package that exposes the Agent App Framework as a command plus the six framework skills — no tool code — and one small extension that makes Pi reachable from agent-app <dir> bridge. This is the same declarative shape as the Claude Code plugin: the /agent-app launcher routes a request to the right skill, and the skills direct the agent to the agent-app (build/evolve) and a2app (operate) CLIs. Pi drives those CLIs with its built-in bash tool, so no per-tool binding is needed.

  • Command: prompts/agent-app.md — a Pi prompt template (description + argument-hint frontmatter, $ARGUMENTS body). Typing /agent-app <request> expands it into the routing prompt.
  • Skills: the six framework skills from ../../skills (creator, modify, importer, operator, walk-verify, connect), copied into ./skills by build. Pi discovers SKILL.md folders recursively; each is loadable with /skill:<name>.
  • Bridge route: extensions/a2app-bridge.ts — on load, registers Pi with agent-app <dir> bridge (the service that starts a harness when an app queues work) as a pi profile in $A2APP_HOME/harnesses.json: pi -p {prompt}, one run in the app's directory. The framework has no built-in Pi profile, so without it the bridge cannot see Pi. Written once; an existing pi entry (your own) is kept. It uses Node built-ins only, because Pi installs by copying files.
  • Manifest: package.json — a pi manifest (prompts + skills + extensions) with the pi-package keyword.

Install

Requires the CLIs agent-app and a2app on PATH (v0.1: pnpm -r build then npm link in framework/cli; once published, npm i -g agent-app).

Recommended — native Pi dirs (no package, always works):

# Skills → Pi's global skills dir (auto-discovered)
agent-app skills --install ~/.pi/agent/skills
# Command → Pi's global prompts dir
cp harness-plugins/pi/prompts/agent-app.md ~/.pi/agent/prompts/
# Bridge route → Pi's global extensions dir (auto-discovered)
cp harness-plugins/pi/extensions/a2app-bridge.ts ~/.pi/agent/extensions/

Then in Pi: /agent-app build a CRM (or /skill:creator). Use .pi/skills and .pi/prompts for a project-local, trusted-project install instead of the ~/.pi/agent/* global dirs.

As a versioned package (bundles command + skills as one unit):

pi install npm:@craftos/agent-app-pi     # from npm
pnpm --filter @craftos/agent-app-pi build && pi install ./harness-plugins/pi   # from a cloned repo (local path)

The manifest's skills points at ./skills, a copy of the single source of truth at the repo root (../../skills). build makes the copy and npm pack/npm publish remake it (prepack), because Pi resolves manifest paths inside the package and a published tarball holds nothing outside it. The copy is not tracked in git.

Configuration

  • AGENT_APP_CLI — the build/evolve binary (default agent-app).
  • A2APP_CLI — the operate binary (default a2app).

These are read by the CLIs the skills invoke. The only code is the extension, which Pi loads as TypeScript, so build only copies the skills; pnpm typecheck and pnpm test check the extension.