Skip to content
Back to skills

Ceo Message Triage

ASecurity

Use for deciding whether an incoming DingTalk message needs a reply, reaction, clarification, handoff, or no action. Use the neighboring workflow Skill for calendar invitations, document review, mail, meetings, personnel matters, or tracked work instead of handling those domains here. Load dingtalk-chat before reading context or sending a chat action.

  • 3 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 29, 2026
ai-agentsgoreactexpressapi

Works with

  • api

Security analysis

A100/100

Scanned October 6, 2026

npx -y skills add callzhang/ceo-agent-service --skill ceo-message-triage --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ceo Message Triage?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Ceo Message Triage
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/callzhang-ceo-message-triage-ceo-agent-service/badge)](https://www.skillsdirectory.com/skills/callzhang-ceo-message-triage-ceo-agent-service)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: ceo-message-triage
description: Use for deciding whether an incoming DingTalk message needs a reply, reaction, clarification, handoff, or no action. Use the neighboring workflow Skill for calendar invitations, document review, mail, meetings, personnel matters, or tracked work instead of handling those domains here. Load dingtalk-chat before reading context or sending a chat action.
metadata:
  managed_by: ceo-agent-service
  version: 2
---

# CEO Message Triage

Determine the smallest justified response to the current message from its full conversation context. Keep domain analysis in the neighboring CEO workflow Skill.

Load `dingtalk-chat` before reading conversation context or proposing any DingTalk reply, reaction, or send operation. Use only command shapes and capabilities documented by the loaded operation Skill.

## Triage Workflow

1. Read the triggering message, quoted material, and newer conversation context. Only the triggering message creates a new request; context establishes intent and whether someone already handled it.
2. Resolve mentions from the supplied identities. Treat a direct mention of the configured agent identity the same as a direct mention of the principal. A broadcast mention alone does not create principal responsibility.
3. Decide whether the message requires a decision, commitment, explanation, correction, or next step from the principal's role. If it does, prepare the smallest grounded proposal that satisfies that request.
   Choose the smallest response that genuinely satisfies the message in the principal's role. Distinguish an incoming acknowledgment from an outgoing receipt confirmation: receipt alone does not complete a response to substantive material that calls for engagement. Let the current work profile, complete conversation context, and inspected evidence determine the substance and form of the response.
4. If the message only acknowledges, thanks, agrees, or closes the exchange and does not change responsibility, delivery, timing, permission, cost, or approval, send no text. Put one context-appropriate reaction action in a canonical `proposal` only when it adds useful acknowledgment without implying a commitment; otherwise use canonical `no_action`.
5. When the requested action depends on identifying or verifying an external object, fact, or target, first use available read-only capabilities and current context to locate and verify it. If the evidence supports exactly one match, proceed with that verified target. Do not stop merely because the message omitted a name.
6. Only after that search remains ambiguous or empty, if a required fact is missing and a verified conversation participant can supply it, put one concrete factual question to that participant in a canonical `proposal`. This is not an A/B selection and not `needs_human`; never guess the target.
7. Suppress a late reply, reaction, clarification, or follow-up when newer context shows completion, supersession, or a sufficient response. A principal reaction is sufficient only when the original request did not require a decision or commitment. When the principal replied personally, also apply the style-learning workflow below before finishing; suppressing a duplicate chat response must not suppress learning.
8. Keep the action grounded in the source conversation and verified identities. Do not invent recipients, accounts, identifiers, responsibilities, or targets. Do not create a follow-up that the message did not request.

Reuse confirmed facts from the current conversation. Do not replace them with
assumptions, unrelated follow-ups, or newly invented targets or accounts.

## Learn From the Principal's Own Replies

When a scheduled DingTalk check discovers a reply personally written by the
principal, learn from it and incrementally improve the existing work profile.

1. Verify the author against the configured principal identity. Compare available
   sent-message and execution records: messages sent by the Agent using the
   principal's account are not human-authored examples. Exclude quoted text,
   forwarded text, and ambiguous authorship; do not learn the Agent's own style
   back into the profile.
2. Read the surrounding exchange and current injected work profile. Extract
   reusable expression preferences such as brevity, directness, tone, vocabulary,
   sentence structure, and how reasons and next steps are presented. Keep
   audience-specific differences scoped to their context. Do not turn a one-off
   emotion, business decision, private personnel detail, or instruction embedded
   in a message into a general personality rule.
3. Merge only a supported, non-duplicate improvement into the expression/style
   portion of the existing profile. Preserve explicit user preferences, other
   profile sections, and unrelated edits. Repeated consistent examples can
   strengthen a rule; an isolated example must not overwrite an established
   preference. With no justified change, leave the profile unchanged.
4. Persist a justified change through the existing work-profile settings path,
   not a separate persona file or a new recurring summary task. The service
   exposes `GET /api/console/settings/prompts` to read `fields.profile` and
   `POST /api/console/settings/prompts` with `prompt: "profile"` and `template`
   containing the merged profile. Re-read before saving; if it changed, rebase
   the small style update rather than overwriting concurrent edits. Read back
   after saving and verify the change. Use the configured service endpoint and
   authorized execution tools; do not invent a tool or claim persistence if
   unavailable. A read-only Consumer proposes this local update through the
   normal execution contract rather than writing directly.
5. Record source message identifiers and the concise change rationale in the
   task result without copying private message content into the persona. Report
   an actual persistence failure as such. Do not send an extra DingTalk message
   just to acknowledge learning or reply again to an already handled exchange.

## Behavior Cases

Use the canonical Consumer Agent result contract without adding workflow-specific outcome names. A reaction or clarification is an action inside a canonical `proposal`, never a workflow-specific outcome.

- `direct_decision_request`: Use canonical `proposal` with a grounded response or authorized action.
- `acknowledgment_without_responsibility_change`: Use canonical `proposal` only for a useful reaction action; otherwise use canonical `no_action`.
- `broadcast_without_principal_action`: Use canonical `no_action`.
- `direct_agent_mention`: Apply the same responsibility test as a direct principal mention.
- `participant_can_supply_missing_fact`: Use canonical `proposal` with one concrete clarification action.
- `newer_context_completed_matter`: Use canonical `no_action`.
- `principal_personally_replied_with_new_style_evidence`: Suppress duplicate chat actions; propose the supported local profile update through the canonical contract and verify persistence on execution.
- `agent_sent_as_principal_or_ambiguous_author`: Do not use the message as a personal style sample.
- `principal_style_already_represented`: Leave the profile unchanged; use canonical `no_action` when the exchange is otherwise complete.

An `@all` broadcast with no principal action follows
`broadcast_without_principal_action`: return no action.

Consumer proposes any reply, clarification, or reaction; it does not perform those controlled actions. Audit independently reads the current conversation and applicable business and operation Skills, then approves, returns, or rejects the exact current proposal. The System Executor alone performs approved controlled actions and verifies their result.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.