Skip to content

m2ai-portfolio/claude-skill-indexer

Repository files navigation

Claude Skill Indexer

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 StartFeaturesExamplesContributing

What is this?

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.

Problem

The plugins[].skills filter in marketplace.json is often ignored or incorrectly formatted, leading to broken skill discovery and the need for manual management.

Features

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.

Quick Start

  1. Clone the repository:
    git clone https://github.com/your-repo-url/claudeskillindexer.git
    cd claudeskillindexer
  2. Install the dependencies:
    pip install -r requirements.txt
  3. Run the first command to validate your marketplace.json file:
    python -m claudeskillindexer validate --file marketplace.json

Examples

Validate Skill Filter

Run the tool to validate the marketplace.json file:

$ python -m claudeskillindexer validate --file marketplace.json
All plugins have valid skills filters.

Fix Skill Filter

Automatically fix any issues in the marketplace.json file:

$ python -m claudeskillindexer fix --file marketplace.json
Fixed skills filter in marketplace.json.

List Plugins with Invalid Skills

List all plugins with invalid skill filters:

$ python -m claudeskillindexer list-invalid --file invalid_marketplace.json
Invalid plugins: [1, 3]

File Structure

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

Tech Stack

Technology Purpose
Python 3.11+ Primary programming language
click Command-line interface library
pytest Testing framework
Pydantic Data validation and settings management

Contributing

  1. Fork the repository.
  2. Create a new branch: git checkout -b feature/new-feature.
  3. Make your changes and run tests.
  4. Submit a pull request.

License

MIT

Author

Matthew Snow -- M2AI | @m2ai-portfolio | gitlab.com/m2ai-portfolio

About

CLI tool to validate and fix the `plugins[].skills` filter in `marketplace.json`, ensuring proper skill discovery and filtering for Claude Code plugins.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages