
We track Product so you don't have to. Top Podcasts summarised, the latest AI tools, plus research and news in a 5 min digest.
Setting Up Your PM Automation Stack (30 Minutes)
You read Part 1. You're intrigued. You installed Claude Code. You ran your first CSV cleanup.
Now you're wondering: "What's the actual workflow here? How does this all fit together?"
Fair question. Because the magic isn't Claude Code in isolation. It's the integrations. First up I'm going to cover my "three-layer stack" working together:
Wispr Flow (voice input) → Claude Code (automation) → Obsidian (knowledge storage)
This article walks you through setting up that complete stack in 30 minutes. Not theory. Not "eventual state." Just: Here's what to install, here's how it works, here's what to run first.
By the end, you'll have a working PM automation system. Part 3 will show you what's possible with it (200+ hours saved). But first, let's build it.
📖 A Note on Article Length
⚠ Fair notice this article is comprehensive (~6,700 words, 13+ minute read).
The Claude Code series goes deeper than my usual content because setting this up properly saves you 200+ hours. I've tried to set it up so it's skimmable and easy to digest to get the gist at a quick glance. But to get the most out of it you’ll want to follow along.
If you're short on time:
Install the 3 layers (Claude Code, Wispr Flow, Obsidian) - 30 mins
Skip: Terminal beautification, Daily notes setup, "Week in the Life"
Jump to: Your First 3 Workflows - run those, done
If you want the full stack: Work through everything. It's worth it.
⏱️ What You're Getting Into
Time: 30-45 minutes (can skip optional sections) Difficulty: Copy-paste commands, answer setup questions Result: Voice → AI → Knowledge base workflow
Quick Navigation:
Terminal beautification (optional, 15 mins)
Daily notes (optional, 15 mins)
First 3 workflows (core, 10 mins)
Week in the Life (skip if rushed)
Useful Links & Resources (what it says on the tin)
The 30-Minute Setup Checklist
Layer 1: Claude Code (10 minutes) ✓ Already Done
If you followed Part 1, you've already got this:
Installed Node.js
Ran
npm install -g @anthropic-ai/claude-code(or used the native installer from https://code.claude.com/docs/en/setup )Authenticated with
claudecommandRan your first file analysis
If you skipped Part 1's setup section, do that first. I'll wait.
Done? Good. You've now got Claude Code talking to your filesystem. That's layer 1 sorted.
Layer 2: Wispr Flow (10 minutes - Optional but Recommended)
What it does: Turns your voice into text at 160 wpm (vs 40 wpm typing). System-wide, works everywhere.
Cost: Free tier gives 2,000 words per week (8,000+/month). 14-day Pro trial included. Paid: $12/month (annual billing) or $15/month (monthly). Pricing details
Is it essential? No. You can use Claude Code without it. But voice input removes the typing bottleneck completely. I wrote 136,000+ words in two weeks with this stack. That's only possible because voice input is 4X faster than typing.
Installation:
Download Wispr Flow from wisprflow.com
Install and grant microphone permissions
Set keyboard shortcut (I use fn key - hold to talk, release to send - for longer messages it can auto-detect and you can just keep talking without even holding any key)
Test it: Hold shortcut, say "Hello world test," release. Text appears wherever your cursor was.
That's it. Wispr Flow is now active system-wide. Open your terminal, hold the shortcut, speak to Claude Code instead of typing.
The workflow change:
Before: Type "Can you analyse this CSV and tell me how many duplicates there are?"
After: Hold shortcut, speak "Analyse this CSV, how many duplicates?" Release. Same request, 4X faster.
If you skip Wispr Flow: You're still getting 90% of the value. Voice input just accelerates it.
Layer 3: Obsidian (10 minutes)
What it does: Local markdown knowledge base. Your files, your machine, no cloud lock-in.
Cost: Free (Obsidian Sync is $4/month annual or $5/month monthly if you want official mobile sync later - but free alternatives exist)
Why not just use your existing notes app? You can. But Obsidian's wiki-style linking means every Claude Code output automatically connects to related content. Your knowledge compounds instead of fragmenting across folders.
Installation:
Download Obsidian from obsidian.md
Create new vault (I called mine "Master-Knowledge-Base" but name it whatever you want)
Choose a location (I use
~/Documents/Obsidian/Master-Knowledge-Base)
Basic Folder Structure (5 folders, that's it):
Your-Vault/
├── Notes/
│ ├── Daily/ # Daily notes (meetings, tasks)
│ └── Weekly/ # Weekly reviews
├── Plans/ # Claude Code session plans
├── Projects/ # Active PM work
├── Archive/ # Completed work
└── Templates/ # Reusable templates
That's sufficient for now. Part 4 covers advanced vault architecture (three-layer memory system, custom taxonomies, etc.). For today, 5 folders is plenty.

Basic Obsidian vault structure with 5 folders—sufficient for getting started, expandable later
Test it: Create a new note in Notes/Daily/, add some content, save. You've now got your local knowledge base running.
✓ Core Stack Complete: You now have Claude Code + Wispr Flow + Obsidian working together. Ready to jump straight to workflows? Skip to Your First 3 Workflows. Want the full experience? Keep reading.
Optional: Make Your Terminal Beautiful (10 minutes)
This is completely optional. Claude Code works perfectly with your default terminal. But if you're spending hours per week in the terminal, these visual improvements make it much more pleasant.
What you'll get:
✅ Syntax highlighting (green = valid command, red = invalid)
✅ Auto-suggestions based on command history
✅ Status bar showing git branch, directory, and more
✅ Colourful file listings with icons
✅ Better fonts that don't strain your eyes
Time investment: 10 minutes (one-time setup)
Tutorial: I stumbled on this through a recommendation from my friend Ana Woodrow - so thanks for that! Go check out her substack. This typecraft youtube she sent me walks through the entire setup in 7 minutes:
Tools covered:
iTerm2 (terminal replacement)
Oh My Zsh (shell framework)
Powerlevel10k (status bar theme)
zsh-autosuggestions & syntax-highlighting (quality of life)
Gruvbox color scheme (easy on eyes)
Quick Setup (5 steps, 15 minutes):
Prerequisites: Download iTerm2 from iterm2.com if you don't have it already.
Install Homebrew (macOS package manager - you'll need your password)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"Install Oh My Zsh (shell framework)
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"Install Powerlevel10k theme
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10kInstall plugins (auto-suggestions + syntax highlighting)
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlightingConfigure - Open a new iTerm2 window and follow the Powerlevel10k configuration wizard (it asks ~10 questions about how you want your prompt to look)
Optional: For Gruvbox colors, download from the iTerm2 Color Schemes repo, then import via iTerm2 → Preferences → Profiles → Colours → Colour Presets → Import.
Why I recommend it: After setting this up, terminal errors became instantly visible (red highlighting), common commands auto-complete (saves typing), and the status bar shows git context when Claude Code creates branches. These small wins compound over thousands of commands.

iTerm2 with Oh My Zsh and Powerlevel10k—minimal aesthetic with syntax highlighting and git context
If you skip this: No problem. Claude Code works identically in default Terminal. This is purely cosmetic + quality-of-life improvements. As you can see above it's pretty subtle—you can set it up to look dramatically different. I went for a simple, minimal aesthetic.
✓ Terminal Setup Done: Your terminal now has syntax highlighting, auto-suggestions, and status bars. Or you skipped this entirely. Either way, you're ready for workflows.
💡 Quick Note: New Claude Code Access Options (Dec 2025)
While this guide focuses on the terminal version (most powerful, best for learning), Anthropic just launched:
Desktop App: claude.ai/download - GUI wrapper with parallel sessions
Web Version: claude.com/code - Browser-based, works on mobile
Should you switch? Not yet IMO. The terminal gives you the deepest control and I managed to crash the desktop version more than I've crashed the Terminal version. Plus it just seems slower and I haven't figured out how to find plan mode yet ;).
But these alternatives mean you can work from anywhere once you've mastered the basics and I'm guessing the desktop version will become the de facto version of choice pretty soon.
Setting Up Your Daily Note System (Optional but Powerful)
This section is optional. The three workflows at the end work without it. But if you want to see the full power of this stack - automated daily notes with calendar integration - spend 15 minutes here.
What you'll build: A /daily-note command that creates your daily note in 10 seconds, complete with:
Today's meetings from all your calendars (work, personal, family, etc.)
Tasks carried over from yesterday
Structured sections for priorities, notes, and decisions
The setup has two parts:
Part 1: Obsidian Plugins (8 minutes)
These plugins add structure to your vault that Claude Code can work with.
Where to find Settings: Click the gear icon ⚙️ (bottom-left of Obsidian window)
Plugin 1: Daily Notes (Core Plugin)
Core plugins are built into Obsidian but need enabling.
Settings ⚙️ → Core plugins (left sidebar)
Find "Daily notes" in the list → Toggle it ON
Click the settings icon next to Daily notes
Configure:
Date format:
DD-MM-YYYY(or your preference)New file location:
Notes/DailyTemplate file location: (leave blank for now)
Close settings
Plugin 2: Tasks
Community plugins need downloading first, then enabling.
Settings ⚙️ → Community plugins (left sidebar)
If first time: Click "Turn on community plugins" → Confirm
Click Browse button
Search bar: Type "Tasks"
Click "Tasks" by Clare Macrae → Install → Enable
Settings ⚙️ → Tasks (now appears in left sidebar)
Global task filter: Check "All checkboxes are tasks"
Close settings
Why this matters: Claude Code can now query incomplete tasks across your entire vault.
Plugin 3: Calendar
Settings ⚙️ → Community plugins → Browse
Search: "Calendar"
Click "Calendar" by Liam Cain → Install → Enable
Settings ⚙️ → Calendar:
Week starts on: Monday (or your preference)
Close settings
Why this matters: Visual calendar in right sidebar. Click any date to jump to that day's note.
Plugin 4: Templater (Optional)
Settings ⚙️ → Community plugins → Browse
Search: "Templater"
Click "Templater" by SilentVoid → Install → Enable
Settings ⚙️ → Templater:
Template folder location:
TemplatesTrigger Templater on new file creation: Toggle ON
Close settings
Why this matters: Advanced template logic. Part 4 covers template workflows.
Test it: Create a new note in Notes/Daily/ and add: - [ ] Test task. The Tasks plugin now tracks this.
Part 2: Google Calendar MCP Integration (7 minutes)
MCP (Model Context Protocol) lets Claude Code query external services directly. We'll connect it to Google Calendar so it can read your meetings.
What you'll need:
A Google account with calendar access
Terminal access (you're already using it for Claude Code)
Installation:
In your terminal (while in your Obsidian vault directory), run:
npx @cocal/google-calendar-mcpA browser window opens automatically
Sign in to your Google account
Grant calendar read permissions
Done - tokens are saved to
~/.config/google-calendar-mcp/
Note: This requires OAuth credentials from Google Cloud Console. The package will guide you through setup on first run.
💡 Pro Tip: Don't worry about memorising exact commands. You can just ask Claude: "Install Google Calendar MCP for me" and it will search for the right package and guide you through setup. Check Pulse MCP for all a stack of available integrations.
Test it:
In Claude Code, type: "What meetings do I have today?"
Claude reads your calendar and lists them
No copy-paste. No switching to Google Calendar.
Multi-Calendar Support:
The @cocal/google-calendar-mcp server authenticates to ONE Google account but can see ALL calendars visible in that account.
My setup:
MCP authenticated to:
(personalemail)@gmail.comCalendars visible: Personal, Family, UK Holidays, Work (shared)
Work calendar:
[email protected]shared to personal account via Google Calendar sharing
How to share work calendar to personal:
Open Google Calendar (work account)
Find your work calendar → Settings
"Share with specific people" → Add your personal Gmail
Grant "See all event details" permission
Accept the share in your personal Gmail calendar
Now all 4 calendars are queryable via the single MCP connection.
Deduplication: The same meeting often appears in multiple calendars (e.g., work calendar and personal calendar both show a client call). The /daily-note command handles this—it deduplicates by iCalUID (unique event identifier) so each meeting appears only once.
Common issue: "MCP not working after setup"
Fix: Restart Claude Code terminal completely (exit and relaunch)
MCP servers load at startup, not during sessions
You've now got:
✅ Obsidian with Daily Notes, Tasks, Calendar, Templater plugins
✅ Google Calendar connected via MCP
✅ Multi-calendar support (work, personal, family, holidays)
What this enables: The /daily-note command shown in the next section. And any other calendar-aware workflow you dream up.
Part 5 covers additional MCP setup (Notion, Gmail, Mermaid diagrams). For today, Google Calendar demonstrates the concept.
How the Flow Actually Works (A Real Example)
You've now got the full stack: Claude Code, Wispr Flow (optional), Obsidian with plugins, and Google Calendar connected.
Let me show you what happens when I say: "Create my daily note"
💡 (If you skipped the daily note setup above, you can still follow along—just know that some steps won't work without the plugins and MCP.)
Step 1: Voice Input (Wispr Flow)
I hold fn
I say: "Create my daily note"
I release the shortcut
Text appears in my terminal: "Create my daily note"
Step 2: Claude Code Executes
Claude Code:
Runs my
/daily-notecustom command (more on creating commands in Workflow 2)Queries Google Calendar via MCP (the integration you just set up)
Fetches today's meetings from all 4 calendars (Work, Personal, Family, Holidays)
Deduplicates events (same meeting showing up in multiple calendars gets filtered)
Carries over unchecked tasks from yesterday's note (using Tasks plugin)
Creates formatted markdown file
Step 3: Obsidian Stores It
Result appears in: Notes/Daily/26-11-2025.md
The file contains:
Today's date and day of week
All meetings with times, titles, attendees
Unchecked tasks from yesterday (with original dates preserved)
Empty sections for: Notes, Decisions, Action Items
Time taken: 30 seconds (manual version would take much longer probably 5-10 minutes: open calendar, copy events, format markdown, check yesterday's tasks, etc.)
The key insight: Each layer does one job. Wispr removes typing friction. Claude Code handles the logic. Obsidian stores the result. Together, they compound.
✓ Daily Notes System Complete: You now have automated daily notes with calendar integration. Or you skipped this entirely. Either way, you're ready to run real workflows.
Pro Tip: The @-Mention Shortcut
Before we jump into workflows, here's a shortcut that'll save you hours of typing file paths.
Instead of typing full paths, use @-mentions:
# The long way (manual path typing):
"Read /Users/alastair/Documents/Obsidian/Notes/Daily/25-11-2025.md and extract action items"
# The fast way (@-mention):
"@25-11-2025 extract action items"
Claude autocompletes file names as you type. Works with folders too: @Plans/Active/ show incomplete tasks
Why this matters: Saves 10-15 seconds per file reference. Across 50+ sessions, that compounds. More importantly, it removes friction—you think "I need that file" and @-mention it. No context switching.
Real example from my workflow: When creating newsletter content, I'll say:
"@Pod-Shots/Database/ find episodes about AI tools published in November"
Claude knows exactly where to look. No file browser needed.
💡 Pro tip: I often skip file paths entirely—just describe where something might be. Speech-to-text makes this effortless.
Your First 3 Workflows (Run These Today)
You've got the stack. Now let's use it.
Important: The workflows below show specific prompts, but you don't need to memorise exact wording. Just describe what you want in natural language. Claude will figure out the details, search for files, and ask clarifying questions if needed. Think of it as talking to a colleague who knows your file structure, not copy-pasting commands into a terminal.
Workflow 1: LinkedIn Post → SEO Blog Article
The task: Convert a LinkedIn thought leadership post into a comprehensive blog article.
The voice prompt:
"Take this LinkedIn post about product discovery and turn it into a 1,500-word SEO blog article. Include practical examples, expand key points, add relevant frameworks, and save it to Projects/Blog-Articles/"
What Claude does:
Reads the LinkedIn post (you can paste URL or paste the text)
Analyses core insights and identifies expandable concepts
Researches related frameworks (JTBD, Continuous Discovery, etc.)
Expands 300-word post into 1,200-2,000 word structured article
Adds: Introduction, H2/H3 structure, practical examples, key takeaways, SEO metadata
Saves to your Obsidian vault at
Projects/Blog-Articles/product-discovery-frameworks.md
The transformation:
LinkedIn (300 words): "Product discovery isn't about features. It's about outcomes. Here's what I learned shipping 3 products that failed..."
Blog article (1,500 words): Full case study with Teresa Torres' Opportunity Solution Trees, Jeff Patton's Story Mapping, specific failure analysis, 5 actionable frameworks, and implementation checklist
Time saved: 2-3 hours of research + writing → 5 minutes
If using voice input: Hold Fn, speak "Convert LinkedIn post to blog article about [topic]," Claude handles the rest.
Workflow 2: Create Your First Custom Command
Custom commands turn 30-minute tasks into 2-minute shortcuts. Let's create a simple one.
The command: /meeting-notes [meeting name]
What it does: Creates a structured meeting notes template.
How to create it:
In your vault, create:
.claude/commands/meeting-notes.mdPaste this content:
The user wants to create meeting notes for: {meeting name}
Create a new markdown file in Notes/Daily/ with today's date and meeting name.
Use this structure:
- Meeting: {meeting name}
- Date: {today's date}
- Attendees: (to be filled in)
- Objective:
- Discussion Points:
- Decisions Made:
- Action Items:
- Next Steps:
Save the file and confirm the path.
Save the file
In Claude Code, type:
/meeting-notes Product Roadmap SyncClaude creates the file with the structure pre-filled
Time saved: 5-10 minutes per meeting (multiply by meetings per week)
The pattern: Any repeated task can become a custom command. Newsletter prep. Research synthesis. Customer interview templates. Whatever you do regularly.
Part 1 listed a stack of my commands (/daily-note, /newsletter-prep, /find-tools, /refine-not-boring). You'll build yours over Week 2-3. Start with one simple command today.
Bonus: Research Automation Command
The meeting notes command above handles file creation. But custom commands aren't just for files - they're brilliant for research automation too.
The command: /competitor-snapshot [company name]
What it does: Researches a competitor and creates a structured snapshot.
How to create it:
Create:
.claude/commands/competitor-snapshot.mdPaste this content:
The user wants a competitive intelligence snapshot for: {company name}
Search the web for this company and create a structured markdown file with:
- Company overview (what they do, target market)
- Key product features
- Pricing model (if publicly available)
- Recent news/updates
- Positioning/messaging analysis
- Our differentiation opportunities
Save to: Research/Competitors/{company-name}-snapshot-{today's-date}.md
Use clear headings, bullet points, include source URLs.
Save the file
In Claude Code, type:
/competitor-snapshot FigmaClaude researches, structures findings, saves to your vault
Time saved: 30-45 minutes of manual research → 5 minutes

Running /competitor-snapshot command—Claude researches and structures findings <5 mins

Competitor analysis output—structured markdown with business model, features, pricing, and strategic insights (RHS nav easy to browse findings, tags at top of doc)
Why this matters: File-based commands (meeting notes) automate creation. Research commands automate discovery. Both save time, but research commands make previously-infeasible work achievable.
You won't run /competitor-snapshot daily. But quarterly competitive analysis becomes trivial. Monthly landscape tracking becomes systematic. Strategic planning becomes data-driven instead of gut-feel.
Part 3 covers 5 more research workflows (Reddit discovery, LinkedIn content research, growth experiments, product ideas). For now, this one command demonstrates the pattern.
Workflow 3: Simple Research Synthesis
The task: "Find me 5 AI tools for product managers focused on roadmapping"
The prompt:
"Search the web for 5 AI tools for PM roadmapping. For each tool: name, what it does, pricing, and why it's relevant. Create a markdown summary in Projects/AI-Tools-Research.md"
What Claude does:
Searches the web
Analyses results
Creates structured markdown file with findings
Saves to your Obsidian vault at the path you specified
Time saved: 30-60 minutes of manual research and formatting → 3 minutes
Why this works: Research output automatically saves to your vault with proper formatting. No copy-paste. No switching between browser tabs and note apps. And you can reorganize files later—just ask Claude.
✓ First 3 Workflows Complete: You've now run LinkedIn → blog conversion, created a custom command, and done research synthesis. These are the patterns you'll use for everything else. Part 3 shows 5 more advanced workflows.
Common Setup Issues (And Quick Fixes)
Issue 1: "Command not found: claude"
Cause: Node.js not installed or PATH not configured
Fix: Restart terminal after installing Node.js, or run
npm install -g @anthropic-ai/claude-codeagain
Issue 2: Wispr Flow not transcribing
Cause: Microphone permissions not granted
Fix: System Preferences → Privacy & Security → Microphone → Enable Wispr Flow
Easier: Say to Claude "Wispr Flow isn't working - can you check my microphone permissions?" (it'll guide you to the right settings)
Issue 3: Claude Code can't find my files
Cause: You're in the wrong directory
Fix:
cd ~/Documents/Obsidian/Your-Vaultbefore runningclaude(or just ask Claude to find the directory which is also possible you'll just need to accept the authorisation request)
Issue 4: MCP integration failing
Cause: Authentication expired or permissions not granted
Fix: Re-run the
npxcommand and re-authenticate (or just ask Claude to fix it for you)
Issue 5: Custom commands not showing up
Cause: Commands folder not in the right location
Fix: Must be
.claude/commands/inside your vault directory (note the dot at the start)Easier: Ask Claude "My custom commands aren't showing up - can you check my folder structure?" (it'll verify the location and create the folder if missing)
You're Ready
That's it. You've now got:
✅ Claude Code installed and authenticated
✅ (Optional) Wispr Flow for 4X faster input
✅ Obsidian vault with basic structure
✅ Three working workflows (LinkedIn → blog, custom command, research synthesis)
✅ (Optional) Google Calendar integration
⏰ What to do right now ⏰
Run one of the three workflows above
Create your first custom command for a repetitive task
Start speaking to Claude instead of typing (if using Wispr Flow)
The stack is live. Start using it today.
What's next:
Part 3 shows what's possible with this stack: 200+ hours saved in 15 days, real PM workflows automated, and deep dive into how I run my workflows
Part 4 covers advanced Obsidian architecture: three-layer memory system, custom taxonomies, Teresa Torres' framework applied to PM knowledge bases.
Part 5 breaks down costs (£17-37/month for the complete stack), MCP troubleshooting, and when this stack is NOT worth it.
Part 6 is the meta-learning: what I got wrong, the compound effect in brutal detail, and how trust develops with AI over time.
The Learning Curve (Realistic Expectations)
Week 1: You're figuring out how to phrase requests. It feels slow. You're learning Claude's language.
Week 2: Confidence builds. You start seeing patterns. "Oh, I can use this workflow for that other task too."
Week 3: You're designing systems, not just issuing commands. Claude becomes an extension of your workflow. Suddenly you have 10 terminal windows open 😂
This progression isn't linear or the same for everyone. Some PMs master it in 3 days, others take 3 weeks. Depends on file-heavy workflows, comfort with experimentation, and upfront time investment.
But the stack compounds. The more you use it, the more efficient it gets. Custom commands build on each other. Your CLAUDE.md file becomes institutional knowledge. Your Obsidian vault becomes your external brain.
Key Insight: The 30-minute setup you just completed becomes a 200-hour-per-month time multiplier. Week 1 is learning. Week 2 is confidence. Week 3 is flow. Week 4 is speed.
Part 3 shows you the details. But first, let me show you what a typical week actually looks like...
A Week in the Life: 24-30 November 2025
Abstract workflows are fine. But here's what this stack actually does for me in a real week. Not cherry-picked highlights—just Monday to Sunday.
Monday: Pod Shots Creation
09:50 - Voice command: "Create my daily note"
Claude creates Notes/Daily/25-11-2025.md with:
7 calendar entries auto-populated from 4 calendars (work, personal, family, holidays)
28 incomplete tasks (!!) carried over from previous days (with original dates preserved)
Active plans wiki-linked by category (Product Tapas, Career, Technical, Website)

Auto-generated daily note with 7 calendar entries from 4 calendars and 28 carried-over tasks with original dates
Time saved vs manual: 5 minutes → 10 seconds
10:00 - Interview (already in my calendar, already in my note)
Afternoon - Voice: "Create Pod Shot from the McKay Wrigley podcast about Claude Code and Obsidian"
What happens next (the 20-minute flow):
Step 1: Automatic Episode Numbering (30 seconds) Claude queries the Notion "Product Tapas Pod Shots" database using MCP, finds the latest episode (#110), automatically sets next episode to #111.
What I used to do: Check spreadsheet, remember last number, hope I didn't duplicate.
What Claude does: Live database query. Always accurate.
Step 2: Transcript Processing (2 mins if URL, instant if transcript) I provide either:
Option A: Paste transcript content directly
Option B: YouTube/Spotify URL → Claude downloads transcript via
yt-dlp
For this one, I had the transcript already. Claude reads the 95-minute tutorial, extracts McKay's 10 key workflows:
Foundation: Why Claude Code + Obsidian works
The Rules File that controls everything
Speech-to-Text 4X multiplier
Custom commands for reusable workflows
Plan Mode for complex research tasks
(Plus 5 more advanced workflows: Sub-agents, MCP Servers, Automated tagging, GitHub Actions, Cursor Tab integration)
Step 3: Article Creation (15 mins) Claude writes the Pod Shot article following the template:
Header: "# 🎙️ Pod Shots - Bitesized Podcast Summaries #111"
Hook: Bold 1-2 sentence summary capturing key insight
Intro: Guest credentials and context (McKay Wrigley - Raycast AI lead, built Chatbot UI)
6-8 themed sections with emoji headers (🏗️ 🧠 🚀 💡)
Each section: 2-4 paragraphs + direct quotes + Key Takeaways bullets
Final section: Practical implementation advice
Links: (the most useful bit by far) suggested other links and articles that are relevant or contradictory
Target length: 2,500-3,500 words (comprehensive yet scannable)
Step 4: Quality Check (2 mins) Claude verifies UK English spelling, scannability (bold key phrases), all major points covered, actionable insights included.
The Output: File created: Product-Tapas/Pod-Shots/Published/2025-12-02-pod-shots-mckay-wrigley-claude-code-obsidian.md

Completed Pod Shot article ready for Beehiiv—10-minute Claude execution, 20 minutes total including review and edits
I edit, add my notes from listening, Claude rechecks. Done—ready for Beehiiv.
Time breakdown:
Before this workflow: 3-4 hours (listen to podcast, take notes, structure article, write sections, edit for flow)
With this workflow: 20 minutes (Claude writes, I review and tweak tone, add my bits from my notes)
Actual Claude execution time: 10-15 minutes
Evening - Voice: "Add automatic transcript downloads to the Pod Shots skill"
Claude reads [[PLAN-24-11-2025-1145-product-tapas-podshot-skill-enhancement]], adds:
Step 0: Auto-download transcripts from YouTube/Spotify/Apple Podcasts (yt-dlp)
Step 9: Generate newsletter summary with Beehiiv metadata
Tests enhanced skill. Workflow now: URL → transcript → article → newsletter summary. Fully automated.
Time saved: Manual transcript hunting eliminated. Newsletter prep built in.
Tuesday: Blog Bites Workflow
Morning - Ran the Blog Bites n8n workflow (separate automation—different article).
What happens next (the 15-minute flow):
Step 1: n8n Automation (12 mins) n8n workflow runs automatically:
Searches Gmail for label
newsletters-product-tapas-blog-bites(past 7 days)Extracts ~10-15 blog posts from PM newsletters I subscribe to
Cleans tracking URLs
Generates AI-powered summaries for each
Saves to CSV:
Product-Tapas/Blog-Articles/blog-bites-DD-MM-YYYY.csv
Step 2: Claude Refinement (3 mins) n8n calls Claude mid-workflow to write structured articles (detailed prompt). Creates:
12 individual Markdown files in vault
Notion database entries with tags (via API)
Because they're Markdown, I use Claude Code to refine: cross-reference previous articles, adjust tone, add context.
Division of labour: n8n does heavy lift. Claude Code refines.
Time breakdown:
Before this workflow: 2 hours (read 15 blogs, write summaries, format)
With this workflow: 15 minutes (n8n runs, Claude refines tone/cross-references)
Afternoon - Voice: "The n8n Blog Bites workflow is broken - 13 items going in, only 1 coming out"
Claude reads the n8n workflow documentation I'd created and JSON I give it, diagnoses the bug (execution mode mismatch in Code node), fixes it, updates the troubleshooting guide. Creates [[PLAN-25-11-2025-1340-n8n-blogbites-13-items-to-1-fix]] documenting the solution for future reference.
Time saved: Hours of n8n debugging → 20 minutes
Morning - Voice command: "Start creating Friday's newsletter - begin with the Not Boring section"
What happens next (the 45-minute flow):
Step 1: Content Gathering (5 mins) Claude searches my Gmail for label newsletters-product-tapas-not-boring (date range: 21-26 Nov). This label contains aggregator newsletters I subscribe to - TLDR, Morning Brew, Benedict Evans, TechCrunch +++. About 30-40 emails.
It extracts interesting tech stories: AI releases, funding rounds, product launches, strategic moves. Aiming for ~30 stories.
Step 2: Link Verification (10 mins) Here's where it gets useful. Claude doesn't just copy headlines, it:
Extracts the ACTUAL link (not
links.tldrnewsletter.com/abc123tracking redirects)Uses
curlto follow redirects and get clean URLsIf a link is missing, uses web search to find it (e.g., "Genesis Mars mission NASA")
Verifies each link is real (not placeholder text like "user will find")
What I used to do: Manually click 30 links, copy real URLs, paste into doc. 30+ minutes.
What Claude does: Automated. Every link verified and clean.
Step 3: Content Organisation (15 mins) Claude groups the 30 stories into themed sections:
AI & Models - "ChatGPT Canvas, Anthropic infrastructure, model benchmarks"
Big Tech Moves - "Meta's TPU talks, WhatsApp leaks, AWS infrastructure"
Startups & Funding - "Glean $260M raise, Perplexity shopping, seed rounds"
Product & Strategy - "Designing for algorithms, PM frameworks, growth tactics"
Everything Else - "Esoteric hardware, oddball launches, fun stuff"
I debate with Claude about section groupings - it consistently categorises differently than I would. This is where my editing matters. I add commentary, ask Claude to critique in my style, and we iterate on highlighting tensions and insights.
The Output (Wednesday):
File created: Product-Tapas/1.0 Drafts/Not Boring Drafts/27-11-2025-not-boring.md
Contains:
Raw Content: 30 verified stories with clean URLs
Grouped Content: 5 themed sections with commentary
What I do next: Review commentary again, approve or tweak, then say "next" to continue to next step in the skill.
Time breakdown (Wednesday only):
Before this workflow: 3-4 hours (open 30 emails, click links, verify URLs, copy content, format markdown, group stories, write commentary)
With this workflow: 30 minutes (Claude processes, I review)
Actual Claude execution time: 20 minutes
Afternoon - Systems fixing and debugging work (calendar integration fixes, n8n troubleshooting)
Morning - Voice: "Continue the newsletter - create intro, titles, SEO, and LinkedIn posts"
What happens next (the 25-minute flow):
Step 4: Newsletter Intro (5 mins) Claude writes the intro directly in the draft file:
Satirical contradiction paragraph (3-5 lines): "Everyone's building AI tools. Nobody's using them. Except the people who are." Then we debate humour for 5 minutes—it's personal.
Menu bullets with arrow format: "→ Model wars choreography, visibility panic, platform admissions"
Before: Stare at blank doc for 20 minutes trying to sound clever. Now: Claude drafts, I tweak tone, done.
Step 5: Title Options (5 mins) Generates 5 title/subtitle combinations:
"Distribution Wins Again, Meta's TPU Talks, WhatsApp Leaks 3.5 Billion" / "Plus: Designing for algorithms, product as value creation engine"
"The Model Wars Heat Up, AWS Goes Nuclear, Glean Raises $260M" / "Plus: Sales alignment frameworks, infrastructure deep-dives" ... etc
I pick one. Or mix-n-match.
Step 6: SEO Package (5 mins) Creates SEO-optimised metadata:
SEO Title (77 chars): "AI Model Wars, Meta TPU Strategy, WhatsApp Security Leak | Product Tapas"
Meta Description (158 chars): "This week: ChatGPT Canvas evolution, Meta's chip ambitions, designing for algorithms. Plus PM frameworks for sales alignment and value creation."
Email Preview Text: Refined to focus on learnings, not just headlines
Step 7: Tags & LinkedIn Posts (10 mins) Extracts from content:
25 companies mentioned (OpenAI, Anthropic, Meta, AWS, Glean...)
28 key topics (AI infrastructure, model benchmarks, product-market fit, PM frameworks...)
4 notable people (Sam Altman, Dario Amodei, etc.)
Then drafts 4 LinkedIn promotional posts:
Option 1: Data-driven infrastructure take
Option 2: Sales-product alignment framework
Option 3: Claude Code series reminder
Option 4: Product as value creation engine
The Final Output (Thursday):
Newsletter file now complete with all sections:
Not Boring content (from Wednesday)
Newsletter intro with menu bullets
Title options (I pick one)
SEO package (copy-paste to Beehiiv)
Tags list (copy-paste to Beehiiv)
4 LinkedIn posts (schedule throughout the week)
Time breakdown (Thursday only):
Before this workflow: 2-3 hours (write intro, brainstorm titles, create SEO copy, draft social posts)
With this workflow: 25 minutes (Claude creates, I review and select options)
Actual Claude execution time: 12 minutes
Combined Wednesday + Thursday:
Before this workflow: 8-10+ hours total for complete newsletter
With this workflow: max 2hours (much more reading, editing and tweaking/verification)
Actual Claude execution time: 32 minutes total
Afternoon - Review the Claude Code Part 2 setup guide
Working on this article you're reading right now. Claude helps:
Fact-check all pricing (Wispr Flow, Obsidian Sync, Claude Code)
Rewrite plugin installation with precise click-by-click steps
Replace boring CSV workflow with LinkedIn → Blog conversion
Add "ask Claude to fix it" shortcuts to troubleshooting
Time saved: Manual research of 5 pricing sources → agents handled it in parallel (5 fact-checking agents running simultaneously)
Friday: Publishing & Personal Chaos
Morning - Newsletter goes live on Beehiiv
Afternoon - Voice: "Research winter tyre sizing for BMW 130i E87"
Claude searches UK tyre retailers (Kwik Fit, Black Circles, etc.), compares 205/55 R16 vs 205/50 R17 options, checks compatibility with 7J wheels, creates structured markdown with pricing and recommendations. Saves to Personal/Car/BMW-130i-winter-tyre-sizing.md
Time saved: 2 hours of manual comparison shopping → 10 minutes
Evening - Voice: "Draft a complaint to Lloyds Bank about their broken mobile app"
Claude drafts formal complaint with UK consumer rights references, timeline of issues, clear ask for compensation. Saves to Personal/Banking/Lloyds-Complaint/complaint-draft-30-11-2025.md
Time saved: 1 hour of angry typing → 5 minutes of calm dictation
The Meta-Workflow (Running All Week)
Voice input: ~90% of all inputs via Wispr Flow. Fn key becomes my thinking-to-text interface.
Task carry-over: Every morning, unchecked tasks appear with age tracking: (originally: 18-11-2025). Long-pending tasks become visible, get prioritised or dropped.
Plan documents: Every session auto-tracked. Plans wiki-linked in daily notes. Single source of truth for "what did I do when?"
Custom commands:
/daily-note→ daily structure in 10 seconds/competitor-snapshot→ research competitors/linkedin-to-blog→ expand thought leadership/curate-digest→ bi-weekly LinkedIn post aggregation
Files created this week: 11 plan documents, 7 daily notes, 1 newsletter draft, 4 troubleshooting guides, 2 personal research docs, 1 bank complaint. All automatically wiki-linked, tagged, and searchable.
The Honest Bit
Not every workflow is perfect. Tuesday's n8n bug cost 2 hours in the end. Wednesday's calendar fix required multiple Claude instances debugging. Thursday's fact-checking found 6 pricing errors.
But here's the thing: the system learns. Wednesday's calendar fix updated the global CLAUDE.md with an "execution protocol" that prevents Claude from rushing through instructions. Tuesday's n8n bug got documented in a troubleshooting guide that prevents repeating the diagnosis.
The stack compounds. Week 1 is setup. Week 2 is debugging. Week 3 is flow. Week 4 is speed.
This was Week 4.
✓ Week in the Life Complete: You've now seen real workflows across 7 days—Pod Shots, newsletter assembly, troubleshooting, and personal research. Monday to Sunday, the stack compounds. This isn't theory—this is how 200+ hours get saved.
One More Thing: This Is The New Way of Working
The stack you've just built - voice input, AI automation, local knowledge storage - isn't experimental anymore.
McKay Wrigley (founder of Chatbot UI, 100k+ followers) runs Wispr Flow + cursor.ai + Obsidian. Peter Yang (ex-Reddit PM, 100k+ followers) includes Wispr Flow in his "7 essential AI tools" list. Carl Vellotti (senior PM, 60K+ Instagram followers) created a comprehensive Claude Code tutorial. Teresa Torres (continuous discovery expert) documented her Claude Code + Obsidian setup for product research.
The pattern is converging across knowledge workers: capture thoughts via voice, process with AI, store locally in markdown. Not because it's trendy. Because it works.
You've just built version 1.0 of that architecture. There are stacks of people doing great work like this, and I'll show you more in the next few articles.
Now go use it.
Next: [[Part-3-How-I-Saved-200-Hours]] - The ROI breakdown with real workflows and reusable templates.
Questions This Article Answers:
How do Wispr Flow, Claude Code, and Obsidian integrate?
What does a real workflow look like from voice input to knowledge storage?
How do I create my first custom command?
What's the minimum viable setup (30 minutes, not 3 days)?
Which integrations should I set up first (and which can wait)?
Useful Links & Resources
Core Tools:
Wispr Flow (Voice-to-text system-wide)
Obsidian (Local markdown knowledge base)
Ana Woodrow's Substack (Terminal beautification recommendation source)
typecraft Terminal Tutorial (7-minute setup guide for iTerm2 + Oh My Zsh)
MCP Server Resources:
Pulse MCP Directory (Comprehensive MCP server registry)
Obsidian-Specific MCPs (MCPs for Obsidian integration)
Related Articles & Tutorials:
Part 1: Why Every PM Needs Claude Code (Part one of this series: basic setup and why it's important.)
McKay Wrigley's Tutorial: (95-minute Claude Code + Obsidian walkthrough referenced in Pod Shot #111)
Community & Learning:
Product Tapas Newsletter (Weekly PM tools, insights, Pod Shots)
Vibe Coding Academy (Jules Boiteux's research workflows - more on this super-useful set of /commands and agents adapted in Part 3)
That’s a wrap.
Hope you loved this. Can't wait to share the rest with you!
Please share and let me know what you would like to see more or less of so I can continue to improve Product Tapas. 🚀👋
Alastair 🍽️.