@mcptoolshop/claude-synergy 0.0.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +126 -0
- package/CONTRIBUTING.md +101 -0
- package/LICENSE +21 -0
- package/README.es.md +340 -0
- package/README.fr.md +340 -0
- package/README.hi.md +340 -0
- package/README.it.md +340 -0
- package/README.ja.md +340 -0
- package/README.md +337 -5
- package/README.pt-BR.md +340 -0
- package/README.zh.md +340 -0
- package/dist/chunk-HCIZPSW4.js +469 -0
- package/dist/chunk-YFGUTT22.js +754 -0
- package/dist/cli.js +2090 -0
- package/dist/fetch-playwright-HQ6OTMSQ.js +80 -0
- package/dist/ingest-3LJNQWS7.js +6 -0
- package/dist/mcp-server.js +497 -0
- package/package.json +81 -7
- package/products.yaml +456 -0
- package/schema-vec.sql +43 -0
- package/schema.sql +155 -0
- package/synergies/01-skill-portability.md +33 -0
- package/synergies/02-mcp-server-portability.md +33 -0
- package/synergies/03-design-to-code-bundle.md +33 -0
- package/synergies/04-computer-use-cross-surface.md +33 -0
- package/synergies/05-ollama-cost-shifting.md +36 -0
- package/synergies/06-agent-sdk-graduation.md +34 -0
- package/synergies/07-code-review-in-ci.md +33 -0
- package/synergies/08-universal-skill-md-format.md +46 -0
- package/synergies/09-mcp-across-seven-surfaces.md +48 -0
- package/synergies/10-anthropic-byok-across-surfaces.md +46 -0
- package/synergies/11-claude-code-orchestrates-aider.md +52 -0
- package/synergies/12-mcp-config-format-gotcha.md +60 -0
- package/synergies/INDEX.md +47 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mcp-server-portability
|
|
3
|
+
title: One MCP server, every Anthropic surface
|
|
4
|
+
products: [claude-code, claude-api, claude-cowork, claude-chat]
|
|
5
|
+
trigger: User built an MCP server for one surface and wants it available everywhere
|
|
6
|
+
status: confirmed
|
|
7
|
+
last_validated: 2026-05-21
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# One MCP server, every Anthropic surface
|
|
11
|
+
|
|
12
|
+
**Why it works:** MCP (Model Context Protocol) is the universal extension surface. The same server binary that registers in Claude Code's `.mcp.json` also plugs into Claude API (via MCP connector), Cowork (via plugin marketplace), and Claude.ai (via consumer MCP connectors). Build once, deploy everywhere.
|
|
13
|
+
|
|
14
|
+
**Workflow:**
|
|
15
|
+
|
|
16
|
+
1. Build the MCP server (stdio or HTTP/SSE; any language) following the [MCP spec](https://modelcontextprotocol.io)
|
|
17
|
+
2. **Claude Code:** add to `.mcp.json` (project) or user `~/.claude/settings.json` (global)
|
|
18
|
+
3. **Claude API:** include via [MCP connector](https://platform.claude.com/docs/en/agents-and-tools/mcp-connector) in Messages requests (beta since 2025-05-22)
|
|
19
|
+
4. **Cowork:** publish to [claude-plugins-official](https://github.com/anthropics/claude-plugins-official) or [knowledge-work-plugins](https://github.com/anthropics/knowledge-work-plugins) with `.mcp.json` declaration in the plugin manifest
|
|
20
|
+
5. **Claude.ai:** for consumer use, the chat product surfaces MCP connectors directly (varies by tier)
|
|
21
|
+
6. **Private network:** for self-hosted MCP servers behind a firewall, use [MCP tunnels](https://platform.claude.com/docs/en/agents-and-tools/mcp-tunnels/overview) (Research Preview 2026-05-19) to connect Managed Agents
|
|
22
|
+
|
|
23
|
+
**Evidence:**
|
|
24
|
+
|
|
25
|
+
- [Claude API release notes 2026-05-19](https://platform.claude.com/docs/en/release-notes/overview#may-19-2026): "MCP tunnels is now available as a Research Preview, so you can connect to MCP servers in your private network"
|
|
26
|
+
- [Claude API release notes 2025-05-22](https://platform.claude.com/docs/en/release-notes/overview#may-22-2025): MCP connector public beta launch
|
|
27
|
+
- [anthropics/knowledge-work-plugins](https://github.com/anthropics/knowledge-work-plugins) — Cowork plugin marketplace; many entries are MCP-server-shaped
|
|
28
|
+
|
|
29
|
+
**Caveats:**
|
|
30
|
+
|
|
31
|
+
- Stdio servers need a runtime on the target (Node, Python, etc.); HTTP/SSE servers are more portable but need hosting
|
|
32
|
+
- Some surfaces have additional auth requirements (vault credentials for Managed Agents; OAuth flows for Cowork team-shared servers)
|
|
33
|
+
- As of [claude-agent-sdk-python v0.2.82 (2026-05-15)](https://github.com/anthropics/claude-agent-sdk-python/releases/tag/v0.2.82) MCP servers connect non-blocking by default; if your server *must* be ready in turn 1, mark `alwaysLoad: true`
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: design-to-code-bundle
|
|
3
|
+
title: Claude Design canvas → Claude Code bundle handoff
|
|
4
|
+
products: [claude-design, claude-code]
|
|
5
|
+
trigger: User has a visual mockup or design iteration in Claude Design and wants to turn it into a working app
|
|
6
|
+
status: confirmed
|
|
7
|
+
last_validated: 2026-05-21
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Claude Design canvas → Claude Code bundle handoff
|
|
11
|
+
|
|
12
|
+
**Why it works:** Claude Design (research preview launched 2026-04-17 at [claude.ai/design](https://claude.ai/design)) is purpose-built for visual iteration on a multi-file canvas — designers, marketers, anyone iterating on look-and-feel. Claude Code is purpose-built for codebase work — wiring, logic, tests, deploys. The handoff bundle bridges them: design exports a `.zip` with HTML + assets + structure that Code can consume natively.
|
|
13
|
+
|
|
14
|
+
**Workflow:**
|
|
15
|
+
|
|
16
|
+
1. **Start in Design** at claude.ai/design — open a project, drop in HTML/screenshots/brand assets, iterate on the canvas with chat-on-the-left
|
|
17
|
+
2. Iterate visually until shape is right (Design is Opus 4.7-powered specifically for this)
|
|
18
|
+
3. **Export bundle** — Design produces a `.zip` containing standalone HTML + assets, or PDF/PPTX/Canva for non-code surfaces
|
|
19
|
+
4. **Open bundle in Claude Code** — drop the `.zip` into a working directory, unzip, point Code at it
|
|
20
|
+
5. Code takes over: wire up backend, add tests, deploy. Design's HTML is the spec
|
|
21
|
+
6. **(Reverse direction)** Generate HTML/components in Code, paste/load into Design for visual iteration when stuck on design intent
|
|
22
|
+
|
|
23
|
+
**Evidence:**
|
|
24
|
+
|
|
25
|
+
- [Claude Design skill description](C:/Users/mikey/.claude/skills/claude-design/SKILL.md): "exports to standalone HTML / PDF / PPTX / Canva / .zip, hands off to Claude Code via a packaged bundle"
|
|
26
|
+
- [Anthropic Apps release notes 2026-04-17](https://support.claude.com/en/articles/12138966-release-notes): "Claude Design, a new Anthropic Labs product for visual collaboration including designs, prototypes, slides, and one-pagers"
|
|
27
|
+
- Powered by Opus 4.7 specifically for visual iteration
|
|
28
|
+
|
|
29
|
+
**Caveats:**
|
|
30
|
+
|
|
31
|
+
- Design is a research preview; not on the Free tier (Pro / Max / Team / Enterprise only)
|
|
32
|
+
- Design is independently metered (weekly · Claude Design line in usage panel) — separate from API/Code limits
|
|
33
|
+
- The bundle is a snapshot; round-trip iteration (Design → Code → Design) requires manual re-import
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: computer-use-cross-surface
|
|
3
|
+
title: Computer Use across Code / API / Claude.ai / Cowork
|
|
4
|
+
products: [claude-code, claude-api, claude-chat, claude-cowork]
|
|
5
|
+
trigger: User needs browser/desktop automation and wants to choose the right surface for prototyping vs production
|
|
6
|
+
status: confirmed
|
|
7
|
+
last_validated: 2026-05-21
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Computer Use across Code / API / Claude.ai / Cowork
|
|
11
|
+
|
|
12
|
+
**Why it works:** Computer Use is one underlying capability with four delivery surfaces. Pick the surface that matches stage and access model: Code MCP for prototyping with full local control, API for production headless automation, Claude.ai Pro/Max for ad-hoc tasks with zero setup, Cowork for team workflows on shared screens.
|
|
13
|
+
|
|
14
|
+
**Workflow:**
|
|
15
|
+
|
|
16
|
+
1. **Prototype in Claude Code** via the `computer-use` MCP server — fast iteration, all the typical Code tooling (skills, hooks, memory) available alongside
|
|
17
|
+
2. **Test in Claude.ai (Pro/Max)** — no setup, single-turn or short multi-turn tasks; good for verifying the agent's perception of the screen is correct
|
|
18
|
+
3. **Graduate to Claude API** for production: use the `computer_20250124` tool with the `computer-use-2025-01-24` beta header. Headless, scalable, billed per-call
|
|
19
|
+
4. **Distribute via Cowork** for team workflows — Cowork added Computer Use research preview on 2026-03-23, enabling shared-screen team automation
|
|
20
|
+
5. The agent prompt and skill definitions can stay constant across surfaces; only the invocation path changes
|
|
21
|
+
|
|
22
|
+
**Evidence:**
|
|
23
|
+
|
|
24
|
+
- [Anthropic Apps release notes 2026-03-23](https://support.claude.com/en/articles/12138966-release-notes): "Computer use research preview in Cowork and Claude Code + Dispatch improvements... Give Claude access to computer use for Pro and Max plans"
|
|
25
|
+
- [Claude API release notes 2025-02-24](https://platform.claude.com/docs/en/release-notes/overview#february-24th-2025): `computer_20250124` updated tool with "hold_key, left_mouse_down, left_mouse_up, scroll, triple_click, wait" commands
|
|
26
|
+
- [computer-use MCP available in Code](https://code.claude.com/docs/en/agent-view) — see MCP servers list
|
|
27
|
+
|
|
28
|
+
**Caveats:**
|
|
29
|
+
|
|
30
|
+
- Computer Use carries real safety considerations — agents can take destructive actions; always start with read-only scope (`request_access` tier "read") and escalate
|
|
31
|
+
- Tier-"read" browsers and tier-"click" terminals/IDEs limit what computer-use can do inside them per the global computer-use protocol (see [user CLAUDE.md](C:/Users/mikey/.claude/CLAUDE.md) for the rule)
|
|
32
|
+
- Cost differs significantly across surfaces — Claude.ai is included in Pro/Max; API is per-call; Code MCP is included in the Code subscription
|
|
33
|
+
- Link-clicking via computer use is disallowed for safety; use the claude-in-chrome MCP for verified link navigation
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ollama-cost-shifting
|
|
3
|
+
title: Local Ollama as cost-shifting compute partner
|
|
4
|
+
products: [claude-code, ollama-intern-mcp]
|
|
5
|
+
trigger: User has bulk analysis to run (repo scans, summarization, fixture generation) and wants to conserve Claude tokens for judgment
|
|
6
|
+
status: confirmed
|
|
7
|
+
last_validated: 2026-05-21
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Local Ollama as cost-shifting compute partner
|
|
11
|
+
|
|
12
|
+
**Why it works:** Claude is premium reasoning + judgment, priced accordingly. Local Ollama (running on Mike's 5080 / M5 Max) is effectively free compute, capable enough for bulk text tasks. The synergy is splitting the work: Claude orchestrates and decides, Ollama executes the long-tail.
|
|
13
|
+
|
|
14
|
+
This is a Mike-specific synergy (not an Anthropic-product synergy) because the bridge tool is Mike's own [`ollama-intern-mcp`](F:/AI/ollama-intern-mcp) — but the *pattern* generalizes to any locally-hosted small model.
|
|
15
|
+
|
|
16
|
+
**Workflow:**
|
|
17
|
+
|
|
18
|
+
1. Claude Code session needs bulk work done (analyze 50 files, summarize a 100k-line log, generate test fixtures)
|
|
19
|
+
2. Claude invokes `ollama-intern-mcp` tools via MCP — `ollama_extract`, `ollama_batch`, `ollama_pack` etc. (28 primitive tools, frozen v1.0.2)
|
|
20
|
+
3. Ollama (8B, 12B, 70B depending on task) does the heavy lift locally — no API tokens consumed
|
|
21
|
+
4. Returns structured output to Claude
|
|
22
|
+
5. Claude reviews, integrates findings, makes the judgment call
|
|
23
|
+
6. **(Optional) Hermes integration** — for longer-context summarization workloads, ollama-intern-mcp can route to a Hermes model with extended context
|
|
24
|
+
|
|
25
|
+
**Evidence:**
|
|
26
|
+
|
|
27
|
+
- [ollama-intern-mcp skill description](C:/Users/mikey/.claude/skills/ollama-intern/SKILL.md): "28 frozen primitive tools (15 atoms + 3 briefs + 3 packs + 7 artifact tools) for delegating bulk analysis to a local Ollama model. Hermes integration, incident pack, change pack, repo pack, delegate to 8B"
|
|
28
|
+
- [Self-hosted sandboxes for Claude Managed Agents (2026-05-19)](https://platform.claude.com/docs/en/release-notes/overview#may-19-2026) — same pattern at the API layer; Anthropic now supports self-hosted execution sandboxes for Managed Agents
|
|
29
|
+
- TranslateGemma 12B local pattern proven for translation workloads ([global CLAUDE.md translation rule](C:/Users/mikey/.claude/CLAUDE.md))
|
|
30
|
+
|
|
31
|
+
**Caveats:**
|
|
32
|
+
|
|
33
|
+
- Local model quality is the floor — don't delegate judgment-grade tasks to 8B and expect Claude-quality output
|
|
34
|
+
- Cold-load latency for Ollama models can dwarf the work itself for small jobs; warm the model before batch dispatch
|
|
35
|
+
- Cross-rig setup matters — M5 Max has 128GB unified memory (TRELLIS.2 1024³ capable), 5080 has 16GB VRAM; task routing should respect rig capability
|
|
36
|
+
- When this graduates to API Managed Agents (per the 2026-05-19 self-hosted sandbox launch), the *same architectural pattern* applies — Anthropic-orchestrated agent, self-hosted execution
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: agent-sdk-graduation
|
|
3
|
+
title: Prototype in Claude Code, graduate to standalone Agent SDK app
|
|
4
|
+
products: [claude-code, claude-agent-sdk-python, claude-agent-sdk-typescript]
|
|
5
|
+
trigger: User has a working agentic workflow in Claude Code CLI and wants to ship it as a standalone product or backend service
|
|
6
|
+
status: confirmed
|
|
7
|
+
last_validated: 2026-05-21
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Prototype in Claude Code, graduate to standalone Agent SDK app
|
|
11
|
+
|
|
12
|
+
**Why it works:** Claude Code IS an Agent SDK app — it's built on `claude-agent-sdk-typescript` (v0.3.147 = parity with Code 2.1.147). The agent behavior you prototype in the CLI is byte-identical to what you'd ship via the SDK, because they share the same bundled binary. Graduation is mostly packaging + UI choice, not re-engineering.
|
|
13
|
+
|
|
14
|
+
**Workflow:**
|
|
15
|
+
|
|
16
|
+
1. **Prototype in Claude Code CLI.** Build skills, hooks, MCP servers, tune prompts. Use Code's full ergonomics (memory, agents view, /goal, transcript).
|
|
17
|
+
2. **Identify what's stable.** Pin to a known-good Claude Code CLI version (the SDK release notes show which CLI version each SDK release bundles)
|
|
18
|
+
3. **Pick the SDK** — `claude-agent-sdk-python` for Python/data-heavy/Ollama-adjacent shops, `claude-agent-sdk-typescript` for web/Bun/Node deployments
|
|
19
|
+
4. **Translate session config to SDK options.** Skills directory, MCP server config, permission rules, hooks — all the same shape, just declared in code instead of `~/.claude/`
|
|
20
|
+
5. **Add the UI layer** the CLI didn't need: HTTP API, web UI, scheduled jobs, queue workers, etc.
|
|
21
|
+
6. **Optional: self-hosted sandbox.** For production agent workloads, run via [Claude Managed Agents with a self-hosted sandbox](https://platform.claude.com/docs/en/managed-agents/self-hosted-sandboxes) (2026-05-19) instead of Anthropic-hosted
|
|
22
|
+
|
|
23
|
+
**Evidence:**
|
|
24
|
+
|
|
25
|
+
- [claude-agent-sdk-typescript v0.3.147 release](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.147): "Updated to parity with Claude Code v2.1.147"
|
|
26
|
+
- [claude-agent-sdk-python releases](https://github.com/anthropics/claude-agent-sdk-python/releases) — bundled CLI version visible in each release body
|
|
27
|
+
- [Claude Managed Agents launch (2026-04-08)](https://platform.claude.com/docs/en/release-notes/overview#april-8-2026): "fully managed agent harness for running Claude as an autonomous agent with secure sandboxing, built-in tools, and server-sent event streaming"
|
|
28
|
+
|
|
29
|
+
**Caveats:**
|
|
30
|
+
|
|
31
|
+
- 🚨 **Breaking change to audit before graduation:** [claude-agent-sdk-python v0.2.82 (2026-05-15)](https://github.com/anthropics/claude-agent-sdk-python/releases/tag/v0.2.82) replaced `TodoWrite` with `TaskCreate`/`TaskUpdate`/`TaskGet`/`TaskList` in headless+SDK mode. Anything wrapping the event stream and parsing `TodoWrite` is broken. See [URGENT_FINDINGS.md](../URGENT_FINDINGS.md).
|
|
32
|
+
- MCP server connect is non-blocking by default since v0.2.82 — mark `alwaysLoad: true` for servers required in turn 1, or set `MCP_CONNECTION_NONBLOCKING=0` to revert
|
|
33
|
+
- SDK release cadence is high (often daily); pin to a specific version, don't track latest in production
|
|
34
|
+
- The TypeScript SDK has multiple sub-packages tagged differently (`sdk-vX.Y.Z`, `vertex-sdk-vX.Y.Z`, `bedrock-sdk-vX.Y.Z`) — pick the right one for your deployment target
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: code-review-in-ci
|
|
3
|
+
title: /code-review in GitHub Actions for automated PR review
|
|
4
|
+
products: [claude-code, claude-code-action, claude-code-security-review]
|
|
5
|
+
trigger: User wants Claude to review every PR in a repo using their existing local skills/hooks/conventions
|
|
6
|
+
status: confirmed
|
|
7
|
+
last_validated: 2026-05-21
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# /code-review in GitHub Actions for automated PR review
|
|
11
|
+
|
|
12
|
+
**Why it works:** The same skills, hooks, and conventions that run when you invoke `/code-review` locally also run when [claude-code-action](https://github.com/anthropics/claude-code-action) runs Claude Code in CI. The agent behaves identically because it IS the same binary, with the same skills loaded from your repo. The `--comment` flag added in 2.1.147 posts findings as inline GitHub PR review comments — closing the loop.
|
|
13
|
+
|
|
14
|
+
**Workflow:**
|
|
15
|
+
|
|
16
|
+
1. **Local: tune `/code-review` against your codebase.** Run with different effort levels (`/code-review low`, `/code-review high`) until findings match your taste. Adjust skills in `.claude/skills/` to encode codebase-specific patterns ("don't flag X; do flag Y").
|
|
17
|
+
2. **Configure** [`claude-code-action`](https://github.com/anthropics/claude-code-action) in `.github/workflows/`. The action checks out the repo, including `.claude/`, so it picks up the same skills/hooks
|
|
18
|
+
3. **In the workflow step**, invoke `/code-review high --comment` (or whatever effort level you tuned to). Findings post as inline PR review comments on the changed lines
|
|
19
|
+
4. **(Optional) Layer with** [claude-code-security-review](https://github.com/anthropics/claude-code-security-review) for a security-specific second pass — different effort tuning, different findings
|
|
20
|
+
5. Iterate on the workflow until the comment quality is what you want; the local-vs-CI loop is fast because they share the same Claude Code binary
|
|
21
|
+
|
|
22
|
+
**Evidence:**
|
|
23
|
+
|
|
24
|
+
- [Claude Code 2.1.147 release notes](https://code.claude.com/docs/en/changelog#2-1-147): "Renamed `/simplify` to `/code-review`. It now reports correctness bugs at a chosen effort level (e.g., `/code-review high`); pass `--comment` to post findings as inline GitHub PR comments. The old cleanup-and-fix behavior has been removed"
|
|
25
|
+
- [anthropics/claude-code-action](https://github.com/anthropics/claude-code-action) — official GH Action that runs Claude Code in CI
|
|
26
|
+
- [anthropics/claude-code-security-review](https://github.com/anthropics/claude-code-security-review) — security-specific review action
|
|
27
|
+
|
|
28
|
+
**Caveats:**
|
|
29
|
+
|
|
30
|
+
- ⚠️ **Anything referencing `/simplify` in your skill files or hook configs now invokes a renamed command with different semantics** (was "cleanup-and-fix"; is now "report correctness bugs"). Grep your `.claude/` tree for `/simplify` before relying on this synergy. See [URGENT_FINDINGS.md](../URGENT_FINDINGS.md).
|
|
31
|
+
- The action consumes Claude API tokens billed to whatever account is configured — protect with workflow concurrency limits + branch filters
|
|
32
|
+
- Token cost per PR scales with diff size and effort level; budget accordingly
|
|
33
|
+
- `--comment` requires the action to have GitHub write permissions on the PR (`pull-requests: write` in the workflow `permissions:` block)
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: universal-skill-md-format
|
|
3
|
+
title: One SKILL.md file, three agent surfaces (Claude Code + Cursor + Codex)
|
|
4
|
+
products: [claude-code, cursor, codex]
|
|
5
|
+
trigger: User has a skill in `~/.claude/skills/<name>/` and wants it discoverable across multiple agents on the same machine
|
|
6
|
+
status: confirmed
|
|
7
|
+
last_validated: 2026-05-21
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# One SKILL.md file, three agent surfaces
|
|
11
|
+
|
|
12
|
+
**Why it works:** Cursor explicitly treats Agent Skills as an open standard. Per [cursor.com/docs/context/skills](https://cursor.com/docs/context/skills), Cursor scans these directories at startup:
|
|
13
|
+
|
|
14
|
+
- `.cursor/skills/` (project)
|
|
15
|
+
- `~/.cursor/skills/` (user)
|
|
16
|
+
- `.agents/skills/` + `~/.agents/skills/` (generic agent format)
|
|
17
|
+
- **`.claude/skills/` + `~/.claude/skills/`** ← reads Claude Code skills directly
|
|
18
|
+
- **`.codex/skills/` + `~/.codex/skills/`** ← reads OpenAI Codex skills directly
|
|
19
|
+
|
|
20
|
+
Same SKILL.md + YAML frontmatter format. No duplication, no symlinking, no per-product config.
|
|
21
|
+
|
|
22
|
+
**Workflow:**
|
|
23
|
+
|
|
24
|
+
1. Author your skill once at `~/.claude/skills/<name>/SKILL.md` with proper frontmatter:
|
|
25
|
+
```yaml
|
|
26
|
+
---
|
|
27
|
+
name: my-skill
|
|
28
|
+
description: When to invoke this skill
|
|
29
|
+
---
|
|
30
|
+
# My Skill
|
|
31
|
+
...
|
|
32
|
+
```
|
|
33
|
+
2. Start Cursor — it picks up the skill automatically. Same for Codex if installed.
|
|
34
|
+
3. Updates to the SKILL.md file are reflected in all three agents on next session.
|
|
35
|
+
|
|
36
|
+
**Evidence:**
|
|
37
|
+
|
|
38
|
+
- [Cursor Agent Skills docs](https://cursor.com/docs/context/skills) — direct quote: "Agent Skills is an open standard for extending AI agents with specialized capabilities."
|
|
39
|
+
- [Cursor blog: agent best practices](https://cursor.com/blog/agent-best-practices) — distinguishes Skills (capability packs) from Rules (always-on context) from Agents (entry points)
|
|
40
|
+
- [Anthropic Skills launch (2025-10-16)](https://platform.claude.com/docs/en/release-notes/overview#october-16-2025) — original definition
|
|
41
|
+
|
|
42
|
+
**Caveats:**
|
|
43
|
+
|
|
44
|
+
- **Use portable tools.** Bash + python + node are universally available; Claude-Code-specific tool names (`mcp__ccd_*`, `Skill` tool dispatcher) won't run in Cursor.
|
|
45
|
+
- **Format compatibility is one-way today.** Cursor reads Claude/Codex skills, but Claude Code doesn't yet read `~/.cursor/skills/`. If you want true bidirectional portability, author in `~/.claude/skills/` as the canonical home.
|
|
46
|
+
- **Frontmatter conventions differ slightly.** Anthropic's `description` field is rendered prose; Cursor's `name` + `description` are picked up the same way. Test in both surfaces before relying on advanced fields.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mcp-across-seven-surfaces
|
|
3
|
+
title: One MCP server binary, seven agent surfaces
|
|
4
|
+
products: [claude-code, cursor, continue-dev, copilot, windsurf, cody-enterprise, claude-api]
|
|
5
|
+
trigger: User built an MCP server and wants it available in every IDE/agent surface they use
|
|
6
|
+
status: confirmed
|
|
7
|
+
last_validated: 2026-05-21
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# One MCP server binary, seven agent surfaces
|
|
11
|
+
|
|
12
|
+
**Why it works:** MCP is the universal extension surface. As of mid-2026, MCP servers (stdio or HTTP/SSE) are consumable by:
|
|
13
|
+
|
|
14
|
+
| Surface | Config location | Wrapper key | Notes |
|
|
15
|
+
|---|---|---|---|
|
|
16
|
+
| **Claude Code** | `.mcp.json` (project) or `~/.claude/settings.json` | `mcpServers` | Full support, ToolSearch for large catalogs |
|
|
17
|
+
| **Cursor** | `.cursor/mcp.json` or `~/.cursor/mcp.json` | `mcpServers` | 40-80 tool cap per session |
|
|
18
|
+
| **Continue.dev** | `.continue/mcpServers/*.json` | `mcpServers` | **Agent mode only** (not Chat/Edit) |
|
|
19
|
+
| **GitHub Copilot** | `.vscode/mcp.json` (VS Code) or `mcp.json` | **`servers`** | ⚠️ wrapper key differs from everyone else |
|
|
20
|
+
| **Windsurf (Cognition)** | Cascade MCP panel | `mcpServers` | First-class; MCP Marketplace; 100-tool cap |
|
|
21
|
+
| **Sourcegraph Cody Enterprise** | extension settings | `mcpServers` | Free/Pro plans deprecated 2025-07-23; Enterprise only |
|
|
22
|
+
| **Claude API (Managed Agents)** | MCP connector beta header | n/a (request body) | Beta; private-network access via MCP tunnels (2026-05-19) |
|
|
23
|
+
|
|
24
|
+
Value shape is identical across all: `{ command, args, env }` for stdio, `{ url, headers }` for HTTP/SSE.
|
|
25
|
+
|
|
26
|
+
**Workflow:**
|
|
27
|
+
|
|
28
|
+
1. Build the MCP server (any language; use one of the [official SDKs](https://github.com/modelcontextprotocol)).
|
|
29
|
+
2. Register in each client's config using the right wrapper key (`mcpServers` for 6 of 7; `servers` for Copilot).
|
|
30
|
+
3. The same binary serves every surface.
|
|
31
|
+
|
|
32
|
+
**Evidence:**
|
|
33
|
+
|
|
34
|
+
- [Claude Code MCP docs](https://code.claude.com/docs/en/mcp)
|
|
35
|
+
- [Cursor MCP setup](https://forum.cursor.com/t/what-are-the-capabilities-of-mcp-json/63130)
|
|
36
|
+
- [Continue.dev MCP deep-dive](https://docs.continue.dev/customize/deep-dives/mcp) — JSON config support added 2025-09-29, accepts Claude Desktop's `claude_desktop_config.json` byte-identically
|
|
37
|
+
- [GitHub Copilot MCP docs](https://docs.github.com/copilot/customizing-copilot/using-model-context-protocol/extending-copilot-chat-with-mcp) — uses `"servers"` key
|
|
38
|
+
- [Windsurf Cascade MCP](https://docs.windsurf.com/windsurf/cascade/mcp)
|
|
39
|
+
- [Cody MCP integration](https://sourcegraph.com/blog/cody-supports-anthropic-model-context-protocol)
|
|
40
|
+
- [MCP Tunnels (Claude API 2026-05-19)](https://platform.claude.com/docs/en/agents-and-tools/mcp-tunnels/overview)
|
|
41
|
+
|
|
42
|
+
**Caveats / gotchas:**
|
|
43
|
+
|
|
44
|
+
- **Copilot uses `"servers"` not `"mcpServers"`.** Copy-pasting Claude Code's `.mcp.json` into Copilot's `.vscode/mcp.json` will fail silently — strip the outer wrapper key.
|
|
45
|
+
- **Continue.dev MCP only fires in Agent mode.** Chat/Edit modes don't see MCP tools.
|
|
46
|
+
- **Tool count caps vary.** Cursor 40-80, Windsurf 100, others unbounded. Curate per-surface if you bundle a large catalog.
|
|
47
|
+
- **Auth differs.** Claude Managed Agents needs vault credentials; Copilot enterprise has registry URL + access-control policy; Cursor stores keys locally per OS.
|
|
48
|
+
- **Transports differ.** Stdio is universal. HTTP supported by Code/Copilot/Continue/Windsurf/API. SSE supported by Continue/Windsurf (Copilot's docs reference it but HTTP is the documented modern remote transport).
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: anthropic-byok-across-surfaces
|
|
3
|
+
title: One ANTHROPIC_API_KEY powers Claude across seven editors
|
|
4
|
+
products: [claude-code, cursor, continue-dev, aider, copilot, cody-enterprise, claude-api]
|
|
5
|
+
trigger: User on Claude Max or Anthropic API tier wants unified billing across multiple editors
|
|
6
|
+
status: confirmed
|
|
7
|
+
last_validated: 2026-05-21
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# One ANTHROPIC_API_KEY powers Claude across seven editors
|
|
11
|
+
|
|
12
|
+
**Why it works:** BYOK (Bring Your Own Key) support is widespread enough now that one Anthropic API key from `console.anthropic.com` can drive Claude Sonnet/Opus/Haiku across every major IDE assistant.
|
|
13
|
+
|
|
14
|
+
**Workflow:**
|
|
15
|
+
|
|
16
|
+
1. Generate or copy your API key from [console.anthropic.com](https://console.anthropic.com/settings/keys).
|
|
17
|
+
2. Wire into each surface you use:
|
|
18
|
+
|
|
19
|
+
| Surface | How to wire BYOK |
|
|
20
|
+
|---|---|
|
|
21
|
+
| **Claude Code** | Native — uses subscription OR `ANTHROPIC_API_KEY` env. Set `--api-key` or auth via console. |
|
|
22
|
+
| **Cursor** | Settings → Models → API Keys → "Anthropic API key" field. Bypasses Cursor's subscription quota. |
|
|
23
|
+
| **Continue.dev** | `.continue/config.yaml` with `provider: anthropic`, key reference. First-party provider with prompt caching. |
|
|
24
|
+
| **Aider** | `aider --model anthropic/claude-sonnet-4-6-20250929` with `ANTHROPIC_API_KEY` env. Aliases: `sonnet`, `haiku`, `opus`. |
|
|
25
|
+
| **GitHub Copilot** | VS Code Chat "Custom Endpoint" provider (Insiders). Config in `chatLanguageModels.json` with `vendor: customendpoint`, `apiType: "messages"`, `url: https://api.anthropic.com/v1/messages`. |
|
|
26
|
+
| **Cody Enterprise** | BYO key in admin settings, or route via Cody Gateway / Bedrock / Vertex. (Free/Pro plans don't apply — deprecated 2025-07-23.) |
|
|
27
|
+
| **Claude API direct** | Native — same key. |
|
|
28
|
+
|
|
29
|
+
3. All seven surfaces bill to the same Anthropic account. Prompt caching works wherever the surface supports it (Continue, Code, API direct).
|
|
30
|
+
|
|
31
|
+
**Evidence:**
|
|
32
|
+
|
|
33
|
+
- [Anthropic Console](https://console.anthropic.com)
|
|
34
|
+
- [Cursor + Claude integration guide](https://www.spacecake.ai/blog/cursor-claude-integration-guide)
|
|
35
|
+
- [Continue.dev Anthropic provider](https://docs.continue.dev/customize/model-providers/top-level/anthropic)
|
|
36
|
+
- [Aider Anthropic docs](https://aider.chat/docs/llms/anthropic.html)
|
|
37
|
+
- [VS Code AI language models / Custom Endpoint](https://code.visualstudio.com/docs/copilot/customization/language-models)
|
|
38
|
+
- [Cody supported models](https://sourcegraph.com/docs/cody)
|
|
39
|
+
|
|
40
|
+
**Caveats:**
|
|
41
|
+
|
|
42
|
+
- **Windsurf does NOT publicly document BYOK.** Routes through Windsurf's gateway with credit pricing instead. If you need direct-billed BYOK, Windsurf is the gap.
|
|
43
|
+
- **Cody Free / Cody Pro retired 2025-07-23.** Only Cody Enterprise ($59/user/mo) supports BYOK now. Indie devs migrated to Cursor / Claude Code / Amp.
|
|
44
|
+
- **Prompt caching support varies.** Continue.dev caches system messages + conversation history automatically. Claude Code and direct API support caching with manual breakpoints or auto-caching. Cursor/Aider/Copilot caching support is less documented.
|
|
45
|
+
- **Rate limits stack against the key, not the surface.** Heavy usage across 7 surfaces hits the same `requests/min` and `tokens/min` quotas. Plan accordingly.
|
|
46
|
+
- **Routing alternatives.** For enterprises that want cloud-provider billing, all major surfaces support Bedrock / Vertex / Foundry / AWS Claude Platform routing — same models, different billing path.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: claude-code-orchestrates-aider
|
|
3
|
+
title: Claude Code orchestrates Aider for cost-shifted edits
|
|
4
|
+
products: [claude-code, aider]
|
|
5
|
+
trigger: User wants Claude's reasoning quality but cheaper actual edits (e.g. for repetitive refactors)
|
|
6
|
+
status: confirmed
|
|
7
|
+
last_validated: 2026-05-21
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Claude Code orchestrates Aider for cost-shifted edits
|
|
11
|
+
|
|
12
|
+
**Why it works:** [Aider](https://aider.chat) doesn't have a native MCP client, but [`disler/aider-mcp-server`](https://github.com/disler/aider-mcp-server) inverts the relationship: it wraps Aider AS an MCP server that Claude Code (or any MCP host) can call. Claude Code becomes the planner; Aider becomes the executor running cheaper models (Gemini 2.5 Flash, DeepSeek, GPT-5-mini, etc.) for the bulk of the edits.
|
|
13
|
+
|
|
14
|
+
**Workflow:**
|
|
15
|
+
|
|
16
|
+
1. Install Aider locally: `pip install aider-chat`
|
|
17
|
+
2. Install the MCP wrapper: `git clone https://github.com/disler/aider-mcp-server`
|
|
18
|
+
3. Register in Claude Code's `.mcp.json`:
|
|
19
|
+
```json
|
|
20
|
+
{
|
|
21
|
+
"mcpServers": {
|
|
22
|
+
"aider": {
|
|
23
|
+
"command": "python",
|
|
24
|
+
"args": ["/path/to/aider-mcp-server/server.py"],
|
|
25
|
+
"env": {
|
|
26
|
+
"AIDER_MODEL": "gemini/gemini-2.5-flash",
|
|
27
|
+
"GEMINI_API_KEY": "..."
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
```
|
|
33
|
+
4. In Claude Code: draft the architectural plan, decide what files need editing, then call the Aider MCP tool with: "go apply X transformation to these N files." Aider does the actual diff work with the cheaper model + its commit-per-edit discipline.
|
|
34
|
+
|
|
35
|
+
**Why pay Claude for code Aider can do:** Claude excels at planning, judgment, and ambiguous decisions. Aider excels at mechanical diff application with git-commit hygiene. Cost-shifting heavy edit work to a small model saves an order of magnitude on token spend for repetitive refactors.
|
|
36
|
+
|
|
37
|
+
**Evidence:**
|
|
38
|
+
|
|
39
|
+
- [disler/aider-mcp-server](https://github.com/disler/aider-mcp-server) — third-party wrapper
|
|
40
|
+
- [Aider Anthropic docs](https://aider.chat/docs/llms/anthropic.html) — confirms Aider supports any LiteLLM-compatible model
|
|
41
|
+
- [Aider HISTORY.md](https://raw.githubusercontent.com/Aider-AI/aider/main/HISTORY.md) — main-branch entry confirms Claude 4.5/4.6 + Gemini 2.5 + DeepSeek + GPT-5.1-5.4 support
|
|
42
|
+
|
|
43
|
+
**Variants:**
|
|
44
|
+
|
|
45
|
+
- **Aider thinking-tokens for hard refactors:** `aider --model anthropic/claude-sonnet-4-5 --thinking-tokens 32k` runs Aider WITH Claude as the model — useful when extended thinking matters for the edit decision. Use sparingly (expensive).
|
|
46
|
+
- **Conventions handoff:** Have Claude write `CONVENTIONS.md`, then `aider --read CONVENTIONS.md --message-file plan.md` to execute against a real repo with atomic commits per change.
|
|
47
|
+
|
|
48
|
+
**Caveats:**
|
|
49
|
+
|
|
50
|
+
- **The MCP wrapper is third-party.** Not maintained by Anthropic or Aider's primary maintainer. If reliability matters, pin to a known-good commit.
|
|
51
|
+
- **Aider rewrites files in place.** Make sure git is clean before invoking; rely on Aider's per-edit commit discipline for rollback.
|
|
52
|
+
- **Model selection matters.** Cheaper models (Flash, DeepSeek) work for mechanical edits but struggle with novel patterns. If Claude rejects Aider's output, fall back to running Aider with Sonnet directly.
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mcp-config-format-gotcha
|
|
3
|
+
title: Copilot's MCP config wrapper key is `servers` not `mcpServers`
|
|
4
|
+
products: [claude-code, cursor, continue-dev, copilot, windsurf, cody-enterprise]
|
|
5
|
+
trigger: User is copy-pasting an MCP server config between Claude Code/Cursor/Continue and GitHub Copilot
|
|
6
|
+
status: confirmed
|
|
7
|
+
last_validated: 2026-05-21
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Copilot's MCP config wrapper key is `servers` not `mcpServers`
|
|
11
|
+
|
|
12
|
+
**Why this matters:** Six of seven major MCP-host surfaces use `"mcpServers"` as the top-level wrapper key. **GitHub Copilot uses `"servers"`.** Same value shape — just a different parent key. Copy-pasting between configs without renaming silently fails (Copilot ignores `mcpServers` keys; sees an empty config).
|
|
13
|
+
|
|
14
|
+
**Comparison:**
|
|
15
|
+
|
|
16
|
+
```jsonc
|
|
17
|
+
// Claude Code .mcp.json (also: Cursor, Continue, Windsurf, Cody)
|
|
18
|
+
{
|
|
19
|
+
"mcpServers": {
|
|
20
|
+
"filesystem": {
|
|
21
|
+
"command": "npx",
|
|
22
|
+
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path"]
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// GitHub Copilot .vscode/mcp.json (note the different key)
|
|
28
|
+
{
|
|
29
|
+
"servers": {
|
|
30
|
+
"filesystem": {
|
|
31
|
+
"command": "npx",
|
|
32
|
+
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path"]
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
**Workflow when bridging:**
|
|
39
|
+
|
|
40
|
+
1. **From Claude Code → Copilot:** strip the outer `mcpServers` key, wrap the contents in `servers` instead.
|
|
41
|
+
2. **From Copilot → Claude Code:** reverse — strip `servers`, wrap in `mcpServers`.
|
|
42
|
+
3. **For a script that does this:**
|
|
43
|
+
```bash
|
|
44
|
+
# Claude Code → Copilot
|
|
45
|
+
jq '{servers: .mcpServers}' .mcp.json > .vscode/mcp.json
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
**Evidence:**
|
|
49
|
+
|
|
50
|
+
- [GitHub Copilot MCP docs](https://code.visualstudio.com/docs/copilot/customization/mcp-servers) — uses `"servers"` consistently in all examples
|
|
51
|
+
- [GitHub Copilot CLI MCP](https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-mcp-servers) — same key
|
|
52
|
+
- [Cursor MCP docs](https://forum.cursor.com/t/what-are-the-capabilities-of-mcp-json/63130) — uses `mcpServers`
|
|
53
|
+
- [Continue MCP docs](https://docs.continue.dev/customize/deep-dives/mcp) — uses `mcpServers`, explicitly notes compatibility with Claude Desktop's config
|
|
54
|
+
|
|
55
|
+
**Caveats / extras:**
|
|
56
|
+
|
|
57
|
+
- **Value shape is identical** across both. `{ command, args, env }` for stdio. `{ url, headers, type: "http" }` for HTTP. No translation needed within each entry.
|
|
58
|
+
- **HTTP vs stdio.** Both support both transports. Copilot HTTP entries can use `"type": "http"` explicitly; some Cursor builds require it too.
|
|
59
|
+
- **Why the divergence?** Likely historical — Copilot adopted MCP later and chose a config shape closer to VS Code's existing `settings.json` patterns rather than mirroring Claude Desktop's `claude_desktop_config.json` convention.
|
|
60
|
+
- **Future:** an Anthropic-shipped MCP `inspector` works against both shapes by reading raw JSON. If a portable config standard ever lands, expect Copilot to align (the `mcpServers` key is the de-facto standard for everyone else).
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Synergies
|
|
2
|
+
|
|
3
|
+
Cross-product workflows that emerge from combining multiple Anthropic surfaces. Each entry describes a composition pattern, the trigger that makes it the right answer, and the changelog evidence that enables it.
|
|
4
|
+
|
|
5
|
+
The Synergy section is what makes this a product rather than a mirror. Any single changelog tells you what one product does; a synergy tells you what becomes *possible* when you compose two or three together.
|
|
6
|
+
|
|
7
|
+
## Seed entries (2026-05-21)
|
|
8
|
+
|
|
9
|
+
| # | Synergy | Products | Trigger |
|
|
10
|
+
|---|---------|----------|---------|
|
|
11
|
+
| 01 | [Skill portability](01-skill-portability.md) | Code + API + Cowork | Built a skill in Code, want to use it in a production agent |
|
|
12
|
+
| 02 | [MCP server portability](02-mcp-server-portability.md) | Code + API + Cowork + Claude.ai | Built an MCP server for Code, want to reuse it everywhere |
|
|
13
|
+
| 03 | [Claude Design ↔ Code bundle handoff](03-design-to-code-bundle.md) | Design + Code | Visual mockup needs to become a working app |
|
|
14
|
+
| 04 | [Computer Use cross-surface](04-computer-use-cross-surface.md) | Code + API + Claude.ai (Pro/Max) + Cowork | Browser/desktop automation, prototype → production |
|
|
15
|
+
| 05 | [Local Ollama as cost-shifting partner](05-ollama-cost-shifting.md) | Code + ollama-intern-mcp | Bulk analysis without burning Claude tokens |
|
|
16
|
+
| 06 | [Agent SDK graduation path](06-agent-sdk-graduation.md) | Code + Agent SDK | Prototype in CLI, deploy as standalone SDK app |
|
|
17
|
+
| 07 | [/code-review in GitHub Actions](07-code-review-in-ci.md) | Code + claude-code-action | Automated PR review reusing local skills/hooks |
|
|
18
|
+
| 08 | [Universal SKILL.md format](08-universal-skill-md-format.md) | Code + Cursor + Codex | One skill author, three agents read it |
|
|
19
|
+
| 09 | [MCP across seven surfaces](09-mcp-across-seven-surfaces.md) | Code + Cursor + Continue + Copilot + Windsurf + Cody + API | One MCP server binary, every agent surface |
|
|
20
|
+
| 10 | [Anthropic BYOK across surfaces](10-anthropic-byok-across-surfaces.md) | Code + Cursor + Continue + Aider + Copilot + Cody + API | One API key, unified billing across editors |
|
|
21
|
+
| 11 | [Claude Code orchestrates Aider](11-claude-code-orchestrates-aider.md) | Code + Aider | Cost-shift heavy edits to cheap model while Claude plans |
|
|
22
|
+
| 12 | [MCP config format gotcha](12-mcp-config-format-gotcha.md) | Code + Cursor + Continue + Copilot + Windsurf + Cody | Bridging configs between Copilot (`servers`) and everyone else (`mcpServers`) |
|
|
23
|
+
|
|
24
|
+
## Future entries (TBD)
|
|
25
|
+
|
|
26
|
+
- Prompt caching across surfaces (auto-caching since 2026-02-19; `cache_miss_reason` beta 2026-05-13)
|
|
27
|
+
- Memory tool across surfaces (API memory beta 2025-09-29; Claude.ai Memory free tier 2026-03-02; Code auto-memory)
|
|
28
|
+
- Compaction patterns (server-side API 2026-02-05; client-side Code compaction)
|
|
29
|
+
- Self-hosted Managed Agents sandboxes + local LLM intern (2026-05-19 + ollama-intern)
|
|
30
|
+
- MCP tunnels for private-network MCP servers (Research Preview 2026-05-19)
|
|
31
|
+
- `/goal` + Workflow tool composition (2.1.139 + 2.1.147)
|
|
32
|
+
- `ant` CLI ↔ Claude API ↔ Claude Code triangulation
|
|
33
|
+
- Plugin marketplace ↔ Cowork team rollout
|
|
34
|
+
- Vertical marketplaces (legal, life-sciences, healthcare, financial-services) ↔ Code project setup
|
|
35
|
+
|
|
36
|
+
## Schema mapping
|
|
37
|
+
|
|
38
|
+
Each synergy maps to the planned DB shape:
|
|
39
|
+
|
|
40
|
+
```sql
|
|
41
|
+
synergies (id, name, title, trigger, status, last_validated)
|
|
42
|
+
synergy_products (synergy_id, product_name) -- many-to-many
|
|
43
|
+
synergy_steps (synergy_id, ordinal, text)
|
|
44
|
+
synergy_evidence (synergy_id, source_url, quote, source_kind)
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Markdown files are the source of truth; parser populates DB tables. See [../schema.sql](../schema.sql) for current schema (which will be extended to include synergies in Tier 2).
|