This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This is a static content archive containing 303 episode transcripts from Lenny's Podcast, with an AI-generated topic index for easy discovery.
├── episodes/
│ └── {guest-name}/
│ └── transcript.md # YAML frontmatter + transcript content
├── index/
│ ├── README.md # Main entry point with topic links
│ └── {topic}.md # Individual topic files (e.g., product-management.md)
└── scripts/
└── build-index.sh # Script to regenerate the topic index
Each transcript.md contains:
- YAML frontmatter: guest, title, youtube_url, video_id, publish_date, description, duration_seconds, duration, view_count, channel, keywords
- Transcript content: Timestamped speaker dialogue
The publish_date field is in YYYY-MM-DD format and represents the YouTube upload date.
The index/ folder contains AI-generated keyword tags for each episode:
- Topic files (e.g.,
product-management.md) - Episodes grouped by topic keyword
Transcript files are large (often 25,000+ tokens). Use these strategies:
# Search for specific topics across all transcripts
Grep pattern="product.market fit" path="episodes/"
# Search with context lines for better understanding
Grep pattern="early stage" path="episodes/" output_mode="content" -C=5
Get metadata before deciding to read more:
Read file_path="episodes/guest-name/transcript.md" limit=15
For sequential reading, use offset/limit:
Read file_path="..." offset=1 limit=500 # First chunk
Read file_path="..." offset=500 limit=500 # Second chunk
For research across multiple transcripts:
Task subagent_type="Explore" prompt="Find insights about X across transcripts"
When Read returns a persisted output path like:
Output saved to: ~/.claude/.../tool-results/xxx.txt
Read that file to access the full content.
./scripts/build-index.shThis calls Claude CLI for each episode to generate keywords. The script is idempotent - it skips episodes already present in keyword files, so it can be run multiple times safely.
All episodes should include publish_date in ISO 8601 format (YYYY-MM-DD). To fetch the publication date for a new episode:
- Use the
video_idfrom the transcript's frontmatter - Call the YouTube Data API v3:
https://www.googleapis.com/youtube/v3/videos?part=snippet&id={video_id}&key={API_KEY} - Extract
snippet.publishedAtfrom the response - Add
publish_date: YYYY-MM-DDto the frontmatter aftervideo_id