Contributing#

This guide covers how to contribute to the llm-workflow project.

Development Setup#

  1. Clone the repository:

    git clone https://github.com/yourusername/llm-workflow.git
    cd llm-workflow
    
  2. Install documentation dependencies:

    pip install sphinx sphinx-book-theme myst-parser
    
  3. Build the documentation locally:

    cd docs
    make html
    

    The built docs will be in docs/build/html/.

Adding a New Skill#

  1. Create the skill directory

    mkdir plugin/skills/my-new-skill
    
  2. Write SKILL.md

    Create plugin/skills/my-new-skill/SKILL.md with:

    • YAML frontmatter (name and description)

    • Markdown instructions for the skill

    ---
    name: my-new-skill
    description: Brief description of what this skill does and when to use it.
    ---
    
    # My New Skill
    
    Instructions for using the skill...
    

    The plugin system auto-discovers skills from plugin/skills/. No manifest update is needed — just create the directory and SKILL.md.

  3. Bump the version

    Update the version in both plugin/.claude-plugin/plugin.json and plugin/.claude-plugin/marketplace.json, then clear the plugin cache (see the memory notes or run bump2version).

  4. Document the skill

    Create docs/source/skills/my-new-skill.rst with:

    • Description

    • Triggers

    • Workflow

    • Output format

    • Examples

  5. Update the skills index

    Add the new skill to docs/source/skills/index.rst.

Versioning#

The project uses bump2version for version management.

Patch release (bug fixes):

bump2version patch

Minor release (new features):

bump2version minor

Major release (breaking changes):

bump2version major

Pre-release versions:

bump2version release  # b0 -> rc0
bump2version build    # rc0 -> rc1

Code Style#

  • Follow the existing patterns in the codebase

  • Keep SKILL.md files concise and focused

  • Use clear, imperative language in skill instructions

  • Include examples for complex workflows

Submitting Changes#

  1. Create a feature branch:

    git checkout -b feature/my-new-skill
    
  2. Make your changes and commit:

    git add .
    git commit -m "Add my-new-skill for X workflow"
    
  3. Push and create a pull request:

    git push origin feature/my-new-skill