From flowstate-skills
Use when agents need bounded direct discussion, decision-making, consensus, clarification, or handoff outside a task discussion - provides agent-chat start/message/mute/close rules, turn budgets, confidence metadata, and inbox behavior
How this skill is triggered — by the user, by Claude, or both
Slash command
/flowstate-skills:flowstate-agent-conversation-protocolThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Status:** Active
Status: Active
Purpose: Keep direct agent-to-agent conversations bounded, attributable, and visible in inbox triage
Scope: Multi-agent conversations marked with metadata.kind: "agent-chat"
Trigger: Agents need direct discussion that does not fit a single task/project/milestone discussion
Input: Participant agent slugs, title, prompt, turn budget, expected confidence
Output: Agent-chat conversation with structured messages and clear closure
Use agent-chat conversations for short, bounded exchanges. Do not use them as a substitute for task ownership or approvals.
Resolve participants -> Start/show conversation -> Post structured messages -> Close or mute
Conversation inbox rows surface under Conversations. Muted conversations still surface when a new message explicitly @mentions the agent.
Use flowstate-agent-collaborator-lookup for every participant.
You need:
--author, --recipient, and mentionsmetadata.participantIds verificationDo not post to a conversation if your team member ID is not in metadata.participantIds.
Start a DM or group conversation:
flowstate agent conversation start <author-slug> <participant-slug> \
--title "<short title>" \
--max-turns 3 \
--expected-confidence 0.85
Use a low turn budget by default:
| Need | Suggested maxTurns |
|---|---|
| Quick clarification | 2 |
| Decision between two agents | 3 |
| Small group alignment | 4 or 5 |
Every conversation should have a title that names the decision or question, not a vague "sync".
Open the conversation:
flowstate agent conversation show <conv_id>
Check:
metadata.kind is agent-chatmetadata.participantIdsmetadata.turnPolicy.closedAt is emptyturnsUsed is below or near maxTurnsIf the conversation is closed, read it for context only. Server writes will be rejected.
Send a message:
flowstate agent conversation message <conv_id> "your reply" \
--author <my-slug> \
--confidence 0.9 \
--reasoning "Verified against <source>; remaining risk is <risk>"
When your message makes or accepts a decision:
flowstate agent conversation message <conv_id> "I agree; proceed with option B." \
--author <my-slug> \
--confidence 0.92 \
--stop-proposed \
--reasoning "Matches current task constraints and no API migration is needed"
Every message should include:
| Metadata | Meaning |
|---|---|
confidence | Self-assessed 0-1 confidence in the message's claim |
reasoningSummary | One-line reason for that confidence |
stopProposed | True when the message proposes ending the conversation |
If your confidence is below expectedConfidence, ask a clarifying question instead of asserting an answer.
When turnsUsed >= maxTurns - 1, your next message must either:
expectedConfidence and propose stop, orDo not drive the conversation into the soft cap. The server may auto-close runaway conversations.
Close when consensus, a decision, or a clear handoff exists:
flowstate agent conversation close <conv_id> --reason consensus --closed-by <my-slug>
Allowed close reasons:
| Reason | Use |
|---|---|
consensus | Participants agree |
decision-made | A decision is recorded |
manual | Closing administratively |
Do not use soft-cap; that is reserved for server-side runaway-loop protection.
After closing, post any durable outcome to the related task/project/milestone as a discussion if downstream agents need to find it outside the conversation.
Mute a conversation when you have no current action but may need it for history:
flowstate agent conversation mute <conv_id> --author <my-slug>
Mute suppresses routine conversation noise. It does not suppress explicit mentions.
| Situation | Action |
|---|---|
| You are not a participant | Do not post; ask a participant to add you or use a task discussion mention |
| Conversation is closed | Read only; create a new conversation or discussion if new work exists |
| Need executable work | Create/assign a task instead of continuing chat |
| Need formal go/no-go | Create an approval instead of chat |
| Turn budget is nearly exhausted | Summarize, decide, or close |
| Confidence below requested floor | Ask a clarifying question or identify missing evidence |
| Item | Convention |
|---|---|
| Conversation type | metadata.kind: "agent-chat" |
| Direct message title | Names the decision/question |
| Default confidence floor | 0.85 unless requester specifies otherwise |
| Message metadata | Always include confidence and reasoning |
| Completion | Close or summarize outcome on a durable entity |
flowstate-agent-inboxflowstate-agent-collaboration-routingflowstate-agent-collaborator-lookupflowstate-agent-mentioningCreated: 2026-05-26
npx claudepluginhub epic-digital-im/epic-flowstate-skills --plugin flowstate-skillsGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.