@@ -11,7 +11,7 @@ A **plugin marketplace** for Power Platform development by Microsoft. The Open P
1111```
1212power-platform-skills/
1313├── marketplace.json # Open Plugins marketplace manifest (lists all available plugins)
14- ├── .claude-plugin/ # Legacy symlinks for existing subscriptions
14+ ├── .claude-plugin/ # Legacy manifest mirrors for existing subscriptions
1515│ └── marketplace.json
1616├── plugins/ # Directory containing individual plugins
1717│ └── <plugin-name>/ # Individual plugin (e.g., power-pages)
@@ -46,7 +46,7 @@ No root-level build, lint, or test commands exist. Build/test tooling lives insi
4646Each plugin follows this structure:
4747
4848- ` .plugin/plugin.json ` — Open Plugins metadata (name, version, keywords)
49- - ` .claude-plugin/plugin.json ` — legacy symlink to ` .plugin/plugin.json ` kept for existing subscriptions
49+ - ` .claude-plugin/plugin.json ` — legacy mirror of ` .plugin/plugin.json ` kept for existing subscriptions
5050- ` .mcp.json ` — MCP server configuration (optional)
5151- ` agents/ ` — Agent definitions (` .md ` files with YAML frontmatter)
5252- ` skills/ ` — Skill definitions, each in its own subdirectory with a ` SKILL.md `
@@ -96,13 +96,14 @@ Current adopters: `power-pages`. Others adopt on demand.
9696
9797# # Legacy Marketplace Compatibility
9898
99- Keep the root `.claude-plugin/marketplace.json` as a symlink to
100- ` ../marketplace.json` , and keep each plugin's `.claude-plugin/plugin.json` as a
101- symlink to `../.plugin/plugin.json`. The shared root marketplace must stay
102- dual-compatible : use repository-root-relative plugin `source` paths and preserve
103- legacy `category`/`tags` fields alongside Open Plugins metadata. Existing
104- marketplace subscriptions may still resolve the legacy paths during auto-update,
105- so removing or drifting these files can force users to reinstall. Run
99+ Keep the root `.claude-plugin/marketplace.json` and each plugin's
100+ ` .claude-plugin/plugin.json` as JSON mirrors of their Open Plugins counterparts.
101+ The shared root marketplace must stay dual-compatible : use repository-root-relative
102+ plugin `source` paths and preserve legacy `category`/`tags` fields alongside Open
103+ Plugins metadata. Existing marketplace subscriptions may still resolve the legacy
104+ paths during auto-update, so removing or drifting these files can force users to
105+ reinstall. Because mirrors are committed files (not symlinks), update both source
106+ and legacy copies together, then run
106107` node scripts/validate-legacy-compatibility.js` after metadata changes.
107108
108109# # Code Conventions
0 commit comments