A CLI tool that validates and fixes the marketplace.json skills filter for Claude Code plugins, ensuring proper discovery and filtering of agent skills. This addresses the gap in skill marketplace usability for Claude ecosystems.
Quick Start • Features • Examples • Contributing
The Claude Skill Indexer is a command-line tool that helps Claude Code plugin developers and power users ensure the plugins[].skills filter in the marketplace.json file is correctly formatted and complete. This ensures proper discovery and filtering of agent skills in the Claude ecosystem.
$ python -m claudeskillindexer validate --file marketplace.json
All plugins have valid skills filters.The plugins[].skills filter in marketplace.json is often ignored or incorrectly formatted, leading to broken skill discovery and the need for manual management.
| Feature | Description |
|---|---|
| Validate Skill Filter | Validate the plugins[].skills filter to ensure all plugins have correctly formatted skill lists. |
| Fix Skill Filter | Automatically fix the plugins[].skills filter by adding missing skills or placeholder values. |
| List Invalid Plugins | List all plugins with invalid skill filters, making it easy to identify and address issues. |
| Customizable File Path | Specify a custom marketplace.json file path using the MARKETPLACE_FILE environment variable. |
| Extensive Test Coverage | Comprehensive test suite to ensure the tool works as expected in various scenarios. |
| User-Friendly CLI | Intuitive command-line interface for easy use and integration into development workflows. |
- Clone the repository:
git clone https://github.com/your-repo-url/claudeskillindexer.git cd claudeskillindexer - Install the dependencies:
pip install -r requirements.txt
- Run the first command to validate your
marketplace.jsonfile:python -m claudeskillindexer validate --file marketplace.json
Run the tool to validate the marketplace.json file:
$ python -m claudeskillindexer validate --file marketplace.json
All plugins have valid skills filters.Automatically fix any issues in the marketplace.json file:
$ python -m claudeskillindexer fix --file marketplace.json
Fixed skills filter in marketplace.json.List all plugins with invalid skill filters:
$ python -m claudeskillindexer list-invalid --file invalid_marketplace.json
Invalid plugins: [1, 3]Claude Skill Indexer/
src/ # Core source code
__init__.py
cli.py # Command-line interface
validator.py# Validation logic
fixer.py # Fixing logic
lister.py # Listing logic
io.py # File I/O operations
models.py # Data models
tests/ # Test suite
__init__.py
conftest.py
test_cli.py
test_fixer.py
test_lister.py
test_validator.py
fixtures/
invalid_marketplace.json
valid_marketplace.json
.gitignore
.heartbeat-callback
README.md
marketplace.json
pytest.ini
requirements.txt
setup.py
spec.md
| Technology | Purpose |
|---|---|
| Python 3.11+ | Primary programming language |
| click | Command-line interface library |
| pytest | Testing framework |
| Pydantic | Data validation and settings management |
- Fork the repository.
- Create a new branch:
git checkout -b feature/new-feature. - Make your changes and run tests.
- Submit a pull request.
MIT
Matthew Snow -- M2AI | @m2ai-portfolio | gitlab.com/m2ai-portfolio
