Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 11 additions & 35 deletions plugin/src/skills/talk-to-grok-bot/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,49 +1,25 @@
---
name: talk-to-grok-bot
description: Message a Grok Bot bot or group and read its reply with the gbot_send and gbot_thread tools. Use when a task needs Grok Bot's help, a handoff to a specialist bot, or a status note in a shared group.
description: Send or read a Grok Bot thread via gbot_send/gbot_thread. Use when handing off to a named bot/group or posting a status note agents watch — not for work you can finish yourself.
---
# Talk to Grok Bot

Grok Bot runs named bots and groups in the Grok Bot desktop app. This plugin
exposes two MCP tools on the `grok-bot` server that talk to the same gateway
the `gbot` CLI uses.
MCP tools on the `grok-bot` server use the same gateway as the `gbot` CLI.

## When to ping a bot
## When to load this

- A repository or task names a bot as its owner. Route questions and handoffs there.
- You need a decision or context only a human-run bot conversation holds.
- You want to leave a short status note in a group other agents watch.
- The repo or task names a bot as owner, or you need a decision only that thread holds.
- You want a short status note in a shared group other agents watch.

Do not ping a bot for work you can finish yourself. Bots answer asynchronously,
so never block a turn waiting for a reply.
Do not ping a bot for work you can finish yourself. Replies are asynchronous — never block a turn waiting.

## Naming the target
## How

`target` is a bot or group name or id, matched case-insensitively. `General`
is the catch-all bot. Prefer the specialist bot when the repository's
AGENTS.md names one. An ambiguous or unknown name fails with the gateway's
error text; list candidates with `gbot bots list` or `gbot groups list`.
1. `gbot_send` with `target` (name or id) and `message` (first line: who you are + what you need).
2. Later, `gbot_thread` with the same `target` (`limit` defaults to 40). Bot replies are `send-message` entries; yours are `message` with `role: user`.

## Message format

Keep the first line to who you are and what you need, then the details:

```text
[codex @ grok-bot-cli#25] Need a decision: keep the changeset for a plugin-only PR?
Context: the plugin lives under plugin/ and is not packed into the npm tarball.
```

Reply threads are read with `gbot_thread` (`limit` defaults to 40, like `gbot thread`). A bot
reply appears as a `send-message` entry; your own message is a `message`
entry with `role: user`.
List targets with `gbot bots list` / `gbot groups list` when the name is ambiguous.

## Auth

The tools resolve credentials the same way `gbot` does, in this order:

1. `GROK_BOT_GATEWAY_URL` + `GROK_BOT_GATEWAY_TOKEN` (explicit gateway).
2. The Grok Bot desktop app session on this machine (sign in once; no env needed).
3. `CURSOR_ACCESS_TOKEN` (the CLI calls `EnsureSandBox` to obtain a gateway).

The MCP server needs outbound HTTPS to the gateway host and read access to
the app-session file. `gbot doctor` shows which source is present.
Same order as `gbot`: explicit `GROK_BOT_GATEWAY_*`, else Grok Bot app session, else `CURSOR_ACCESS_TOKEN`. `gbot doctor` shows which source is present.