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>
This commit is contained in:
154
packages/skills/COMPATIBILITY.md
Normal file
154
packages/skills/COMPATIBILITY.md
Normal file
@@ -0,0 +1,154 @@
|
||||
# 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 Skills–compatible `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
|
||||
```
|
||||
Reference in New Issue
Block a user