Contributing to project-starter
February 14, 2026 ยท View on GitHub
Thank you for your interest in contributing to the Claude Code workflow plugin! This document provides guidelines for contributing.
How to Contribute
Reporting Bugs
- 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 (
Suggesting Features
- Check existing Issues for similar suggestions
- Create a new issue using the feature request template
- Describe the use case and expected behavior
Pull Requests
- 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
Development Guidelines
Adding Agents
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)
Adding Skills
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
Adding Output Styles (Commands)
Create a .md file in commands/:
---
description: What this mode does
keep-coding-instructions: true
---
[Style instructions here]
Adding Hooks
- Add the hook script to
hooks/ - 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/my-hook.sh"
}
Testing
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)
Code of Conduct
Please read and follow our Code of Conduct.
Questions?
Open a Discussion or reach out via Issues.