Product contract
A marketplace is a metadata catalog. Marketplace add and update do not install a plugin or grant runtime authority.
Keep direct public GitHub plugin install from #2134. Keep private skill-server feeds. Keep netclaw skill sync as one complete external-source pass.
CLI surface
netclaw plugin marketplace add <owner/repository> [--id <id>]
netclaw plugin marketplace list [--json]
netclaw plugin marketplace update <id>|--all
netclaw plugin marketplace remove <id>
netclaw plugin search <query> [--marketplace <id>]
netclaw plugin show <name>@<marketplace>
netclaw plugin install <name>@<marketplace>
netclaw plugin update <source-id> updates only the named installed package.
netclaw skill sync refreshes skill-server feeds, installed Git plugins, and registered catalogs.
Boundaries
The daemon owns catalog validation, durable snapshots, package source resolution, and source identity. A catalog entry supplies metadata and a candidate location. It does not bypass Git acquisition, path checks, the content scanner, or the skill registry.
A failed catalog refresh keeps the last valid snapshot. The sync result reports that failure. Feed and installed-plugin sync continue. A marketplace removal does not remove installed plugins without an explicit operator action.
The Agent Plugins 1.0.0 specification defines package format. It does not define a marketplace catalog format. The planning change must select and document the initial catalog format. The first release supports public GitHub sources only.
Acceptance
- Marketplace add and refresh install no plugin.
- Catalog search and show use one validated durable snapshot.
- A catalog install creates a managed plugin source with marketplace provenance.
- A named plugin update touches no other plugin or feed source.
netclaw skill sync reports separate feed, installed-plugin, and catalog rows.
- Invalid entries and unsafe locations fail before persistence or acquisition.
- A catalog failure retains the last valid catalog and does not hide the failure.
- Tests prove the positive and negative boundaries.
Update PRD-004 and SPEC-004. Create an OpenSpec change through the repository workflow before implementation. Reuse the existing sync actor and registry.
Direct Git plugin work: #2134 and PRs #2160, #2161, #2162, #2157, #2158. Website documentation: netclaw-dev/netclaw-website#121.
Product contract
A marketplace is a metadata catalog. Marketplace add and update do not install a plugin or grant runtime authority.
Keep direct public GitHub plugin install from #2134. Keep private skill-server feeds. Keep
netclaw skill syncas one complete external-source pass.CLI surface
netclaw plugin marketplace add <owner/repository> [--id <id>]netclaw plugin marketplace list [--json]netclaw plugin marketplace update <id>|--allnetclaw plugin marketplace remove <id>netclaw plugin search <query> [--marketplace <id>]netclaw plugin show <name>@<marketplace>netclaw plugin install <name>@<marketplace>netclaw plugin update <source-id>updates only the named installed package.netclaw skill syncrefreshes skill-server feeds, installed Git plugins, and registered catalogs.Boundaries
The daemon owns catalog validation, durable snapshots, package source resolution, and source identity. A catalog entry supplies metadata and a candidate location. It does not bypass Git acquisition, path checks, the content scanner, or the skill registry.
A failed catalog refresh keeps the last valid snapshot. The sync result reports that failure. Feed and installed-plugin sync continue. A marketplace removal does not remove installed plugins without an explicit operator action.
The Agent Plugins 1.0.0 specification defines package format. It does not define a marketplace catalog format. The planning change must select and document the initial catalog format. The first release supports public GitHub sources only.
Acceptance
netclaw skill syncreports separate feed, installed-plugin, and catalog rows.Update PRD-004 and SPEC-004. Create an OpenSpec change through the repository workflow before implementation. Reuse the existing sync actor and registry.
Direct Git plugin work: #2134 and PRs #2160, #2161, #2162, #2157, #2158. Website documentation: netclaw-dev/netclaw-website#121.