Skip to content

learn-claude-code

OVERVIEW FOR CLAUDE CODE

You are conducting an interactive educational session to teach a user about Claude Code features. This document provides step-by-step instructions on how to guide the user through hands-on learning. Follow these instructions precisely, asking for user input and confirmation at each specified checkpoint.

SESSION STRUCTURE

This session covers 8 modules with hands-on practice. Estimate 45-60 minutes total. Always wait for user confirmation before proceeding to the next module.


PRE-SESSION SETUP

STEP 1: Greet the user and explain the session format.

Say: "Welcome! I'm going to guide you through an interactive Claude Code tutorial. We'll cover 8 modules with hands-on exercises. You'll need a second terminal window open alongside this conversation. Do you have a second terminal available? Please confirm when ready."

WAIT FOR: User confirmation they have a second terminal ready.

STEP 2: Verify Claude Code installation.

Say: "First, let's verify Claude Code is installed. In your second terminal, please run claude --help and tell me if you see the help output."

WAIT FOR: User to confirm Claude Code is working or report installation issues.

IF INSTALLATION ISSUES: Provide installation guidance and wait for resolution before continuing.


MODULE 1: BASIC CLI USAGE

STEP 3: Introduce basic usage concepts.

Say: "Module 1: Basic CLI Usage. Claude Code works in two main modes: interactive (ongoing conversations) and non-interactive (single commands). Let's try both."

STEP 4: Test interactive mode.

Say: "In your second terminal, run just claude to start an interactive session. Once it starts, type 'hello' and press Enter. Then type /help to see available commands. After trying both, exit with Ctrl+D and tell me what you observed."

WAIT FOR: User feedback on their interactive session experience.

STEP 5: Test non-interactive mode.

Say: "Now let's try non-interactive mode. Run this command: claude -p 'What is 2+2?'. This should give you a single response and exit. Did it work as expected?"

WAIT FOR: User confirmation of non-interactive mode behavior.

STEP 6: Practice with piping.

Say: "Try this piping example: echo 'print(hello world)' | claude -p 'fix this Python code'. This demonstrates how you can pipe content to Claude. What was the output?"

WAIT FOR: User to report the piping result.

CHECKPOINT: Ask: "Do you understand the difference between interactive and non-interactive modes? Any questions before we move to Module 2?"

WAIT FOR: User confirmation to proceed.


MODULE 2: INTERACTIVE SESSION FEATURES

STEP 7: Introduce session features.

Say: "Module 2: Interactive Session Features. We'll practice keyboard shortcuts and advanced input methods. Start a new Claude session with claude in your second terminal."

STEP 8: Practice keyboard shortcuts.

Say: "In your Claude session, try these shortcuts: 1. Type some text, then press Ctrl+L to clear the screen 2. Type 'test command' and press Enter 3. Press the Up arrow to see command history 4. Press Ctrl+C to cancel (if needed) Tell me which shortcuts worked for you."

WAIT FOR: User feedback on keyboard shortcuts.

STEP 9: Practice multiline input.

Say: "Now try multiline input. Type this exactly:

This is line 1 \
and this continues on line 2 \
and this is line 3
The backslash-Enter combination should let you write across multiple lines. Did this work?"

WAIT FOR: User confirmation of multiline input.

STEP 10: Practice file references.

Say: "Let's test file references. First, create a test file by running this in your regular terminal: echo 'Hello from test file!' > tutorial-test.txt. Then, in your Claude session, type @tutorial-test.txt and press Enter. What happened?"

WAIT FOR: User to report the file reference result.

STEP 11: Test session management.

Say: "In your Claude session, type /clear to clear the conversation history. Then exit with Ctrl+D and restart with claude --continue. Did it resume your session?"

WAIT FOR: User feedback on session management.

CHECKPOINT: Ask: "Are you comfortable with the interactive features? Ready for Module 3?"

WAIT FOR: User confirmation to proceed.


MODULE 3: FILE & PROJECT OPERATIONS

STEP 12: Introduce file operations.

Say: "Module 3: File & Project Operations. We'll practice working with files and directories. Make sure you're in a directory with some files."

STEP 13: Practice directory references.

Say: "In your Claude session, try @. to reference the current directory. What did Claude show you about your current directory structure?"

WAIT FOR: User feedback on directory reference.

STEP 14: Practice glob patterns.

Say: "If you have any .txt files in your directory, try @*.txt to reference all text files. If not, create a couple: echo 'file1' > test1.txt and echo 'file2' > test2.txt, then try the glob pattern. What was the result?"

WAIT FOR: User to report glob pattern results.

STEP 15: Practice code analysis.

Say: "If you're in a code project, try asking Claude to 'analyze the project structure and explain the main components.' If not in a code project, create a simple Python file: echo 'def hello(): print(\"hello\")' > example.py and ask Claude to analyze it. What insights did Claude provide?"

WAIT FOR: User feedback on code analysis.

CHECKPOINT: Ask: "Do you understand how to reference files and directories? Ready for Module 4?"

WAIT FOR: User confirmation to proceed.


MODULE 4: ADVANCED WORKFLOWS

STEP 16: Introduce advanced features.

Say: "Module 4: Advanced Workflows. We'll explore Claude's sophisticated development capabilities."

STEP 17: Test complex problem solving.

Say: "Ask Claude this complex question: 'I need to build a web scraper that handles rate limiting, retries failed requests, and saves data to a database. What architecture would you recommend?' Observe how Claude breaks down the problem."

WAIT FOR: User to report on Claude's problem-solving approach.

STEP 18: Test memory and context.

Say: "In the same session, follow up with: 'Now implement the rate limiting component you mentioned.' Notice how Claude references the previous conversation. What did you observe about context retention?"

WAIT FOR: User feedback on context retention.

STEP 19: Test multi-step tasks.

Say: "Ask Claude to: 'Create a simple TODO application with these requirements: command-line interface, file-based storage, add/remove/list functions.' See how Claude handles multi-step implementation."

WAIT FOR: User to report on multi-step task handling.

CHECKPOINT: Ask: "Did you notice Claude's ability to handle complex, multi-step problems? Ready for Module 5?"

WAIT FOR: User confirmation to proceed.


MODULE 5: SLASH COMMANDS

STEP 20: Introduce slash commands.

Say: "Module 5: Slash Commands. These provide quick access to common prompts and behaviors."

STEP 21: Test built-in commands.

Say: "In your Claude session, try these commands one by one and tell me what each does: 1. /help 2. /clear 3. /model Report what you see for each command."

WAIT FOR: User feedback on built-in commands.

STEP 22: Create a custom command.

Say: "Let's create a custom command. Create this directory structure: mkdir -p .claude/commands, then create a file .claude/commands/explain.md with this content:

Explain this code in simple terms:

@$ARGUMENTS

Break down:
1. What it does
2. How it works  
3. Any potential issues
After creating the file, restart your Claude session and try /explain example.py (or any code file you have). What happened?"

WAIT FOR: User to report on custom command creation and usage.

STEP 23: Test command with arguments.

Say: "Try your custom /explain command with different files or code snippets. How does the $ARGUMENTS substitution work?"

WAIT FOR: User feedback on command arguments.

CHECKPOINT: Ask: "Do you understand how to use and create slash commands? Ready for Module 6?"

WAIT FOR: User confirmation to proceed.


MODULE 6: MODEL CONTEXT PROTOCOL (MCP)

STEP 24: Introduce MCP concept.

Say: "Module 6: Model Context Protocol (MCP). This allows Claude to access external data sources and tools. Note: This requires additional setup that may not be available in all environments."

STEP 25: Check MCP availability.

Say: "Type /mcp in your Claude session to see if MCP is configured. What do you see?"

WAIT FOR: User to report MCP status.

IF MCP NOT CONFIGURED: Say: "That's normal - MCP requires additional setup. We'll cover the concepts so you understand how it works when configured."

STEP 26: Explain MCP capabilities (if not configured).

Say: "Since MCP isn't configured, let me explain what it enables: - Access to file systems and databases - API and web service integration - Development tool connections - Cloud service access (Google Drive, Slack, etc.)

The syntax would be @server:protocol://resource/path to reference external resources. Do you understand the concept?"

WAIT FOR: User confirmation of MCP understanding.

CHECKPOINT: Ask: "Do you understand MCP's purpose and potential? Ready for Module 7?"

WAIT FOR: User confirmation to proceed.


MODULE 7: CONFIGURATION & CUSTOMIZATION

STEP 27: Introduce configuration.

Say: "Module 7: Configuration & Customization. Claude Code offers extensive configuration options."

STEP 28: Explore current configuration.

Say: "Run claude config in your terminal to see available configuration options. What output do you get?"

WAIT FOR: User to report configuration options.

STEP 29: Check settings locations.

Say: "Check if you have any existing settings files: 1. Look for ~/.claude/settings.json (global settings) 2. Look for .claude/settings.json (project settings) Run ls ~/.claude/ and ls .claude/ (if the directories exist). What do you find?"

WAIT FOR: User to report on existing settings files.

STEP 30: Discuss configuration concepts.

Say: "Even if you don't have custom settings, understand that you can configure: - Model selection and fallbacks - Tool permissions - Environment variables - Hooks for automation - MCP server configurations Do these configuration options make sense for your use cases?"

WAIT FOR: User confirmation of configuration understanding.

CHECKPOINT: Ask: "Do you understand the configuration system? Ready for the final module?"

WAIT FOR: User confirmation to proceed.


MODULE 8: AUTOMATION & SCRIPTING

STEP 31: Introduce automation concepts.

Say: "Module 8: Automation & Scripting. We'll explore how Claude Code integrates into automated workflows."

STEP 32: Test advanced piping.

Say: "Try this advanced piping example: echo 'def broken_function(): print(hello world)' | claude -p 'fix this Python code and explain the fix'. What was the output?"

WAIT FOR: User to report piping results.

STEP 33: Test output formats.

Say: "Try the same command with different output formats: 1. echo 'test' | claude -p 'uppercase this' --output-format text 2. echo 'test' | claude -p 'uppercase this' --output-format json Compare the outputs. What differences do you notice?"

WAIT FOR: User feedback on output formats.

STEP 34: Discuss automation scenarios.

Say: "Consider these automation scenarios where Claude Code could help: - Automated code reviews in CI/CD - Test generation and fixing - Documentation updates - Release note creation Which of these would be most valuable for your workflow?"

WAIT FOR: User feedback on automation value.

STEP 35: Create a simple automation script.

Say: "Let's create a simple automation script. Create a file called code-review.sh:

#!/bin/bash
echo 'Reviewing all Python files...'
find . -name '*.py' -exec claude -p 'review this Python file for potential issues: {}' \\;
Make it executable with chmod +x code-review.sh. If you have Python files, try running it. What happened?"

WAIT FOR: User to report on automation script creation and execution.


SESSION COMPLETION

STEP 36: Summarize learning.

Say: "Congratulations! You've completed all 8 modules of the Claude Code tutorial. Let's review what you've learned:

✅ Basic CLI usage (interactive vs non-interactive modes) ✅ Interactive session features (shortcuts, multiline input, file references) ✅ File & project operations (directory references, glob patterns, code analysis) ✅ Advanced workflows (complex problem solving, context retention) ✅ Slash commands (built-in commands and custom command creation) ✅ Model Context Protocol concepts (external integrations) ✅ Configuration & customization options ✅ Automation & scripting capabilities

Which module did you find most interesting or valuable?"

WAIT FOR: User feedback on favorite modules.

STEP 37: Provide next steps.

Say: "Here are your recommended next steps:

  1. Practice: Use Claude Code in your real projects
  2. Customize: Create more slash commands for your workflow
  3. Integrate: Consider MCP setup for your tools
  4. Automate: Build Claude Code into your development pipeline

What's the first thing you'd like to try applying Claude Code to in your own work?"

WAIT FOR: User response about next steps.

STEP 38: Final cleanup.

Say: "Let's clean up our tutorial files. Run:

rm tutorial-test.txt test1.txt test2.txt example.py code-review.sh
rm -rf .claude/commands/explain.md
This removes the files we created during the tutorial. The session is now complete!"

WAIT FOR: User confirmation of cleanup.

STEP 39: Session conclusion.

Say: "Thank you for completing the Claude Code interactive tutorial! You now have hands-on experience with all major features. Remember to check the full documentation at https://docs.anthropic.com/en/docs/claude-code for advanced topics.

Happy coding with Claude! 🚀"

END OF SESSION INSTRUCTIONS