Fully-qualify kickoff's /continue → /work-system:continue#44
Merged
Conversation
gering
force-pushed
the
task/fix-kickoff-continue-shadowing
branch
from
July 21, 2026 14:27
6377f89 to
7b1d3ff
Compare
A Claude Code built-in/alias `/continue` can shadow the work-system plugin skill, and plugin skills are only guaranteed reachable via their `plugin:skill` namespace. So a `/kickoff`-launched worker running the bare `/continue` in a fresh worktree ran CC's own resume (nothing to resume → idle, TASK.md never loaded) instead of the work-system resume flow, breaking the kickoff→worker handoff. Switch every machine-generated launch invocation to the plugin-qualified `/work-system:continue`, which resolves unambiguously and can't be shadowed: - agent-registry.sh emit_argv (the selector path) + its argv-shape comment - herdr-launch.sh legacy no-selector fallback + header comment - kickoff/adopt SKILL.md outside-herdr manual launch blocks - kickoff's "suggest /continue" hint when run inside a worktree - README launch examples (root + work-system) Tests lock in the qualified argv: test_agent_registry.py asserts emit_argv's shape, and test_herdr_launch.py now asserts the legacy no-selector worker argv is `claude -n <session> /work-system:continue` (one token, no bare form). Human-typed reopen instructions (continue SKILL description, README reopen section) updated to the qualified form too, since the bare command is what the built-in shadows. Knowledge (herdr-kickoff-automation) gains a dedicated shadowing gotcha with the verified CC finding and the plugin-cache deployment caveat; CHANGELOG entry added; work-system bumped 1.9.1 → 1.9.2. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0189f7ewkgmdN1xgWBLJM1J2
gering
force-pushed
the
task/fix-kickoff-continue-shadowing
branch
from
July 21, 2026 14:30
7b1d3ff to
96d950a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
/continuecan shadow the work-system plugin skill, and plugin skills are only guaranteed reachable via theirplugin:skillnamespace. So a/kickoff-launched Claude worker running the bare/continuein a fresh worktree ran CC's own resume (nothing to resume → idle,TASK.mdnever loaded) instead of the work-system resume flow — breaking the core kickoff→worker handoff (P1)./work-system:continue, which resolves unambiguously and can't be shadowed.Changes
agent-registry.shemit_argv(the primary selector path) + its argv-shape header commentherdr-launch.shlegacy no-selector fallback + header commentkickoff/SKILL.mdoutside-herdr manual launch blockadopt/SKILL.mdoutside-herdr manual launch block (same bug, not originally enumerated)test_agent_registry.pyasserts the argv ends in/work-system:continue.continue/SKILL.mddescription + README reopen section updated to the qualified form (that bare command is what the built-in shadows); casual skill-name mentions left readable.herdr-kickoff-automation.mdgains a dedicated shadowing gotcha (verified CC finding + plugin-cache deployment caveat); CHANGELOG entry added.Verified CC finding
No documented built-in
/continueslash command exists, but per CC's own docs plugin skills are only guaranteed reachable via theplugin:skillnamespace — the bare form is not reliable. The exact mechanism (built-in shadow vs. namespace-only resolution) is CC-version-dependent; the fix is orthogonal, since/work-system:continueis the one unshadowable invocation.Deployment note
agent-registry.sh/herdr-launch.shrun from the plugin cache, not the repo, so live launches only pick up this fix after a/pluginmarketplace update + reload refreshes the cache.Readiness
Test plan
python3 plugins/work-system/scripts/test_agent_registry.py→ all pass (asserts qualified argv)python3 scripts/check-structure.py→ 0 errors/kickoffa Claude worker → the tab runs/work-system:continueand loads TASK.md🤖 Generated with Claude Code