diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index f299c320..a152d5d1 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -5,13 +5,13 @@ }, "metadata": { "description": "Run jobs on Codex, Grok Build, ZCode and Kimi Code from Claude Code like Claude agents.", - "version": "2.2.2" + "version": "2.2.3" }, "plugins": [ { "name": "relay", "description": "Run jobs on Codex, Grok Build, ZCode and Kimi Code from Claude Code like Claude agents.", - "version": "2.2.2", + "version": "2.2.3", "author": { "name": "Libar" }, diff --git a/package-lock.json b/package-lock.json index 42db4ff8..cdf0537f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@libar-dev/relay-plugin-cc", - "version": "2.2.2", + "version": "2.2.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@libar-dev/relay-plugin-cc", - "version": "2.2.2", + "version": "2.2.3", "license": "Apache-2.0", "devDependencies": { "@types/node": "^25.5.0", diff --git a/package.json b/package.json index b2784843..10ef714a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@libar-dev/relay-plugin-cc", - "version": "2.2.2", + "version": "2.2.3", "private": true, "type": "module", "description": "Run jobs on Codex, Grok Build, ZCode and Kimi Code from Claude Code like Claude agents.", diff --git a/plugins/relay/.claude-plugin/plugin.json b/plugins/relay/.claude-plugin/plugin.json index 4c480e9f..5ae01e82 100644 --- a/plugins/relay/.claude-plugin/plugin.json +++ b/plugins/relay/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "relay", - "version": "2.2.2", + "version": "2.2.3", "description": "Run jobs on Codex, Grok Build, ZCode and Kimi Code from Claude Code like Claude agents.", "author": { "name": "Libar" diff --git a/plugins/relay/CHANGELOG.md b/plugins/relay/CHANGELOG.md index 82f8fc66..fa0a789d 100644 --- a/plugins/relay/CHANGELOG.md +++ b/plugins/relay/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 2.2.3 (2026-11-03) + +- The `relay:jobs` skill says up front that a running job can be steered. Its description, which + Claude sees before loading the skill, and its first lines say that `SendMessage` joins the running + turn (on Kimi, the next turn), continues the same session after the job ends, and that the message + `cancel` cancels it. This was documented only in a table near the end of the skill, so agents + using relay often did not know a job could be steered. + ## 2.2.2 (2026-11-03) 2.x is the final Relay line and takes bug fixes only. diff --git a/plugins/relay/skills/jobs/SKILL.md b/plugins/relay/skills/jobs/SKILL.md index 0c937874..67a9e60d 100644 --- a/plugins/relay/skills/jobs/SKILL.md +++ b/plugins/relay/skills/jobs/SKILL.md @@ -1,6 +1,6 @@ --- name: jobs -description: "Run jobs on Codex, Grok Build, ZCode and Kimi Code from Claude Code like Claude agents, as a `relay:job` agent or from a workflow script. Load it before launching or messaging such an agent, and before running `companion` commands yourself." +description: "Run jobs on Codex, Grok Build, ZCode and Kimi Code from Claude Code like Claude agents, as a `relay:job` agent or from a workflow script. A running job can be steered: `SendMessage` to its agent joins the running turn (on Kimi, the next turn), continues the same session after the job ends, and the message `cancel` cancels it. Load it before launching or messaging such an agent, and before running `companion` commands yourself." --- # Job agents @@ -11,6 +11,8 @@ A `relay:job` agent runs one job and returns the job report verbatim. Launch it Agent({ subagent_type: "relay:job", description: "<3-5 words>", prompt: "
\n---\n", run_in_background: true }) ``` +Steer it while it works, as you would a Claude agent. `SendMessage` to the agent joins the job's running turn (on Kimi it becomes the next turn). After the job ends, a message starts a new turn on the same session and the agent returns the new report. The message `cancel` cancels the job. To change a job's direction, message it rather than stopping it and starting another. [Talking to a running or finished job](#talking-to-a-running-or-finished-job) has the details. + ## Relay or a T3 Code delegate Relay complements T3 Code and replaces none of its features. In a T3 thread, T3's own threads, delegates and task tracking come first; relay carries the jobs they cannot.