Welcome to your Claude Code learning project! This tutorial teaches you how Claude Code works and how to harness its power using the .claude folder. Whether you're new to AI-assisted development or looking to master Claude Code, start here!
Claude Code is an intelligent coding assistant that helps you write, review, debug, and understand code. It learns from your project's rules and works the way you want it to work.
Think of it like having an expert developer as a pair programmerβbut one that understands your project's unique style and requirements.
- π¬ Ask questions about your code
- π Debug issues with detailed explanations
- β¨ Generate code following your standards
- π Learn best practices for your project
- π€ Automate tasks with custom skills and agents
The .claude folder is where you teach Claude Code about your project. It's like a configuration hub that tells Claude:
- How to code (your standards and style)
- What it can do (custom skills for tasks)
- How to specialize (different agents for different jobs)
- What it remembers (persistent memory across sessions)
Here's what's inside .claude and what each part does:
.claude/
βββ CLAUDE.md # π Your project's "rulebook"
βββ skills/ # π οΈ Custom tools for specific tasks
β βββ fetchAPI/ # Fetch data from APIs
β βββ migrate/ # Move data between locations
β βββ visualize/ # Create visualizations
βββ agents/ # π€ Specialized Claude personalities
β βββ code_reviewer/ # Expert code reviewer
β βββ orchestrator/ # Workflow coordinator
βββ agent-memory/ # π§ What Claude remembers
βββ hooks/ # πͺ Custom automation triggers
βββ settings.json # βοΈ Global configuration
βββ settings.local.json # π» Local machine settings
βββ scheduled_tasks.lock # π Task scheduling file
This file is like an instruction manual for Claude Code. It defines:
What it covers:
- π¨ Coding Style β PEP 8 for Python, naming conventions
- π·οΈ Type Annotations β Using type hints for clarity
- π Documentation β How to write good docstrings
- π¦ Dependencies β Managing libraries and versions
- π Project Organization β How files should be structured
- π Best Practices β Error handling, version control, etc.
Why it matters: When you write code or ask Claude to write code, it reads this file and ensures everything follows your project's rules. It's like having a style guide that Claude automatically applies!
Example: If your CLAUDE.md says "use snake_case for functions," Claude will always suggest function names like fetch_data() instead of fetchData().
Skills are specialized modules that teach Claude how to do specific tasks in your project. Instead of Claude giving generic answers, it can perform targeted operations.
- Purpose: Fetch data from external APIs
- What it can do: Connect to APIs, handle responses, store data
- Location:
.claude/skills/fetchAPI/ - Example use: "Fetch weather data from OpenWeatherMap"
- Purpose: Move and transform data
- What it can do: Migrate data between locations, track operations
- Location:
.claude/skills/migrate/ - Example use: "Move the fetched data to the database"
- Purpose: Create visual representations
- What it can do: Generate charts, graphs, analytics dashboards
- Location:
.claude/skills/visualize/ - Example use: "Create a chart showing today's sales"
How Skills Work (Step-by-Step):
- You ask Claude to do something
- Claude checks available skills
- If a relevant skill exists, Claude uses it
- The skill executes the task and returns results
Learn by Example: Request: "Get weather data from an API and show me a chart"
- Claude invokes
fetchAPIskill β fetches weather data - Claude invokes
visualizeskill β creates a chart - Results saved automatically!
Agents are like different "versions" of Claude, each specialized for a specific job. Each agent has its own:
- Custom instructions and expertise
- Memory of past interactions
- Specific workflow optimizations
- Specialization: Reviews your code for quality, bugs, and improvements
- Memory: Remembers patterns and feedback from previous reviews
- Location:
.claude/agents/code_reviewer/ - When to use: "Review this code" or "Check for issues"
- Specialization: Manages complex multi-step workflows
- Memory: Tracks task dependencies and execution order
- Location:
.claude/agents/orchestrator/ - When to use: Complex projects with many interconnected tasks
Agent Memory (The Smart Part!):
- π§ Each agent learns from interactions
- π Memories are saved in
.claude/agent-memory/ - π Information persists across sessions
- π Improves quality over time as agent learns your preferences
Two configuration files control how Claude Code behaves:
settings.json (Team Configuration)
- Global settings for everyone working on the project
- Check this into version control
- Example: "Always use Python 3.10+"
settings.local.json (Personal Preferences)
- Your local machine preferences
- Don't share with the team
- Example: Your preferred IDE theme or notification settings
Here's the flow when you use Claude Code in this project:
You ask Claude to do something
β
Claude reads CLAUDE.md (your standards)
β
Claude checks available skills
β
Claude selects the right agent
β
Claude applies your standards + uses relevant skills
β
Claude saves to agent-memory for next time
β
You get smarter, contextual results!
Real Example Walkthrough:
You: "Review my new Python function for bugs and style issues"
Claude Code does this:
- β Reads CLAUDE.md β learns your PEP 8 style rules
- β Loads code_reviewer agent β uses its expertise
- β Reviews function against standards
- β Saves feedback to agent memory β improves next time
- β Returns detailed review with fixes
Choose one of these to start:
Challenge 1: Understand CLAUDE.md
- Open
.claude/CLAUDE.md - Read the project standards
- Ask Claude: "Explain the coding standards in this project"
Challenge 2: Explore Skills
- Look at
.claude/skills/folder - Pick one skill (like
fetchAPI) - Read its
SKILL.mdfile - Ask Claude: "What can the fetchAPI skill do?"
Challenge 3: Meet the Agents
- Check
.claude/agents/ - Look at
code_reviewerconfiguration - Ask Claude: "Review this code for me"
Challenge 4: Request Automated Tasks
- Ask Claude: "Fetch data from [API] and create a visualization"
- Claude will use both
fetchAPIandvisualizeskills - Understand how skills work together
Challenge 5: Agent Integration
- Say: "I'm working on a complex featureβhelp me orchestrate the workflow"
- Claude uses the orchestrator agent
- Observe how specialized agents differ from standard Claude
Challenge 6: Create Your First Custom Skill
- Design a new task you want to automate
- Create a folder in
.claude/skills/ - Write a
SKILL.mdfile with instructions - Ask Claude to use it!
Challenge 7: Train Agent Memory
- Have multiple conversations asking Claude the same type of question
- Notice how responses improve over time
- Check
.claude/agent-memory/to see what Claude learned
Challenge 8: Customize Settings
- Edit
.claude/settings.jsonand.claude/settings.local.json - Experiment with different configurations
- Observe how Claude behavior changes
Challenge 9: Create a New Agent
- Define a specialized agent for your workflow
- Create a new folder in
.claude/agents/ - Configure its unique instructions
- Use it for specialized tasks
Scenario: You keep asking Claude to fix code, but the formatting is wrong
Solution: Claude reads CLAUDE.md and now automatically:
β Uses PEP 8 formatting
β Adds type annotations
β Includes docstrings
β Follows naming conventions
Scenario: "Fetch user data from API, migrate to database, show me a report"
What happens:
1. fetchAPI skill β gets the data
2. migrate skill β moves it to database
3. visualize skill β creates a report
All following your project's standards!
Scenario: First code review vs. 5th code review by code_reviewer agent
First time: Generic feedback
Fifth time: Specific to YOUR patterns and preferences
Why? Agent memory learned what matters to you!
By exploring this project, you'll understand:
β
What is Claude Code β An AI assistant for developers
β
The .claude folder β Control center for customization
β
CLAUDE.md β Teaching Claude your standards
β
Skills β Automating specific tasks
β
Agents β Creating specialized versions of Claude
β
Memory β How Claude learns and improves
β
Settings β Fine-tuning behavior
β
Real workflows β Putting it all together
- Start Small: Read
.claude/CLAUDE.md(5 min) - Explore: Browse the
.claude/skills/folder (5 min) - Ask Claude: Open VS Code and ask Claude questions about this project
- Experiment: Try one of the beginner challenges above
- Build: Create your own skill or agent!
- This README (you're reading it! β)
.claude/CLAUDE.mdβ Project standards.claude/skills/fetchAPI/SKILL.mdβ Your first skill.claude/agents/code_reviewer/code_reviewer.mdβ Your first agent- Experiment with Claude Code in VS Code
Q: How do I use Claude Code? A: Open any file, press Ctrl+I (or Cmd+I on Mac), and start asking questions!
Q: Can I change CLAUDE.md? A: Yes! Edit it to reflect your actual project standards and Claude will follow them.
Q: How do I create my own skill?
A: Create a folder in .claude/skills/, add a SKILL.md file with instructions, and Claude will recognize it.
Q: Does Claude really remember things?
A: Yes! Check .claude/agent-memory/ to see what Claude learns across conversations.
- GitHub Copilot Documentation
- Claude Code Setup Guide
- PEP 8 β Python Style Guide
- PEP 257 β Docstring Conventions
This tutorial project demonstrates:
- How to structure
.claudefolder for education - Best practices for teaching Claude Code
- Real-world skill and agent examples
- Practical learning path for beginners
Built with the goal: Help you master Claude Code from scratch! π
Happy learning! Now open VS Code and start exploring Claude Code! π»