✕Cross Docs

Everyday work

Find your next task, record progress on it, and close it with evidence, using the pmo command line.

liveGuideLast verified 20 Oct 2026
View as Markdown

Every piece of work in PMO is a task (PMO's own word is "activity"), and most days you do the same five things with tasks: find yours, start one, write notes on it, mark it stuck if it is, and close it saying what proves it is finished. Your notes, status changes and evidence are what status reports and the client's view are built from, so a few words at the right moment save someone a meeting later. Everything you change is recorded under your name.

This page assumes this computer is already signed in.

Where a task sits

Every task has four levels above it. You work on the task; the others give it its context.

EngagementModuleFeatureTask
IsOne piece of client workA part of it, such as the data importSomething a person can use when it is finishedOne piece of work towards a feature
OwnsWho may see and change everything under itWhat the client report says about this partWhat "finished" means, and its stageStatus, owner, notes, evidence
Short name looks likeexample-clientexample-projectexample-project-f3example-project-12

Older tasks have short names like abc-176; they work everywhere the new ones do. In the examples below, example-project-12 stands for your own task's short name.

A task, from start to finish

See what is assigned to you

You get every open task assigned to you, across every engagement you can see, with its short name, status and title.

pmo list --mine

Or just ask what to do next

pmo next hands back the one task to work on now: open, and not waiting on anything unfinished. With --mine it is chosen from your own work only. Adding --claim makes it yours if nobody had it.

pmo next --mine --claim

Read it in full

pmo show prints everything about the task: its feature, the feature's definition of finished, its notes and who changed what. Read the definition of finished before you start; it is what "done" means.

pmo show example-project-12

Start it

This moves it to "in progress", so the board and everyone else can see it is under way.

pmo start example-project-12

Note what happens, and say when you are stuck

Add a note whenever something worth knowing happens: a decision, a finding, a link. If you cannot go on, mark it blocked with the reason; that is what tells your lead to act. Clear the block when it is resolved.

pmo note example-project-12 "Sample file loads; three columns need renaming"
pmo block example-project-12 --reason "Waiting on the client's sample export"
pmo unblock example-project-12

Close it, with the evidence

Say what proves it is finished: a link to the merged change, a test result, the name of the person who accepted it. If it was the last open task on its feature, the feature is finished too.

pmo done example-project-12 --evidence "Merged: https://github.com/example-org/example-repo/pull/88"

Give evidence even when you are not made to

A person can close a task with no evidence; only AI sessions are required to give it. Give it anyway: it is what lets the next reader believe "done" without asking you.

The commands

CommandWhat it does
pmo list --mineYour open tasks. Narrow with --eng, --module, --feature, --status and more; pmo help filters lists them all. A word after list finds any task mentioning it, for example pmo list import --eng example-client.
pmo next --mineThe one task to work on now, skipping any that wait on unfinished work. --eng example-client limits it to one engagement.
pmo next --claimAlso makes the task yours, if it is still free when the claim lands. Otherwise it tries the next one, up to three times.
pmo show <id>Everything about a task. --history adds every change, with who made it and when.
pmo start <id>Moves it to "in progress".
pmo note <id> "<one line>"Adds one line to the task's notes. Earlier notes are kept.
pmo block <id> --reason "<why>"Marks it blocked and records the reason in one change. pmo unblock <id> clears both.
pmo done <id> --evidence "<proof>"Closes it with the evidence.

--replace wipes the notes

pmo note with --replace replaces all of a task's notes with your one line. Leave it off unless that is what you mean.

--criteria-met on pmo done is required from an AI session closing a feature's last task: it confirms every point of the feature's definition of finished is true. A person is not asked for it.

A few more commands from the same family:

CommandWhat it does
pmo hold <id> --reason "<why>"Puts a task on hold. pmo resume <id> takes it off.
pmo ask <id> "<question>" --to <person>Asks a person a question on the task.

pmo --help lists every command, and pmo help <command> prints its exact form. Run it before guessing an option. --dry-run checks a change and saves nothing.

Ignore the help's write switch

pmo's help says changes need an identity and a write switch (PMO_WRITES=1). With an installed pmo, your sign-in or key is the identity and the switch is already on, so you can ignore those lines.

When something goes wrong

A refusal changes nothing and names what it wants. Read the message; it is written to be acted on.

What you seeWhyWhat to do
A refusal about the words in a title, with an exampleTask titles are read by people outside engineering, including clients, so PMO refuses file names, code names and internal numbers.Rewrite it as what a person gets when it is done. Put the technical part in a note.
not foundA mistyped short name, or a task on an engagement you have not been given.Check the name. If a colleague can see it, ask the PMO owner for access.
nothing matched that query, or nothing to do under that queryYour list or next matched nothing. These end with code 1.Not an error: there is nothing open for you there. Try again without the filters.
A refusal that names your roleThe change is one your role cannot make, for example a sign-off stage, which only a manager can.The message names who can; ask them.
conflict: … Nothing was written. Re-read and try againAnother person or session changed the same task a moment before you.Show the task again to see their change, then repeat yours if it still applies.
A refusal to create a task with no featureEvery task must belong to a feature.List the engagement's features and name one; the message gives the command.

Two people asking for the next task

pmo next --claim takes the task only if it is still free when the claim lands; if someone else got there first, it tries the next candidate. Without --claim, next only suggests, so two people asking at once can both be told the same task.

On this page