@carter-mcalister/pi-rlm

RLM-first named workflow extension for Pi Coding Agent

Package details

extensionskill

Install @carter-mcalister/pi-rlm from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:@carter-mcalister/pi-rlm
Package
@carter-mcalister/pi-rlm
Version
0.1.1
Published
Apr 19, 2026
Downloads
61/mo · 4/wk
Author
carter-mcalister
License
MIT
Types
extension, skill
Size
96.1 KB
Dependencies
2 dependencies · 4 peers
Pi manifest JSON
{
  "extensions": [
    "./src/index.ts"
  ],
  "skills": [
    "./skills"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

@carter-mcalister/pi-rlm

RLM-first extension for Pi Coding Agent.

This package now exposes two distinct surfaces:

  • rlm / /rlm — a true recursive language model surface with planner, worker, and synthesizer nodes
  • rlm_task / /rlm-task — named reusable RLM workflows backed by Ax agents

What it is for

Use rlm for open-ended tasks that may benefit from recursive decomposition:

  • repo architecture analysis
  • risk reviews
  • broad planning tasks
  • multi-part investigations
  • synthesis across several subproblems

Use rlm_task for repeatable rubric-driven workflows:

  • incident reviews
  • RFC / design review checks
  • long-document analysis
  • manager-ready summaries with evidence

Install

pi install npm:@carter-mcalister/pi-rlm

For local development in this monorepo:

pi install /absolute/path/to/pi-packages/packages/pi-rlm

Recursive Tool

The rlm tool and /rlm command support:

  • op: "start" — start a recursive run
  • op: "status" — inspect a run or recent runs
  • op: "wait" — wait for a run to finish
  • op: "cancel" — cancel a running job

Example:

rlm({
  task: "Analyze the reliability risks in this repo",
  mode: "auto",
  maxDepth: 2,
  maxNodes: 12,
  maxBranching: 3
})

Async example:

rlm({ task: "Review this architecture", async: true })
rlm({ op: "status" })
rlm({ op: "wait", id: "<run-id>" })

Command example:

/rlm "Analyze the reliability risks in this repo" --maxDepth 2
/rlm "Summarize this repo" --async
/rlm-list

Seeing What RLM Is Doing

Use /rlm-list to browse running and completed runs.

  • It opens a native Pi selection list.
  • Selecting a running run shows current status and recent activity.
  • Selecting a completed run shows the final result and artifacts.

Both sync run output and completed run summaries include a Recent Activity section so you can see the planner and child-node progress without opening the artifact files.

Artifacts are written under:

/tmp/pi-rlm-runs/<runId>/

Named Workflow Surface

Slash commands

/rlm-task list
/rlm-task show incident-review
/rlm-task run incident-review --file docs/incidents/checkout.md --audience "engineering managers"
/rlm-task doctor

Tool calls

rlm_task({ task: "incident-review", inputs: { file: "docs/incidents/checkout.md", audience: "engineering managers" } })

Built-in workflows

  • incident-review
  • rfc-quality-check

Project-local workflows

Add local workflow definitions under:

.pi/rlm/tasks/*.ts

Design approach

This package is RLM-first:

  • public surfaces talk about RLM workflows and recursive runs
  • bundled workflows center agent(...) and RLM runtime behavior
  • Ax is the implementation layer, not the package identity

The bundled workflows follow current Ax guidance:

  • use agent(...) rather than manual new AxAgent(...)
  • default to contextPolicy: { preset: 'checkpointed', budget: 'balanced' }
  • use AxJSRuntime() deliberately for long-context, stateful analysis
  • keep mode: 'simple' unless recursive delegated sub-agents are actually needed

Development

mise install
bun install
bun run --filter @carter-mcalister/pi-rlm check