plugins/ruflo-core/docs/adrs/0001-core-contract.md
ruflo-core is the foundation plugin. Every other plugin (ruflo-ruvector, ruflo-agentdb, ruflo-browser, ruflo-intelligence, ruflo-adr, ruflo-aidefence, ruflo-autopilot, plus 25 others) depends on the MCP server it registers via .mcp.json and the orchestration patterns it documents.
The current plugin contract (v0.2.6):
.claude-plugin/plugin.json — version: "0.2.6", foundation and discovery metadata.mcp.json — registers ruflo MCP server via npx -y @claude-flow/cli@latestagents/ — 4 generalists (coder, researcher, reviewer, witness-curator)skills/ — 5 native skills (init-project, ruflo-doctor, ruflo-status, discover-plugins, witness)commands/ — Claude commands for ruflo-status and witness, each paired with a same-name Codex skillREADME.md — documents installation, compatibility, MCP contract, sibling
contracts, architecture decisions, and verificationThe discover-plugins skill is a substantial asset — a curated 32-plugin catalog with decision guides. That stays.
What's missing matches the cadence we've established:
@claude-flow/cli v3.6.discover-plugins mentions "314 tools" once, but this should be a contract claim with a verification path.docs/adrs/0001-core-contract.md. Cross-links the seven sibling ADRs.
Append:
@claude-flow/cli v3.6. Note the npx -y @claude-flow/cli@latest invocation in .mcp.json is the dynamic resolver; smoke verifies the resolved version.ruflo MCP server exposes 300+ tools across families: memory_*, agentdb_*, embeddings_*, ruvllm_*, hooks_*, aidefence_*, neural_*, autopilot_*, browser_*, agent_*, swarm_*, system_*, etc. Runtime truth via mcp tool call mcp_status.0.1.0 → 0.2.0. Keywords add foundation, mcp-server, plugin-catalog, discovery.
scripts/smoke.sh)11 checks:
0.2.6 with the foundation keywords..mcp.json exists and registers a ruflo MCP server.discover-plugins skill catalog references at least 25 sibling plugins (the curated catalog).@claude-flow/cli v3.6.Accepted.commands/ruflo-status.md invokes doctor and status.{"permission":"allow"} response.PLUGIN_ROOT / PLUGIN_DATA variables and allow with exit 0 plus empty
stdout, avoiding an invalid bare permission object./ruflo-status remains unchanged for Claude Code. Codex discovers the
same workflow through skills/ruflo-status/SKILL.md: run doctor, then
status; run doctor --fix only after an explicit repair request.Positive:
Negative:
discover-plugins catalog must be kept in sync as plugins are added. Today there are 33 plugins (including this one); the catalog covers ~32. Drift remediation is a separate, mechanical task.Neutral:
bash plugins/ruflo-core/scripts/smoke.sh
# Expected: "11 passed, 0 failed"
plugins/ruflo-ruvector/docs/adrs/0001-pin-ruvector-0.2.25.mdplugins/ruflo-agentdb/docs/adrs/0001-agentdb-optimization.md — namespace conventionplugins/ruflo-browser/docs/adrs/0001-browser-skills-architecture.mdplugins/ruflo-intelligence/docs/adrs/0001-intelligence-surface-completeness.md — 4-step pipelineplugins/ruflo-adr/docs/adrs/0001-adr-plugin-pattern.mdplugins/ruflo-aidefence/docs/adrs/0001-aidefence-contract.md — 3-gate patternplugins/ruflo-autopilot/docs/adrs/0001-autopilot-contract.md — 270s cache-aware /loopv3/@claude-flow/cli/ — the MCP server source backing this pluginPlugin source version v0.2.6 is listed by path in .claude-plugin/marketplace.json, so the marketplace artifact includes the five native skills and host-aware hook shim. Contract elements implemented: .mcp.json registers the ruflo server via npx -y @claude-flow/cli@latest; plugin-catalog discovery and Codex-native status skills are present; four generalist agents ship; command/skill parity and the remaining inventory are enforced by scripts/smoke.sh.