Contributing#
This guide covers how to contribute to the llm-workflow project.
Development Setup#
Clone the repository:
git clone https://github.com/yourusername/llm-workflow.git cd llm-workflow
Install documentation dependencies:
pip install sphinx sphinx-book-theme myst-parser
Build the documentation locally:
cd docs make html
The built docs will be in
docs/build/html/.
Adding a New Skill#
Create the skill directory
mkdir plugin/skills/my-new-skillWrite SKILL.md
Create
plugin/skills/my-new-skill/SKILL.mdwith:YAML frontmatter (
nameanddescription)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.Bump the version
Update the version in both
plugin/.claude-plugin/plugin.jsonandplugin/.claude-plugin/marketplace.json, then clear the plugin cache (see the memory notes or runbump2version).Document the skill
Create
docs/source/skills/my-new-skill.rstwith:Description
Triggers
Workflow
Output format
Examples
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#
Create a feature branch:
git checkout -b feature/my-new-skill
Make your changes and commit:
git add . git commit -m "Add my-new-skill for X workflow"
Push and create a pull request:
git push origin feature/my-new-skill