Skip to content

Add ECA (Editor Code Assistant) harness support#1686

Open
lockie wants to merge 1 commit into
obra:devfrom
lockie:add-eca-harness-support
Open

Add ECA (Editor Code Assistant) harness support#1686
lockie wants to merge 1 commit into
obra:devfrom
lockie:add-eca-harness-support

Conversation

@lockie

@lockie lockie commented Jun 5, 2026

Copy link
Copy Markdown

What problem are you trying to solve?

ECA (Editor Code Assistant) is an open-source AI pair programming tool (https://eca.dev) with a plugin system that supports skills, hooks, MCP servers, and agents. Users running ECA had no way to use Superpowers — the plugin system is compatible, but Superpowers lacked the .eca-plugin/ directory structure and hook definitions that ECA needs to discover and load the plugin.

What does this PR change?

Adds ECA as a supported harness by introducing a .eca-plugin/ directory with marketplace metadata, a chatStart hook that injects the using-superpowers bootstrap skill content at session start, and symlinks to the existing skills directory. Also adds an ECA tool-mapping reference and install documentation.

Is this change appropriate for the core library?

Yes. ECA is a general-purpose coding agent, not a project-specific or domain-specific tool. This adds a new harness integration using the same pattern as existing harnesses (Claude Code, Codex, Cursor, etc.). Skills, bootstrap injection, and tool mapping are general-purpose — they benefit anyone using ECA regardless of project type.

What alternatives did you consider?

  • Submitting to the eca-plugins marketplace repo only: The official eca-plugins repo already has a lobotomized plugins/superpowers entry with skills only (no hooks). Adding hooks there would be a separate process and wouldn't give users the full Superpowers experience (no bootstrap injection). Hosting the plugin from the Superpowers repo itself gives users the complete integration.
  • Requiring manual config in user's config.json hooks section: Could work but would require every user to manually configure the hook, which is error-prone and doesn't match the install experience of other harnesses.

Does this PR contain multiple unrelated changes?

No. All changes are part of a single new-harness integration.

Existing PRs

  • I have reviewed all open AND closed PRs for duplicates or prior art
  • Related PRs: none found

Environment tested

Harness Harness version Model Model version/ID
ECA 0.138.1 GLM-5.1 (Coding Plan) zai-coding-plan/glm-5.1

New harness support (required if this PR adds a new harness)

Clean-session transcript for "Let's make a react todo list"
Let's make a react todo list

I'll help you create a React todo list! Since this is a creative development task, I need to use the appropriate skills to guide our approach.
Loading skill 'superpowers:brainstorming' ✅ 0s


I'm using the brainstorming skill to help design your React todo list properly before we start building.
Listing tree: test ✅ 0s


Great! I can see this is a fresh project. Let me ask you some questions to understand what you're building.

**First question:** What's the primary purpose of this todo list? Is it:

A) A learning/experimental project to understand React basics
B) A fully functional personal todo app you plan to actually use
C) A portfolio/demo project to show others
D) Something else?

Evaluation

  • Initial prompt: "Add ECA harness support to superpowers"
  • Eval sessions: 2 (initial plugin setup + debugging hooks.json format, then clean verification session)
  • Outcomes: brainstorming skill auto-triggers correctly at session start via chatStart hook

Rigor

  • If this is a skills change: I used superpowers:writing-skills and completed adversarial pressure testing (paste results below)
  • This change was tested adversarially, not just on the happy path
  • I did not modify carefully-tuned content (Red Flags table, rationalizations, "human partner" language) without extensive evals showing the change is an improvement

No skills content was modified. Only infrastructure files were added/changed: plugin directory structure, hook definitions, tool mapping reference, and documentation.

Human review

  • A human has reviewed the COMPLETE proposed diff before submission

Authoring environment disclosure

  • Model: GLM-5.1 (Coding Plan) via zai-coding-plan
  • Harness: ECA 0.138.1
  • Harness version: 0.138.1
  • Installed plugins: context-mode

🤖 Generated with ECA (zai-coding-plan/glm-5.1)

Co-Authored-By: eca-agent git@eca.dev

- Added .eca-plugin/ directory with marketplace.json, hooks, and skills
- chatStart hook injects using-superpowers skill content at session start
- session-start script updated to handle ECA's hook output format
- SKILL.md updated with eca__skill tool and eca-tools.md reference
- README.md updated with ECA quickstart section
- Added docs/README.eca.md with detailed ECA installation/troubleshooting guide

🤖 Generated with [ECA](https://eca.dev) (zai-coding-plan/glm-5.1)

Co-Authored-By: eca-agent <git@eca.dev>
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.

1 participant