claude-cookbooks

A collection of notebooks/recipes showcasing some fun and effective ways of using Claude.

51,446 stars Jupyter Notebook Markdown Skills API Spec
AI Prompts & Specs

Repository: anthropics/claude-cookbooks


Stars: 40890

CLAUDE.md

Claude Cookbooks

A collection of Jupyter notebooks and Python examples for building with the Claude API.

Quick Start

bash

Install dependencies


uv sync --all-extras

Install pre-commit hooks


uv run pre-commit install

Set up API key


cp .env.example .env

Edit .env and add your ANTHROPIC_API_KEY

Development Commands

bash
make format        # Format code with ruff
make lint # Run linting
make check # Run format-check + lint
make fix # Auto-fix issues + format
make test # Run pytest

Or directly with uv:

bash
uv run ruff format .           # Format
uv run ruff check . # Lint
uv run ruff check --fix . # Auto-fix
uv run pre-commit run --all-files

Code Style

- Line length: 100 characters
- Quotes: Double quotes
- Formatter: Ruff

Notebooks have relaxed rules for mid-file imports (E402), redefinitions (F811), and variable naming (N803, N806).

Git Workflow

Branch naming: <username>/<feature-description>

Commit format (conventional commits):

text
feat(scope): add new feature
fix(scope): fix bug
docs(scope): update documentation
style: lint/format

Key Rules

1. API Keys: Never commit .env files. Use dotenv.load_dotenv() then access keys via os.environ or os.getenv()

2. Dependencies: Use uv add <package> or uv add --dev <package>. Never edit pyproject.toml directly.

3. Models: Use current Claude models. Check docs.anthropic.com for latest versions.
- Sonnet: claude-sonnet-4-6
- Haiku: claude-haiku-4-5
- Opus: claude-opus-4-6
- Never use dated model IDs (e.g., claude-sonnet-4-6-20250514). Always use the non-dated alias.
- Bedrock model IDs follow a different format. Use the base Bedrock model ID from the docs:
- Opus 4.6: anthropic.claude-opus-4-6-v1
- Sonnet 4.5: anthropic.claude-sonnet-4-5-20250929-v1:0
- Haiku 4.5: anthropic.claude-haiku-4-5-20251001-v1:0
- Prepend global. for global endpoints (recommended): global.anthropic.claude-opus-4-6-v1
- Note: Bedrock models before Opus 4.6 require dated IDs in their Bedrock model ID.

4. Notebooks:
- Keep outputs in notebooks (intentional for demonstration)
- One concept per notebook
- Test that notebooks run top-to-bottom without errors

5. Quality checks: Run make check before committing. Pre-commit hooks validate formatting and notebook structure.

Slash Commands

These commands are available in Claude Code and CI:

- /notebook-review - Review notebook quality
- /model-check - Validate Claude model references
- /link-review - Check links in changed files

Project Structure

text
capabilities/      # Core Claude capabilities (RAG, classification, etc.)
skills/ # Advanced skill-based notebooks
tool_use/ # Tool use and integration patterns
multimodal/ # Vision and image processing
misc/ # Batch processing, caching, utilities
third_party/ # Pinecone, Voyage, Wikipedia integrations
extended_thinking/ # Extended reasoning patterns
scripts/ # Validation scripts
.claude/ # Claude Code commands and skills

Adding a New Cookbook

1. Create notebook in the appropriate directory
2. Add entry to registry.yaml with title, description, path, authors, categories
3. Add author info to authors.yaml if new contributor
4. Run quality checks and submit PR


README.md

Claude Cookbooks

The Claude Cookbooks provide code and guides designed to help developers build with Claude, offering copy-able code snippets that you can easily integrate into your own projects.

Prerequisites

To make the most of the examples in this cookbook, you'll need a Claude API key (sign up for free here).

While the code examples are primarily written in Python, the concepts can be adapted to any programming language that supports interaction with the Claude API.

If you're new to working with the Claude API, we recommend starting with our Claude API Fundamentals course to get a solid foundation.

Explore Further

Looking for more resources to enhance your experience with Claude and AI assistants? Check out these helpful links:

- Anthropic developer documentation
- Anthropic support docs
- Anthropic Discord community

Contributing

The Claude Cookbooks thrives on the contributions of the developer community. We value your input, whether it's submitting an idea, fixing a typo, adding a new guide, or improving an existing one. By contributing, you help make this resource even more valuable for everyone.

To avoid duplication of efforts, please review the existing issues and pull requests before contributing.

If you have ideas for new examples or guides, share them on the issues page.

Table of recipes

Capabilities


- Classification: Explore techniques for text and data classification using Claude.
- Retrieval Augmented Generation: Learn how to enhance Claude's responses with external knowledge.
- Summarization: Discover techniques for effective text summarization with Claude.

Tool Use and Integration


- Tool use: Learn how to integrate Claude with external tools and functions to extend its capabilities.
- Customer service agent
- Calculator integration
- SQL queries

Third-Party Integrations


- Retrieval augmented generation: Supplement Claude's knowledge with external data sources.
- Vector databases (Pinecone)
- Wikipedia
- Web pages
- Embeddings with Voyage AI

Multimodal Capabilities


- Vision with Claude:
- Getting started with images
- Best practices for vision
- Interpreting charts and graphs
- Extracting content from forms
- Generate images with Claude: Use Claude with Stable Diffusion for image generation.

Advanced Techniques


- Sub-agents: Learn how to use Haiku as a sub-agent in combination with Opus.
- Upload PDFs to Claude: Parse and pass PDFs as text to Claude.
- Automated evaluations: Use Claude to automate the prompt evaluation process.
- Enable JSON mode: Ensure consistent JSON output from Claude.
- Create a moderation filter: Use Claude to create a content moderation filter for your application.
- Prompt caching: Learn techniques for efficient prompt caching with Claude.

Additional Resources

- Anthropic on AWS: Explore examples and solutions for using Claude on AWS infrastructure.
- AWS Samples: A collection of code samples from AWS which can be adapted for use with Claude. Note that some samples may require modification to work optimally with Claude.