From 18a490056fb1dda44feb55c055378c312498e83a Mon Sep 17 00:00:00 2001 From: Roberto Cano <3525807+robercano@users.noreply.github.com> Date: Thu, 9 Jul 2026 08:25:42 +0200 Subject: [PATCH] fix(commands): remove setup-orchestrator/sync-orchestrator pointer stubs (#88) Both were legacy pointer stubs that just redirected to the already-existing /orchestrator:setup and /orchestrator:sync skills. Delete the duplicated stub files, drop them from the plugin.json commands allowlist, and update docs (README, PROMPTS.md, MIGRATION.md) to reference the skills directly. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01FAt95dUGgT29goWKogFe8Z --- .claude/.claude-plugin/README.md | 2 +- .claude/.claude-plugin/plugin.json | 2 -- .claude/commands/setup-orchestrator.md | 10 ---------- .claude/commands/sync-orchestrator.md | 12 ------------ docs/MIGRATION.md | 2 +- docs/PROMPTS.md | 4 ++-- 6 files changed, 4 insertions(+), 28 deletions(-) delete mode 100644 .claude/commands/setup-orchestrator.md delete mode 100644 .claude/commands/sync-orchestrator.md diff --git a/.claude/.claude-plugin/README.md b/.claude/.claude-plugin/README.md index 8707c72..ba4210a 100644 --- a/.claude/.claude-plugin/README.md +++ b/.claude/.claude-plugin/README.md @@ -6,7 +6,7 @@ that ship to downstream installs are what runs the live self-hosted PR loop here ## Dual command invocation - **In-repo (dogfooding):** commands run as project-level slash commands, e.g. `/pr-loop`, - `/harden`, `/setup-orchestrator`, `/sync-orchestrator`, `/test-pr`. + `/harden`, `/test-pr`. - **Installed as a plugin:** Claude Code auto-namespaces commands under the plugin `name` (`orchestrator`), so the same commands become `/orchestrator:pr-loop`, `/orchestrator:harden`, etc. No file renames are needed for this — the namespace comes diff --git a/.claude/.claude-plugin/plugin.json b/.claude/.claude-plugin/plugin.json index 99d82e4..5b7e3d1 100644 --- a/.claude/.claude-plugin/plugin.json +++ b/.claude/.claude-plugin/plugin.json @@ -6,8 +6,6 @@ "commands": [ "./commands/harden.md", "./commands/pr-loop.md", - "./commands/setup-orchestrator.md", - "./commands/sync-orchestrator.md", "./commands/test-pr.md" ] } diff --git a/.claude/commands/setup-orchestrator.md b/.claude/commands/setup-orchestrator.md deleted file mode 100644 index 6256dcb..0000000 --- a/.claude/commands/setup-orchestrator.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -description: Interactive full onboarding — interview the user, then write .claude/gates.json + CLAUDE.md, fix gitignore, create module:* labels, verify the bot, confirm CI gates, and offer to arm the PR loop and hardening. Brings a fresh project to a working autonomous state. ---- - -This onboarding flow now lives in the `/orchestrator:setup` skill (`.claude/skills/setup/SKILL.md`), which -also scaffolds the files a plugin can't carry into the repo for you (`.claude/gates.json`, `CLAUDE.md`, -`.claude/workflows/feature-fanout.js`, and the CI gate workflow) via `.claude/skills/setup/scaffold.sh`. - -Run `/orchestrator:setup` — it does everything this command used to do, plus the scaffolding step. This -file is kept as a pointer so `/setup-orchestrator` still resolves for anyone used to the old name. diff --git a/.claude/commands/sync-orchestrator.md b/.claude/commands/sync-orchestrator.md deleted file mode 100644 index 48b8fc0..0000000 --- a/.claude/commands/sync-orchestrator.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -description: Re-stamp MANAGED files after a plugin update — reconciles scaffolded workflow/CI files in an already-onboarded repo using the version markers `/orchestrator:setup` writes, without ever touching user-owned files. ---- - -This reconcile flow lives in the `/orchestrator:sync` skill (`.claude/skills/sync/SKILL.md`), which compares -the version markers already scaffolded by `/orchestrator:setup` against the versions the current plugin -ships, and re-stamps anything that's behind — while flagging local edits instead of clobbering them — via -`.claude/skills/sync/sync.sh`. - -Run `/orchestrator:sync` after updating the orchestrator plugin, whenever you want managed files (like -`.claude/workflows/feature-fanout.js`) brought up to date with the version the plugin now carries. This file -is kept as a pointer so `/sync-orchestrator` still resolves for anyone used to the old name. diff --git a/docs/MIGRATION.md b/docs/MIGRATION.md index b406938..8d6882c 100644 --- a/docs/MIGRATION.md +++ b/docs/MIGRATION.md @@ -12,7 +12,7 @@ If you haven't installed the plugin yet, do that first — see [`GETTING_STARTED Remove the copied harness that the plugin now carries — it's generic, not project-specific, and staying on a frozen copy means you never get fixes/improvements: - `.claude/agents/` — orchestrator, implementer, reviewer, test-runner. -- `.claude/commands/` — `pr-loop.md`, `harden.md`, `setup-orchestrator.md`, `test-pr.md`, etc. (they resolve +- `.claude/commands/` — `pr-loop.md`, `harden.md`, `test-pr.md`, etc. (they resolve as namespaced `/orchestrator:*` commands once the plugin is enabled). Note: `pr-loop-self.md` is **not** among these — it lives under `.claude/self/` (not `.claude/commands/`) and is not plugin-distributed; see `.claude/self/README.md` if your repo has a self-hosting setup of its own. diff --git a/docs/PROMPTS.md b/docs/PROMPTS.md index e09e8c7..5d63a09 100644 --- a/docs/PROMPTS.md +++ b/docs/PROMPTS.md @@ -2,13 +2,13 @@ Copy-paste these into Claude Code. The first two populate the files you must fill; the rest drive day-to-day work. -> **Shortcut:** the **`/setup-orchestrator`** command runs an interactive interview that covers prompts 1–2 +> **Shortcut:** the **`/orchestrator:setup`** command runs an interactive interview that covers prompts 1–2 > (draft `CLAUDE.md`, fill `gates.json`) *and* the rest of onboarding (labels, bot check, CI, arming the loop, > hardening). Use it for a fresh project; reach for the individual prompts below when you want to redo one piece. > > **Brand-new project?** Read the **[new-project configuration > checklist](GETTING_STARTED.md#new-project-configuration-checklist)** and **[USAGE.md → "Autonomous loop & -> the issue queue"](USAGE.md#autonomous-loop--the-issue-queue)** first — they explain what `/setup-orchestrator` +> the issue queue"](USAGE.md#autonomous-loop--the-issue-queue)** first — they explain what `/orchestrator:setup` > (and prompts 1–2 below) are actually wiring up, and the one convention that trips people up: only issues > labelled `module:*` are ever picked up automatically.