# Tasks

> Find, start, note, block and close tasks (PMO calls them activities).

Source: https://docs.crossbot.io/pmo/cli/reference/tasks
Product: pmo · Kind: reference · Status: live · Last verified: 2026-10-21

{/* Generated by scripts/gen-pmo-cli-reference.mjs from `pmo help`. Do not edit by hand. */}
Find, start, note, block and close tasks (PMO calls them activities). On your own computer, `pmo help <command>` prints the same text, for example `pmo help next`.

## `pmo next`

Hand back the one activity to work on now.

```sh
pmo next [--eng <slug>] [--module <id>] [--track <t>] [--assignee <id>] [--status <s>] [--phase <p>] [--q <text>] [--mine] [--claim] [--take]
```

**Example**

```sh
pmo next --module retrieval-v1 --claim --as agent:rag
```

## `pmo list`

List activities matching a query.

```sh
pmo list [<word>] [--eng <slug>] [--module <id>] [--track <t>] [--assignee <id>] [--status <s>] [--phase <p>] [--kind <kind>|none] [--stage <stage>] [--q <text>] [--limit <n>] [--all]
```

**Example**

```sh
pmo list --client example --group-by module

`pmo help filters` prints these filters in full, and the bare-word search.
```

## `pmo show`

One activity in full, with its history.

```sh
pmo show <id> [--eng <slug>] [--history]
```

**Example**

```sh
pmo show ret-t01 --history
```

## `pmo asks`

The activities waiting on a person's answer.

```sh
pmo asks [--mine | --to <person>] [--eng <slug>]
```

**Example**

```sh
pmo asks --mine --as person:you
```

## `pmo set`

Write one field, or one of the atomic combinations.

```sh
pmo set <id> <field=value> [<field=value>…] [--if-match <digest>] [--note <text>]
```

**Example**

```sh
pmo set ret-t01 status=in_progress --as agent:rag
pmo set ret-t01 estimate_days=3 remaining_days=1.5 --as agent:rag   # working days; empty clears
pmo set ret-t01 estimate_low_h=160 estimate_mid_h=240 estimate_high_h=360 --as person:you   # all three, or none
pmo set ret-t01 estimate_low_h= estimate_mid_h= estimate_high_h= --as person:you            # clear the estimate
pmo set ret-t01 complexity=high --as person:you                                              # low | medium | high
pmo set ret-t01 wait_low_d=5 wait_mid_d=10 wait_high_d=20 --as agent:rag                        # waiting on the client: calendar days, all three or none; never hours
pmo set ret-t01 estimate_low_h= estimate_mid_h= estimate_high_h= wait_low_d=3 wait_mid_d=5 wait_high_d=10 --as person:you   # hours that were really a wait: one write, nothing converted
pmo set ret-t01 kind=code stage=implementation --as agent:rag                                   # code | design | qa | customer | release | decision
pmo set ret-t01 stage=code_review --as agent:rag                                                # a stage on its kind's road; closing a code task moves it to Merged
pmo set ret-t01 kind= stage= --as person:you                                                 # clear both
pmo set ret-t01 client_visible=false --as agent:rag                                             # Internal only: never on the client's report
pmo set ret-t01 after=ret-t02,ret-t03+3d --as agent:rag                                         # waits for ret-t02, and for ret-t03 then 3 calendar days
pmo set ret-t01 after= --as agent:rag                                                           # waits for nothing

A write: it needs an identity (--as, or PMO_ACTOR) and PMO_WRITES=1.
`pmo whoami --grants` prints what this actor may do above the activity.
```

## `pmo start`

Move an activity to in_progress.

```sh
pmo start <id> [--eng <slug>] [--take]
```

## `pmo done`

Close an activity, with the evidence that closes it.

```sh
pmo done <id> --evidence "<what proves it>" [--criteria-met]
```

**Example**

```sh
pmo done ret-t01 --evidence "paired McNemar, p=0.011" --criteria-met --as agent:rag
pmo done example-077 --evidence "repo=https://dev.azure.com/example/lakehouse/_git/adb-advancedanalytics commit=<its recorded last commit>" --as agent:delivery
# an activity with a repository link closes on its recorded last commit
pmo done ret-t01 --evidence "https://github.com/<org>/<repo>/pull/<n> commit=<40 hex head> evidence=<64 hex>" --as agent:rag
# an agent's pull-request close: green checks on that head, the PR naming the activity id and
# targeting the intake profile's base_branch (dev when the profile names none);
# evidence=<64 hex> is checked for its shape only — nothing reads its value

A write: it needs an identity (--as, or PMO_ACTOR) and PMO_WRITES=1.
`pmo whoami --grants` prints what this actor may do above the activity.
```

## `pmo block`

Mark an activity blocked, with the reason, as one write.

```sh
pmo block <id> --reason "<why>"
```

**Example**

```sh
pmo block ret-t01 --reason "waiting on the gold set" --as agent:rag

A write: it needs an identity (--as, or PMO_ACTOR) and PMO_WRITES=1.
`pmo whoami --grants` prints what this actor may do above the activity.
```

## `pmo unblock`

Clear a block and the reason, as one write.

```sh
pmo unblock <id> [--to open|in_progress]
```

**Example**

```sh
pmo unblock ret-t01 --to in_progress --as agent:rag

A write: it needs an identity (--as, or PMO_ACTOR) and PMO_WRITES=1.
`pmo whoami --grants` prints what this actor may do above the activity.
```

## `pmo hold`

Put an activity on hold, with the reason, as one write.

```sh
pmo hold <id> --reason "<why>"
```

**Example**

```sh
pmo hold ret-t01 --reason "parked until the Q4 budget lands" --as agent:rag

A write: it needs an identity (--as, or PMO_ACTOR) and PMO_WRITES=1.
`pmo whoami --grants` prints what this actor may do above the activity.
```

## `pmo resume`

Take an activity off hold and clear the reason, as one write.

```sh
pmo resume <id> [--to open|in_progress]
```

**Example**

```sh
pmo resume ret-t01 --to in_progress --as agent:rag

A write: it needs an identity (--as, or PMO_ACTOR) and PMO_WRITES=1.
`pmo whoami --grants` prints what this actor may do above the activity.
```

## `pmo ask`

Ask a person a question on an activity, and pause it until they answer.

```sh
pmo ask <id> "<question>" --to <person>
```

**Example**

```sh
pmo ask ret-t01 "Staging or prod for the dry run?" --to you --as agent:rag

A write: it needs an identity (--as, or PMO_ACTOR) and PMO_WRITES=1.
`pmo whoami --grants` prints what this actor may do above the activity.
```

## `pmo answer`

Answer the open ask on an activity and resume it.

```sh
pmo answer <id> "<answer>" --as person:<you>
```

**Example**

```sh
pmo answer ret-t01 "Staging — prod after the readout" --as person:you

A write: it needs an identity (--as, or PMO_ACTOR) and PMO_WRITES=1.
`pmo whoami --grants` prints what this actor may do above the activity.
```

## `pmo note`

Append a line to an activity's notes.

```sh
pmo note <id> "<text>" [--replace]
```

**Example**

```sh
pmo note ret-t01 "re-blessed at 0.757" --as agent:rag

A write: it needs an identity (--as, or PMO_ACTOR) and PMO_WRITES=1.
`pmo whoami --grants` prints what this actor may do above the activity.
```

## `pmo create`

Create an activity under a feature; PMO gives it the handle &lt;client&gt;-&lt;project&gt;-&lt;module&gt;-&lt;n&gt;.

```sh
pmo create --eng <slug> --feature <id> --text "<a plain-English title anyone can read>" [--module <id>] [--owner <id>] [--due <iso>] [--estimate <days>] [--remaining <days>]
```

**Example**

```sh
pmo create --eng accelerator --feature acc-feat-002 --text "Check search answers are as good as last week" --estimate 2 --as agent:rag
# every new activity belongs to a feature — --feature is required, and the module is the feature's
# unless --module names it; list them with `pmo feature list --eng accelerator --module <id>`
# an activity's feature can be changed (`pmo set <id> feature=<id>`), never cleared
# PMO gives it the module's next handle, <client>-<project>-<module>-<n> (cross-vault-retrieval-7);
# there is no --id, and a number is never given twice

A write: it needs an identity (--as, or PMO_ACTOR) and PMO_WRITES=1.
`pmo whoami --grants` prints what this actor may do above the activity.
```

## `pmo archive`

Archive an activity — the reversible delete, and the only one.

```sh
pmo archive <id> [--eng <slug>]
```

## `pmo unarchive`

Bring an archived activity back exactly as it was.

```sh
pmo unarchive <id> [--eng <slug>]
```

## `pmo plan`

Say whether a task was in the agreed plan or taken on later.

```sh
pmo plan <id> planned|later|unreviewed [--eng <slug>] [--note "<why>"]
```

**Example**

```sh
pmo plan acc-158 later --note "asked for in the review, not in the plan" --as agent:rag

A write: it needs an identity (--as, or PMO_ACTOR) and PMO_WRITES=1.
`pmo whoami --grants` prints what this actor may do above the activity.
```

## `pmo after add`

Add one activity this one waits on.

```sh
pmo after add <id> <waits-on-id>
```

## `pmo after remove`

Stop waiting on one activity.

```sh
pmo after remove <id> <waits-on-id>
```

## `pmo adr add`

Reference an ADR from an activity, a feature or a module.

```sh
pmo adr add <activity-id> <repo>:<NNNN> | pmo adr add --feature <id>|--module <id> <repo>:<NNNN> [--eng <slug>]
```

**Example**

```sh
pmo adr add ret-l02 vault:0171 --as agent:rag
pmo adr add --feature acc-feat-reranker-v2 vault:0171 --eng accelerator --as agent:rag
pmo adr add --module retrieval-v1 pmo:0005 --as agent:rag

A write: it needs an identity (--as, or PMO_ACTOR) and PMO_WRITES=1.
`pmo whoami --grants` prints what this actor may do above the activity.
```

## `pmo adr remove`

Stop referencing an ADR from an activity, a feature or a module.

```sh
pmo adr remove <activity-id> <repo>:<NNNN> | pmo adr remove --feature <id>|--module <id> <repo>:<NNNN> [--eng <slug>]
```

**Example**

```sh
pmo adr remove --module retrieval-v1 pmo:0005 --as agent:rag

A write: it needs an identity (--as, or PMO_ACTOR) and PMO_WRITES=1.
`pmo whoami --grants` prints what this actor may do above the activity.
```

## `pmo evidence add`

Attach what was actually done, with the hours if they were measured.

```sh
pmo evidence add <id> --session <sid> --summary "<what was done>" [--hours <n> --hours-basis vcu_tokens|vcu_engineering --hours-status verified|first_valuation] [--source view|session|person]
```

**Example**

```sh
pmo evidence add ret-t01 --session s-2026-09-10 --summary "ran E2" --as agent:rag

A write: it needs an identity (--as, or PMO_ACTOR) and PMO_WRITES=1.
`pmo whoami --grants` prints what this actor may do above the activity.
```

## `pmo evidence accept`

Accept one piece of evidence — never a status change.

```sh
pmo evidence accept <id> <n> --as person:<id>
```

**Example**

```sh
pmo evidence accept ret-t01 0 --as person:you

A write: it needs an identity (--as, or PMO_ACTOR) and PMO_WRITES=1.
`pmo whoami --grants` prints what this actor may do above the activity.
```

## `pmo move`

Move activities to another engagement — the id does not change.

```sh
pmo activity move <id|from..to> [<id>…] --eng <slug> --to <slug> --to-module <id> [--to-feature <id>] [--dry-run] --as person:<id>
```
