How and why I built openclawpm

February 20, 2026

projects ai product-management

I kept seeing impressive agent demos. Then I tried to build one I could actually use, with its own context and tools, and it fell apart when I switched machines.

The prompt was only part of what I needed to carry around. There were files, dependencies, credentials, and the environment that made the tools work. So I built openclawpm, a CLI for provisioning persistent remote environments for OpenClaw agents.

Somewhere for the agent to live

A specialized agent has a particular job. That could be preparing PM documents or running a content workflow. It needs context for that job and somewhere to keep the work between runs.

I also want separate environments for different projects or customers. Their files and configuration shouldn't get mixed together just because the same tool is running both jobs.

And scheduled work needs a machine that can run when my laptop is closed. Leaving the lid open isn't much of a deployment strategy.

Using Sprites

openclawpm uses Sprites from Fly.io as the remote environment. Sprites provide isolated Linux environments with persistent filesystems.

The CLI provisions a sprite, installs and configures the agent, seeds its context and tools, and gives it a place to run tasks. The files remain available for later runs.

The basic sequence is:

provision environment → configure agent → run tasks → keep state

The useful part is being able to return to the same environment. I don't have to recreate the agent's working setup every time I want it to do another task.

Where I'm taking it

This is part of what I'm building toward with PMPrompt. The prompt library was a place to start. Specialized agents need more around them: tools, context, files, and a way to run repeatedly.

The remote environment gives those workflows somewhere to run. I still have work to do on retries, predictable task handling, file attachments, and better provisioning templates.

I'd like a thin web UI eventually. For now, I'm working on the underlying setup and the CLI. The repo is public if you want to see how it's put together.