feat(agent-skills): marketplace.json build, validate, and audit#57
Merged
feat(agent-skills): marketplace.json build, validate, and audit#57
Conversation
Add full marketplace.json lifecycle support: - Create MarketplaceManifestSchema (Zod, passthrough per Postel's Law) supporting all official source types (string, github, url, npm, pip) - Create validateMarketplace() mirroring plugin-validator pattern - Generate marketplace.json in `vat claude build` with relative source paths - Validate marketplace.json in `vat claude verify` - Route marketplace type through unified validator (replaces placeholder error) - Make plugin description optional in VAT config (adopter compatibility) - Add marketplace-level skills selector to config schema Verified against official Anthropic docs and real-world fixtures including claude-plugins-official, anthropic-agent-skills, and superpowers marketplaces. Tested in avonrisk-sdlc adopter project. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #57 +/- ##
==========================================
+ Coverage 74.22% 74.35% +0.13%
==========================================
Files 164 165 +1
Lines 12315 12379 +64
Branches 2173 2187 +14
==========================================
+ Hits 9141 9205 +64
Misses 3174 3174
🚀 New features to boost your workflow:
|
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Requires CHANGELOG.md update and version bump prompt before creating PRs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Summary
MarketplaceManifestSchema(Zod, passthrough) supporting all official source types (string, github, url, npm, pip)validateMarketplace()validator mirroring the plugin-validator patternmarketplace.jsoninvat claude buildwith relative source pathsmarketplace.jsoninvat claude verifyagainst the schemadescriptionoptional in VAT project config (adopter compatibility)skillsselector to config schemaVerification
avonrisk-sdlcadopter project —vat build+vat verifyboth passvat audit --usernow correctly validates 4 marketplaces (previously returned UNKNOWN_FORMAT)Test plan
bun run validatepasses (14/14 steps)vat build --cwd packages/vat-development-agentsgenerates marketplace.jsonvat verify --cwd packages/vat-development-agentsvalidates itVAT_ROOT_DIR=. vat buildin avonrisk-sdlc succeedsVAT_ROOT_DIR=. vat verifyin avonrisk-sdlc passes all phasesvat audit --usershows no UNKNOWN_FORMAT for marketplace directories🤖 Generated with Claude Code