BREAKING CHANGE: All plugin paths changed from nested to flat structure
Problem:
- Only 11 out of 169 skills appeared in Claude Code's system prompt
- v3.1.0 updated marketplace.json but didn't migrate directory structure
- Mismatch: marketplace expected `./plugins/skill-name` but files were at
`./plugins/category/skills/skill-name`
Solution:
- Moved all 169 skills from `plugins/*/skills/*` to `plugins/*` (flat)
- Removed 66 empty category directories (api, cloudflare, testing, etc.)
- Updated marketplace.json with correct flat paths (all 169 entries)
- Updated scripts to work with flat structure:
- generate-marketplace.sh: removed nested loop logic
- sync-plugins.sh: simplified to single loop
- Added flatten-plugin-structure.sh migration tool
Migration Details:
- Used git mv to preserve history for all 169 skills
- Handled name collisions via temporary directories
- Validated: 0 errors, 169 skills successfully migrated
Results:
- ✅ All 169 skills at `plugins/*/` level
- ✅ marketplace.json: 169 valid entries
- ✅ No nested skills/ directories remain
- ✅ Scripts updated and tested
This completes the migration started in v3.1.0 (commit 677abf8) and
resolves skill discovery issues.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>