Featured project

The AI PM OS

An operating system for product work, built around a Chief of Staff agent, durable workstream context, resumable cmux sessions, and a start-of-day flow that decides what deserves attention before the day gets noisy.

View repo โ†— Read the origin story See how it works
Planner
Chief of Staff agent
Continuity
File-based CONTEXT.md
Surface
Parallel cmux workspaces
Public model
today-plan.json โ†’ state

What it is

Not a chatbot, not a pile of prompts. More like a lightweight operating model for AI-assisted PM work.

A morning planner, not just a responder

The first workspace is a Chief of Staff agent that reviews notes, routines, and open workstreams, then writes a launch plan for the day. It decides what should be open before execution begins.

Durable context per thread

Each workstream lives in its own folder with a living CONTEXT.md. The important state is stored on disk, so an interrupted session can resume cleanly without depending on chat history.

Parallel sessions with clear roles

Once the plan exists, the launcher opens the right cmux workspaces in parallel. Planning, project execution, meeting prep, and routine loops can stay separate instead of collapsing into one thread.

A public starter repo, not a black box

The open-source version is sanitized, tool-agnostic, and intentionally lighter than the internal system. It keeps the useful shape while stripping away private integrations and extra machinery.


Install it in 5 steps

Install the two tools first. After that, you can ask Amp to do the repo setup, create your first workstream, and launch start-day for you.

1

Install cmux

Install cmux, open it once, then turn on Automation access so the launcher can create and control workspaces.

  • Open Settings โ†’ Automation
  • Set Socket Control Mode to Full open access
2

Install Amp

Install Amp CLI and make sure the amp command works in your shell. The AI PM OS uses Amp to run the Chief of Staff and each workspace session.

3

Ask Amp to set up the repo

Open Amp in the folder where you want the repo to live, then use one prompt to clone the project and install the lightweight local dependencies.

Typed into Amp
Clone https://github.com/abhiroopb/ai-pm-os into this directory.
Install any missing local dependencies: jq and pyyaml.
When that's done, tell me the repo is ready.
4

Ask Amp to create your first workstream

Start with one project. The point is to get a single durable thread running before you add more routines or automation.

Typed into Amp
Create workstreams/my-first-workstream from the templates.
Copy the starter CONTEXT.md and config.yaml into that folder.
Leave them ready for me to edit.
5

Ask Amp to launch the AI PM OS

Once Amp is inside the repo, have it do one dry run first. Then launch it for real. The planner will open, write the day plan, and spin up the recommended workspaces.

Typed into Amp
Run start-day --dry-run.
If the dry run looks good, run start-day.
Then tell me what opened and what needs attention first.
+

Then stop there

You do not need calendar daemons, Slack automation, or a perfect setup on day one. Get one workstream running first, then tune the Chief of Staff prompt and add more routines later.

The public version is intentionally simple. Start with the local file workflow, then add more automation only after the core loop feels useful.


How a day runs

The whole system starts from one command, then fans out into a planner, a ranked queue, and live workspaces.

Workflow view

From one command to a full operating surface

The launcher is just the beginning. The important part is how planning, ranking, and execution stay separated while sharing the same file-backed context.

Start the day

step 01

start-day validates the environment and boots or reuses the CMUX workspace.

cmux Amp CLI

Plan in command-center

step 02

The Chief of Staff workspace reads notes, routines, and workstreams, then decides what deserves focus now.

chief-of-staff notes/

Write the plan

step 03

The planner emits today-plan.json, then the public repo derives queue.json and now.json for a quick current-state view.

today-plan.json system/state/

Open focused sessions

step 04

Workstreams like meeting prep, comms triage, or a product thread open in parallel instead of piling into one chat.

parallel tabs routines

Resume from files

step 05

Each session reads and refreshes its own CONTEXT.md, so the thread survives crashes, interruptions, and long gaps.

CONTEXT.md durable state
CMUX mockup

What it looks like when it is running

An illustrative layout of the AI PM OS in CMUX: a left rail of active workstreams, a command-center surface, and a ranked queue of what should happen next.

cmux โ€ข ai-pm-os Sun 09:14
workspace: command-center source: today-plan.json โ†’ state
Live terminal
$ start-day
validating prerequisites...
cmux ready โ€ข amp ready โ€ข chief-of-staff prompt sent

Chief of Staff: Reviewing 5 workstreams and 3 routines
Chief of Staff: Writing system/today-plan.json
State: Derived queue.json and now.json

Launching: checkout-ux
Launching: comms-triage
Launching: meetings

Resume: Read workstreams/checkout-ux/CONTEXT.md
Ready for focused work
Current state
Now
checkout-ux

Refine the next UX decision and prep the prompt for the design review thread.

priority: high driver: agent
Queue
meetings โ†’ comms-triage โ†’ product-strategy

Three follow-on threads are queued, each with its own startup prompt and durable context file.

Continuity
File-backed resume

Every workspace can crash and reopen without losing the narrative state because the thread lives in files, not terminal history.

start-day
  -> boots or reuses cmux
  -> opens Chief of Staff workspace
  -> Chief of Staff writes system/today-plan.json
  -> build-state-from-plan.py derives queue.json + now.json
  -> launcher opens recommended workstreams
  -> each workstream resumes from its own CONTEXT.md

Read the full series

If you want the philosophy, mechanics, and product framing, start here.

Open the repo โ†— Browse all thoughts โ†’