Skip to main content
Get up and running with Claude Code best practices in under 10 minutes. This guide walks you through exploring the reference repository, running a complete orchestration workflow, and creating your first custom command.

Prerequisites

Before you begin, ensure you have Claude Code installed and authenticated:
If you don’t have Claude Code yet, visit code.claude.com for installation instructions.

What you’ll accomplish

By the end of this quickstart, you’ll:
  • Understand the .claude/ directory structure
  • Run a complete Command → Agent → Skill orchestration workflow
  • Create your first custom command
  • Know where to go next for advanced patterns
1

Clone the repository

Start by cloning the Claude Code best practices repository:
This repository serves as a reference implementation demonstrating:
  • Commands, agents, and skills working together
  • Cross-platform hooks for voice feedback
  • MCP server integrations
  • Real-world configuration patterns
2

Explore the .claude/ directory

The .claude/ directory contains all Claude Code customizations. Let’s explore its structure:
settings.json - Project-level settings for permissions, hooks, and output style:
CLAUDE.md - Project memory that Claude reads on every session:
Keep your CLAUDE.md file under 150 lines for reliable adherence. Use multiple CLAUDE.md files in monorepos with ancestor and descendant loading.
3

Run the weather orchestration example

Now let’s run the weather orchestration workflow, which demonstrates the Command → Agent → Skill pattern:
Here’s what happens behind the scenes:
Subagents cannot invoke other subagents via bash commands. Always use the Task tool for subagent orchestration.
The workflow produces:
  • orchestration-workflow/weather.svg - An SVG weather card
  • orchestration-workflow/output.md - Temperature summary
4

Create your first custom command

Let’s create a simple command to automate commit message generation:
Now test your new command:
You can make commands accept arguments using $ARGUMENTS or $N:
5

Next steps

Congratulations! You’ve successfully:
  • Explored the .claude/ directory structure
  • Run a complete orchestration workflow
  • Created your first custom command

Core concepts

Deep dive into commands, agents, and skills

Commands

Learn about frontmatter fields and invocation patterns

Subagents

Build specialized subagents with tools and permissions

Skills

Create reusable workflows and domain knowledge
  1. Commands - Entry-point prompts for workflows
  2. Subagents - Custom agents with specialized capabilities
  3. Skills - Reusable knowledge and procedures
  4. Orchestration workflow - Command → Agent → Skill patterns
  5. Hooks - Event-driven automation

Additional resources

Key takeaways

Commands are entry points that orchestrate workflows. Agents fetch data and execute specialized tasks using their preloaded skills. Skills are reusable knowledge blocks that can be invoked independently or preloaded into agents.
The weather example demonstrates two skill patterns:
  • Agent skill (weather-fetcher): Preloaded into the agent as domain knowledge
  • Skill (weather-svg-creator): Invoked independently via the Skill tool
This separation of concerns enables:
  • Cleaner code organization
  • Progressive disclosure of context
  • Reusable components across workflows

Common pitfalls to avoid

  • Don’t let CLAUDE.md exceed 150 lines - it impacts adherence
  • Always use the Task tool for subagent orchestration, never bash commands
  • Perform manual /compact at ~50% context usage
  • Start with plan mode (/plan) for complex tasks
  • Commit often - as soon as a task is completed
Update Claude Code daily and start your day by reading the changelog. The CLI is evolving rapidly with new features.