Skip to main content
This guide covers the quality standards, best practices, and review process for contributing components to Claude Code Templates.

Critical: Component Reviewer Agent

ALWAYS use the component-reviewer agent before submitting components. This is a mandatory step that validates format, security, naming conventions, and best practices.

When to Use Component Reviewer

Use the component-reviewer agent for ALL component changes:

What the Component Reviewer Checks

The agent validates:
  • ✅ Valid YAML frontmatter and required fields
  • ✅ Proper kebab-case naming conventions
  • ✅ No hardcoded secrets (API keys, tokens, passwords)
  • ✅ Relative paths only (no absolute paths)
  • ✅ Supporting files exist (for hooks with scripts)
  • ✅ Clear, specific descriptions
  • ✅ Correct category placement
  • ✅ Security best practices

Review Feedback Levels

The agent provides prioritized feedback:
  • ❌ Critical Issues: Must fix before merge (security, missing fields)
  • ⚠️ Warnings: Should fix (clarity, best practices)
  • 📋 Suggestions: Nice to have improvements

Component Creation Workflow

1

Create Component File

Create your component file in the appropriate directory:
2

Use Descriptive Naming

Use kebab-case (lowercase with hyphens):
  • frontend-developer.md
  • generate-tests.md
  • FrontendDeveloper.md
  • generate_tests.md
3

Add Clear Description

Include clear descriptions and usage examples in the component.
4

Review with Component Reviewer

CRITICAL: Review with the component-reviewer agent:
5

Fix Issues

Address any critical issues or warnings identified by the reviewer.
6

Update Catalog

Run the Python script to update the component catalog:

Naming Conventions

File Names

All component files must use kebab-case:

Component Names (in frontmatter)

Component names in YAML frontmatter must match the filename:

Security Requirements

NEVER hardcode secrets in components. This includes API keys, tokens, passwords, URLs, project IDs, or any sensitive identifier.

Prohibited Content

Path Requirements

Use relative paths only:

Component-Specific Guidelines

Agents

Required Fields

Description Quality

Descriptions must be:
  • Specific - Not generic (“helps with frontend” ❌)
  • Comprehensive - Explain full capabilities
  • Example-driven - Include use cases

Content Structure

Agents should include:
  1. Clear role definition - What the agent does
  2. Communication protocol - How to interact with other agents
  3. Execution flow - Step-by-step process
  4. Best practices - Guidelines and standards
  5. Deliverables - What the agent produces

Commands

Required Fields

Allowed Tools Specification

Be specific about permitted bash commands:

Argument Hints

Provide clear usage syntax:

Current State Queries

Use ! syntax for dynamic values:

Hooks

Required Structure

Supporting Scripts

If your hook references a Python or shell script:
  1. Create the script file with matching name
  2. Use correct file extension (.py, .sh)
  3. Use relative paths in the hook JSON
  4. Make scripts executable for .sh files

Hook Matchers

Valid matcher values:
  • * - All tools
  • Bash - Bash commands
  • Read - File reads
  • Write - File writes
  • Edit - File edits

MCPs

Environment Variables

Always use placeholder format:

Include Description

Every MCP server configuration should include a description:

Quality Standards

Documentation

All components must include:
  • Clear purpose and use cases
  • Usage examples
  • Configuration instructions
  • Required dependencies (if any)
  • Expected behavior

Testing

Before submitting:

Comprehensive Configuration

For templates:
  • Include all necessary Claude Code setup files
  • Well-documented CLAUDE.md with examples
  • Useful slash commands for the domain
  • Relevant external integrations (MCPs)

Common Issues and Fixes

Invalid YAML Frontmatter

Missing Required Fields

Incorrect File Location

Update Component Catalog

After creating or modifying components, update the catalog:
This script:
  1. Scans all components in cli-tool/components/
  2. Validates format and structure
  3. Generates docs/components.json with embedded content
  4. Updates the website component browser
The generate_components_json.py script automatically validates component format and detects common issues during catalog generation.

Next Steps

After following these guidelines:
  1. Review with component-reviewer agent
  2. Fix any issues identified
  3. Update component catalog
  4. Test installation with --dry-run
  5. Submit pull request
See the Testing Workflow for comprehensive testing instructions.