[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6H45RTK274627R6QBCYDFMN":3,"skill-same:01M6H45RTK274627R6QBCYDFMN":100},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":42,"linkOnly":43,"markdownContent":44,"markdownBody":45,"frontMatter":46,"refName":47,"commitSha":48,"skillDirectory":49,"forksCount":50,"repositoryHtmlUrl":51,"repositoryHomepageUrl":52,"ownerHtmlUrl":53,"ownerBlogUrl":54,"ownerDescription":6,"updatedAt":55,"install":56,"resources":69},"01M6H45RTK274627R6QBCYDFMN","vendor-adapters",null,"Master cross-vendor reference for Claude Code, Cursor, Codex and Copilot CLI harness formats — support matrix, manifest and marketplace paths, marketplace source types, documentation URLs, and the verified known-gaps table (including where a vendor's own docs are wrong). Use when comparing vendors, porting a plugin from one vendor to another, or keeping the references current.","eyelock\u002Fassistants","eyelock","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1277325?v=4","01M6H423MGYJ0P316VZ2MMH75N","David Collie","01M6H423RR18QA9N8S2F3J8S8X",1,"MIT","https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fplugins\u002Fvendor-harness\u002Fskills\u002Fvendor-adapters\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41],"vendor adapters","Adapters","vendor","when","cli","porting","gaps","for","types","paths","references","source types","use","cursor","manifest","marketplace","harness","code","plugin","documentation","copilot","support","codex","2026-11-10 10:12:30",false,"---\nname: vendor-adapters\ndescription: Master cross-vendor reference for Claude Code, Cursor, Codex and Copilot CLI harness formats — support matrix, manifest and marketplace paths, marketplace source types, documentation URLs, and the verified known-gaps table (including where a vendor's own docs are wrong). Use when comparing vendors, porting a plugin from one vendor to another, or keeping the references current.\n---\n\nThis is the single source of truth for how harness artifacts map across Claude Code, Cursor, Codex, and GitHub Copilot CLI. Use it when comparing vendor behavior, checking format compatibility, or running a vendor sync update.\n\n## Vendor Documentation URLs\n\n### Claude Code (Anthropic)\n\n| Area | URL |\n|------|-----|\n| CLI Reference | https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fcli-reference |\n| Plugins Overview | https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fplugins |\n| Plugins Reference | https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fplugins-reference |\n| Plugin Marketplaces | https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fplugin-marketplaces |\n| Hooks Guide | https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fhooks-guide |\n| MCP Servers | https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fmcp |\n| Settings Reference | https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fsettings |\n| Subagents | https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fsub-agents |\n| Official Plugins Repo | https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fclaude-plugins-official |\n\n### OpenAI Codex\n\n| Area | URL |\n|------|-----|\n| Plugins Overview | https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fplugins |\n| Plugin Build Guide | https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fplugins\u002Fbuild |\n| Hooks | https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fhooks |\n| CLI Reference | https:\u002F\u002Fdevelopers.openai.com\u002Fcodex |\n| GitHub Repo | https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex |\n| Hook Schemas | https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex\u002Ftree\u002Fmain\u002Fcodex-rs\u002Fhooks\u002Fschema\u002Fgenerated |\n\n### Cursor\n\n| Area | URL |\n|------|-----|\n| Plugin Template | https:\u002F\u002Fgithub.com\u002Fcursor\u002Fplugin-template |\n| Official Plugins Repo | https:\u002F\u002Fgithub.com\u002Fcursor\u002Fplugins |\n| Marketplace | https:\u002F\u002Fcursor.com\u002Fmarketplace |\n| Plugins Reference | https:\u002F\u002Fcursor.com\u002Fdocs\u002Freference\u002Fplugins |\n| MCP Servers | https:\u002F\u002Fcursor.com\u002Fdocs\u002Fcontext\u002Fmcp |\n| Rules (.mdc) | https:\u002F\u002Fcursor.com\u002Fdocs\u002Fcontext\u002Frules |\n| Hooks | https:\u002F\u002Fcursor.com\u002Fdocs\u002Fhooks |\n| Subagents | https:\u002F\u002Fcursor.com\u002Fdocs\u002Fsubagents |\n| CLI | https:\u002F\u002Fcursor.com\u002Fcli |\n| Forum: .agents\u002F support | https:\u002F\u002Fforum.cursor.com\u002Ft\u002Fsupport-for-agent-folder-compatibility\u002F154167 |\n\n### GitHub Copilot CLI\n\n| Area | URL |\n|------|-----|\n| Product Page | https:\u002F\u002Fgithub.com\u002Ffeatures\u002Fcopilot\u002Fcli |\n| About CLI Plugins | https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Fconcepts\u002Fagents\u002Fcopilot-cli\u002Fabout-cli-plugins |\n| Creating a Plugin | https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Fhow-tos\u002Fcopilot-cli\u002Fcustomize-copilot\u002Fplugins-creating |\n| Creating a Marketplace | https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Fhow-tos\u002Fcopilot-cli\u002Fcustomize-copilot\u002Fplugins-marketplace |\n| Plugin Reference | https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Freference\u002Fcopilot-cli-reference\u002Fcli-plugin-reference |\n| Command Reference | https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Freference\u002Fcopilot-cli-reference\u002Fcli-command-reference |\n| Programmatic Reference | https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Freference\u002Fcopilot-cli-reference\u002Fcli-programmatic-reference |\n| Config Directory Reference | https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Freference\u002Fcopilot-cli-reference\u002Fcli-config-dir-reference |\n| Hooks Reference | https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Freference\u002Fhooks-reference |\n| Custom Agents Configuration | https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Freference\u002Fcustom-agents-configuration |\n| Agent Skills | https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Fhow-tos\u002Fcopilot-cli\u002Fcustomize-copilot\u002Fadd-skills |\n| Custom Instructions | https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Fhow-tos\u002Fcopilot-cli\u002Fcustomize-copilot\u002Fadd-custom-instructions |\n| MCP Servers | https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Fhow-tos\u002Fcopilot-cli\u002Fcustomize-copilot\u002Fadd-mcp-servers |\n| Issue Tracker | https:\u002F\u002Fgithub.com\u002Fgithub\u002Fcopilot-cli |\n\n### Cross-Vendor Standards\n\n| Area | URL |\n|------|-----|\n| Agent Skills | https:\u002F\u002Fagentskills.io |\n| AGENTS.md Spec | https:\u002F\u002Fgithub.com\u002Fagentsmd\u002Fagents.md |\n| .agents\u002F Folder Spec | https:\u002F\u002Fgithub.com\u002Fagentsfolder\u002Fspec |\n| MCP Spec | https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002F2025-03-26 |\n| Agent Plugins 1.0 (Open Plugin Spec) | https:\u002F\u002Fgithub.com\u002Fagentplugins\u002Fagent-plugins-spec |\n\n## Vendor Support Matrix\n\nQuick-lookup: what each vendor supports. For format details see references\u002F.\n\n| Artifact | Claude Code | Cursor | Codex | Copilot CLI |\n|----------|-------------|--------|-------|-------------|\n| Skills | ✓ full | ✓ full | ✓ full | ✓ full (also reads `.claude\u002Fskills`) |\n| SubAgents | ✓ full | ✓ full (`name`+`description`) | ✗ not in plugins | ✓ full (`agents\u002F*.md` or `*.agent.md`) |\n| MCP | ✓ stdio + HTTP | ✓ stdio + SSE + OAuth | ✓ stdio only | ✓ stdio\u002Flocal + HTTP + SSE |\n| Hooks | ✓ ~30 events, 5 types | ✓ 21 events, flat format | ✓ 11 events, command only | ✓ 14 events, 3 types, `version: 1` |\n| Startup Context | ✓ CLAUDE.md + rules\u002F | ✓ .cursor\u002Frules\u002F*.mdc | ✓ AGENTS.md only | ✓ AGENTS.md + CLAUDE.md + copilot-instructions.md |\n| Rules in plugins | ✓ .claude\u002Frules\u002F*.md | ✓ .mdc with frontmatter | ✗ not supported | ~ `*.instructions.md` with `applyTo` |\n| Commands | ✓ legacy (prefer skills) | ✓ commands\u002F*.md | ✗ not supported | ~ manifest field only, format undocumented |\n| LSP | ✓ .lsp.json | ✗ | ✗ | ✓ lsp.json \u002F .github\u002Flsp.json |\n\n## Manifest and Marketplace Path Resolution\n\nCopilot CLI reads Claude Code's manifest paths as a fallback, which is why a Claude plugin\noften installs into Copilot unchanged.\n\n| Vendor | Plugin manifest | Marketplace index |\n|--------|-----------------|-------------------|\n| Claude Code | `.claude-plugin\u002Fplugin.json` | `.claude-plugin\u002Fmarketplace.json` |\n| Cursor | `.cursor-plugin\u002Fplugin.json` | `.cursor-plugin\u002Fmarketplace.json` |\n| Codex | `.codex-plugin\u002Fplugin.json` | `.agents\u002Fplugins\u002Fmarketplace.json` |\n| Copilot CLI | `.plugin\u002F` → `plugin.json` → `.github\u002Fplugin\u002F` → `.claude-plugin\u002F` | `marketplace.json` → `.plugin\u002F` → `.github\u002Fplugin\u002F` → `.claude-plugin\u002F` |\n\n## Marketplace Source Types — the Claude ↔ Copilot trap\n\nCopilot CLI will read `.claude-plugin\u002Fmarketplace.json`, but the two vendors do not accept\nthe same `source` discriminators. An unrecognised type fails **the whole index**, not just\nthat entry, so one bad row makes every plugin in the marketplace uninstallable from Copilot.\n\n| `source` type | Claude Code | Copilot CLI (tested, v1.0.80) |\n|---------------|-------------|-------------------------------|\n| relative path string | ✓ | ✓ |\n| `github` object | ✓ (no `path`) | ✓ (supports `path`) |\n| `url` object | ✓ (no `path`) | ✓ |\n| `git-subdir` object | ✓ (only Claude type with `path`) | ✗ **rejected — fails whole file** |\n| `npm` object | ✓ | ✗ **rejected** |\n| `archive` object | ✓ | ✗ **rejected** |\n| `command` object | ✓ | ✗ **rejected** |\n\nCopilot accepts exactly three: relative path, `github`, `url`.\n\nPlugin names must be kebab-case for Copilot; a dot (e.g. `wordpress.com`) also fails the whole\nindex unless the plugin opts into Open Plugin Spec via `$schema`.\n\nPortable choice: relative paths. For a git subdirectory, Copilot wants\n`{\"source\": \"github\", \"repo\": \"o\u002Fr\", \"path\": \"sub\u002Fdir\"}` (or the `OWNER\u002FREPO:PATH` install\nstring) while Claude wants `{\"source\": \"git-subdir\", \"url\": …, \"path\": …}` — no single row\nsatisfies both, so publish a Copilot-safe `.github\u002Fplugin\u002Fmarketplace.json` alongside the\nClaude one.\n\nSee references\u002Fcopilot.md for the full detail and the upstream issues.\n\n## Format Mapping Tables\n\n(See references\u002F directory for full format details — anthropic.md, cursor.md, codex.md, copilot.md)\n\n## Known Gaps\n\nAll gaps live in one table: references\u002Fknown-gaps.md. Each gap entry:\n- Priority: HIGH \u002F MED \u002F LOW\n- Description: what's wrong or missing\n- Vendor: which vendor\n- Status: OPEN \u002F RESOLVED \u002F MITIGATED \u002F WITHDRAWN (with a dated note)\n\n## Update Workflow\n\nWhen vendor documentation changes:\n\n1. Use fetch-vendor-docs skill to retrieve current docs from URLs above\n2. Compare against stored references in this skill's references\u002F directory\n3. Identify: what changed, what's new, what was removed\n4. Update affected reference files\n5. Use flag-vendor-gaps skill to update gap table\n","This is the single source of truth for how harness artifacts map across Claude Code, Cursor, Codex, and GitHub Copilot CLI. Use it when comparing vendor behavior, checking format compatibility, or running a vendor sync update.\n\n## Vendor Documentation URLs\n\n### Claude Code (Anthropic)\n\n| Area | URL |\n|------|-----|\n| CLI Reference | https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fcli-reference |\n| Plugins Overview | https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fplugins |\n| Plugins Reference | https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fplugins-reference |\n| Plugin Marketplaces | https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fplugin-marketplaces |\n| Hooks Guide | https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fhooks-guide |\n| MCP Servers | https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fmcp |\n| Settings Reference | https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fsettings |\n| Subagents | https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fsub-agents |\n| Official Plugins Repo | https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fclaude-plugins-official |\n\n### OpenAI Codex\n\n| Area | URL |\n|------|-----|\n| Plugins Overview | https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fplugins |\n| Plugin Build Guide | https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fplugins\u002Fbuild |\n| Hooks | https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fhooks |\n| CLI Reference | https:\u002F\u002Fdevelopers.openai.com\u002Fcodex |\n| GitHub Repo | https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex |\n| Hook Schemas | https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex\u002Ftree\u002Fmain\u002Fcodex-rs\u002Fhooks\u002Fschema\u002Fgenerated |\n\n### Cursor\n\n| Area | URL |\n|------|-----|\n| Plugin Template | https:\u002F\u002Fgithub.com\u002Fcursor\u002Fplugin-template |\n| Official Plugins Repo | https:\u002F\u002Fgithub.com\u002Fcursor\u002Fplugins |\n| Marketplace | https:\u002F\u002Fcursor.com\u002Fmarketplace |\n| Plugins Reference | https:\u002F\u002Fcursor.com\u002Fdocs\u002Freference\u002Fplugins |\n| MCP Servers | https:\u002F\u002Fcursor.com\u002Fdocs\u002Fcontext\u002Fmcp |\n| Rules (.mdc) | https:\u002F\u002Fcursor.com\u002Fdocs\u002Fcontext\u002Frules |\n| Hooks | https:\u002F\u002Fcursor.com\u002Fdocs\u002Fhooks |\n| Subagents | https:\u002F\u002Fcursor.com\u002Fdocs\u002Fsubagents |\n| CLI | https:\u002F\u002Fcursor.com\u002Fcli |\n| Forum: .agents\u002F support | https:\u002F\u002Fforum.cursor.com\u002Ft\u002Fsupport-for-agent-folder-compatibility\u002F154167 |\n\n### GitHub Copilot CLI\n\n| Area | URL |\n|------|-----|\n| Product Page | https:\u002F\u002Fgithub.com\u002Ffeatures\u002Fcopilot\u002Fcli |\n| About CLI Plugins | https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Fconcepts\u002Fagents\u002Fcopilot-cli\u002Fabout-cli-plugins |\n| Creating a Plugin | https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Fhow-tos\u002Fcopilot-cli\u002Fcustomize-copilot\u002Fplugins-creating |\n| Creating a Marketplace | https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Fhow-tos\u002Fcopilot-cli\u002Fcustomize-copilot\u002Fplugins-marketplace |\n| Plugin Reference | https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Freference\u002Fcopilot-cli-reference\u002Fcli-plugin-reference |\n| Command Reference | https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Freference\u002Fcopilot-cli-reference\u002Fcli-command-reference |\n| Programmatic Reference | https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Freference\u002Fcopilot-cli-reference\u002Fcli-programmatic-reference |\n| Config Directory Reference | https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Freference\u002Fcopilot-cli-reference\u002Fcli-config-dir-reference |\n| Hooks Reference | https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Freference\u002Fhooks-reference |\n| Custom Agents Configuration | https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Freference\u002Fcustom-agents-configuration |\n| Agent Skills | https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Fhow-tos\u002Fcopilot-cli\u002Fcustomize-copilot\u002Fadd-skills |\n| Custom Instructions | https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Fhow-tos\u002Fcopilot-cli\u002Fcustomize-copilot\u002Fadd-custom-instructions |\n| MCP Servers | https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Fhow-tos\u002Fcopilot-cli\u002Fcustomize-copilot\u002Fadd-mcp-servers |\n| Issue Tracker | https:\u002F\u002Fgithub.com\u002Fgithub\u002Fcopilot-cli |\n\n### Cross-Vendor Standards\n\n| Area | URL |\n|------|-----|\n| Agent Skills | https:\u002F\u002Fagentskills.io |\n| AGENTS.md Spec | https:\u002F\u002Fgithub.com\u002Fagentsmd\u002Fagents.md |\n| .agents\u002F Folder Spec | https:\u002F\u002Fgithub.com\u002Fagentsfolder\u002Fspec |\n| MCP Spec | https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002F2025-03-26 |\n| Agent Plugins 1.0 (Open Plugin Spec) | https:\u002F\u002Fgithub.com\u002Fagentplugins\u002Fagent-plugins-spec |\n\n## Vendor Support Matrix\n\nQuick-lookup: what each vendor supports. For format details see references\u002F.\n\n| Artifact | Claude Code | Cursor | Codex | Copilot CLI |\n|----------|-------------|--------|-------|-------------|\n| Skills | ✓ full | ✓ full | ✓ full | ✓ full (also reads `.claude\u002Fskills`) |\n| SubAgents | ✓ full | ✓ full (`name`+`description`) | ✗ not in plugins | ✓ full (`agents\u002F*.md` or `*.agent.md`) |\n| MCP | ✓ stdio + HTTP | ✓ stdio + SSE + OAuth | ✓ stdio only | ✓ stdio\u002Flocal + HTTP + SSE |\n| Hooks | ✓ ~30 events, 5 types | ✓ 21 events, flat format | ✓ 11 events, command only | ✓ 14 events, 3 types, `version: 1` |\n| Startup Context | ✓ CLAUDE.md + rules\u002F | ✓ .cursor\u002Frules\u002F*.mdc | ✓ AGENTS.md only | ✓ AGENTS.md + CLAUDE.md + copilot-instructions.md |\n| Rules in plugins | ✓ .claude\u002Frules\u002F*.md | ✓ .mdc with frontmatter | ✗ not supported | ~ `*.instructions.md` with `applyTo` |\n| Commands | ✓ legacy (prefer skills) | ✓ commands\u002F*.md | ✗ not supported | ~ manifest field only, format undocumented |\n| LSP | ✓ .lsp.json | ✗ | ✗ | ✓ lsp.json \u002F .github\u002Flsp.json |\n\n## Manifest and Marketplace Path Resolution\n\nCopilot CLI reads Claude Code's manifest paths as a fallback, which is why a Claude plugin\noften installs into Copilot unchanged.\n\n| Vendor | Plugin manifest | Marketplace index |\n|--------|-----------------|-------------------|\n| Claude Code | `.claude-plugin\u002Fplugin.json` | `.claude-plugin\u002Fmarketplace.json` |\n| Cursor | `.cursor-plugin\u002Fplugin.json` | `.cursor-plugin\u002Fmarketplace.json` |\n| Codex | `.codex-plugin\u002Fplugin.json` | `.agents\u002Fplugins\u002Fmarketplace.json` |\n| Copilot CLI | `.plugin\u002F` → `plugin.json` → `.github\u002Fplugin\u002F` → `.claude-plugin\u002F` | `marketplace.json` → `.plugin\u002F` → `.github\u002Fplugin\u002F` → `.claude-plugin\u002F` |\n\n## Marketplace Source Types — the Claude ↔ Copilot trap\n\nCopilot CLI will read `.claude-plugin\u002Fmarketplace.json`, but the two vendors do not accept\nthe same `source` discriminators. An unrecognised type fails **the whole index**, not just\nthat entry, so one bad row makes every plugin in the marketplace uninstallable from Copilot.\n\n| `source` type | Claude Code | Copilot CLI (tested, v1.0.80) |\n|---------------|-------------|-------------------------------|\n| relative path string | ✓ | ✓ |\n| `github` object | ✓ (no `path`) | ✓ (supports `path`) |\n| `url` object | ✓ (no `path`) | ✓ |\n| `git-subdir` object | ✓ (only Claude type with `path`) | ✗ **rejected — fails whole file** |\n| `npm` object | ✓ | ✗ **rejected** |\n| `archive` object | ✓ | ✗ **rejected** |\n| `command` object | ✓ | ✗ **rejected** |\n\nCopilot accepts exactly three: relative path, `github`, `url`.\n\nPlugin names must be kebab-case for Copilot; a dot (e.g. `wordpress.com`) also fails the whole\nindex unless the plugin opts into Open Plugin Spec via `$schema`.\n\nPortable choice: relative paths. For a git subdirectory, Copilot wants\n`{\"source\": \"github\", \"repo\": \"o\u002Fr\", \"path\": \"sub\u002Fdir\"}` (or the `OWNER\u002FREPO:PATH` install\nstring) while Claude wants `{\"source\": \"git-subdir\", \"url\": …, \"path\": …}` — no single row\nsatisfies both, so publish a Copilot-safe `.github\u002Fplugin\u002Fmarketplace.json` alongside the\nClaude one.\n\nSee references\u002Fcopilot.md for the full detail and the upstream issues.\n\n## Format Mapping Tables\n\n(See references\u002F directory for full format details — anthropic.md, cursor.md, codex.md, copilot.md)\n\n## Known Gaps\n\nAll gaps live in one table: references\u002Fknown-gaps.md. Each gap entry:\n- Priority: HIGH \u002F MED \u002F LOW\n- Description: what's wrong or missing\n- Vendor: which vendor\n- Status: OPEN \u002F RESOLVED \u002F MITIGATED \u002F WITHDRAWN (with a dated note)\n\n## Update Workflow\n\nWhen vendor documentation changes:\n\n1. Use fetch-vendor-docs skill to retrieve current docs from URLs above\n2. Compare against stored references in this skill's references\u002F directory\n3. Identify: what changed, what's new, what was removed\n4. Update affected reference files\n5. Use flag-vendor-gaps skill to update gap table\n",{"name":5,"description":7},"develop","5f79513fe27520bf03af784e8df568a04931c48d","plugins\u002Fvendor-harness\u002Fskills\u002Fvendor-adapters",0,"https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants","https:\u002F\u002Feyelock.github.io\u002Fassistants\u002F","https:\u002F\u002Fgithub.com\u002Feyelock","http:\u002F\u002Fwww.eyelock.net\u002Fblog","2026-11-11 22:45:53",{"source":8,"skillName":5,"commands":57,"prompt":67,"zipAvailable":68},[58,61,64],{"tool":59,"command":60},"npx","npx skills add eyelock\u002Fassistants --skill vendor-adapters",{"tool":62,"command":63},"bunx","bunx skills add eyelock\u002Fassistants --skill vendor-adapters",{"tool":65,"command":66},"pnpm","pnpm dlx skills add eyelock\u002Fassistants --skill vendor-adapters","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fplugins\u002Fvendor-harness\u002Fskills\u002Fvendor-adapters\u002FSKILL.md",true,[70,76,80,84,88,92,96],{"path":71,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":74,"sourceHtmlUrl":75},"evals\u002Feval_queries.json","REFERENCE","参考文档",882,"https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fplugins\u002Fvendor-harness\u002Fskills\u002Fvendor-adapters\u002Fevals\u002Feval_queries.json",{"path":77,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":78,"sourceHtmlUrl":79},"evals\u002Fevals.json",4629,"https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fplugins\u002Fvendor-harness\u002Fskills\u002Fvendor-adapters\u002Fevals\u002Fevals.json",{"path":81,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":82,"sourceHtmlUrl":83},"references\u002Fanthropic.md",5025,"https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fplugins\u002Fvendor-harness\u002Fskills\u002Fvendor-adapters\u002Freferences\u002Fanthropic.md",{"path":85,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":86,"sourceHtmlUrl":87},"references\u002Fcodex.md",5701,"https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fplugins\u002Fvendor-harness\u002Fskills\u002Fvendor-adapters\u002Freferences\u002Fcodex.md",{"path":89,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":90,"sourceHtmlUrl":91},"references\u002Fcopilot.md",18159,"https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fplugins\u002Fvendor-harness\u002Fskills\u002Fvendor-adapters\u002Freferences\u002Fcopilot.md",{"path":93,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":94,"sourceHtmlUrl":95},"references\u002Fcursor.md",6626,"https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fplugins\u002Fvendor-harness\u002Fskills\u002Fvendor-adapters\u002Freferences\u002Fcursor.md",{"path":97,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":98,"sourceHtmlUrl":99},"references\u002Fknown-gaps.md",10684,"https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fplugins\u002Fvendor-harness\u002Fskills\u002Fvendor-adapters\u002Freferences\u002Fknown-gaps.md",[101,107,131,148,160,173],{"skillNo":102,"name":103,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":106,"publishedAt":42},"01M6H46CHAJFE20J3Q118P9PW9","doctor","https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fplugins\u002Fwheelhouse\u002Fskills\u002Fdoctor\u002FSKILL.md",[],[103],{"skillNo":108,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":113,"publishedAt":42},"01M6H45X8QJZTQAPN56WZ8V111","add-seat","Add a named seat to a Wheelhouse - a crew member, a standing role (such as a dispatcher) or a worker - as a ynh harness with its charter, standing orders and only the tools its job needs, named from the Wheelhouse's roster. Use when asked to add, create or set up a seat, role, worker or agent in a Wheelhouse (a release manager, a PR watcher, a dispatcher, a designer, more workers), or to give a role a name, or to start on a Wheelhouse's team (its starter team), one role at a time. Also use to trial, make official or drop a seat.","https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fplugins\u002Fwheelhouse\u002Fskills\u002Fadd-seat\u002FSKILL.md",[],[114,115,35,116,117,31,118,119,120,121,122,123,124,22,125,126,127,128,129,130],"add","add seat","SET","roster","release manager","workers","team","with","create","watcher","starter","more","worker","up","only","pr","as",{"skillNo":132,"name":133,"nameZh":6,"description":134,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":135,"categories":136,"keywords":137,"publishedAt":42},"01M6H4BWCVR2YJVP8RW878NYDP","voice","How voices work - what a voice skill contains, how to write a new one, and how several voices compose into one reply. Use whenever drafting a reply in a named voice, or when asked to create or change a voice.","https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fskills\u002Fvoice\u002Fskills\u002Fvoice\u002FSKILL.md",[],[133,122,138,139,140,141,31,142,143,144,145,146,22,147],"how to","work","change","voice skill","compose","how","write","reply","new","drafting",{"skillNo":149,"name":150,"nameZh":6,"description":151,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":152,"categories":153,"keywords":154,"publishedAt":42},"01M6H4BRVA87C6T495HCFNDQ7Z","voice-warm","A friendly voice that acknowledges the person and their effort. Compose with direct for friendly but brief.","https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fskills\u002Fvoice\u002Fskills\u002Fvoice-warm\u002FSKILL.md",[],[155,133,156,121,157,142,158,26,159],"voice warm","person","brief","direct","but",{"skillNo":161,"name":162,"nameZh":6,"description":163,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":166,"publishedAt":42},"01M6H4BNFQ64X65YZDM9QMD61B","voice-formal","A careful, complete voice for people outside the team - customers, partners, senior stakeholders.","https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fskills\u002Fvoice\u002Fskills\u002Fvoice-formal\u002FSKILL.md",[],[167,133,120,168,169,170,171,172,26],"voice formal","complete","senior","careful","partners","people",{"skillNo":174,"name":175,"nameZh":6,"description":176,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":177,"categories":178,"keywords":179,"publishedAt":42},"01M6H4BHXE6KSNBY92TBFZY7QD","voice-direct","A plain, brief voice that leads with the answer. The default when no voice is named.","https:\u002F\u002Fgithub.com\u002Feyelock\u002Fassistants\u002Fblob\u002Fdevelop\u002Fskills\u002Fvoice\u002Fskills\u002Fvoice-direct\u002FSKILL.md",[],[180,158,133,121,157,181,182,183,22,184],"voice direct","leads","answer","default","plain"]