Skip to content

Contributing Guide: How to Contribute Configurations, Agents, and Skills to the Project

What You'll Learn

  • Understand the project's contribution workflow and standards
  • Correctly submit Agents, Skills, Commands, Hooks, Rules, and MCP configurations
  • Follow code style and naming conventions
  • Avoid common contribution mistakes
  • Collaborate efficiently with the community through Pull Requests

Your Current Challenges

You want to contribute to Everything Claude Code, but encounter these problems:

  • "Don't know what content to contribute that has value"
  • "Don't know how to start your first PR"
  • "Unclear about file formats and naming conventions"
  • "Worried that submitted content won't meet requirements"

This tutorial provides a complete contribution guide, from philosophy to practice.

Core Philosophy

Everything Claude Code is a community resource, not a single person's project. The value of this repository lies in:

  1. Battle-Tested - All configurations have been used in production for 10+ months
  2. Modular Design - Each Agent, Skill, and Command is an independent, reusable component
  3. Quality First - Code review and security audits ensure contribution quality
  4. Open Collaboration - MIT license, encouraging contribution and customization

Why Contributing is Valuable

  • Knowledge Sharing: Your experience can help other developers
  • Impact: Configurations used by hundreds or thousands of people
  • Skill Growth: Learn project structure and community collaboration
  • Network Building: Connect with Anthropic and Claude Code communities

What We're Looking For

Agents

Specialized sub-agents that handle complex tasks in specific domains:

TypeExamples
Language ExpertsPython, Go, Rust code review
Framework ExpertsDjango, Rails, Laravel, Spring
DevOps ExpertsKubernetes, Terraform, CI/CD
Domain ExpertsML pipelines, data engineering, mobile

Skills

Workflow definitions and domain knowledge bases:

TypeExamples
Language Best PracticesPython, Go, Rust coding standards
Framework PatternsDjango, Rails, Laravel architecture patterns
Testing StrategiesUnit testing, integration testing, E2E testing
Architecture GuidesMicroservices, event-driven, CQRS
Domain KnowledgeML, data analysis, mobile development

Commands

Slash commands that provide quick workflow entry points:

TypeExamples
Deployment CommandsDeploy to Vercel, Railway, AWS
Testing CommandsRun unit tests, E2E tests, coverage analysis
Documentation CommandsGenerate API docs, update README
Code Generation CommandsGenerate types, generate CRUD templates

Hooks

Automation hooks that trigger on specific events:

TypeExamples
Linting/FormattingCode formatting, lint checks
Security ChecksSensitive data detection, vulnerability scanning
Validation HooksGit commit validation, PR checks
Notification HooksSlack/Email notifications

Rules

Mandatory rules that ensure code quality and security standards:

TypeExamples
Security RulesNo hardcoded keys, OWASP checks
Code StyleImmutability patterns, file size limits
Testing Requirements80%+ coverage, TDD workflow
Naming ConventionsVariable naming, file naming

MCP Configurations

MCP server configurations that extend external service integrations:

TypeExamples
Database IntegrationsPostgreSQL, MongoDB, ClickHouse
Cloud ProvidersAWS, GCP, Azure
Monitoring ToolsDatadog, New Relic, Sentry
Communication ToolsSlack, Discord, Email

How to Contribute

Step 1: Fork the Project

Why: You need your own copy to make changes without affecting the original repository.

bash
# 1. Visit https://github.com/affaan-m/everything-claude-code
# 2. Click the "Fork" button in the top right
# 3. Clone your fork
git clone https://github.com/YOUR_USERNAME/everything-claude-code.git
cd everything-claude-code

# 4. Add upstream repository (for easier synchronization later)
git remote add upstream https://github.com/affaan-m/everything-claude-code.git

You should see: A local everything-claude-code directory containing complete project files.

Step 2: Create a Feature Branch

Why: Branches isolate your changes, making them easier to manage and merge.

bash
# Create a descriptive branch name
git checkout -b add-python-reviewer

# Or use more specific naming
git checkout -b feature/django-pattern-skill
git checkout -b fix/hook-tmux-reminder

Branch Naming Conventions:

  • feature/ - New features
  • fix/ - Bug fixes
  • docs/ - Documentation updates
  • refactor/ - Code refactoring

Step 3: Add Your Contribution

Why: Place files in the correct directories to ensure Claude Code can load them properly.

bash
# Choose directory based on contribution type
agents/           # New Agent
skills/           # New Skill (can be a single .md or a directory)
commands/         # New slash command
rules/            # New rule file
hooks/            # Hook configuration (modify hooks/hooks.json)
mcp-configs/      # MCP server configuration (modify mcp-configs/mcp-servers.json)

Directory Structure

  • Single File: Place directly in the directory, e.g., agents/python-reviewer.md
  • Complex Component: Create a subdirectory, e.g., skills/coding-standards/ (contains multiple files)

Step 4: Follow Format Standards

Agent Format

Why: Front Matter defines Agent metadata, which Claude Code relies on to load Agents.

markdown
---
name: python-reviewer
description: Reviews Python code for PEP 8 compliance, type hints, and best practices
tools: Read, Grep, Glob, Bash, Write, Edit
model: sonnet
---

You are a senior Python code reviewer...

Your review should cover:
- PEP 8 style compliance
- Type hints usage
- Docstring completeness
- Security best practices
- Performance optimizations

Required Fields:

  • name: Agent identifier (lowercase with hyphens)
  • description: Functional description
  • tools: List of allowed tools (comma-separated)
  • model: Preferred model (opus or sonnet)

Skill Format

Why: Clear Skill definitions make them easier to reuse and understand.

markdown
# Python Best Practices

## When to Use

Use this skill when:
- Writing new Python code
- Reviewing Python code
- Refactoring Python modules

## How It Works

Follow these principles:

1. **Type Hints**: Always include type hints for function parameters and return values
2. **Docstrings**: Use Google style docstrings for all public functions
3. **PEP 8**: Follow PEP 8 style guide
4. **Immutability**: Prefer immutable data structures

## Examples

### Good
```python
def process_user_data(user_id: str) -> dict:
    """Process user data and return result.

    Args:
        user_id: The user ID to process

    Returns:
        A dictionary with processed data
    """
    user_data = fetch_user(user_id)
    return transform_data(user_data)

Bad

python
def process_user_data(user_id):
    user_data = fetch_user(user_id)
    return transform_data(user_data)

**Recommended Sections**:
- `When to Use`: Usage scenarios
- `How It Works`: How it works
- `Examples`: Examples (Good vs Bad)
- `References`: Related resources (optional)

#### Command Format

**Why**: Clear command descriptions help users understand functionality.

Front Matter (required):

```markdown
---
description: Run Python tests with coverage report
---

Body Content (optional):

markdown
# Test

Run tests for the current project:

Coverage requirements:
- Minimum 80% line coverage
- 100% coverage for critical paths

Command Examples (optional):

bash
# Run all tests
pytest

# Run with coverage
pytest --cov=. --cov-report=html

# Run specific test file
pytest tests/test_user.py

Required Fields:

  • description: Brief functional description

Hook Format

Why: Hooks need clear matching rules and execution actions.

json
{
  "matcher": "tool == \"Edit\" && tool_input.file_path matches \"\\\\.(py)$\"",
  "hooks": [
    {
      "type": "command",
      "command": "node -e \"console.log('Python file edited')\""
    }
  ],
  "description": "Triggered when Python files are edited"
}

Required Fields:

  • matcher: Trigger condition expression
  • hooks: Array of actions to execute
  • description: Hook functionality description

Step 5: Test Your Contribution

Why: Ensure configuration works correctly in actual usage.

Important

Before submitting a PR, must test your configuration in your local environment.

Testing Steps:

bash
# 1. Copy to your Claude Code configuration
cp agents/python-reviewer.md ~/.claude/agents/
cp skills/python-patterns/* ~/.claude/skills/

# 2. Test in Claude Code
# Start Claude Code and use the new configuration

# 3. Verify functionality
# - Can the Agent be called correctly?
# - Can the Command execute correctly?
# - Can the Hook trigger at the right time?

You should see: Configuration works properly in Claude Code, with no errors or anomalies.

Step 6: Submit a PR

Why: Pull Requests are the standard way to collaborate with the community.

bash
# Add all changes
git add .

# Commit (use clear commit messages)
git commit -m "Add Python code reviewer agent

- Implements PEP 8 compliance checks
- Adds type hints validation
- Includes security best practices
- Tested on real Python projects"

# Push to your fork
git push origin add-python-reviewer

Then create a PR on GitHub:

  1. Visit your fork repository
  2. Click "Compare & pull request"
  3. Fill in the PR template:
markdown
## What you added
- [ ] Description of what you added

## Why it's useful
- [ ] Why this contribution is valuable

## How you tested it
- [ ] Testing steps you performed

## Related issues
- [ ] Link to any related issues

You should see: PR created successfully, waiting for maintainer review.

Guidelines

Do (Should Do)

Keep configurations focused and modular

  • Each Agent/Skill does one thing
  • Avoid mixing functionalities

Include clear descriptions

  • Accurate Front Matter descriptions
  • Helpful code comments

Test before submitting

  • Verify configuration locally
  • Ensure no errors

Follow existing patterns

  • Reference format of existing files
  • Keep code style consistent

Document dependencies

  • List external dependencies
  • Explain installation requirements

Don't (Shouldn't Do)

Include sensitive data

  • API keys, tokens
  • Hardcoded paths
  • Personal credentials

Add overly complex or niche configurations

  • Prioritize versatility
  • Avoid over-engineering

Submit untested configurations

  • Testing is mandatory
  • Provide testing steps

Create duplicate functionality

  • Search for existing configurations
  • Avoid reinventing the wheel

Add configurations that depend on specific paid services

  • Provide free alternatives
  • Or use open source tools

File Naming Conventions

Why: Unified naming conventions make the project easier to maintain.

Naming Rules

RuleExample
Use lowercasepython-reviewer.md
Use hyphens as separatorstdd-workflow.md
Descriptive namingdjango-pattern-skill.md
Avoid vague namesworkflow.md → ✅ tdd-workflow.md

Matching Principle

Filenames should be consistent with Agent/Skill/Command names:

bash
# Agent
agents/python-reviewer.md          # name: python-reviewer

# Skill
skills/django-patterns/SKILL.md    # # Django Patterns

# Command
commands/test.md                   # # Test

Naming Tips

  • Use industry terminology (e.g., "PEP 8", "TDD", "REST")
  • Avoid abbreviations (unless standard abbreviations)
  • Keep it concise but descriptive

Contribution Checklist

Before submitting a PR, ensure the following conditions are met:

Code Quality

  • [ ] Follow existing code style
  • [ ] Include necessary Front Matter
  • [ ] Have clear descriptions and documentation
  • [ ] Test locally

File Standards

  • [ ] Filename follows naming conventions
  • [ ] Files are in the correct directory
  • [ ] JSON format is correct (if applicable)
  • [ ] No sensitive data

PR Quality

  • [ ] PR title clearly describes changes
  • [ ] PR description includes "What", "Why", "How"
  • [ ] Link related issues (if any)
  • [ ] Provide testing steps

Community Standards

  • [ ] Ensure no duplicate functionality
  • [ ] Provide alternatives (if involving paid services)
  • [ ] Respond to review comments
  • [ ] Maintain friendly and constructive discussion

Frequently Asked Questions

Q: How do I know what contributions have value?

A: Start from your own needs:

  • What problems have you encountered recently?
  • What solutions did you use?
  • Can this solution be reused?

You can also check project Issues:

  • Unresolved feature requests
  • Enhancement suggestions
  • Bug reports

Q: Can contributions be rejected?

A: Possibly, but this is normal. Common reasons:

  • Feature already exists
  • Configuration doesn't meet standards
  • Missing tests
  • Security or privacy concerns

Maintainers will provide detailed feedback, and you can modify and resubmit based on the feedback.

Q: How to track PR status?

A:

  1. Check status on GitHub PR page
  2. Follow review comments
  3. Respond to maintainer feedback
  4. Update PR as needed

Q: Can I contribute bug fixes?

A: Absolutely! Bug fixes are one of the most valuable contributions:

  1. Search or create a new issue in Issues
  2. Fork the project and fix the bug
  3. Add tests (if needed)
  4. Submit PR, referencing the issue in the description

Q: How to keep fork in sync with upstream?

A:

bash
# 1. Add upstream repository (if not already added)
git remote add upstream https://github.com/affaan-m/everything-claude-code.git

# 2. Fetch upstream updates
git fetch upstream

# 3. Merge upstream updates to your main branch
git checkout main
git merge upstream/main

# 4. Push updates to your fork
git push origin main

# 5. Rebase your feature branch on the latest main
git checkout your-feature-branch
git rebase main

Contact

If you have any questions or need help:

Asking Questions

  • Search existing Issues and Discussions first
  • Provide clear context and reproduction steps
  • Stay polite and constructive

Lesson Summary

This lesson systematically covered the contribution workflow and standards for Everything Claude Code:

Core Philosophy:

  • Community resource, built together
  • Battle-tested, quality first
  • Modular design, easy to reuse
  • Open collaboration, knowledge sharing

Contribution Types:

  • Agents: Specialized sub-agents (languages, frameworks, DevOps, domain experts)
  • Skills: Workflow definitions and domain knowledge bases
  • Commands: Slash commands (deployment, testing, documentation, code generation)
  • Hooks: Automation hooks (linting, security checks, validation, notifications)
  • Rules: Mandatory rules (security, code style, testing, naming)
  • MCP Configurations: MCP server configurations (databases, cloud, monitoring, communication)

Contribution Workflow:

  1. Fork project
  2. Create feature branch
  3. Add contribution content
  4. Follow format standards
  5. Local testing
  6. Submit PR

Format Standards:

  • Agent: Front Matter + Description + Instructions
  • Skill: When to Use + How It Works + Examples
  • Command: Description + Usage examples
  • Hook: Matcher + Hooks + Description

Guidelines:

  • Do: Focused, clear, tested, follow patterns, documented
  • Don't: Sensitive data, complex niche, untested, duplicates, paid dependencies

File Naming:

  • Lowercase + hyphens
  • Descriptive naming
  • Consistent with Agent/Skill/Command names

Checklist:

  • Code quality, file standards, PR quality, community standards

Next Lesson Preview

In the next lesson, we'll learn Example Configurations: Project-Level and User-Level Configurations.

You'll learn:

  • Best practices for project-level configurations
  • Personalized user-level configuration settings
  • How to customize configurations for specific projects
  • Real-world project configuration examples

Appendix: Source Code References

Click to expand source code locations

Last Updated: 2026-01-25

FeatureFile PathLines
Contribution GuideCONTRIBUTING.md1-192
Agent Exampleagents/code-reviewer.md-
Skill Exampleskills/coding-standards/SKILL.md-
Command Examplecommands/tdd.md-
Hook Configurationhooks/hooks.json1-158
Rule Examplerules/coding-style.md-
MCP Configuration Examplemcp-configs/mcp-servers.json1-92
Example Configurationexamples/CLAUDE.md-

Key Front Matter Fields:

  • name: Agent/Skill/Command identifier
  • description: Functional description
  • tools: Allowed tools (Agent)
  • model: Preferred model (Agent, optional)

Key Directory Structure:

  • agents/: 9 specialized sub-agents
  • skills/: 11 workflow definitions
  • commands/: 14 slash commands
  • rules/: 8 rule sets
  • hooks/: Automation hook configurations
  • mcp-configs/: MCP server configurations
  • examples/: Example configuration files

Contribution-Related Links: