## Why
The manifest-fields tables in both skills used imprecise labels ("CC-only",
"Copilot-only") that conflated two distinct reasons a field appears in only
one manifest: platform constraint (the other tool does not support the field
at all) versus repo convention (both tools support it, but the scaffold places
it in one manifest by design). This caused agents to treat convention
boundaries as hard platform constraints, producing unnecessary errors when
updating manifests for dual-tool repos.
Provenance was also incomplete: sources.md files were missing entries for
sources that had been consulted and were already contributing to SKILL.md
and manifest-fields.md content, making the evidence chain unverifiable.
## Implementation Notes
Field classification now uses three explicit categories — shared, platform
(one tool does not support the field), and convention (both tools support it;
scaffold places it in one manifest by design). The distinction matters because
convention fields may legitimately appear in the other manifest when there is
a deliberate reason; platform fields may not.
New gotchas added to plugin-author: agent files silently ignore hooks,
mcpServers, and permissionMode frontmatter; claude plugin tag --push requires
a clean working tree; --dry-run preview before tagging; --strict flag on
validate. New gotchas in marketplace-author: metadata object as Copilot CLI
canonical location for top-level fields; strict: false for dual-tool plugins;
sha takes precedence over ref for pinning; --strict flag on validate.
tests/ removed from plugin-author because new-plugin.sh has no branching
logic warranting a bats suite at this stage.
## Impact
Skill prompt changes only — no runtime code affected. Agents using these
skills will now correctly distinguish convention from constraint when deciding
which manifest to update for a given field.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
marketplace-author
Adds, removes, and updates plugin entries in the holocron marketplace manifest.
What it does
Manages entries in the plugins[] array of marketplace.json. Always updates both .claude-plugin/marketplace.json and .github/plugin/marketplace.json in the same edit pass — never one without the other. Routes automatically to add, remove, update, or create-from-scratch based on whether the files exist and whether the named plugin is already in the catalog. Runs claude plugin validate . after every mutating operation.
Before you start
Have ready: the plugin name (kebab-case), what you want to do (add/remove/update), and — for add — the source type and source value. If adding from an external repo, know the source type (local path, GitHub, git URL, or npm).
Usage
/marketplace-author
No manual script. This skill is purely agentic — it reads, edits, and writes the marketplace files directly using the Read/Edit/Write tools.
Files
| File | Purpose |
|---|---|
SKILL.md |
Skill instructions for agents |
references/manifest-fields.md |
Full field reference for top-level and per-entry marketplace.json fields, all four source type shapes with examples, and why both files must stay identical |
references/sources.md |
Research provenance — sources that informed this skill |
references/README.md |
Directory meta-documentation for references/ |
tests/README.md |
Notes on test coverage for this skill |
Marketplace files managed
| File | Read by |
|---|---|
.claude-plugin/marketplace.json |
Claude Code |
.github/plugin/marketplace.json |
Copilot CLI |