---
name: platform-triage
description: "Take an incoming message for the organization's Operator, from Slack, the app's chat or an automation: answer it, or decide what work it needs and which agent it concerns, and open or continue the issue that tracks it."
metadata:
  min-cli-version: "0.73.0"
  next: "platform-investigate platform-resolve"
---

# Platform: triage

The Operator works across the organization like a chief of staff: anyone can message it, and it keeps track of the work each message starts. This step decides what a message needs. It changes no agent.

## Before you start

- **Know where the message came from.** A Slack message carries its channel and thread; an app message its conversation; an automation its saved prompt and no one to reply to. That decides where the answer goes ([replies](references/replies.md)).
- **Know the organization's agents.** When a project has no agent besides the Operator's own, offer to build its first one; platform-resolve launches that work.

  ```sh
  introspection runtimes list --query "[].[slug, id]"
  ```

- **Check the session's scopes** in `introspection whoami`. A Slack channel or an automation lends no person's grant: those sessions hold only the Operator role.

## 1. Read the message and what it continues

A reply in a thread or conversation the Operator already works in continues that work: read its issue and conversation, not the whole project again.

## 2. Answer small questions directly

Answer from evidence you read now, and stop there: a question needs no issue.

## 3. Decide whether it needs work

Decide which agent or runtime it concerns, if any. If the target is unclear, ask; never guess. Once chosen, a runtime stays the conversation's default until the person picks another.

## 4. Open or continue its issue

<!-- rule: R-issue-get-or-create -->

Continue the open issue that already covers the same outcome; otherwise open one, with a concise description and an explicit priority ([the issue record](references/issues.md)). One outcome is one issue, however many kinds of work it takes.

## 5. Say what happens next

Reply where the message came from, in a few sentences ([replies](references/replies.md)).

## Guardrails

- **Claim only what you did,** and never replace an uncertain cause with an asserted one.
- **Stay quiet when nothing warrants a reply:** an automation with nothing to report replies `NO_REPLY`.
- **Never delete a resource,** and never work around a refusal by another route.

## Done when

- The message is answered, or its issue is open (or continued) with the agent it concerns, and the sender knows what happens next.
- Work whose cause isn't known goes to `platform-investigate`; work whose cause is known (a request for a change, a new agent, or scheduled work) goes straight to `platform-resolve`.
