feat: salvage plan orchestration workflow#1766
Conversation
|
ECC bundle files are already tracked in this repository. Skipping generation of another bundle PR. |
📝 WalkthroughWalkthroughThis PR introduces the ChangesPlan-Orchestrate Skill Introduction
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@skills/plan-orchestrate/SKILL.md`:
- Around line 24-25: The manifest allows "--lang=flutter" and references
"flutter-reviewer", but that reviewer agent isn't available and will create
invalid /orchestrate chains; either remove "--lang=flutter" from the allowed
language flag list and any references to "flutter-reviewer" (e.g., the language
mapping and reviewer lists), or replace them with the correct shipped reviewer
name for Flutter; update every occurrence of "--lang=flutter" and
"flutter-reviewer" in SKILL.md (including the language flag example, the
reviewer mapping, and any orchestration examples) so the CLI flag and
/orchestrate chains only reference supported reviewer agents.
- Around line 53-54: Replace the hardcoded "everything-claude-code" namespace
used for plugin commands in SKILL.md with the actual ECC namespace "ecc" so
plugin-mode commands resolve correctly: update occurrences of
"/everything-claude-code:orchestrate" to "/ecc:orchestrate" and
"everything-claude-code:<name>" to "ecc:<name>" (also fix the same instances
noted around lines 163-164 and 244-245), ensuring both the slash-prefixed
command forms and the agent prefix forms use "ecc".
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 2ff1c19c-e5bc-4a8b-afd2-cc6737522542
📒 Files selected for processing (11)
.claude-plugin/marketplace.json.claude-plugin/plugin.json.codex-plugin/plugin.jsonAGENTS.mdREADME.mdREADME.zh-CN.mdagent.yamldocs/zh-CN/AGENTS.mddocs/zh-CN/README.mdmcp-configs/mcp-servers.jsonskills/plan-orchestrate/SKILL.md
| <plan-doc-path> [--lang=python|typescript|go|rust|cpp|java|kotlin|flutter|auto] [--scope=all|step:<n>|range:<a>-<b>] [--dry-run] | ||
| ``` |
There was a problem hiding this comment.
--lang=flutter currently resolves to an unavailable reviewer agent.
Line 24 allows --lang=flutter, and Line 79 lists flutter-reviewer, but that agent is not present in the provided ECC agent surfaces. This will generate invalid /orchestrate chains for Flutter steps.
Suggested fix (if Flutter reviewer is not actually shipped)
-<plan-doc-path> [--lang=python|typescript|go|rust|cpp|java|kotlin|flutter|auto] ...
+<plan-doc-path> [--lang=python|typescript|go|rust|cpp|java|kotlin|auto] ...
...
-- `python-reviewer` / `typescript-reviewer` / `go-reviewer` / `rust-reviewer` / `cpp-reviewer` / `java-reviewer` / `kotlin-reviewer` / `flutter-reviewer`
+- `python-reviewer` / `typescript-reviewer` / `go-reviewer` / `rust-reviewer` / `cpp-reviewer` / `java-reviewer` / `kotlin-reviewer`Also applies to: 79-80, 141-143
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@skills/plan-orchestrate/SKILL.md` around lines 24 - 25, The manifest allows
"--lang=flutter" and references "flutter-reviewer", but that reviewer agent
isn't available and will create invalid /orchestrate chains; either remove
"--lang=flutter" from the allowed language flag list and any references to
"flutter-reviewer" (e.g., the language mapping and reviewer lists), or replace
them with the correct shipped reviewer name for Flutter; update every occurrence
of "--lang=flutter" and "flutter-reviewer" in SKILL.md (including the language
flag example, the reviewer mapping, and any orchestration examples) so the CLI
flag and /orchestrate chains only reference supported reviewer agents.
| | Plugin install (1.9.0+) | `<claude-home>/plugins/marketplaces/everything-claude-code/` exists | `/everything-claude-code:orchestrate` | `everything-claude-code:<name>` | | ||
| | Legacy bare install | Above absent; agent files under `<claude-home>/agents/` | `/orchestrate` | `<name>` | |
There was a problem hiding this comment.
Use the actual ECC plugin namespace for orchestrate and agent prefixes.
Line 53/Line 163 hardcode everything-claude-code as namespace, but the repo docs expose plugin commands under ecc (e.g., /ecc:...). If this stays, plugin-mode output commands can fail to resolve.
Suggested fix
-| Plugin install (1.9.0+) | `<claude-home>/plugins/marketplaces/everything-claude-code/` exists | `/everything-claude-code:orchestrate` | `everything-claude-code:<name>` |
+| Plugin install (1.9.0+) | `<claude-home>/plugins/marketplaces/everything-claude-code/` exists | `/ecc:orchestrate` | `ecc:<name>` |
...
-- `{ORCH_CMD}` = `/everything-claude-code:orchestrate` under `plugin`, `/orchestrate` under `legacy`.
-- `{AGENT(name)}` = `everything-claude-code:<name>` under `plugin`, `<name>` under `legacy`.
+- `{ORCH_CMD}` = `/ecc:orchestrate` under `plugin`, `/orchestrate` under `legacy`.
+- `{AGENT(name)}` = `ecc:<name>` under `plugin`, `<name>` under `legacy`.
...
-/everything-claude-code:orchestrate custom "everything-claude-code:tdd-guide,everything-claude-code:database-reviewer,everything-claude-code:python-reviewer,everything-claude-code:security-reviewer" "[Plan: docs/plan/example-feature.md#step-2] ..."
+/ecc:orchestrate custom "ecc:tdd-guide,ecc:database-reviewer,ecc:python-reviewer,ecc:security-reviewer" "[Plan: docs/plan/example-feature.md#step-2] ..."Also applies to: 163-164, 244-245
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@skills/plan-orchestrate/SKILL.md` around lines 53 - 54, Replace the hardcoded
"everything-claude-code" namespace used for plugin commands in SKILL.md with the
actual ECC namespace "ecc" so plugin-mode commands resolve correctly: update
occurrences of "/everything-claude-code:orchestrate" to "/ecc:orchestrate" and
"everything-claude-code:<name>" to "ecc:<name>" (also fix the same instances
noted around lines 163-164 and 244-245), ensuring both the slash-prefixed
command forms and the agent prefix forms use "ecc".
Greptile SummaryThis PR salvages two useful closed community PRs — adding the
Confidence Score: 4/5Safe to merge — changes are additive documentation and configuration only; no runtime code or breaking changes. The skill's agent catalogue omits swift-reviewer, swift-build-resolver, csharp-reviewer, dart-build-resolver, and mle-reviewer, which are all real agents in the repo. Users running the skill against Swift, C#, or ML-focused plans will get a generic code-reviewer fallback without any indication that a more specialized agent exists. There is also an underspecified edge case in Phase 2 where rules 2 and 3 both apply simultaneously. Neither issue affects existing functionality. skills/plan-orchestrate/SKILL.md — the agent catalogue and multi-tag composition rules could use a follow-up pass before the skill is widely promoted. Important Files Changed
|
There was a problem hiding this comment.
2 issues found across 11 files
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="skills/plan-orchestrate/SKILL.md">
<violation number="1" location="skills/plan-orchestrate/SKILL.md:53">
P1: Plugin-mode command and agent namespace are hardcoded to `everything-claude-code`, which conflicts with the repo’s canonical `ecc@ecc` / `/ecc:*` namespace and can generate non-working orchestrate commands.</violation>
<violation number="2" location="skills/plan-orchestrate/SKILL.md:142">
P2: Build-chain resolution produces an invalid agent for Flutter (`flutter-build-resolver`). Add an explicit Flutter mapping (e.g., to `dart-build-resolver`) or fallback to `build-error-resolver`.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
|
|
||
| | Form | Detection | `{ORCH_CMD}` | Agent name format | | ||
| |---|---|---|---| | ||
| | Plugin install (1.9.0+) | `<claude-home>/plugins/marketplaces/everything-claude-code/` exists | `/everything-claude-code:orchestrate` | `everything-claude-code:<name>` | |
There was a problem hiding this comment.
P1: Plugin-mode command and agent namespace are hardcoded to everything-claude-code, which conflicts with the repo’s canonical ecc@ecc / /ecc:* namespace and can generate non-working orchestrate commands.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At skills/plan-orchestrate/SKILL.md, line 53:
<comment>Plugin-mode command and agent namespace are hardcoded to `everything-claude-code`, which conflicts with the repo’s canonical `ecc@ecc` / `/ecc:*` namespace and can generate non-working orchestrate commands.</comment>
<file context>
@@ -0,0 +1,262 @@
+
+| Form | Detection | `{ORCH_CMD}` | Agent name format |
+|---|---|---|---|
+| Plugin install (1.9.0+) | `<claude-home>/plugins/marketplaces/everything-claude-code/` exists | `/everything-claude-code:orchestrate` | `everything-claude-code:<name>` |
+| Legacy bare install | Above absent; agent files under `<claude-home>/agents/` | `/orchestrate` | `<name>` |
+
</file context>
| 3. `impl` + `db` → `tdd-guide,database-reviewer,<lang>-reviewer`. | ||
| 4. **Deduplicate** the resulting chain (preserve first occurrence). E.g. `review` + `lang=unknown` would yield `code-reviewer,code-reviewer` after rule 5; deduplication collapses it to `code-reviewer`. | ||
| 5. `<lang>-reviewer` resolves to `code-reviewer` when `lang=unknown`. | ||
| 6. `<lang>-build-resolver` resolves to `build-error-resolver` when `lang=unknown`. **Special case**: if Phase 0 set `pytorch=true`, use `pytorch-build-resolver` for `build` chains regardless of `<lang>`. There is no `python-build-resolver`; `--lang=python` without `pytorch=true` resolves to `build-error-resolver`. |
There was a problem hiding this comment.
P2: Build-chain resolution produces an invalid agent for Flutter (flutter-build-resolver). Add an explicit Flutter mapping (e.g., to dart-build-resolver) or fallback to build-error-resolver.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At skills/plan-orchestrate/SKILL.md, line 142:
<comment>Build-chain resolution produces an invalid agent for Flutter (`flutter-build-resolver`). Add an explicit Flutter mapping (e.g., to `dart-build-resolver`) or fallback to `build-error-resolver`.</comment>
<file context>
@@ -0,0 +1,262 @@
+3. `impl` + `db` → `tdd-guide,database-reviewer,<lang>-reviewer`.
+4. **Deduplicate** the resulting chain (preserve first occurrence). E.g. `review` + `lang=unknown` would yield `code-reviewer,code-reviewer` after rule 5; deduplication collapses it to `code-reviewer`.
+5. `<lang>-reviewer` resolves to `code-reviewer` when `lang=unknown`.
+6. `<lang>-build-resolver` resolves to `build-error-resolver` when `lang=unknown`. **Special case**: if Phase 0 set `pytorch=true`, use `pytorch-build-resolver` for `build` chains regardless of `<lang>`. There is no `python-build-resolver`; `--lang=python` without `pytorch=true` resolves to `build-error-resolver`.
+7. **Zero-tag steps**: if no trigger word matches, set chain to `code-reviewer` and write `no tag matched; default review-only chain` under "Chain rationale".
+8. Chain length ≤ 4 after deduplication. If exceeded, drop weakest tag (`lookup` and `docs` first).
</file context>
|
Hi @affaan-m — thanks for salvaging the plan-orchestrate skill from my closed PR #1603 into #1766, and for noting the lineage in docs/stale-pr-salvage-ledger.md. Really appreciate you keeping the work alive. One small request: would you be open to amending commit 9428f28 (or adding a follow-up commit) with a Co-Authored-By trailer so the original authorship shows up in git history and on the GitHub contributors list? Co-Authored-By: d0m999 koo1792@hotmail.com Totally understand if amending a merged commit is too much friction — even an empty follow-up commit with that trailer would be enough for GitHub to pick it up. Happy to open the PR myself if that's easier. Thanks again! |
|
Hey @affaan-m — Wynelson94 here, author of Longhand. Glad the MCP config from #1503 found a home in ECC alongside Happy to keep the entry accurate as the tool moves. Longhand's on PyPI and actively developed (currently v0.9.2); if Thanks for keeping the work alive. |
Summary
Salvages two useful closed community PRs into the current
mainsurface without carrying their stale branch conflicts forward.skills/plan-orchestrate/SKILL.mdfrom closed PR feat(commands): add /plan-orchestrate — generate /orchestrate prompts from plan docs #1603 so users can generate ready-to-paste/orchestrate customchains from plan documentslonghandMCP config from closed PR feat(mcp-configs): add longhand for lossless Claude Code session history #1503 as a lossless Claude Code session-history option alongsidememoryandomega-memorySource PRs
Validation
npm run catalog:checknode scripts/ci/validate-skills.jsnode tests/ci/agent-yaml-surface.test.jsmcp-configs/mcp-servers.jsonand.codex-plugin/plugin.jsongit diff --checknpm test-> 2285 passed, 0 failedNotes
Kept this to a low-risk salvage batch. Larger stale PRs such as HarmonyOS/ArkTS, F#, Quarkus, project initialization, statusline monitoring, and payment/x402 docs need separate focused passes.
Summary by cubic
Adds the
plan-orchestrateskill to turn plan docs into ready-to-paste/orchestrate customchains and adds thelonghandMCP server for lossless Claude Code session history. Syncs public counts to 54 agents / 207 skills / 70 commands.New Features
skills/plan-orchestrate: Decomposes plans into steps and emits one command per step; supports plugin/legacy prefixes; never executes commands.longhand: Optional server indexing raw session history; complementsmemoryandomega-memory.Migration
longhandwithpip install longhand && longhand setup.Written for commit b29431d. Summary will update on new commits.
Summary by CodeRabbit
New Features
plan-orchestrateskill.longhandMCP server configuration.Documentation