[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6MEFD0XJH1NFD3VGHENG1VG":3,"skill-same:01M6MEFD0XJH1NFD3VGHENG1VG":77},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":53,"commitSha":54,"skillDirectory":55,"forksCount":56,"repositoryHtmlUrl":57,"repositoryHomepageUrl":58,"ownerHtmlUrl":59,"ownerBlogUrl":60,"ownerDescription":61,"updatedAt":62,"install":63,"resources":76},"01M6MEFD0XJH1NFD3VGHENG1VG","amq-remote",null,"Let the owner reach this running agent from Buzz, on the phone or in Buzz Desktop. Use when the user types \u002Famq-remote (Claude Code) or $amq-remote (Codex), \u002Famq-remote --native, \u002Famq-remote off, or \u002Famq-remote status, or asks to control this session from Buzz. Not for AMQ messaging between agents (use amq-cli).","hashgraph-online\u002Fawesome-codex-plugins","hashgraph-online","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F160371962?v=4","01M6CNB6NRJVNNGN14TR01Q6D3","HOL (Hashgraph Online)","01M6JT1HSKKG9V68KQAQGBA7XP",1554,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Favivsinai\u002Fagent-message-queue\u002Fskills\u002Famq-remote\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"remote","amq remote","when","running","claude-code","status","native","desktop","control","cli","codex","codex-cli","code","use","phone","session","buzz","for","types","messaging","2026-11-10 10:12:30",false,"---\nname: amq-remote\nversion: 0.138.0 # x-release-please-version\ndescription: Let the owner reach this running agent from Buzz, on the phone or in Buzz Desktop. Use when the user types \u002Famq-remote (Claude Code) or $amq-remote (Codex), \u002Famq-remote --native, \u002Famq-remote off, or \u002Famq-remote status, or asks to control this session from Buzz. Not for AMQ messaging between agents (use amq-cli).\nmetadata:\n  short-description: Reach this agent from Buzz\n  compatibility: claude-code, codex-cli\n---\n\n# AMQ Remote\n\n`\u002Famq-remote` gives this session its own private Buzz channel. One Buzz\nagent per machine, \"AMQ Remote @ \u003Cmachine>\", imported once, makes the\nchannel, adds the owner and mentions them. The owner writes in that channel\nfrom the Buzz phone app or Buzz Desktop. Several sessions can be connected\nat once; each has its own channel. The same session connecting again gets\nits own channel back. A resumed session gets its channel back by itself\nunless the owner turned it off: a pi session within about 35 s; on macOS, a\nClaude mailbox seat started directly by `amq coop exec claude` within about\n35 s; any other Claude session at its first approval dialog. A Codex session\nneeds `$amq-remote` again. A different session never gets another\nsession's channel. A session that already has its own Buzz agent keeps its DM.\n\nIn Codex the skill is invoked as `$amq-remote` (Codex does not register `\u002F`\ncommands for skills); the commands below are the same. Codex runs sandboxed:\nattach writes `~\u002F.amq\u002Fremote`, so the first attach may be refused until the\nuser reruns it with approval — ask for that one approval, do not work around\nit.\n\n- **Default (AMQ mailbox).** Each message the owner writes in the channel\n  (or DM) arrives as an AMQ message from `buzz` in this agent's inbox. This\n  agent answers with `amq reply --id \u003Cid>`, and that reply is shown there. A reply with `--kind status` shows as progress;\n  any other reply is the final answer. No Stop hook and no wake are needed.\n  Noticing the message is this agent's own business (a wake, a built-in\n  consumer, monitor, or the next drain).\n- **`--native`.** For a session that is not on AMQ: each message is typed\n  into this exact conversation, and the harness's own final answer goes back.\n  On Claude Code it needs the AMQ Stop hook.\n\nRun the steps in order. When a step says to stop, show the user the\ncommand's own message. Do not work around a refusal.\n\n## `\u002Famq-remote` (connect)\n\n1. **Tools.** Run `command -v amq-remote amq-acp`. If either is missing, tell\n   the user to run `brew install avivsinai\u002Ftap\u002Famq`, then stop.\n2. **Connect.**\n   - Default: run `amq-remote attach --self --json`. It uses `AM_ROOT` and\n     `AM_ME`. If it says this session is not an AMQ participant, offer\n     `--native`.\n   - `--native`: use `$AM_ROOT` when set, else `$HOME\u002F.amq\u002Fremote\u002Froot`\n     (create it private with `(umask 077 && mkdir -p \"$HOME\u002F.amq\u002Fremote\u002Froot\")`). Run\n     `amq-remote attach --self --native --root \"$ROOT\" --json`.\n   - If it exits 6 and names `amq-remote claude install-stop-hook` (Claude\n     Code with `--native`), tell the user this adds one Stop hook to\n     `~\u002F.claude\u002Fsettings.json` (`$CLAUDE_CONFIG_DIR\u002Fsettings.json` when set);\n     it always exits 0, and\n     `amq-remote claude uninstall-stop-hook` removes it. Ask once, run it,\n     then run the attach again.\n   - Any other failure: show its message and stop.\n3. **Tell the owner only what is still needed.** The JSON has `name`,\n   `label`, `agent`, `helper`, `machine`, `draft`, `reused`, `agent_name`\n   when the session has its own agent, `machine_name` when there is a\n   machine agent, and, when the machine agent serves the session, `channel`,\n   `channel_name`, and `channel_error` and `channel_retry` when the channel\n   is uncertain or failed, and `approval_reviewer` when a Codex thread runs\n   Codex's automatic approvals reviewer. Attach already waited up to 15 s\n   for the channel.\n   Say \"Connected: \u003Clabel>.\" and then exactly one of, the first that applies:\n   - `agent` is `running`: \"DM **\u003Cagent_name>** in Buzz.\" Nothing else is\n     needed.\n   - `agent` is `idle`: \"DM **\u003Cagent_name>** in Buzz; Buzz starts it on the\n     next message.\"\n   - `machine` is `running` and `channel` is `active`: \"Open the\n     **\u003Cchannel_name>** channel in Buzz.\" Nothing else is needed.\n   - `machine` is `running` and `channel` is `creating`: \"Buzz is making the\n     channel; it appears within a minute.\"\n   - `machine` is not `missing` and the JSON has `unproven`: \"The machine\n     agent makes a channel only for a session proven live, and this session\n     is not (\u003Cunproven>).\"\n   - `machine` is `offline` or `idle` and `channel` is `uncertain` or\n     `failed`: \"Start **\u003Cmachine_name>** in Buzz Desktop (Agents, the agent,\n     Start).\" Then show the channel state and `channel_error`, and say that\n     nothing is done about it while the machine agent is stopped.\n   - `channel` is `uncertain`: \"Buzz did not confirm the channel\n     (\u003Cchannel_error>). AMQ keeps looking for it and will not make a second\n     one. If it never appears, run `amq-remote channel reset \u003Cname>`.\"\n   - `channel` is `failed`: show `channel_error`, then \"AMQ tries again in 10\n     minutes\" when `channel_retry` is true, else \"Run\n     `amq-remote channel reset \u003Cname>`.\"\n   - `agent` is `offline` and `machine` is `missing`: \"DM **\u003Cagent_name>**\n     first; if it does not answer within a minute, start it in Buzz Desktop\n     (Agents, the agent, Start).\"\n   - `machine` is `missing`: this machine's one-time setup. Run\n     `amq-acp setup --machine --out \"$HOME\u002FDownloads\u002FAMQ Remote machine.agent.json\"`\n     once, and show its printed steps as they are (Buzz Desktop: Agents,\n     then + then Import, pick that file, then Start, and turn on\n     Auto-start). Every later session then gets its channel by itself.\n   - `machine` is `offline` or `idle`: \"Start **\u003Cmachine_name>** in Buzz\n     Desktop (Agents, the agent, Start); it then makes this session's\n     channel.\"\n   If the JSON has `warning`, show it too. If it has `approval_reviewer`,\n   say: \"Buzz gets no Codex approvals: Codex's automatic reviewer answers\n   them (approvals_reviewer = \u003Capproval_reviewer>).\" It is the owner's\n   setting; do not change it.\n4. **Claude Code only: the approval hook** (default and `--native`, after\n   a successful attach). Read `approval_hook` from the attach JSON: `ok`,\n   `missing`, `stale`, `disabled` or `unreadable`. An older amq-remote\n   gives no `approval_hook`: then run `amq-remote doctor --json` and use its\n   `hooks` row for this session's settings file (`approval`: `installed`\n   is `ok`, `missing` is `missing`; `approval_form` `stale` is `stale`), or\n   with an even older doctor treat a `native_capability` failure that names\n   the PermissionRequest hook as `missing` and anything else as `ok`.\n   - `ok`: nothing to do.\n   - `disabled`: say that this session's Claude settings set\n     `disableAllHooks`, so approvals stay in the terminal unless a project\n     or managed setting turns hooks on.\n   - `unreadable`: say that the Claude settings file cannot be read, and that\n     `amq-remote doctor` names it and the reason.\n   - `stale`: say the installed hook is an older form, then run\n     `amq-remote claude install-approval-hook`, which replaces only that\n     entry. You may offer `amq-remote doctor --fix` as a question (it also\n     installs the other hooks, the login service and the machine agent's\n     import file); never run it without a yes.\n   - `missing`: tell the user: \"This adds one approval hook. The first\n     approval dialog of each Claude Code session on this machine connects\n     that session to its own Buzz channel, even one that never ran\n     \u002Famq-remote: an AMQ session gets its own binding (the mailbox one\n     \u002Famq-remote writes), any other session a native binding, where chat\n     needs \u002Famq-remote --native. Every dialog of the session then shows\n     there; ✅ allows, ❌ denies, first answer wins. \u002Famq-remote off stops it\n     for that session, and `amq-remote claude uninstall-approval-hook`\n     removes the hook.\" Ask once, then run\n     `amq-remote claude install-approval-hook`.\n\n   Codex needs no hook: its approvals reach Buzz only for a session on the\n   Codex app-server (the `--native` Codex path below); a plain `codex` TUI\n   session answers approvals in the terminal.\n5. Add one line for the carrier:\n   - Default: \"Buzz messages arrive in this agent's AMQ inbox. Stop in Buzz\n     stops waiting; a delivered message may still be acted on.\"\n   - Claude in mailbox mode: \"In Buzz, a line starting with \u002F is typed into\n     the session like Remote Control; it waits while a dialog is open.\"\n   - `--native`: \"A message sent while this session is busy waits. Buzz Stop\n     cannot interrupt a Claude turn.\"\n   - Claude with the hook installed: \"Every approval dialog of this session\n     shows in its Buzz channel with its options. ✅ or ❌, or a reply with the option\n     number, answers it. The first answer, in Buzz or in the terminal,\n     wins.\"\n   - Claude in a machine agent channel: \"The channel also shows each turn this\n     session finishes; type `mirror off` there, or run `\u002Famq-remote mirror\n     off`, to stop it.\"\n   - Codex on the app-server: the same line, unless the JSON has\n     `approval_reviewer` (then the reviewer line above replaces it). A plain\n     `codex` TUI session: \"Approvals stay in the terminal.\"\n\nCodex with `--native`: attach needs `CODEX_THREAD_ID` and a thread loaded in\nthe Codex app-server daemon. A session started with plain `codex` is not in\nthe daemon; start it with `codex app-server daemon start`, then\n`codex --remote unix:\u002F\u002F`. Run `amq-remote` and `amq-acp` outside Codex's\nsandbox (request escalation): the sandbox blocks the daemon socket, and\n`amq-acp setup` writes files outside the workspace.\n\n## Answering a Buzz message (default mailbox)\n\nA message from `buzz` with subject \"Buzz DM\" is the owner writing from Buzz,\nin this session's channel or its agent's DM.\nDo the work, then answer with `amq reply --id \u003Cthat message id>`. Use\n`--kind status` for an interim update. Keep the final answer short; it is\nread in a chat.\n\nAn image the owner sent arrives as a line `[image: \u003Cabsolute path>]`: open\nthat file to see it. `[image not attached: \u003Creason>]` means the image did not\narrive; say so in the answer and ask the owner to send it again if it matters.\n\n## `\u002Famq-remote off`\n\nRun `amq-remote detach --self` and show its output. The session keeps\nrunning. Its channel stops taking messages now, and the machine agent then\narchives it; a session with its own agent has that agent archive itself, and\nits DM answers \"Not connected\". When this session connects again, the same\nchannel or agent comes back.\n\n## `\u002Famq-remote mirror on|off|status`\n\nRun `amq-remote mirror \u003Con|off|status> --self` and show its output. It is\nthe same switch as typing `mirror on` or `mirror off` in the session's\nchannel: while it is off, the machine agent posts no turn of this session,\nand turns that end while it is off are not posted later. Only a Claude,\nCodex or pi session the machine agent serves has a mirror.\n\n## `\u002Famq-remote status`\n\nRun `amq-remote bindings` and show its output. It lists the machine agent\nand each connected session as `live` or `unknown` with its own agent\n(`running`, `idle`, `offline` or `missing`) and its channel, prunes the\nsessions proven ended, and names, once, old per-session agents the owner\nshould delete in Buzz Desktop.\n\n## Status line\n\n`amq-remote statusline` prints `📡 buzz` while this session is connected,\n`📡 buzz (mirror off)` while its mirror is off, and nothing otherwise. It\nalways exits 0, reads only the binding files, and `--plain` drops the emoji.\nAMQ never edits the user's `statusLine` setting; if the user asks for it,\nshow them the line to add to their own Claude Code status-line script, where\n`$input` holds the JSON the script read from stdin:\n\n```bash\nseg=$(amq-remote statusline \u003C\u003C\u003C\"$input\" 2>\u002Fdev\u002Fnull); [ -n \"$seg\" ] && out+=\" | $seg\"\n```\n\nAny other harness that runs a command in its status line passes the session\nid: `amq-remote statusline --session \u003Cid>`.\n\n## Trust limits\n\nThe Buzz agent's identity belongs to Buzz Desktop. Its grant has no kind limit\nand no expiry. Archiving the agent does not invalidate a copied key and\ngrant; only removing the agent's relay access does that. Buzz \"owner only\"\nalso admits the owner's other agents. See the\n[amq-acp README](https:\u002F\u002Fgithub.com\u002Favivsinai\u002Fagent-message-queue\u002Fblob\u002Fmain\u002Fcmd\u002Famq-acp\u002FREADME.md).\n","# AMQ Remote\n\n`\u002Famq-remote` gives this session its own private Buzz channel. One Buzz\nagent per machine, \"AMQ Remote @ \u003Cmachine>\", imported once, makes the\nchannel, adds the owner and mentions them. The owner writes in that channel\nfrom the Buzz phone app or Buzz Desktop. Several sessions can be connected\nat once; each has its own channel. The same session connecting again gets\nits own channel back. A resumed session gets its channel back by itself\nunless the owner turned it off: a pi session within about 35 s; on macOS, a\nClaude mailbox seat started directly by `amq coop exec claude` within about\n35 s; any other Claude session at its first approval dialog. A Codex session\nneeds `$amq-remote` again. A different session never gets another\nsession's channel. A session that already has its own Buzz agent keeps its DM.\n\nIn Codex the skill is invoked as `$amq-remote` (Codex does not register `\u002F`\ncommands for skills); the commands below are the same. Codex runs sandboxed:\nattach writes `~\u002F.amq\u002Fremote`, so the first attach may be refused until the\nuser reruns it with approval — ask for that one approval, do not work around\nit.\n\n- **Default (AMQ mailbox).** Each message the owner writes in the channel\n  (or DM) arrives as an AMQ message from `buzz` in this agent's inbox. This\n  agent answers with `amq reply --id \u003Cid>`, and that reply is shown there. A reply with `--kind status` shows as progress;\n  any other reply is the final answer. No Stop hook and no wake are needed.\n  Noticing the message is this agent's own business (a wake, a built-in\n  consumer, monitor, or the next drain).\n- **`--native`.** For a session that is not on AMQ: each message is typed\n  into this exact conversation, and the harness's own final answer goes back.\n  On Claude Code it needs the AMQ Stop hook.\n\nRun the steps in order. When a step says to stop, show the user the\ncommand's own message. Do not work around a refusal.\n\n## `\u002Famq-remote` (connect)\n\n1. **Tools.** Run `command -v amq-remote amq-acp`. If either is missing, tell\n   the user to run `brew install avivsinai\u002Ftap\u002Famq`, then stop.\n2. **Connect.**\n   - Default: run `amq-remote attach --self --json`. It uses `AM_ROOT` and\n     `AM_ME`. If it says this session is not an AMQ participant, offer\n     `--native`.\n   - `--native`: use `$AM_ROOT` when set, else `$HOME\u002F.amq\u002Fremote\u002Froot`\n     (create it private with `(umask 077 && mkdir -p \"$HOME\u002F.amq\u002Fremote\u002Froot\")`). Run\n     `amq-remote attach --self --native --root \"$ROOT\" --json`.\n   - If it exits 6 and names `amq-remote claude install-stop-hook` (Claude\n     Code with `--native`), tell the user this adds one Stop hook to\n     `~\u002F.claude\u002Fsettings.json` (`$CLAUDE_CONFIG_DIR\u002Fsettings.json` when set);\n     it always exits 0, and\n     `amq-remote claude uninstall-stop-hook` removes it. Ask once, run it,\n     then run the attach again.\n   - Any other failure: show its message and stop.\n3. **Tell the owner only what is still needed.** The JSON has `name`,\n   `label`, `agent`, `helper`, `machine`, `draft`, `reused`, `agent_name`\n   when the session has its own agent, `machine_name` when there is a\n   machine agent, and, when the machine agent serves the session, `channel`,\n   `channel_name`, and `channel_error` and `channel_retry` when the channel\n   is uncertain or failed, and `approval_reviewer` when a Codex thread runs\n   Codex's automatic approvals reviewer. Attach already waited up to 15 s\n   for the channel.\n   Say \"Connected: \u003Clabel>.\" and then exactly one of, the first that applies:\n   - `agent` is `running`: \"DM **\u003Cagent_name>** in Buzz.\" Nothing else is\n     needed.\n   - `agent` is `idle`: \"DM **\u003Cagent_name>** in Buzz; Buzz starts it on the\n     next message.\"\n   - `machine` is `running` and `channel` is `active`: \"Open the\n     **\u003Cchannel_name>** channel in Buzz.\" Nothing else is needed.\n   - `machine` is `running` and `channel` is `creating`: \"Buzz is making the\n     channel; it appears within a minute.\"\n   - `machine` is not `missing` and the JSON has `unproven`: \"The machine\n     agent makes a channel only for a session proven live, and this session\n     is not (\u003Cunproven>).\"\n   - `machine` is `offline` or `idle` and `channel` is `uncertain` or\n     `failed`: \"Start **\u003Cmachine_name>** in Buzz Desktop (Agents, the agent,\n     Start).\" Then show the channel state and `channel_error`, and say that\n     nothing is done about it while the machine agent is stopped.\n   - `channel` is `uncertain`: \"Buzz did not confirm the channel\n     (\u003Cchannel_error>). AMQ keeps looking for it and will not make a second\n     one. If it never appears, run `amq-remote channel reset \u003Cname>`.\"\n   - `channel` is `failed`: show `channel_error`, then \"AMQ tries again in 10\n     minutes\" when `channel_retry` is true, else \"Run\n     `amq-remote channel reset \u003Cname>`.\"\n   - `agent` is `offline` and `machine` is `missing`: \"DM **\u003Cagent_name>**\n     first; if it does not answer within a minute, start it in Buzz Desktop\n     (Agents, the agent, Start).\"\n   - `machine` is `missing`: this machine's one-time setup. Run\n     `amq-acp setup --machine --out \"$HOME\u002FDownloads\u002FAMQ Remote machine.agent.json\"`\n     once, and show its printed steps as they are (Buzz Desktop: Agents,\n     then + then Import, pick that file, then Start, and turn on\n     Auto-start). Every later session then gets its channel by itself.\n   - `machine` is `offline` or `idle`: \"Start **\u003Cmachine_name>** in Buzz\n     Desktop (Agents, the agent, Start); it then makes this session's\n     channel.\"\n   If the JSON has `warning`, show it too. If it has `approval_reviewer`,\n   say: \"Buzz gets no Codex approvals: Codex's automatic reviewer answers\n   them (approvals_reviewer = \u003Capproval_reviewer>).\" It is the owner's\n   setting; do not change it.\n4. **Claude Code only: the approval hook** (default and `--native`, after\n   a successful attach). Read `approval_hook` from the attach JSON: `ok`,\n   `missing`, `stale`, `disabled` or `unreadable`. An older amq-remote\n   gives no `approval_hook`: then run `amq-remote doctor --json` and use its\n   `hooks` row for this session's settings file (`approval`: `installed`\n   is `ok`, `missing` is `missing`; `approval_form` `stale` is `stale`), or\n   with an even older doctor treat a `native_capability` failure that names\n   the PermissionRequest hook as `missing` and anything else as `ok`.\n   - `ok`: nothing to do.\n   - `disabled`: say that this session's Claude settings set\n     `disableAllHooks`, so approvals stay in the terminal unless a project\n     or managed setting turns hooks on.\n   - `unreadable`: say that the Claude settings file cannot be read, and that\n     `amq-remote doctor` names it and the reason.\n   - `stale`: say the installed hook is an older form, then run\n     `amq-remote claude install-approval-hook`, which replaces only that\n     entry. You may offer `amq-remote doctor --fix` as a question (it also\n     installs the other hooks, the login service and the machine agent's\n     import file); never run it without a yes.\n   - `missing`: tell the user: \"This adds one approval hook. The first\n     approval dialog of each Claude Code session on this machine connects\n     that session to its own Buzz channel, even one that never ran\n     \u002Famq-remote: an AMQ session gets its own binding (the mailbox one\n     \u002Famq-remote writes), any other session a native binding, where chat\n     needs \u002Famq-remote --native. Every dialog of the session then shows\n     there; ✅ allows, ❌ denies, first answer wins. \u002Famq-remote off stops it\n     for that session, and `amq-remote claude uninstall-approval-hook`\n     removes the hook.\" Ask once, then run\n     `amq-remote claude install-approval-hook`.\n\n   Codex needs no hook: its approvals reach Buzz only for a session on the\n   Codex app-server (the `--native` Codex path below); a plain `codex` TUI\n   session answers approvals in the terminal.\n5. Add one line for the carrier:\n   - Default: \"Buzz messages arrive in this agent's AMQ inbox. Stop in Buzz\n     stops waiting; a delivered message may still be acted on.\"\n   - Claude in mailbox mode: \"In Buzz, a line starting with \u002F is typed into\n     the session like Remote Control; it waits while a dialog is open.\"\n   - `--native`: \"A message sent while this session is busy waits. Buzz Stop\n     cannot interrupt a Claude turn.\"\n   - Claude with the hook installed: \"Every approval dialog of this session\n     shows in its Buzz channel with its options. ✅ or ❌, or a reply with the option\n     number, answers it. The first answer, in Buzz or in the terminal,\n     wins.\"\n   - Claude in a machine agent channel: \"The channel also shows each turn this\n     session finishes; type `mirror off` there, or run `\u002Famq-remote mirror\n     off`, to stop it.\"\n   - Codex on the app-server: the same line, unless the JSON has\n     `approval_reviewer` (then the reviewer line above replaces it). A plain\n     `codex` TUI session: \"Approvals stay in the terminal.\"\n\nCodex with `--native`: attach needs `CODEX_THREAD_ID` and a thread loaded in\nthe Codex app-server daemon. A session started with plain `codex` is not in\nthe daemon; start it with `codex app-server daemon start`, then\n`codex --remote unix:\u002F\u002F`. Run `amq-remote` and `amq-acp` outside Codex's\nsandbox (request escalation): the sandbox blocks the daemon socket, and\n`amq-acp setup` writes files outside the workspace.\n\n## Answering a Buzz message (default mailbox)\n\nA message from `buzz` with subject \"Buzz DM\" is the owner writing from Buzz,\nin this session's channel or its agent's DM.\nDo the work, then answer with `amq reply --id \u003Cthat message id>`. Use\n`--kind status` for an interim update. Keep the final answer short; it is\nread in a chat.\n\nAn image the owner sent arrives as a line `[image: \u003Cabsolute path>]`: open\nthat file to see it. `[image not attached: \u003Creason>]` means the image did not\narrive; say so in the answer and ask the owner to send it again if it matters.\n\n## `\u002Famq-remote off`\n\nRun `amq-remote detach --self` and show its output. The session keeps\nrunning. Its channel stops taking messages now, and the machine agent then\narchives it; a session with its own agent has that agent archive itself, and\nits DM answers \"Not connected\". When this session connects again, the same\nchannel or agent comes back.\n\n## `\u002Famq-remote mirror on|off|status`\n\nRun `amq-remote mirror \u003Con|off|status> --self` and show its output. It is\nthe same switch as typing `mirror on` or `mirror off` in the session's\nchannel: while it is off, the machine agent posts no turn of this session,\nand turns that end while it is off are not posted later. Only a Claude,\nCodex or pi session the machine agent serves has a mirror.\n\n## `\u002Famq-remote status`\n\nRun `amq-remote bindings` and show its output. It lists the machine agent\nand each connected session as `live` or `unknown` with its own agent\n(`running`, `idle`, `offline` or `missing`) and its channel, prunes the\nsessions proven ended, and names, once, old per-session agents the owner\nshould delete in Buzz Desktop.\n\n## Status line\n\n`amq-remote statusline` prints `📡 buzz` while this session is connected,\n`📡 buzz (mirror off)` while its mirror is off, and nothing otherwise. It\nalways exits 0, reads only the binding files, and `--plain` drops the emoji.\nAMQ never edits the user's `statusLine` setting; if the user asks for it,\nshow them the line to add to their own Claude Code status-line script, where\n`$input` holds the JSON the script read from stdin:\n\n```bash\nseg=$(amq-remote statusline \u003C\u003C\u003C\"$input\" 2>\u002Fdev\u002Fnull); [ -n \"$seg\" ] && out+=\" | $seg\"\n```\n\nAny other harness that runs a command in its status line passes the session\nid: `amq-remote statusline --session \u003Cid>`.\n\n## Trust limits\n\nThe Buzz agent's identity belongs to Buzz Desktop. Its grant has no kind limit\nand no expiry. Archiving the agent does not invalidate a copied key and\ngrant; only removing the agent's relay access does that. Buzz \"owner only\"\nalso admits the owner's other agents. See the\n[amq-acp README](https:\u002F\u002Fgithub.com\u002Favivsinai\u002Fagent-message-queue\u002Fblob\u002Fmain\u002Fcmd\u002Famq-acp\u002FREADME.md).\n",{"name":5,"version":49,"metadata":50,"description":7},"0.138.0",{"compatibility":51,"short-description":52},"claude-code, codex-cli","Reach this agent from Buzz","main","347aedf8480cd92b21f761e97b7343a45898f5fa","plugins\u002Favivsinai\u002Fagent-message-queue\u002Fskills\u002Famq-remote",468,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins","https:\u002F\u002Fhol.org\u002Fplugins\u002Fbest-codex-plugins","https:\u002F\u002Fgithub.com\u002Fhashgraph-online","https:\u002F\u002Fhol.org","Open-source standards and developer tools for interoperable AI agents: discovery, identity, communication, payments, privacy and security.","2026-11-11 02:22:54",{"source":8,"skillName":5,"commands":64,"prompt":74,"zipAvailable":75},[65,68,71],{"tool":66,"command":67},"npx","npx skills add hashgraph-online\u002Fawesome-codex-plugins --skill amq-remote",{"tool":69,"command":70},"bunx","bunx skills add hashgraph-online\u002Fawesome-codex-plugins --skill amq-remote",{"tool":72,"command":73},"pnpm","pnpm dlx skills add hashgraph-online\u002Fawesome-codex-plugins --skill amq-remote","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Favivsinai\u002Fagent-message-queue\u002Fskills\u002Famq-remote\u002FSKILL.md",true,[],[78,103,127,157,176,189],{"skillNo":79,"name":80,"nameZh":6,"description":81,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":82,"categories":83,"keywords":84,"publishedAt":44},"01M716A6ETNB9B1SQ3GXZC75VR","deja-search","deja-vu memory — search the user's past AI coding sessions with the deja CLI. Holds what they already settled and never wrote into the repo (naming rules, banned or already-tried tools, required checks before merge, preferred values, who owns what). Use before your first edit in a task, before you call a change done or ready to merge, before you recommend a tool, library, design or reviewer, before re-debugging an error that may already be solved, when they say 'didn't we fix this before', 'what did we decide about X' or 'I already have that', and before telling them something on this machine does not exist.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvshulcz\u002Fdeja-vu\u002Fskills\u002Fdeja-search\u002FSKILL.md",[],[85,86,87,88,89,90,91,92,93,94,95,26,96,97,98,99,100,33,101,102],"search","deja search","error","ready","never","memory","re","decide","fix","design","debugging","you","done","reviewer","io","change","merge","past",{"skillNo":104,"name":105,"nameZh":6,"description":106,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":109,"publishedAt":44},"01M716A3J2W5SENSE9VGMXB375","deja-reflect","End-of-session reflection and memory curation with deja-vu. Review what was decided, what commands broke and what repaired them, and record durable project rules or decisions with deja remember so the next session starts with them.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvshulcz\u002Fdeja-vu\u002Fskills\u002Fdeja-reflect\u002FSKILL.md",[],[110,111,112,113,90,114,115,39,116,117,118,119,120,99,121,122,123,124,125,126],"reflect","deja reflect","brew","remember","project rules","project","end","reflection","Rules","decisions","review","with","record","github","next","https","node",{"skillNo":128,"name":129,"nameZh":6,"description":130,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":131,"categories":132,"keywords":140,"publishedAt":44},"01M715T3RR4BAYSR57HPPTJ0PF","revid","Make, edit, export and post AI videos with Revid (revid.ai) through the Revid MCP server. Use whenever the user wants a short-form or long-form video made (from an idea, a script, a URL, an article, a PDF, a tweet, a product page, their own clips, or a song), wants to find what is going viral on TikTok, YouTube, Instagram or X before making something, wants to edit or re-export an existing Revid project, generate a standalone AI image or clip, make a series episode, or publish and schedule a finished video to connected social accounts. Covers setup (hosted MCP with OAuth, or an API key), the 36 tools, credits, polling and the rules for publishing. Routes to the more specific revid-* skills when one fits.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Ftmakersas\u002Frevid-skills\u002Fskills\u002Frevid\u002FSKILL.md",[133,136,139],{"categoryNo":134,"categoryName":135,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":137,"categoryName":138,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[129,141,142,143,144,145,115,146,91,147,148,149,150,26,151,152,153,154,155,156],"Video","short-form","standalone","PDF","viral","tiktok","short","social","MCP","song","URL","image","mcp server","schedule","api","publish",{"skillNo":158,"name":159,"nameZh":6,"description":160,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":161,"categories":162,"keywords":163,"publishedAt":44},"01M71569ZM2X3H5RBFK8PVKMK2","review-study","Review a QuestionPunk survey before launch for wording, answer choices, branching, and missing settings. Use for check my survey or review this draft before publishing.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fquestionpunk\u002Fcodex-plugin\u002Fskills\u002Freview-study\u002FSKILL.md",[],[164,165,120,41,166,167,168,169,37,170,171,172,173,174,175],"study","review study","answer","missing","survey","publishing","check","draft","settings","launch","my","branching",{"skillNo":177,"name":178,"nameZh":6,"description":179,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":180,"categories":181,"keywords":182,"publishedAt":44},"01M71567GV0C35YQBY0DPGR86B","manage-study","Find QuestionPunk studies, check status, publish an explicitly requested draft, or retrieve its participant link. Use for find my survey, publish this study, or how many people responded.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fquestionpunk\u002Fcodex-plugin\u002Fskills\u002Fmanage-study\u002FSKILL.md",[],[183,164,184,41,168,37,185,170,171,156,186,187,188,29,174],"manage study","manage","people","how","find","link",{"skillNo":190,"name":191,"nameZh":6,"description":192,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":193,"categories":194,"keywords":195,"publishedAt":44},"01M71565A8TCA01AZQZRGRYMFZ","create-study","Create a saved QuestionPunk survey draft from a research brief or edit specified questions. Use for requests such as make a customer feedback survey or shorten my onboarding study.","https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fquestionpunk\u002Fcodex-plugin\u002Fskills\u002Fcreate-study\u002FSKILL.md",[],[196,164,197,198,199,200,41,201,168,202,37,203,204,171,205,206,207,208,209,174],"create study","create","brief","as","feedback","customer feedback","research brief","shorten","saved","research","requests","customer","questions","edit"]