Toru-claude-agents claude-code-mastery
Master Claude Code capabilities - subagents, skills, hooks, MCP. Use when optimizing workflows, creating automation, or improving how agents work.
git clone https://github.com/ToruAI/toru-claude-agents
T=$(mktemp -d) && git clone --depth=1 https://github.com/ToruAI/toru-claude-agents "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/claude-code-mastery" ~/.claude/skills/toruai-toru-claude-agents-claude-code-mastery && rm -rf "$T"
skills/claude-code-mastery/SKILL.mdClaude Code Mastery - Building Better AI Systems
Access Claude Code documentation at
~/.claude/docs/claude-code/ or via the cc-docs skill.
Use this knowledge to continuously improve how we work.
Core Capabilities
Subagents
Location:
~/.claude/agents/ (user) or .claude/agents/ (project)
Key fields:
--- name: agent-name description: When Claude should delegate here tools: Read, Grep, Glob, Bash, Edit, Write model: sonnet | opus | haiku | inherit permissionMode: default | acceptEdits | bypassPermissions skills: skill-1, skill-2 hooks: PreToolUse: [...] PostToolUse: [...] --- System prompt content here...
Use subagents when:
- Task needs isolated context
- Different tools/permissions needed
- Specialized behavior required
Skills
Location:
~/.claude/skills/ (user) or .claude/skills/ (project)
Structure:
skill-name/ ├── SKILL.md # Required - main instructions ├── reference.md # Optional - detailed docs └── scripts/ # Optional - utilities
Key fields:
--- name: skill-name description: When to apply this skill (triggers auto-loading) allowed-tools: Read, Grep, Glob # Optional tool restriction context: fork # Optional - run in subagent --- Instructions here...
Use skills when:
- Knowledge should auto-apply based on task
- Pattern repeats across projects
- Want to inject expertise without delegation
Hooks
Location:
.claude/settings.json or subagent frontmatter
Events:
- Before tool executes (can block)PreToolUse
- After tool executesPostToolUse
- When subagent beginsSubagentStart
- When subagent completesSubagentStop
- When session beginsSessionStart
Example:
{ "hooks": { "PostToolUse": [{ "matcher": "Edit|Write", "hooks": [{ "type": "command", "command": "./scripts/auto-lint.sh" }] }] } }
Use hooks when:
- Deterministic action needed (not AI judgment)
- Automation on every occurrence
- Validation before allowing operations
MCP Servers
Configuration:
~/.claude.json or .mcp.json
Access external tools:
- megg (memory)
- shadcn (UI components)
- perplexity (research)
- Custom servers
Improvement Patterns
Pattern: Repeated Context Loading
Problem: Same context loaded every session Solution: Create a skill that auto-applies
--- name: project-context description: Apply when working on [project]. Auto-loads conventions. ---
Pattern: Manual Validation
Problem: Manually checking things before commit Solution: Create PreToolUse hook
{ "hooks": { "PreToolUse": [{ "matcher": "Bash(git commit:*)", "hooks": [{"type": "command", "command": "./scripts/pre-commit-check.sh"}] }] } }
Pattern: Complex Delegation
Problem: Unclear when to use which agent Solution: Improve agent descriptions, add proactive triggers
description: Use proactively when [specific trigger]. Handles [specific task].
Pattern: Lost Knowledge
Problem: Decisions forgotten between sessions Solution: megg_remember after every significant decision
Documentation Reference
Key files in
~/.claude/docs/claude-code/:
| Topic | File |
|---|---|
| Subagents | |
| Skills | |
| Hooks | |
| MCP | |
| Headless mode | |
| Settings | |
| CLI Reference | |
Self-Improvement Checklist
When improving workflows:
- Identify the friction point
- Check docs for existing solution
- Choose right tool (skill vs hook vs subagent)
- Implement minimal version
- Test it works
- Document in megg
- Consider if others need it (project vs user scope)
Anti-Patterns
- Over-engineering: Don't create skills for one-time tasks
- Premature automation: Prove manual workflow first
- Isolated improvements: Log all changes in megg
- Ignoring scope: User skills for personal, project for team