Adds every cross-compatible component between Claude Code and Copilot CLI: skills (shared), agents (per-tool .md vs .agent.md), hooks (per-tool paths), and .mcp.json (shared). Both plugin.json manifests now carry all shared identity fields (name, description, author, license, keywords) with Copilot-specific component paths only in the root manifest. Updates validate.sh sync check to verify shared identity fields rather than demanding content equality, since component path declarations legitimately diverge between tools. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2.8 KiB
2.8 KiB
hello-world
Complete scaffold plugin for the holocron marketplace. Every cross-compatible component is included with a working stub. Copy this directory, rename it, and replace the stubs with your actual content.
Directory layout
hello-world/
├── plugin.json # Copilot CLI manifest — declares component paths
├── .claude-plugin/
│ └── plugin.json # Claude Code manifest — no component paths (uses defaults)
├── skills/
│ └── hello-world/
│ └── SKILL.md # ✅ identical for both tools
├── agents/
│ ├── hello-world.md # Claude Code agent (no frontmatter)
│ └── hello-world.agent.md # Copilot CLI agent (YAML frontmatter + tools:)
├── hooks/
│ └── hooks.json # Claude Code hooks (PostToolUse / PreToolUse events)
├── hooks.json # Copilot CLI hooks (session_start / session_end events)
├── .mcp.json # ✅ MCP server config — identical for both tools
└── README.md
Cross-compatibility notes
| Component | Claude Code path | Copilot CLI path | Portable? |
|---|---|---|---|
| Plugin manifest | .claude-plugin/plugin.json |
plugin.json at root |
Ship both |
| Skills | skills/<name>/SKILL.md |
skills/<name>/SKILL.md |
✅ Identical |
| Agents | agents/<name>.md |
agents/<name>.agent.md |
Ship both |
| Hooks | hooks/hooks.json |
hooks.json at root |
Ship both |
| MCP servers | .mcp.json at root |
.mcp.json at root |
✅ Identical |
Install via marketplace
# Claude Code
claude plugin marketplace add <owner>/ai-development
claude plugin install hello-world@holocron
# GitHub Copilot CLI
copilot plugin marketplace add <owner>/ai-development
copilot plugin install hello-world
Local dev install
# Claude Code
claude --plugin-dir ./plugins/hello-world
# GitHub Copilot CLI
copilot plugin install ./plugins/hello-world
Validate (Claude Code)
claude plugin validate ./plugins/hello-world
Copilot CLI has no validate command — run copilot plugin install ./plugins/hello-world
and check that /skills list and /agent surface the expected entries.
Creating a new plugin from this scaffold
- Copy
plugins/hello-world/→plugins/<your-plugin-name>/ - Update
namein bothplugin.jsonfiles - Replace
skills/hello-world/SKILL.mdwith your skill(s) - Replace or remove
agents/files — only include if your plugin ships an agent - Replace or remove
hooks/files — only include if your plugin reacts to events - Replace or remove
.mcp.json— only include if your plugin ships an MCP server - Add the new plugin to
.claude-plugin/marketplace.json - Run
claude plugin validate ./plugins/<your-plugin-name>