Thank you for your interest in contributing to Claude Forge!
- Fork the repository
- Create a branch for your feature or fix
git checkout -b feat/your-feature
- Make your changes following the coding standards below
- Commit with conventional commit messages
git commit -m "feat: add new agent for X" - Push and create a Pull Request
File structure:
# Part of Claude Forge — github.com/sangrokjung/claude-forge
---
name: my-agent
description: One-line description of the agent's purpose
tools: ["Read", "Grep", "Glob"]
model: opus
---
<Agent_Prompt>
<Role>
You are a [role description]...
</Role>
<Constraints>
- Constraint 1
- Constraint 2
</Constraints>
<Investigation_Protocol>
1. Step 1
2. Step 2
</Investigation_Protocol>
<Output_Format>
[Define expected output structure]
</Output_Format>
</Agent_Prompt>Guidelines:
- One
.mdfile per agent - Follow the
<Agent_Prompt>structure with<Role>,<Constraints>,<Investigation_Protocol>,<Output_Format>sections - Specify
model(opus for deep analysis, sonnet for fast execution, haiku for quick tasks) - Include the Claude Forge attribution header at the top
- Keep agent descriptions focused and specific
Simple command (single file):
---
description: What this command does
argument-hint: "<optional-arg>"
allowed-tools: ["Read", "Bash", "Glob"]
---
# /my-command
Instructions for Claude Code to follow when this command is invoked.
## Steps
1. Step 1
2. Step 2Complex command (directory with SKILL.md):
commands/my-command/
├── SKILL.md # Entry point
└── references/ # Supplementary docs
└── guide.md
Each skill is a directory with SKILL.md as entry point:
skills/my-skill/
├── SKILL.md # Entry point
├── hooks/ # Optional event hooks
│ └── pre-check.sh
└── references/ # Supplementary docs
└── patterns.md
- Shell scripts (
.sh) that execute on Claude Code events - Must complete within 5 seconds -- keep hooks lightweight
- Add timeout in
settings.jsonfor potentially slow hooks - Test on both macOS and Linux/WSL
- Markdown files loaded automatically every session
- Keep rules concise and actionable
- Use
(CRITICAL)suffix for mandatory rules - Rules should be self-contained and not depend on other rules
- Follow
rules/coding-style.mdconventions - Immutability: never mutate objects
- Small files (< 800 lines), small functions (< 50 lines)
- Validate inputs at system boundaries (zod schemas)
- No hardcoded secrets
Format: <type>: <description>
Types: feat, fix, refactor, docs, test, chore, perf, ci
- README recognition: All contributors are permanently featured in the Contributors section via contrib.rocks
- Agent author credit: When you create a new agent, your GitHub username is credited in the agent file's frontmatter (
authorfield) - Good First Issues: Look for issues labeled
good first issuefor a great starting point
Open an issue on GitHub.