Versionv0.8
LicenseMIT / open source
RuntimeClaude Code
Modelocal first

Product operations / agent system

Product teams, run as a system.

paalto turns a Loom, customer call, or product brief into a PRD, tickets, design direction, draft PR plan, launch copy, and an audit trail. Markdown agents do the repeatable work. Humans keep the gates.

Humans own the edges.The system compounds the middle.PRs ship as drafts. Always.

01 / System boundary

No autonomous theater. A clear operating line.

paalto does not pretend the product function can be replaced end to end. It compresses the repeatable work between human decisions, while preserving accountability at the moments that matter.

First mile / operator

The bet

  • Define the customer
  • Choose the problem
  • Name the metric
  • Decide what not to build

Middle / paalto

The work

  • Synthesize signal
  • Draft PRDs and specs
  • Create tickets
  • Open draft PRs
  • Log every action

Last mile / operator

The close

  • Pick the design
  • Approve the merge
  • Send the launch message
  • Talk to customers

02 / Role agents

A product team expressed as files.

Agents, skills, and workflows are plain markdown. You can inspect the instructions, change the rules, remove what you do not need, and add the skills your company runs on.

Discover / definePM Design / specifyDesigner Build / operateEngineer
01Interview synthesis
01Wireframes
01Repo scout
02Market radar
02UX and content design
02Tech specs and ADRs
03PRD drafting
03Figma handoff
03Migrations and PRs
04Roadmaps and OKRs
04Design critique
04Tests and review
05Experiments and readouts
05A11y and QA
05Security and performance
06Launch, decisions, pricing
06Design ops
06PRR, runbooks, incidents

03 / Properties

Designed to be inspected.

The system should feel more like infrastructure than software theater. Every important behavior is named, logged, and constrained.

01

Local first

Runs on your machine with your keys. There is no paalto backend.

02

Plain files

Agents and skills are markdown. Workflows are readable. Runs are folders.

03

Scoped access

GitHub, Linear, Notion, Slack, Figma, Posthog, and Jira use least-privilege setup.

04

Audited output

Every step appends to events.jsonl. Drafts are saved before anything external is touched.

05

Human gates

Vision, prioritization, taste, merge approval, and launch comms never auto-advance.

06

Drafts only

Code arrives as draft PRs. Launch copy arrives as a draft. The operator closes the loop.

04 / Install

Try it before setup. Clone only when it clicks.

A PM should understand the workflow in the browser first. Then a technical teammate can clone the repo, run a no-key demo, inspect the audit trail, and decide whether to connect real tools.

No setup

See the workflow.

Open paalto.dev/demo.html
Click Run demo
Review PRD, tickets, launch note

Open source

Run it yourself.

git clone https://github.com/Niki92i/paalto.git
cd paalto
npm run setup:local
npm run doctor
npm run demo

Implementation

Wire it into your stack.

  • Connect GitHub, Linear, Notion, Slack.
  • Add Figma, Posthog, Jira, Intercom, Zendesk as needed.
  • Load your design system and product voice.
  • Run the first workflow with your team.

Gate 01

Vision

Is this the right thing to build?

Gate 02

Prioritization

Is this the right thing to build now?

Gate 03

Design taste

Which option wins?

Gate 04/05

Merge and launch

Humans approve the PR and send the message.

05 / Questions

Operational answers.

Where does the data live?
On your machine and in the tools you connect. Runs are local folders. There is no paalto hosted backend.
Does it merge code?
No. Engineer opens draft PRs only. Merge approval is a named human gate.
What is actually open source?
The agents, skills, workflows, docs, examples, validators, and static site. MIT licensed.
Can teams add their own process?
Yes. Add a markdown skill, list it in the role agent, and run the validator.

06 / Start

A product operating system you can inspect.

No black box. No automatic launch. No green button pretending strategy has been solved.