Plugin.json's version field had been stuck at 1.9.0 across three releases
(v2.0, v2.0.1, v2.1.0) while marketplace.json was bumped each time. Claude
Code uses plugin.json's version for the update check, so
`claude plugin update marketing-skills@marketingskills` reported "already
at the latest version (1.9.0)" and refused to pull anything new — even
when main had real new content (sms skill, refreshed ai-seo / image / video).
Three changes:
1. .claude-plugin/plugin.json: bumped 1.9.0 → 2.1.0 to clear the current
drift.
2. .github/scripts/sync-skills.js: added updatePluginVersion() that reads
marketplace.json's metadata.version and copies it into plugin.json's
version field. Idempotent — no-op when they already match.
3. .github/workflows/sync-skills.yml: added marketplace.json to the
`paths` filter so the sync workflow runs whenever marketplace.json
changes (previously it only ran on skills/** changes, which is why
release commits that only bumped marketplace.json never triggered the
sync). Also added .claude-plugin/plugin.json to the file_pattern so
the bot commit captures the auto-bump.
Verified locally: script bumped 1.9.0 → 2.1.0, then a second run reported
"Everything is already in sync."
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
PR #264 was based on pre-fix main and re-introduced the inline skills
array that #273 removed. plugin.json with "skills": "./skills" is
the authority.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: marketplace.json source fails Claude Code schema validation (#270)
The source field used a bare dot which failed schema validation.
Changed to github source object and added proper plugin.json manifest.
- Added .claude-plugin/plugin.json with skills list and metadata
- Changed marketplace.json source from "." to github repo object
- Removed inline skills array and strict:false from marketplace.json
closes#270
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: use ./ source and simplify plugin.json skills path
Codex review found two issues with the initial fix:
- GitHub source object causes redundant clone, may fail without SSH
- skills paths in plugin.json need ./ prefix
Changed source to "./" (matches Anthropic's own marketplace pattern)
and simplified skills to "./skills" (auto-discovers all skill dirs).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>