fix(skill): name sendmark's workers by class, not a partial mode list

sendmark's comment and verbs.md 5.5 listed six external modes by name,
and test/agent-skill-mode-lists.test.ts refuses any partial list of them
(the one a ninth CLI would silently miss). Both now say what the class
is: a hook-less claude, a worker on the local model, and every external
agent mode but deepseek.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Codeman maintainer committed 2026-11-08 08:24:14 +01:00
1 parent 0aa34da80f
commit 5a9de1bc4c
6 files changed
+10 -10

No files matched your search

+2 -2
View File
@@ -557,8 +557,8 @@ sendwait() {
printf '%s\n' "$r"
}
# sendmark <sid> <prompt> [timeoutSec] -> one JSON line, for an AGENT worker with no
# end-of-turn signal: a `local` worker whose agent is not claude, and opencode, gemini, pi,
# grok, omp, copilot or a hook-less claude (a shell worker takes §5.5's echo form instead):
# end-of-turn signal: a `local` worker whose agent is not claude, a hook-less claude, and
# every external agent mode but deepseek (a shell worker takes §5.5's echo form instead):
# {"token":…,"delivered":true,"matched":true,"answerFile":"<path>","answer":"<text>",…}
# rc 0: the marker printed and the answer file was read. 2: no marker within the timeout
# (default 600 s; the worker may still be working, so nothing is deleted). 3: the worker's
+2 -2
View File
@@ -419,8 +419,8 @@ sendwait() {
printf '%s\n' "$r"
}
# sendmark <sid> <prompt> [timeoutSec] -> one JSON line, for an AGENT worker with no
# end-of-turn signal: a `local` worker whose agent is not claude, and opencode, gemini, pi,
# grok, omp, copilot or a hook-less claude (a shell worker takes §5.5's echo form instead):
# end-of-turn signal: a `local` worker whose agent is not claude, a hook-less claude, and
# every external agent mode but deepseek (a shell worker takes §5.5's echo form instead):
# {"token":…,"delivered":true,"matched":true,"answerFile":"<path>","answer":"<text>",…}
# rc 0: the marker printed and the answer file was read. 2: no marker within the timeout
# (default 600 s; the worker may still be working, so nothing is deleted). 3: the worker's
@@ -485,7 +485,7 @@ snippet carries the exit code back to you.
For a **claude** worker with no hooks, ask for the marker in halves in the prompt
itself ("print the word WORKDONE immediately followed by `_<token>`") for the same
reason, and match the joined token. For any **agent** worker without `stop` (a hook-less
claude, opencode, gemini, pi, grok, omp, copilot, a worker on the local model), the
claude, a worker on the local model, every external agent mode but deepseek), the
preamble's `sendmark <sid> "<prompt>"` is exactly that in one call, and also asks for the
answer in a file it reads back: [§5.16](#516-a-worker-on-the-local-model). ⚠️ Against a TUI, match a single space-free token:
a full-screen TUI positions text with cursor movements rather than literal spaces, so
+2 -2
View File
@@ -557,8 +557,8 @@ sendwait() {
printf '%s\n' "$r"
}
# sendmark <sid> <prompt> [timeoutSec] -> one JSON line, for an AGENT worker with no
# end-of-turn signal: a `local` worker whose agent is not claude, and opencode, gemini, pi,
# grok, omp, copilot or a hook-less claude (a shell worker takes §5.5's echo form instead):
# end-of-turn signal: a `local` worker whose agent is not claude, a hook-less claude, and
# every external agent mode but deepseek (a shell worker takes §5.5's echo form instead):
# {"token":…,"delivered":true,"matched":true,"answerFile":"<path>","answer":"<text>",…}
# rc 0: the marker printed and the answer file was read. 2: no marker within the timeout
# (default 600 s; the worker may still be working, so nothing is deleted). 3: the worker's
+2 -2
View File
@@ -419,8 +419,8 @@ sendwait() {
printf '%s\n' "$r"
}
# sendmark <sid> <prompt> [timeoutSec] -> one JSON line, for an AGENT worker with no
# end-of-turn signal: a `local` worker whose agent is not claude, and opencode, gemini, pi,
# grok, omp, copilot or a hook-less claude (a shell worker takes §5.5's echo form instead):
# end-of-turn signal: a `local` worker whose agent is not claude, a hook-less claude, and
# every external agent mode but deepseek (a shell worker takes §5.5's echo form instead):
# {"token":…,"delivered":true,"matched":true,"answerFile":"<path>","answer":"<text>",…}
# rc 0: the marker printed and the answer file was read. 2: no marker within the timeout
# (default 600 s; the worker may still be working, so nothing is deleted). 3: the worker's
+1 -1
View File
@@ -485,7 +485,7 @@ snippet carries the exit code back to you.
For a **claude** worker with no hooks, ask for the marker in halves in the prompt
itself ("print the word WORKDONE immediately followed by `_<token>`") for the same
reason, and match the joined token. For any **agent** worker without `stop` (a hook-less
claude, opencode, gemini, pi, grok, omp, copilot, a worker on the local model), the
claude, a worker on the local model, every external agent mode but deepseek), the
preamble's `sendmark <sid> "<prompt>"` is exactly that in one call, and also asks for the
answer in a file it reads back: [§5.16](#516-a-worker-on-the-local-model). ⚠️ Against a TUI, match a single space-free token:
a full-screen TUI positions text with cursor movements rather than literal spaces, so