✕Cross Docs

Engagements and planning

The portfolio, engagements, phases, milestones and decisions.

liveReferenceLast verified 21 Oct 2026
View as Markdown

The portfolio, engagements, phases, milestones and decisions. On your own computer, pmo help <command> prints the same text, for example pmo help milestone show.

pmo milestone show

One milestone in full, with its features and activities done.

pmo milestone show <id> --eng <slug>

Example

pmo milestone show cp-ms-readout --eng cross-pmo

pmo phase create

Create a phase on an engagement.

pmo phase create --eng <slug> --name "<name>" --as person:<id>

pmo milestone create

Create a milestone on an engagement.

pmo milestone create --eng <slug> --name "<name>" --type <type> --date <iso> --as person:<id>

pmo milestone set

Replace the features a milestone lists.

pmo milestone set <id> features=<a,b> | name="<plain name>" --eng <slug> --as person:<id>

Example

pmo milestone set cp-ms-readout features=cp-feat-factory-parity,cp-feat-board \
  --eng cross-pmo --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 milestone feature add

List one more feature under a milestone.

pmo milestone feature add <id> <feature-id> --eng <slug> --as person:<id>

Example

pmo milestone feature add cp-ms-readout cp-feat-board --eng cross-pmo --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 milestone feature remove

Stop listing one feature under a milestone.

pmo milestone feature remove <id> <feature-id> --eng <slug> --as person:<id>

Example

pmo milestone feature remove cp-ms-readout cp-feat-board --eng cross-pmo --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 decision create

Record a decision on an engagement.

pmo decision create --eng <slug> --text "<what was decided>" [--date <iso>] [--by <id>] --as person:<id>

Example

pmo decision create --eng accelerator --text "Postgres is canonical; the YAML is an export" \
  --date 2026-09-10 --by you --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 portfolio

The shape, then the exceptions — live from the store.

pmo portfolio — the whole portfolio: the shape, then the exceptions

pmo engagement list

The engagements, filtered.

pmo engagement list [<word>] [--client <id>] [--stage <v>] [--status <s>] [--health <h>] [--owner <id>] [--q <text>] [--all]

Example

pmo engagement list --health red

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

pmo engagement show

One engagement in full: modules, projects and open risks.

pmo engagement show <slug> [--history] [--json]

Example

pmo engagement show accelerator --history

pmo engagement create

Open a new engagement from the schema's skeleton.

pmo engagement create --client <id> --slug <slug> --name "<name>" [--type billable|internal|pursuit] [--status pursuit|active|paused|closed]

Example

pmo engagement create --client example --slug example-phase-4 --name "example Phase 4" \
  --type billable --status pursuit --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 engagement set

Write an engagement field: status, stage, health, summary, last_reconciled, name, client_id, id_prefix, pm, tech_lead, client_lead, client_code, project_code.

pmo engagement set <slug> <field=value> [<field=value>…] [--note "<why>"]

Example

pmo engagement set accelerator health=yellow summary="Blessed at 0.725" \
  --note "after the 2026-09-08 eval runs" --as agent:rag
pmo engagement set cady stage=presales --as person:you
pmo engagement set big-leagues stage=proof_of_concept --as person:you
pmo engagement set american-dental-institute id_prefix=adi --as person:you   # once: permanent after the first id

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 engagement channel add

List a Slack room on an engagement.

pmo engagement channel add <slug> --workspace <w> --channel <name> --channel-id <id> --audience internal|client|mixed|external [--notes "<why it is shared>"]

Example

pmo engagement channel add cross-pmo --workspace crosssystemsgroup \
  --channel project-internal-vault --channel-id C0B0FSGBW94 --audience internal --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 engagement channel remove

Take a Slack room off an engagement — the fix for one room claimed by two.

pmo engagement channel remove <slug> <channel-id> [--note "<why>"]

Example

pmo engagement channel remove accelerator C0B0FSGBW94 \
  --note "the room belongs to cross-pmo" --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 engagement risk add

Raise a risk on an engagement.

pmo engagement risk add <slug> --title "<one line>" --severity yellow|red [--detail "<what is wrong>"] [--source <pointer>]

Example

pmo engagement risk add example-client --title "Databricks has no route to AWS" \
  --severity red --detail "Azure-to-AWS network routing is unconfigured" --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 engagement risk resolve

Close a risk — it leaves current_risks and lands in the history.

pmo engagement risk resolve <slug> <risk-id> [--note "<what closed it>"]

Example

pmo engagement risk resolve example-client risk-data-lakehouse-cicd \
  --note "sandbox approved 2026-09-09" --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 engagement risk set

Correct a risk already raised: its owner, severity, title or detail.

pmo engagement risk set <slug> <risk-id> <field=value> [<field=value>…] [--note "<why>"]

Example

pmo engagement risk set american-dental-institute bus-factor-one owner=erik-de-paula \
  --note "named after the 2026-09-12 review" --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 engagement report

The customer view: every module as a client reads it, grouped and numbered.

pmo engagement report <slug> [--json]

Example

pmo engagement report example-client
pmo engagement report example-client --json    # what the client portal reads

pmo engagement timeleft

How much work is left and when it lands: built by, signed off, by group and module.

pmo engagement timeleft <slug> [--json]

Example

pmo engagement timeleft example-client
pmo engagement timeleft example-client --json    # what the board's Time left section reads

pmo engagement timeleft show-settings

The settings time left is computed with — the team, overhead, the client's review — and the holidays.

pmo engagement timeleft show-settings <slug> [--json]

Example

pmo engagement timeleft show-settings example-client

pmo engagement timeleft set

Change the settings time left is computed with — a Manager's, recorded in its history.

pmo engagement timeleft set <slug> overhead=20 contingency=20 review_days=14 fix_days=14 fix_days_high=28 group_floor=120 capacity="<role>:<hours>,…" seed=7 history_start=<YYYY-MM-DD>|none show_to_client=false --as person:<id>

Example

pmo engagement timeleft set example-client overhead=20 contingency=20 capacity="AI Leader:87,Project Strategist:87,Data Engineer:173,Data Scientist:173" --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 engagement timeleft holiday

List a weekday the team does not work, or take one off — a Manager's.

pmo engagement timeleft holiday add|remove <slug> <YYYY-MM-DD> ["<label>"] --as person:<id>

Example

pmo engagement timeleft holiday add example-client 2026-12-25 "Christmas" --as person:you
pmo engagement timeleft holiday remove example-client 2026-12-25 --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 decision set

Correct a decision already filed: who made it, what it affects, its text or its date.

pmo decision set <id> <field=value> [<field=value>…] [--eng <slug>] [--note "<why>"]

Example

pmo decision set dec-2026-05-12-uc2-focus decided_by=erik-de-paula \
  affects=wine-appraisal,pricing-engine --eng example-client --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.

On this page