talk-to
SKILL.md
/talk-to - Agent Messaging
Send messages to agents via Oracle threads. Each agent has a persistent channel thread.
Usage
/talk-to arthur "What's your status?" # one-shot message
/talk-to arthur --new "Hey, starting fresh" # skip lookup, create new thread
/talk-to arthur loop ask about their work # autonomous conversation
/talk-to #42 "follow up on this" # post to thread by ID
/talk-to --list # show channels
Mode 0: No arguments
If ARGUMENTS is empty, show usage help then run --list.
Routing
| Pattern | Use |
|---|---|
channel:{agent} |
Persistent per-agent channel |
topic:{agent}:{slug} |
Topic-specific thread (with --topic) |
#{id} |
Direct thread reference by ID |
Mode 1: --list
oracle_threads()(no status filter)- Filter titles starting with
channel:ortopic:, excludeclosed - Display:
channel:arthur (#42) pending — 12 msgs
Mode 2: --new (fast create)
Skip lookup. One MCP call.
- Compose message from intent
oracle_thread({ title: "channel:{agent}", message, role: "human" })- Confirm:
Created channel:{agent} (thread #{id})
Mode 3: One-shot (default)
- Compose message from intent
- If first arg is
#{id}→ post directly to that thread ID - Otherwise:
oracle_threads()→ findchannel:{agent}, create if missing - Post message to thread
oracle_thread_read({ threadId })→ show any agent responses- Confirm:
Posted to channel:{agent} (thread #{id})
Mode 4: loop (autonomous conversation)
Like Ralph loop — AI drives the conversation autonomously. No user prompts between turns.
- Find or create thread (
channel:{agent}, or--newto skip lookup) - Compose opening message from user's intent and post it
- Autonomous loop (max 10 iterations):
a.
oracle_thread_read({ threadId })— check for new messages b. If agent responded: read their response, compose a thoughtful follow-up, post it c. If no new response: compose a follow-up question or probe deeper, post it d. After each exchange, briefly note what you learned e. Stop when: enough insight gathered, conversation circling, or 10 iterations hit - Show summary:
Conversation with {agent} (thread #{id}) — {n} messages, {iterations} turns Key insights: - [insight 1] - [insight 2] - Leave thread open for future use
The goal is insight extraction. You are having a conversation on behalf of the human to learn something useful.
Parsing Rules
- First arg = agent name (lowercase),
#id(thread ref), or--list --new= skip lookup, create freshloop= autonomous conversation (AI drives, no user prompts)--topic "slug"= usetopic:{agent}:{slug}instead ofchannel:{agent}- Everything else = the message/intent
Message Composition
CRITICAL: You are the composer. The user gives intent, you write the message.
- Compose a clear, natural message from the user's intent
- Post immediately — do NOT ask the user what to say
- Do NOT use AskUserQuestion for message content
- Show what you posted after sending
If the message already reads like a direct message (e.g. "What's your status?"), post as-is.
Important Notes
- Agent names are always lowercase
- Thread titles are the routing key — never modify existing thread titles
- One channel thread per agent (reuse, don't recreate)
#{id}lets users reference any thread directly — no lookup needed- All messages attributed with
role: "human"
ARGUMENTS: $ARGUMENTS
Weekly Installs
13
Repository
soul-brews-stud…ills-cliGitHub Stars
22
First Seen
14 days ago
Security Audits
Installed on
opencode13
codex13
gemini-cli12
codebuddy12
claude-code12
github-copilot12