From daf0f60da4811556bec1a2205ecf1bdcc385e4fe Mon Sep 17 00:00:00 2001 From: rabbitblood Date: Mon, 13 Apr 2026 21:30:47 -0700 Subject: [PATCH 1/2] =?UTF-8?q?chore(template):=20wire=20plugins=20?= =?UTF-8?q?=E2=80=94=20ecc/molecule-dev/superpowers=20default=20+=20browse?= =?UTF-8?q?r-automation=20for=20research=20&=20UIUX?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently no workspace in the molecule-dev template installs any of the four available plugins (browser-automation, ecc, molecule-dev, superpowers). Agents run without coding guardrails, codebase conventions, or debugging discipline unless a plugin is installed per-workspace via the runtime POST /workspaces/:id/plugins endpoint — which isn't happening. Changes: 1. defaults.plugins: [ecc, molecule-dev, superpowers] - ecc: "Everything Claude Code" — coding standards, API design, deep research, security review, TDD workflow, node guardrails - molecule-dev: project-specific conventions, past bugs, review-loop skill - superpowers: systematic debugging, TDD, plan writing/execution, verification-before-completion All three target runtime claude_code (matches our default). 2. plugins override on Research Lead + its 3 children + UIUX Designer: [ecc, molecule-dev, superpowers, browser-automation] - Research agents need live web access for scraping/trending/docs, which is core to their role. - UIUX Designer gets Puppeteer via CDP; this may work around the libglib/X11 gap that breaks Playwright today (#23 — the image-level fix remains the right long-term solution, but browser-automation uses puppeteer-core + a Chrome CDP proxy and may bypass the deps issue entirely). Note: platform/internal/handlers/org.go:345 treats per-workspace `plugins:` as a REPLACEMENT of defaults (not a union), which is why each opt-in workspace re-lists the full set. Documented inline in the template so future editors don't accidentally drop defaults. No other roles take browser-automation — Dev Lead, BE, FE, DevOps, Security, QA, PM all get the default set only. If they need web access they can install ad-hoc via the runtime plugin API. --- org-templates/molecule-dev/org.yaml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/org-templates/molecule-dev/org.yaml b/org-templates/molecule-dev/org.yaml index 9e938ef3..ed6933ad 100644 --- a/org-templates/molecule-dev/org.yaml +++ b/org-templates/molecule-dev/org.yaml @@ -7,6 +7,19 @@ defaults: tier: 2 required_env: - CLAUDE_CODE_OAUTH_TOKEN + # Default plugin set applied to every workspace unless the workspace + # specifies its own `plugins:` list (which REPLACES defaults — not a union; + # see platform/internal/handlers/org.go ~L345). So any workspace that + # needs extras must re-list the defaults plus its additions. + # + # - ecc: "Everything Claude Code" guardrails + coding skills + # (api-design, coding-standards, deep-research, security-review, tdd-workflow) + # - molecule-dev: Molecule AI codebase conventions, past bugs, review-loop + # - superpowers: systematic-debugging, TDD, planning, verification-before-completion + plugins: + - ecc + - molecule-dev + - superpowers # workspace_dir: not set by default — each agent gets an isolated Docker volume # Set per-workspace to bind-mount a host directory as /workspace @@ -59,6 +72,10 @@ workspaces: role: Market analysis and technical research files_dir: research-lead canvas: { x: 200, y: 250 } + # Research roles extend defaults with browser-automation so they can + # scrape the live web (product pages, GitHub trending, docs). + # Per-workspace plugins REPLACE defaults, so re-list the full set. + plugins: [ecc, molecule-dev, superpowers, browser-automation] initial_prompt: | You just started as Research Lead. Set up silently — do NOT contact other agents. 1. Clone the repo: git clone https://github.com/${GITHUB_REPO}.git /workspace/repo 2>/dev/null || (cd /workspace/repo && git pull) @@ -71,12 +88,15 @@ workspaces: - name: Market Analyst role: Market sizing, trends, user research files_dir: market-analyst + plugins: [ecc, molecule-dev, superpowers, browser-automation] - name: Technical Researcher role: AI frameworks and protocol evaluation files_dir: technical-researcher + plugins: [ecc, molecule-dev, superpowers, browser-automation] - name: Competitive Intelligence role: Competitor tracking and feature comparison files_dir: competitive-intelligence + plugins: [ecc, molecule-dev, superpowers, browser-automation] - name: Dev Lead role: Engineering planning and team coordination @@ -269,6 +289,10 @@ workspaces: tier: 3 model: opus files_dir: uiux-designer + # Add browser-automation for live canvas screenshots via Puppeteer + # (Chrome CDP path, works around the Playwright / libglib gap tracked in #23). + # Per-workspace plugins REPLACE defaults — re-list the full set. + plugins: [ecc, molecule-dev, superpowers, browser-automation] initial_prompt: | You just started as UIUX Designer. Set up silently — do NOT contact other agents. 1. Clone the repo: git clone https://github.com/${GITHUB_REPO}.git /workspace/repo 2>/dev/null || (cd /workspace/repo && git pull) From f6efd64839bf9c16bb0c7e1f75e52c02fb5021d4 Mon Sep 17 00:00:00 2001 From: Hongming Wang Date: Mon, 13 Apr 2026 21:37:29 -0700 Subject: [PATCH 2/2] fix: gate-5 document browser-automation plugin in CLAUDE.md Co-Authored-By: Claude Opus 4.6 (1M context) --- CLAUDE.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CLAUDE.md b/CLAUDE.md index 70da5948..c0dce572 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -100,6 +100,7 @@ Shared plugins in `plugins/` are auto-loaded by every workspace: - **`molecule-dev`**: Codebase conventions (rules injected into CLAUDE.md) + `review-loop` skill for multi-round QA cycles - **`superpowers`**: `verification-before-completion`, `test-driven-development`, `systematic-debugging`, `writing-plans` - **`ecc`**: General Claude Code guardrails +- **`browser-automation`**: Puppeteer/CDP-based web scraping and live canvas screenshots (opt-in per workspace — wired into Research + UIUX roles in `org-templates/molecule-dev/org.yaml`) ### Scripts ```bash