Thank you for your interest in contributing to the Claude Code workflow plugin! This document provides guidelines for contributing.
- Check if the bug has already been reported in Issues
- If not, create a new issue using the bug report template
- Include:
- Claude Code version (
claude --version) - Operating system and version
- Steps to reproduce
- Expected vs actual behavior
- Relevant logs or error messages
- Claude Code version (
- Check existing Issues for similar suggestions
- Create a new issue using the feature request template
- Describe the use case and expected behavior
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Test your changes with Claude Code
- Commit using Conventional Commits:
feat:new featurefix:bug fixdocs:documentation changesrefactor:code refactoringtest:adding testschore:maintenance tasks
- Push to your fork (
git push origin feature/amazing-feature) - Open a Pull Request
Create a .md file in agents/ with this structure:
---
name: agent-name
description: What it does. Use PROACTIVELY when [triggers].
tools: Read, Write, Edit, Bash, Glob, Grep
model: sonnet
---
[Agent instructions here]Requirements:
- Include "PROACTIVELY" in descriptions to enable auto-triggering
- Use valid tool names: Read, Write, Edit, Bash, Glob, Grep, Task, WebFetch, WebSearch
- Choose appropriate model:
opus(complex),sonnet(balanced),haiku(fast)
Create a subdirectory in skills/ with a SKILL.md file:
---
name: skill-name
description: Guides [domain]. Use when [triggers].
---
[Skill knowledge and patterns here]Requirements:
- Keep skills under 500 lines for optimal context usage
- Include trigger keywords in descriptions
- Make content language-agnostic where possible
Create a .md file in commands/:
---
description: What this mode does
keep-coding-instructions: true
---
[Style instructions here]- Add the hook script to
hooks/scripts/ - Register in
hooks/hooks.json - Use
${CLAUDE_PLUGIN_ROOT}for plugin-relative paths - Exit codes:
0= allow,2= block with message
Example hook entry:
{
"type": "PreToolUse",
"matcher": "^Edit|Write$",
"command": "${CLAUDE_PLUGIN_ROOT}/hooks/scripts/my-hook.sh"
}Before submitting:
-
Install the plugin locally:
claude --plugin-dir ./claude-workflow
-
Test relevant components:
- Agents trigger on appropriate keywords
- Skills activate correctly
- Hooks execute as expected
- Output styles switch properly
-
Verify cross-platform compatibility (if applicable)
Please read and follow our Code of Conduct.
Open a Discussion or reach out via Issues.