| name | plugin-composition-authoring |
| description | Use when creating or validating referential plugin manifests, marketplace entries, primitive references, or payload-to-reference plugin conversions. |
Plugin Composition Authoring
Use this skill to create plugin manifests that assemble primitives already
owned elsewhere in the repo. The plugin is the installable composition surface;
the primitive remains usable without the plugin.
Operating Contract
- Do not copy primitive payloads into a plugin folder.
- Reference direct primitive roots such as
skills/*, agents/*, hooks/*,
and concepts/* inside the repository source/ graph.
- Keep plugin manifests small and declarative.
- Treat plugin manifests and marketplace catalogs as structured data governed by
repo-local schemas. Shape changes require schema changes or validation
evidence, not prose-only agreement.
- Add marketplace entries only after the plugin manifest exists.
- Keep source provenance public-safe; the plugin itself should not be the only
place provenance lives.
- Validate against the repository source graph and local reference checks.
Workflow
-
Define the plugin family.
Name the composed capability set, the primitives it should assemble, and
what should remain outside the plugin.
-
Confirm primitive independence.
Verify every skill, agent, hook, and concept exists under the canonical root
and makes sense without the plugin.
-
Write source/plugins/<name>/plugin.json.
Use local references to existing primitives. Keep metadata limited to
composition, version, and description.
-
Update source/adaptable.marketplace.json.
Add or update one plugin entry and any newly promoted primitive entries.
Preserve existing ordering unless a new order is part of the request.
-
Validate.
Run the source graph gate and, for focused plugin review, the composition
checker:
node source/tools/validate-source-graph.mjs
python3 source/skills/plugin-composition-authoring/scripts/check_plugin_composition --plugin <name>
Reference Routing
Completion Criteria
- The plugin references only existing independent primitives.
- No plugin-payload copy is introduced.
source/adaptable.marketplace.json and plugin manifest references validate.
- First-party source handling remains clean.