Files
probo/packages/skills/COMPATIBILITY.md
Cursor Agent e3209b74ae Add @probo/skills multi-agent compliance package
Ship compliance skills and agent plugin wiring for Claude Code,
Codex, OpenCode, and Cursor via Probo MCP (OAuth 2.0). Includes
access-review and missing-signatures workflows, repo-root Git
marketplaces, validation, and npm release CI.

Signed-off-by: Cursor Agent <cursoragent@cursor.com>

Co-authored-by: Bryan FRIMIN <bryan@frimin.fr>
2026-07-10 12:59:49 +00:00

155 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Multi-agent compatibility
`@probo/skills` targets **Claude Code**, **Codex**, **OpenCode**, and
other MCP-capable agents (including **Cursor**). The portable core is Probo
MCP plus Agent Skillscompatible `SKILL.md` files.
## What works where
| Component | Claude Code | Codex | OpenCode | Cursor |
| --- | --- | --- | --- | --- |
| Probo MCP (OAuth) | ✅ Plugin `.mcp.json` | ✅ `.codex-plugin` + `.mcp.json` | ✅ Manual MCP config | ✅ IDE MCP settings |
| Skills (`SKILL.md`) | ✅ `skills/` | ✅ `skills/` via `.codex-plugin` | ✅ `.opencode/skills/` or `.claude/skills/` | ✅ Copy/symlink to `.cursor/skills/` |
| Commands | ✅ `commands/``/probo:…` | ⚠️ Use skills instead | ⚠️ Native `skill` tool | ❌ Use skill or rules |
| Plugin manifest | `.claude-plugin/` | `.codex-plugin/` | Discovery paths (no manifest) | No native manifest |
| Marketplace catalog | `.claude-plugin/marketplace.json` (repo root or package) | `.agents/plugins/marketplace.json` (repo root or package) | — | — |
## Probo MCP (all agents)
Set the instance URL:
```bash
export PROBO_BASE_URL="https://your-probo-instance.example.com"
```
Endpoint: `${PROBO_BASE_URL}/mcp/v1` (HTTP, OAuth 2.0). Do not configure a
static bearer token — OAuth discovery uses
`/.well-known/oauth-protected-resource`.
### Claude Code
**From the monorepo or GitHub** (repo-root catalog at
`.claude-plugin/marketplace.json`):
```bash
claude plugin marketplace add getprobo/probo
# or, from a local clone:
claude plugin marketplace add .
claude plugin install probo@probo
claude mcp login probo # or /mcp in session
/probo:access-review Q3 GitHub review
```
**From the package directory** (catalog resolves `@probo/skills` from npm):
```bash
claude plugin marketplace add ./packages/skills/.claude-plugin
claude plugin install probo@probo
claude mcp login probo
```
Or install the plugin directory directly:
```bash
claude --plugin-dir ./packages/skills
```
### Codex
**From the monorepo or GitHub** (repo-root catalog at
`.agents/plugins/marketplace.json`):
```bash
codex plugin marketplace add getprobo/probo
# or, from a local clone:
codex plugin marketplace add .
codex plugin install probo@probo
codex mcp login probo
```
**From the package directory** (catalog at
`packages/skills/.agents/plugins/marketplace.json`):
```bash
codex plugin marketplace add ./packages/skills
codex plugin install probo@probo
codex mcp login probo
```
Or install the plugin directory directly:
```bash
codex plugin install ./packages/skills
codex mcp login probo
```
Skills load from `./skills/` via `.codex-plugin/plugin.json`. The repo-root
marketplace `source.path` is `./packages/skills`; the package-level
catalog uses `./` (plugin package root).
### OpenCode
OpenCode discovers skills at `.opencode/skills/`, `.claude/skills/`, and
`~/.config/opencode/skills/`. Options:
**Option A — symlink from this package:**
```bash
mkdir -p .opencode/skills
ln -s ../../packages/skills/skills/access-review .opencode/skills/access-review
ln -s ../../packages/skills/skills/open-source-compliance .opencode/skills/open-source-compliance
```
**Option B — Claude Code bridge:** install
[`opencode-claude-code-bridge`](https://www.npmjs.com/package/opencode-claude-code-bridge)
to import Claude plugins and MCP configs into OpenCode.
Configure Probo MCP in `opencode.json` or global OpenCode MCP settings, then
authenticate. Invoke via the native `skill` tool (`access-review`).
### Cursor
1. Add Probo MCP in Cursor settings (HTTP URL: `${PROBO_BASE_URL}/mcp/v1`,
OAuth).
2. Copy or symlink skills into `.cursor/skills/`:
```bash
mkdir -p .cursor/skills
cp -r packages/skills/skills/access-review .cursor/skills/
```
Reference the skill in chat or add a Cursor rule pointing at the skill.
## Portable vs agent-specific paths
| Path | Portable? |
| --- | --- |
| `skills/<name>/SKILL.md` | ✅ Agent Skills standard |
| `skills/<name>/references/*.md` | ✅ Relative to skill directory |
| `.mcp.json` with `${PROBO_BASE_URL}` | ✅ Standard env var |
| `${CLAUDE_PLUGIN_ROOT}` | ❌ Claude Code only — avoid in skill bodies |
| `commands/*.md` | Claude Code slash commands only |
Skill bodies use **relative** `references/` paths so they work once the skill
directory is discovered, regardless of which agent loads it.
## npm package layout
```
@probo/skills/
.claude-plugin/plugin.json # Claude Code manifest
.claude-plugin/marketplace.json # Claude marketplace (npm)
.codex-plugin/plugin.json # Codex manifest
.agents/plugins/marketplace.json # Codex marketplace (package-local)
.mcp.json # Shared MCP wiring
skills/ # Shared skills (all agents)
commands/ # Claude Code commands only
```
Repo root (monorepo / `getprobo/probo` Git installs):
```
.claude-plugin/marketplace.json # Claude marketplace → packages/skills
.agents/plugins/marketplace.json # Codex marketplace → packages/skills
```