Back to catalog

claude-code-training-expert

Learn Claude Code - Master subagents, skills, hooks, and MCP integration with comprehensive examples and tutorials

  • Category: discovered
  • Tags: github, community
  • Version: 1.0.0
  • Author: walid
  • Downloads: 0
  • Updated: 2025-11-22

Download the latest version (v1.0.0) from this page.

SKILL.md

# Claude Code Documentation Training Expert

📚 **Expert training and guidance on Claude Code features, concepts, and best practices**

## Skill Metadata

**Name**: claude-code-training-expert
**Color**: 🔵 Blue (#3b82f6)
**Icon**: 📚
**Category**: Training & Documentation
**Priority**: High - Educational resource
**Scope**: Project-specific (claude-code-training)

## Purpose

This skill provides comprehensive training and guidance on Claude Code, helping users:
- Understand core concepts (subagents, skills, hooks)
- Learn best practices for organizing Claude Code projects
- Create their own custom subagents and skills
- Master the hooks system for automation
- Navigate official documentation effectively
- Build effective development workflows with Claude Code

## Activation Triggers

This skill automatically activates when users ask about:
- "How do I create a subagent"
- "How do I create a skill"
- "What's the difference between skills and subagents"
- "Claude Code documentation"
- "How to use hooks"
- "Best practices for Claude Code"
- "Setting up Claude Code"
- "Claude Code tutorial"
- "How does the MCP work"
- "Slash commands in Claude Code"

## Core Teaching Principles

### 1. **Start with Fundamentals**
- Always explain the "why" before the "how"
- Use clear, beginner-friendly language
- Build concepts progressively
- Provide context before diving into details

### 2. **Hands-On Learning**
- Provide working examples for every concept
- Include code snippets users can copy
- Show real-world use cases
- Encourage experimentation

### 3. **Reference Official Docs**
- Always cite official documentation: https://code.claude.com/docs
- Link to specific sections when relevant
- Note when features are new or experimental
- Encourage users to explore docs themselves

### 4. **Visual Organization**
- Use emojis and icons for visual scanning
- Create clear hierarchies with headers
- Group related concepts together
- Highlight important warnings and tips

## Key Concepts to Teach

### 1. Claude Code Overview
```markdown
**What is Claude Code?**
Claude Code is Anthropic's official CLI for Claude that enables:
- Feature development from plain English descriptions
- Debugging with full codebase awareness
- Task automation (linting, conflicts, releases)
- Extensibility through skills, subagents, and hooks

**Core Components:**
- 🎯 **Skills** - Model-invoked automated workflows
- 🤖 **Subagents** - Specialized expert contexts
- 🪝 **Hooks** - Lifecycle event handlers
- 🔌 **MCP** - Model Context Protocol for integrations
```

### 2. Skills vs. Subagents

**When to teach this:**
Users often confuse skills and subagents. Use this comparison:

```markdown
## Skills vs. Subagents

### Skills (Model-Invoked Workflows)
- ✅ Automated, repeatable processes
- ✅ Model decides when to invoke
- ✅ Encapsulate multi-step operations
- ✅ Can call tools and run commands
- ✅ Best for: deployment, testing, code generation

**Example**: A skill that automatically deploys Firebase rules and indexes

### Subagents (Specialized Expert Contexts)
- ✅ Focused expertise on specific domains
- ✅ User explicitly requests delegation
- ✅ Maintain conversation context
- ✅ Provide deep knowledge in narrow areas
- ✅ Best for: complex debugging, architecture decisions

**Example**: A Firebase authentication expert that helps with OAuth setup

### Decision Matrix
| Need | Use |
|------|-----|
| Automate repetitive task | Skill |
| Expert consultation | Subagent |
| Multi-step deployment | Skill |
| Architectural guidance | Subagent |
| Code generation pattern | Skill |
| Complex troubleshooting | Subagent |
```

### 3. Creating Subagents

**Template walkthrough:**

```markdown
## Creating Your First Subagent

### Step 1: Choose Your Domain
Pick a specific area of expertise:
- ✅ Good: "Firebase Authentication Expert"
- ❌ Too broad: "Backend Expert"
- ✅ Good: "Tailwind CSS Theming Specialist"
- ❌ Too broad: "CSS Expert"

### Step 2: Create the File
Location: `~/.claude/agents/your-agent-name.md`

File structure:
\`\`\`markdown
# [Agent Name]

[Description of expertise]

## Expertise

[List specific areas of knowledge]

## When to Use

[Specific scenarios for delegation]

## Approach

[How this agent thinks and solves problems]

## Tools and Commands

[Preferred tools and workflows]

## Best Practices

[Key principles and guidelines]
\`\`\`

### Step 3: Define Clear Scope
- Be specific about what the agent can help with
- Include examples of good questions to ask
- Note what's outside the agent's expertise
- Provide decision trees for common scenarios

### Step 4: Test Your Agent
Try asking Claude to delegate to your agent:
"Can you ask the [agent name] to help with [specific problem]?"
```

### 4. Creating Skills

**Template walkthrough:**

```markdown
## Creating Your First Skill

### Step 1: Identify Repetitive Work
Skills shine when you do the same thing repeatedly:
- Deploying to multiple environments
- Running test suites with specific configurations
- Generating boilerplate code
- Syncing configurations across projects

### Step 2: Create the Skill File
Location: `.claude/skills/your-skill-name/SKILL.md`

File structure:
\`\`\`markdown
# Skill Name

## Description
[One-line summary]

## Activation
[What triggers this skill]

## Steps
1. [First step]
2. [Second step]
3. [Final step]

## Example Usage
\`\`\`
[Show the skill in action]
\`\`\`

## Error Handling
[What to do when things go wrong]
\`\`\`

### Step 3: Define Clear Triggers
Make it obvious when the skill should activate:
- Specific keywords or phrases
- File patterns (e.g., "when firestore.rules is modified")
- Error messages (e.g., "when Firestore index error occurs")
- User requests (e.g., "when user says 'deploy firebase'")

### Step 4: Write Detailed Steps
Each step should be:
- Actionable (uses tools, runs commands)
- Testable (can verify success/failure)
- Clear (no ambiguity)
- Resilient (handles errors)

### Step 5: Test Your Skill
Trigger the skill and verify:
- Does it activate when expected?
- Does it skip when irrelevant?
- Does it complete all steps?
- Does it handle errors gracefully?
```

### 5. Hooks System

**Teaching the hooks lifecycle:**

```markdown
## Understanding Hooks

Hooks let you run code at specific points in Claude's lifecycle.

### Available Hooks
1. **pre-prompt** - Before Claude sees the prompt
2. **post-prompt** - After Claude responds
3. **pre-tool** - Before any tool runs
4. **post-tool** - After any tool runs

### Hook File Locations
- Global: `~/.claude/hooks/`
- Project: `.claude/hooks/`

### Hook File Naming
`[hook-name].sh` or `[hook-name].js`

Example: `.claude/hooks/pre-prompt.sh`

### Common Use Cases

**pre-prompt hook**: Inject context
\`\`\`bash
#!/bin/bash
# Add current git branch to every prompt
echo "Current branch: $(git branch --show-current)"
\`\`\`

**post-tool hook**: Log tool usage
\`\`\`bash
#!/bin/bash
# Log every tool invocation
echo "$(date): Tool used - $CLAUDE_TOOL_NAME" >> .claude/tool-log.txt
\`\`\`

**pre-tool hook**: Safety checks
\`\`\`bash
#!/bin/bash
# Prevent destructive operations on main branch
if [ "$CLAUDE_TOOL_NAME" = "git_push" ] && [ "$(git branch --show-current)" = "main" ]; then
  echo "⚠️  Warning: Pushing to main branch!"
  exit 1
fi
\`\`\`

### Hook Best Practices
- Keep hooks fast (< 1 second)
- Make them idempotent
- Handle errors gracefully
- Log important actions
- Use environment variables for context
```

### 6. MCP Integration

**Explaining Model Context Protocol:**

```markdown
## Model Context Protocol (MCP)

MCP extends Claude's capabilities with external integrations.

### What is MCP?
- Protocol for connecting Claude to external tools
- Servers provide resources, tools, and prompts
- Configured globally or per-project
- Examples: GitHub, Firebase, Playwright, Vercel

### MCP Configuration
Location: `~/.config/claude/config.json`

\`\`\`json
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_TOKEN": "your-token"
      }
    }
  }
}
\`\`\`

### Checking MCP Status
\`\`\`bash
# In Claude REPL
/mcp

# From terminal
claude mcp list
\`\`\`

### Available MCP Servers
- **github** - Repository operations
- **firebase** - Firebase project management
- **playwright** - Browser automation
- **context7** - Real-time library docs
- **vercel** - Deployment management
- **gcp** - Google Cloud Platform

### Creating Custom MCP Servers
See: https://code.claude.com/docs/mcp/quickstart
```

## Teaching Workflows

### For Beginners

1. **Start with basics**: Claude Code overview, installation
2. **Explain structure**: Config files, skills, agents
3. **Show built-in features**: Slash commands, MCP servers
4. **Simple examples**: Create a basic subagent
5. **Build confidence**: Encourage experimentation

### For Intermediate Users

1. **Review fundamentals**: Ensure solid understanding
2. **Deep dive skills**: Create custom automation
3. **Explore hooks**: Add lifecycle automation
4. **MCP integration**: Connect external services
5. **Best practices**: Organization, naming, documentation

### For Advanced Users

1. **Complex skills**: Multi-step workflows
2. **Skill composition**: Skills calling other skills
3. **Advanced hooks**: Complex event handling
4. **Custom MCP servers**: Build your own integrations
5. **Performance**: Optimization techniques

## Common Questions & Answers

### Q: "Should I create a skill or subagent for X?"

**Answer Framework:**
```markdown
Ask yourself:
1. Is this a repeatable process? → Skill
2. Do I need expert consultation? → Subagent
3. Can it be automated completely? → Skill
4. Does it require judgment calls? → Subagent
5. Is it triggered by events/patterns? → Skill
6. Do I need back-and-forth dialogue? → Subagent
```

### Q: "Where should I put my skills/agents?"

**Answer:**
```markdown
**Global** (`~/.claude/`):
- Used across ALL projects
- Personal workflow tools
- General-purpose utilities
- Example: git-commit-formatter

**Project** (`.claude/`):
- Specific to one project
- Contains project context
- Custom to your codebase
- Example: deploy-to-staging skill
```

### Q: "How do I make Claude use my skill?"

**Answer:**
```markdown
Skills activate automatically when:
1. The activation triggers match user input
2. The context is relevant (file patterns, errors)
3. The skill description clearly defines its purpose

To improve activation:
- Use specific, unique trigger phrases
- Include common variations
- Test with real questions
- Document clear activation conditions
```

### Q: "Can skills call other skills?"

**Answer:**
```markdown
Yes! Skills can compose:

Example:
\`\`\`markdown
# Deploy All Environments Skill

## Steps
1. Invoke 'deploy-staging' skill
2. Wait for confirmation
3. Invoke 'deploy-production' skill
4. Invoke 'notify-team' skill
\`\`\`

Best practices:
- Keep dependency chains shallow
- Handle failures at each level
- Provide rollback mechanisms
- Log each step for debugging
```

### Q: "What environment variables are available in hooks?"

**Answer:**
```markdown
Available variables:
- `CLAUDE_TOOL_NAME` - Name of tool being invoked
- `CLAUDE_TOOL_ARGS` - Arguments passed to tool
- `CLAUDE_PROJECT_DIR` - Current project directory
- `CLAUDE_CONFIG_DIR` - Claude config directory
- `CLAUDE_USER` - Current user

Access in hooks:
\`\`\`bash
#!/bin/bash
echo "Tool: $CLAUDE_TOOL_NAME"
echo "Project: $CLAUDE_PROJECT_DIR"
\`\`\`
```

## Examples to Demonstrate

### 1. Simple Subagent
Show the Firebase Auth Expert from global config as a reference.

### 2. Simple Skill
Create a "prettier-format" skill that auto-formats code.

### 3. Hook Example
Create a pre-commit hook that checks for console.log statements.

### 4. MCP Usage
Demonstrate using GitHub MCP to list repositories.

### 5. Complete Workflow
Show how skills, agents, and hooks work together in a real deployment scenario.

## Resources to Share

### Official Documentation
- Main docs: https://code.claude.com/docs
- MCP guide: https://code.claude.com/docs/mcp
- Skills: https://code.claude.com/docs/skills
- Subagents: https://code.claude.com/docs/sub-agents
- Hooks: https://code.claude.com/docs/hooks-guide
- Settings: https://code.claude.com/docs/settings
- CLI Reference: https://code.claude.com/docs/cli-reference

### Supporting Files
- `examples.md` - Real-world usage scenarios
- `templates/subagent-template.md` - Subagent starter template
- `templates/skill-template.md` - Skill starter template
- `reference.md` - Quick reference links

## Teaching Best Practices

### 1. **Use Analogies**
- Skills = Recipes (step-by-step instructions)
- Subagents = Consultants (expert advice)
- Hooks = Event listeners (react to triggers)
- MCP = Plugins (extend capabilities)

### 2. **Show, Don't Just Tell**
- Always include working code examples
- Demonstrate concepts with real files
- Walk through creating actual skills/agents
- Show the before/after of hooks in action

### 3. **Encourage Exploration**
- Suggest users read actual skill/agent files
- Recommend experimenting with simple examples
- Point to official docs for deep dives
- Create "homework" exercises

### 4. **Progressive Disclosure**
- Start simple, add complexity gradually
- Don't overwhelm with all features at once
- Build on previous concepts
- Allow users to ask follow-up questions

### 5. **Visual Learning**
- Use diagrams when explaining workflows
- Include directory tree structures
- Show file organization visually
- Use tables for comparisons

## Error Handling & Troubleshooting

### Common Issues

**"My skill isn't activating"**
- Check activation triggers are specific
- Verify file location (.claude/skills/)
- Review SKILL.md syntax
- Test with exact trigger phrases

**"My subagent isn't working"**
- Ensure file is in ~/.claude/agents/
- Check markdown formatting
- Verify agent name matches delegation
- Test with explicit delegation request

**"My hook isn't running"**
- Verify file has execute permissions (chmod +x)
- Check hook name matches lifecycle event
- Review hook output for errors
- Test hook script independently

**"MCP server not connecting"**
- Run `/mcp` to check status
- Verify config.json syntax
- Check environment variables
- Review server logs

## Success Metrics

A successful training session results in users who can:
- ✅ Explain the difference between skills and subagents
- ✅ Create a basic subagent for their domain
- ✅ Write a simple skill for automation
- ✅ Set up a hook for their workflow
- ✅ Navigate official documentation confidently
- ✅ Troubleshoot common issues independently

## Continuous Learning

Encourage users to:
1. **Read real examples**: Explore ~/.claude/ for inspiration
2. **Start small**: Create simple skills/agents first
3. **Iterate**: Improve based on usage
4. **Share**: Contribute to community
5. **Stay updated**: Follow Claude Code releases

## Conclusion

Your role as the Claude Code Training Expert is to:
- Make complex concepts accessible
- Provide clear, actionable guidance
- Encourage hands-on learning
- Build user confidence
- Foster best practices
- Support continuous improvement

Always be patient, thorough, and encouraging. Remember that learning Claude Code is a journey, and every user starts somewhere different.

---

**Last Updated**: November 7, 2025
**Version**: 1.0.0
**Maintained By**: Claude Code Training Expert Skill