Skip to content

feat: salvage plan orchestration workflow#1766

Merged
affaan-m merged 1 commit into
mainfrom
codex/stale-pr-salvage-batch-1
May 12, 2026
Merged

feat: salvage plan orchestration workflow#1766
affaan-m merged 1 commit into
mainfrom
codex/stale-pr-salvage-batch-1

Conversation

@affaan-m

@affaan-m affaan-m commented May 12, 2026

Copy link
Copy Markdown
Owner

Summary

Salvages two useful closed community PRs into the current main surface without carrying their stale branch conflicts forward.

Source PRs

Validation

  • npm run catalog:check
  • node scripts/ci/validate-skills.js
  • node tests/ci/agent-yaml-surface.test.js
  • JSON parse check for mcp-configs/mcp-servers.json and .codex-plugin/plugin.json
  • git diff --check
  • npm test -> 2285 passed, 0 failed

Notes

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-orchestrate skill to turn plan docs into ready-to-paste /orchestrate custom chains and adds the longhand MCP 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.
    • MCP longhand: Optional server indexing raw session history; complements memory and omega-memory.
  • Migration

    • Optional: enable longhand with pip install longhand && longhand setup.

Written for commit b29431d. Summary will update on new commits.

Summary by CodeRabbit

  • New Features

    • Added new plan-orchestrate skill.
    • Introduced longhand MCP server configuration.
    • Skill count expanded from 206 to 207.
  • Documentation

    • Updated release notes, compatibility tables, and agent documentation.
    • Content synchronized across English and Chinese language versions with updated skill counts.

Review Change Stack

- add plan-orchestrate skill from closed PR #1603

- add Longhand MCP config from closed PR #1503

- sync catalog counts to 54 agents, 207 skills, 70 commands
@ecc-tools

ecc-tools Bot commented May 12, 2026

Copy link
Copy Markdown
Contributor

ECC bundle files are already tracked in this repository. Skipping generation of another bundle PR.

@coderabbitai

coderabbitai Bot commented May 12, 2026

Copy link
Copy Markdown
Contributor
📝 Walkthrough

Walkthrough

This PR introduces the plan-orchestrate skill, which generates ready-to-paste /orchestrate custom invocations for multi-step plans. The skill is registered, fully specified with a multi-phase processing pipeline, backed by MCP infrastructure, and integrated into plugin manifests and documentation across English and Chinese locales. The skill count increments from 206 to 207 throughout the ecosystem.

Changes

Plan-Orchestrate Skill Introduction

Layer / File(s) Summary
Skill Registration
agent.yaml
New plan-orchestrate skill added to the skills array.
Skill Specification
skills/plan-orchestrate/SKILL.md
Complete 262-line specification: defines activation criteria, CLI flags (--lang, --scope, --dry-run), ECC install mode detection (plugin vs legacy), authoritative agent catalogue, and five-phase pipeline (Phase 0: detection; Phase 1/2: decomposition, tagging, composition; Phase 3: task description constraints; Phase 4: Markdown rendering; Phase 5: validation checklist). Includes edge cases and plugin/legacy output examples.
MCP Infrastructure
mcp-configs/mcp-servers.json
Configures longhand MCP server with command longhand mcp-server for lossless Claude Code session history indexing.
Plugin Manifests
.claude-plugin/marketplace.json, .claude-plugin/plugin.json, .codex-plugin/plugin.json
Updates description strings across three plugin manifests to reflect 207 skills (206 → 207; .codex-plugin/plugin.json updates both top-level description and interface.shortDescription).
Documentation
AGENTS.md, README.md, README.zh-CN.md, docs/zh-CN/AGENTS.md, docs/zh-CN/README.md
Synchronizes skill count to 207 across release notes, quick-start confirmations, feature parity tables, and project structure documentation in English and Chinese.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

Poem

🐰 A brand new skill hops into place,
Plan-Orchestrate joins the race!
Two-oh-seven strong, the counts align,
Plugin, longhand—infrastructure so fine.
Docs bloom in two tongues, the ecosystem shines!
🎯✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'feat: salvage plan orchestration workflow' directly corresponds to the main objective: salvaging content from closed PRs, specifically the new plan-orchestrate skill that enables generating /orchestrate custom chains from plan documents.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/stale-pr-salvage-batch-1

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between 20d8629 and b29431d.

📒 Files selected for processing (11)
  • .claude-plugin/marketplace.json
  • .claude-plugin/plugin.json
  • .codex-plugin/plugin.json
  • AGENTS.md
  • README.md
  • README.zh-CN.md
  • agent.yaml
  • docs/zh-CN/AGENTS.md
  • docs/zh-CN/README.md
  • mcp-configs/mcp-servers.json
  • skills/plan-orchestrate/SKILL.md

Comment on lines +24 to +25
<plan-doc-path> [--lang=python|typescript|go|rust|cpp|java|kotlin|flutter|auto] [--scope=all|step:<n>|range:<a>-<b>] [--dry-run]
```

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

--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.

Comment on lines +53 to +54
| 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>` |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

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-apps

greptile-apps Bot commented May 12, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR salvages two useful closed community PRs — adding the plan-orchestrate skill (decomposes plan documents into ready-to-paste /orchestrate custom chains) and the longhand MCP config (lossless session history via SQLite + ChromaDB) — and syncs all catalog counts to 207 skills across plugin manifests and docs.

  • skills/plan-orchestrate/SKILL.md: New 262-line skill with 5-phase pipeline (detect ECC mode → decompose steps → tag & pick agent chains → compress task descriptions → emit). Supports plugin vs. legacy ECC install detection, polyglot language detection, scoped output, and edge-case handling for large or unstructured plans.
  • mcp-configs/mcp-servers.json: Adds longhand entry alongside the existing memory and omega-memory options; no env vars required, install instructions embedded in the description field.
  • Metadata/docs: Consistent 206 → 207 skill count update across .claude-plugin/, .codex-plugin/, AGENTS.md, README.md, README.zh-CN.md, docs/zh-CN/, and agent.yaml.

Confidence Score: 4/5

Safe 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

Filename Overview
skills/plan-orchestrate/SKILL.md New skill bridging plan documents to /orchestrate chains; agent catalogue is incomplete (missing swift-reviewer, swift-build-resolver, csharp-reviewer, mle-reviewer) and triple-tag chain composition rules leave an ambiguity the example silently resolves
mcp-configs/mcp-servers.json Adds longhand MCP entry with bare command, no version pinning; consistent with most other entries in the file
agent.yaml Adds plan-orchestrate skill in correct alphabetical position
.claude-plugin/plugin.json Description count updated from 206 to 207 skills
.codex-plugin/plugin.json Skill count updated from 200 to 207; the larger jump vs other files suggests the codex plugin count was previously stale
AGENTS.md Skill counts updated from 206 to 207 in two places
README.md Count updated from 206 to 207 in four places across install instructions and comparison tables

Comments Outside Diff (2)

  1. skills/plan-orchestrate/SKILL.md, line 266-289 (link)

    P2 Catalogue missing several first-class agents

    The agents directory contains swift-reviewer, swift-build-resolver, csharp-reviewer, dart-build-resolver, and mle-reviewer, all of which are absent from this catalogue. Because the skill constrains itself to "must pick from these", plans for Swift, C#, or ML/AI pipelines will silently fall back to code-reviewer with no explanation. mle-reviewer is particularly notable since it's explicitly listed in AGENTS.md as a first-class production agent. The --lang input spec also has no swift or csharp options, so even manually specifying those languages would produce lang=unknown and the same generic fallback.

  2. skills/plan-orchestrate/SKILL.md, line 343-354 (link)

    P2 Triple-tag chain composition path is underspecified

    When a step matches impl + security + db simultaneously, rules 2 and 3 both apply as "explicit combinations" — but the rules don't say which wins, or how the third tag is folded in. Example 1 silently resolves this as tdd-guide,database-reviewer,python-reviewer,security-reviewer (rule 3 chain + security appended), but a reader following only the prose would equally plausibly produce tdd-guide,python-reviewer,security-reviewer (rule 2) with database-reviewer appended after security-reviewer, violating rule 10's "most domain-specific reviewer at tail" constraint. Adding a rule 2.5 or an explicit note covering when both rule 2 and rule 3 match would remove the ambiguity.

Reviews (1): Last reviewed commit: "feat: salvage plan orchestrate workflow" | Re-trigger Greptile

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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>` |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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`.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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>

@affaan-m affaan-m merged commit 9428f28 into main May 12, 2026
40 checks passed
@affaan-m affaan-m deleted the codex/stale-pr-salvage-batch-1 branch May 12, 2026 00:40
@affaan-m affaan-m mentioned this pull request May 12, 2026
4 tasks
@d0m999

d0m999 commented May 15, 2026

Copy link
Copy Markdown

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!

@Wynelson94

Copy link
Copy Markdown

Hey @affaan-m — Wynelson94 here, author of Longhand. Glad the MCP config from #1503 found a home in ECC alongside memory / omega-memory — verbatim recall is exactly the slot it's built for, and the description carried over cleanly.

Happy to keep the entry accurate as the tool moves. Longhand's on PyPI and actively developed (currently v0.9.2); if command/args or the install line ever drift, ping me or I'll send a small PR. And if there's an MCP-side capability ECC wants surfaced, glad to help.

Thanks for keeping the work alive.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants