talk-to
/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" })- Notify:
Bash maw hey {agent}-oracle 'Thread #{id} from {self}: {preview}'- If
maw heyfails → warn only, don't error (thread already sent)
- If
- 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
- Notify:
Bash maw hey {agent}-oracle 'Thread #{id} from {self}: {preview}'- If
maw heyfails → warn only, don't error (thread already sent)
- If
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 - Notify (once, after opening message):
Bash maw hey {agent}-oracle 'Thread #{id} from {self}: {preview}'- If
maw heyfails → warn only, don't error
- If
- 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.
Auto Notification (maw hey)
After posting to a thread, notify the target agent via maw hey:
maw hey {agent}-oracle 'Thread #{id} from {self}: {first 60 chars of message}'
{self}= current Oracle's name (e.g. "Mother Oracle"){agent}= target agent name (lowercase){preview}= first ~60 chars of the posted message- Runs once per /talk-to invocation (not per loop iteration)
- Fail-safe: if
maw heyerrors, log warning and continue — the thread is the source of truth
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
More from soul-brews-studio/oracle-skills-cli
philosophy
Display Oracle philosophy — the 5 Principles + Rule 6. Use when user asks about principles, "nothing deleted", "patterns over intentions", Oracle philosophy, or needs alignment check. Do NOT trigger for "who are you" (use /who-are-you), "what is oracle" (use /about-oracle), or session status questions.
50feel
Capture how the system feels — energy, momentum, burnout, breakthrough. Emotional intelligence for Oracle-human collaboration. Use when user says 'feel', 'how are we', 'energy check', 'burnout', 'momentum', or wants emotional awareness of the work.
36worktree
Work in an isolated git worktree — safe parallel editing, experimental branches, throwaway spikes. Use when user says "worktree", "isolate", "safe branch", "spike", "experiment", or wants to work without touching main.
29template
Skill template with Bun Shell pattern. Copy this folder to create new skills.
29schedule
Query schedule via Oracle API (Drizzle DB). Use when user says "schedule", "upcoming events", "what's on today", "calendar".
29forward
Create handoff + enter plan mode for next session. Use when user says "forward", "handoff", "wrap up", or before ending session.
29