---
name: platform-triage
description: "Take an incoming message for the organization's Operator, from Slack, the app's chat or an automation: answer it directly when that's enough, otherwise decide what work it needs and which agent it concerns, open or continue the issue that tracks it, and reply where it came from. The first step of platform; platform-investigate follows."
metadata:
  min-cli-version: "0.73.0"
---

# 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:** `introspection runtimes list --query "[].[slug, id]"`. When a project has no agent besides the Operator's own, offer to build its first one; platform-resolve launches that work.
- **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.

## Steps

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,** from evidence you read now, and stop there: a question needs no issue.
3. **Decide whether it needs work,** and 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.

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

4. **Open or continue its issue.** 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,** where the message came from, in a few sentences ([replies](references/replies.md)).
6. **Hand over:** to platform-investigate when the cause isn't known, or straight to platform-resolve when it is (a request for a change, a new agent, or scheduled work).

## 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.
