Documentation

Everything it does, and everything it does not.

Agentic PM reads meeting notes you already have and keeps every commitment as a history. These pages describe exactly how, including the parts that are inconvenient.

Live

Version 0.13.11, after 47 releases. Twenty three commands ship in the library today. Anything on the roadmap rather than in the build is marked roadmap.

Install

Agentic PM is a desktop app. There is no terminal step and no developer tooling to buy.

PlatformRequirementDownload
macOS14 Sonoma or later, Apple silicon or IntelAgenticPM.dmg
Windows11, x64 or ARMAgenticPM-setup.exe
LinuxRoadmap.AppImage

The fourteen day trial needs no account and no card. Sign in only when you choose a plan at the end.

Your first run

Point it at the meeting notes you already have. Nothing else is required.

  1. Open the app and create a workspace. Name it after the product or team, not yourself.
  2. Drag in a folder of exported meeting notes, or connect a note taker below.
  3. Wait for the ingest to finish. Fifteen meetings takes under a minute.
  4. Open Slipped. That is the screen that matters.

What good looks like

On a healthy team the first Slipped screen is short and slightly embarrassing. On an unhealthy one it is long and very embarrassing. Either result is worth the minute it cost you.

Connect a note taker

Agentic PM does not record or transcribe anything. It reads what your existing tool produces.

SourceHowStatus
Markdown or text folderDrag the folder in, or watch it for changesv1
FathomExport, or connect the accountv1
GranolaExport folder watchv1
Otter, Fireflies, CirclebackExport folder watchv1
Google Docs, NotionRead a folder or database of notesRoadmap
Jira, LinearCross-check commitments against ticketsRoadmap

How it works: five stages, and every one reports its own health

Most AI tools are a blank chat box. You paste a task, you carry the answer back by hand, and nothing about your product is remembered. Agentic PM is a pipeline instead: work enters on the left, passes through four stages, and comes out as an action that waits for you.

The part worth understanding is the last column of every node: a live health state. This is not a diagram of how it was designed. It is a map of what is running right now, and what is broken.

OK, ran and passed WARN, ran with something off FAIL, needs a human IDLE, not due yet GATED, waiting for your approval

Senses: what comes in without being asked

Chat mentions, mail, calendar, meeting recordings, tracker state. None of this is something you fetch. It arrives, and the arrival is what starts everything downstream.

Reflexes: the parts that need no model

Sweeps, extraction, watchdogs, pre-meeting cards. These run on a clock and are deliberately mechanical, because the boring, structured majority of the week should not cost a model call or wait for your attention.

Brain: where judgment actually happens

The morning brief, the evening recap, meeting minutes, the weekly report. Model sessions are reserved for work that genuinely needs reasoning, which is what keeps this affordable on your own subscription rather than requiring a seat you buy from us.

Memory: what it knows between runs

Commitments, what you are waiting on, decisions, people, portfolio, and the context file that grows every time you correct it. This is the layer that makes the app know your team after six weeks without a setup interview, and the layer nobody else gives you.

Hands: nothing moves without you

Posting, documents, calendar, tickets, direct messages. Every node here is permanently gated. Not "gated by default" as a setting you could switch off. The approval is structural, which is why the state is its own colour on the map.

Why health per node is the point

An agent that fails loudly is safe. An agent that fails quietly is dangerous, because you keep trusting output that stopped being produced. Every node reports OK, warning, failure, idle or gated, so a broken sweep looks broken instead of looking like a quiet week.

This is the same idea the commitment ledger applies to your team: absence is data. A sweep that stopped running and a week with nothing to report are not the same thing, and the map refuses to let them look alike.

Where the commitment ledger sits

It is a reflex, not a model session, which is why it can run three times a day for free. It reads from senses, writes into memory, and when it finds something that slipped it hands the result to the brain to explain and to the hands to chase, with your approval.

The ledger

Every other tool stores the latest status of an action item. Agentic PM stores its whole history. That single difference is what makes a quietly broken promise visible.

// one commitment, as stored
{
  id:            "cmt_8f21",
  canonical:     "Ship the launch page",
  kind:          "commitment",
  owner:         "ops assistant",
  counterparty:  "founder",
  touches:       ["date", "dependency"],
  due:           "2026-06-25",
  status:        "open",
  history: [
    { meeting: "wk-2026-06-22", owner: "content lead", due: "2026-06-25" },
    { meeting: "wk-2026-06-30", owner: "ops assistant", due: null }
  ],
  flags: ["owner-changed", "silent-slip"]
}

An owner recorded as null is treated as a defect, not an empty field. It shows up as unowned rather than sitting quietly in a table.

The context file

One plain markdown file per workspace describing your product, your people, your vocabulary and the decisions already made. Every agent and every skill reads it before it starts.

You never sit through a setup interview. The file is written and extended as a side effect of ingesting meetings, and you can edit it directly at any time. After roughly six weeks it knows your team better than a new hire does.

Why this matters more than the agents

A skill without context produces a generic template. The same skill with real context produces something you can send. This is the layer most tools charge for and hide.

The five things it watches for

NameFires when
silent-slipOpen in meeting N, due date passed, and completely unmentioned in N+1.
owner-changedSame commitment, different owner across meetings, with no explicit handover.
silent-dropPresent in N, absent from N+1 and N+2, never marked done or cancelled.
undecided-changeA date, scope or estimate changed between meetings with no decision record beside it.
load-riskToo much open work on one owner, or a keystone item with no second owner.

Thresholds are configurable. load-risk defaults to 50% of open commitments held by one person.

Scope, date, dependency, money

Every commitment is tagged with what it touches. Anything touching none of the four sinks to the bottom of the list.

This is the line between a PM tool and a generic to-do app. A to-do app does not care that a date moved without a decision. A product manager is judged on precisely that.

Agents

Agents run on their own and watch things over time. Every one of these is in the build you can install today, with one exception that is marked as such.

AgentRunsStatus
Commitment watchdogThe ledger and the check that runs against it. Reachable by hand as /follow-ups.On every ingest, and on a scheduleShipping
The context keeperEvery correction you make is written back. /remember and /organize-inbox.Continuously, as a side effectShipping
Meeting recorderRecords and transcribes locally. /sync-meetings pulls from a note taker instead.When a call startsShipping
Recap writer/daily-update for the day, /recap for recent sessions, /weekly-reflect for the week.Daily and weeklyShipping
Meeting brief/meeting-prep. Can be put on a routine so the card is waiting.Before each calendar eventShipping
Chaser/follow-ups writes the nudge, /whatsapp-draft writes the message. Neither sends.Daily, drafts onlyShipping
Inbox sweep/inbox-sweep. Ships as a routine you switch on, off by default.Every 20 minutes, if you enable itShipping
Fact gateThe shared document read before write rule shipped in 0.13.6. Blocking a number that has no source is not built yet.Before any document leavesPartial

The commands that ship with it

Skills are the things you invoke by name. Twenty three arrive in every new workspace, and any of them can be put on a schedule from the Routines tab without writing a config file.

Daily

  • /daily-updateYour day in one command: morning prep before noon, evening recap after
  • /recapPreviously on: what happened in your last few sessions

Weekly

  • /weekly-reflectReflect on the week: wins, open loops, themes

Meetings

  • /meeting-prepNotes and open items gathered into a one-page brief
  • /meeting-notesA transcript turned into clean minutes with owners
  • /sync-meetingsPull recent meetings out of whichever note taker you connected

Comms

  • /inbox-sweepSweep connected email and chat for things needing attention
  • /follow-upsFind open loops and promises, draft messages for your approval
  • /whatsapp-draftDraft a message for approval, never sends without it

Product

  • /ticketDraft an issue for your tracker from a spec or decision
  • /user-storyA feature turned into stories with acceptance criteria
  • /rcaIncident postmortem, held to one rule: no root cause means unfinished

Artifact

  • /artifactA self contained HTML explainer, report or proposal
  • /deckSlide deck as one HTML file, keyboard driven
  • /diagramA description turned into a Mermaid diagram that renders
  • /mockupClickable HTML mockup of a flow, built to be shown live

Notes

  • /capture-noteCapture a thought into a well filed note
  • /organize-inboxFile everything in the inbox to its proper home
  • /rememberTeach it something durable: a preference, a correction, a fact
  • /searchFind anything in your workspace

Tracking

  • /work-treeThe shape of your work, and what sits under each part

Session

  • /branchSplit a conversation into focused sub sessions

Setup

  • /connect-toolsSee what is connected, and get walked to the right card

You can add your own. A command is a markdown file in the workspace, so writing one is writing a document, and a command you delete stays deleted since 0.13.9.

Nothing sends without you

The chaser drafts. It never sends. Any agent action that would leave your machine and reach another human waits for an explicit approval, every time, with no global "always allow".

Skills

Twenty three on-demand skills across six groups, included on every paid plan. Skills read the same context file the agents do, so output is about your product rather than a template.

GroupSkills
DiscoveryInterview synthesis, JTBD extractor, feedback clusterer, opportunity map
StrategyBet sizing, tradeoff table, kill criteria, narrative memo
SpecsPRD draft, edge case sweep, acceptance criteria, spec versus reality diff
DeliveryRisk register, dependency map, launch checklist, release notes
CommunicationExec update, stakeholder recap, bad news memo, decision log
DataMetric tree, experiment read, funnel pull, cohort question

Custom skills are plain markdown files you drop into the workspace. Yours are never uploaded.

CLI companion

The app is the product. The CLI exists for people who want to script it, and it is optional.

$ apm ingest ~/meetings/*.md
  read 15 meetings · 128 commitments · 41 open

$ apm check
  owner-changed    launch page      content lead → ops assistant
  silent-drop   balance transfer  last seen 22 Jun · touches money
  load-risk     10 of 16 open items on one owner

$ apm owed --to-me
$ apm standup
$ apm history cmt_8f21

Export and portability

Everything exports to plain markdown and JSON, on every tier including free. There is no export paywall and no proprietary format.

If you cancel, the ledger stays on your machine and stays readable. Cancelling removes the agents, not your history.

Privacy and data

  • The ledger is local. It lives on your device, not on a server.
  • Transcripts are never uploaded. Not for indexing, not for training, not for support.
  • Commitment text is sent to a model. Matching the same promise across meetings needs language understanding, because the wording changes weekly. What is sent is the commitment line, not the meeting.
  • Nothing trains anything. Your content is not used to improve any model.
  • Team plans share context, not transcripts. The shared layer is the context file and the commitment ledger, both of which you can read and edit.

Say it plainly

If a fully offline mode matters to you, it is on the roadmap and it is not here yet. That is a real limitation, not a footnote.

Known limits

  1. It needs an API key or a paid plan for cross-meeting matching. There is no free lunch on the language model.
  2. No time-saving figure is claimed anywhere, because none has been measured. When one exists, taken on real work with a readable method, it will be published with the method.
  3. The evidence so far is one operator's own meetings. Fifteen meetings, one team. Enough to prove the failure is real, not enough to say how often it hits you.
  4. The watchdog does not chase anyone yet. v1 nags inside the app only.
  5. It is not a note taker and never will be. No recording, no bots in your calls.

FAQ

Will it work if my team writes notes by hand?

Yes, as long as the notes end up as text files somewhere. Quality of detection tracks quality of notes, so hand-written notes with clear owners work better than a transcript with none.

What if the same commitment is worded differently every week?

That is the normal case, and it is exactly why matching uses a language model rather than keywords. "Build the landing page" and "update the site for launch" resolve to one commitment with one history.

Can it be wrong?

Yes. A false flag is annoying but cheap, and every flag shows the exact lines from each meeting so you can dismiss it in a second. Dismissals feed back into matching.

Does it work for non-PM roles?

Probably, but it is not designed for them. The touches tags and the detectors are shaped around how product work fails, not how work in general fails.

Changelog

VersionDateWhat changed
0.13.11Sep 2026Current release
0.2.0Jul 2026First public build. 47 releases between the two
0.0.xAug 2026Spec written, detectors validated by hand against 15 real meetings