Not a tutorial. A real, deployable work infrastructure. By the time you finish, you won't just know Claude Code — you'll have a working PM command center you use every day.
Most AI courses teach you to prompt. This course teaches you to operate.
The AI-Native PM OS is a structured, hands-on program that transforms Claude Code into your personal product management infrastructure — a living system that handles research synthesis, PRD generation, stakeholder prep, data analysis, and team handoffs, all within a single command-line environment.
Format: Interactive modules inside Claude Code + reference guides + weekly community challenges
Time: ~40–50 hours total | 30-min lessons | 100% self-paced
Stack: Claude Code (required) | Meridian (your practice B2B SaaS company)
By Module 10, your Claude Code environment won't just be a chatbot. You will have built a suite of specialized, autonomous PM agents and workflows, including:
- 🕵️ The Competitive Intelligence Agent: Runs daily sweeps of competitor pricing pages and documentation, dropping a formatted threat-analysis memo into your Slack.
- 📊 The "Peep-Free" Analytics Agent: Enforces disciplined A/B test analysis, refusing to output metrics until your pre-registered sample size is reached.
- 📝 The PRD-to-Jira Pipeline Agent: Reads your 6-page PRD, identifies edge cases you missed, and automatically generates Jira epics and stories directly into your backlog via MCP.
- 🗣️ The Customer Voice Synthesizer: Reads 500 Zendesk tickets via Google Workspace/Notion MCP, clusters the complaints by Jobs-to-be-Done, and generates a prioritized discovery brief.
- 🎨 The "Vibe Coder" Prototyper: Takes a half-baked PRD flow and instantly spins up a clickable HTML prototype you can send to your CTO on Vercel.
- 🛡️ The Board-Level Executive Agent: Audits your OKR updates against the "Anti-Slop" guidelines, aggressively cutting PM jargon to produce a crisp narrative the CEO will actually read.
You aren't just learning to prompt. You are building these agents.
Throughout this course, you'll work with Meridian — a fictional but richly detailed B2B SaaS company. Meridian sells a workflow orchestration platform to mid-market operations teams. It has:
- A defined product strategy, OKRs, and roadmap
- Realistic user research data, support tickets, and analytics
- Stakeholder personas: skeptical CTO, growth-obsessed CEO, cautious CFO
- A sales motion, competitive landscape, and pricing model
Everything you build in this course will be grounded in Meridian's context. By Module 10, your deliverables will look like they came from a senior PM at a real company.
| Module | Title | Hours | Core Skill |
|---|---|---|---|
| 0 | Setup & Orientation | 3–4h | Environment, mental model |
| 1 | CLAUDE.md Mastery | 3–4h | Context engineering |
| 2 | File & Memory Operations | 3–4h | Workspace architecture |
| 3 | PRDs & Specs | 4–5h | Document generation |
| 4 | Data & Analytics | 4–5h | Metrics workflows |
| 5 | Research & Discovery | 4–5h | Synthesis at scale |
| 6 | Stakeholder & Strategy | 4–5h | Executive artifacts |
| 7 | MCP & Tool Integrations | 5–6h | Real-stack connections |
| 8 | Team Workflows | 3–4h | Collaboration systems |
| 9 | Vibe Coding for PMs | 5–6h | Prototype + deploy |
| 10 | Capstone Project | 6–8h | Portfolio artifact |
| Tool | Required | Install |
|---|---|---|
| An AI coding CLI | ✅ Yes | Claude Code, Codex CLI, Gemini CLI, Aider, or Cursor — see agent compatibility below |
| Active LLM subscription/API key | ✅ Yes | Anthropic / OpenAI / Google / your provider |
| Python 3.8+ | Optional | https://python.org/downloads — only needed for the progress dashboard |
| Git | Optional | https://git-scm.com — installer falls back to ZIP download if absent |
The course was originally written for Claude Code and that is still the most polished experience (slash commands work natively). It now also runs in any agent that respects the AGENTS.md convention or can be pointed at the project's architectural contract.
| Agent | Reads first | Slash commands | Notes |
|---|---|---|---|
| Claude Code | CLAUDE.md |
Native | Recommended — full lesson map + model recommendations |
| Codex CLI | AGENTS.md |
As natural language | Use phrasings like "load lesson 0-1" or "I'm done" |
| Gemini CLI | GEMINI.md → AGENTS.md |
As natural language | Same as Codex |
| Aider | AGENTS.md (must /read it explicitly at session start — Aider does not auto-discover) |
As natural language | Same as Codex once loaded |
| Cursor | .cursor/rules/ai-native-pm-os.mdc |
As natural language | Auto-loads on project open |
| Continue / Cline / generic LLM agent | AGENTS.md |
As natural language | Same as Codex |
| Custom agent (Anthropic SDK, OpenAI Agents SDK, LangChain) | Pass AGENTS.md + ai-native-pm-os.speq into the system prompt |
n/a | Full example in the wiki |
The architectural source of truth for all agents is ai-native-pm-os.speq — a closed-world, machine-readable contract that pins down the course's vocabulary, layers, contracts, and flows so every agent produces identical behavior.
The course's whole premise is context engineering — that one great CLAUDE.md is worth more than 50 prompts. Modules 0–2 teach this directly: a well-written briefing file is the most leveraged thing a PM can build.
That premise has a hidden assumption: the briefing file is in natural language. Natural-language briefings work because LLMs are fluent, but they have a known failure mode — drift. The same paragraph means slightly different things to Claude Sonnet 4.6, GPT-5, and Gemini 2.5 Pro. They infer different defaults from the same words. On a small project that's tolerable. On a 63-lesson course with a fixed practice company (Meridian), strict folder layout, and progress state, drift compounds fast.
This course closes the gap with two complementary additions:
ai-native-pm-os.speq is a machine-readable, closed-world contract for the course's architecture. It uses SpeQ, a small DSL whose entire premise is "anything not declared does not exist." It pins down:
- Vocabulary — the canonical name for every concept (
Lesson,Module,Meridian,ProgressLedger,ClaudeOutputs,Capstone,McpConnector,CourseGuide,PmVault,AgentContextFile,CourseMode). Synonyms become contract violations. - Layers —
COURSE_CONTENT,AGENT_RUNTIME(the onlyBOUNDARY external),PROGRESS_LEDGER,CLAUDE_OUTPUTS,PROGRESS_DASHBOARD. Each layer has explicitOWNS,CALLS, andNEVERrules. - Contracts —
lesson.completion REQUIRES user-confirmation,progress_ledger.write ALWAYS atomic,course_mode.outputs ALWAYS matches-active-mode, etc. These are invariants every agent must honor. - Flows —
lesson_completion,course_setup,capstone_graduationwith explicit step ordering, rollback, and timeouts. - Secrets — env-var names scoped to
AGENT_RUNTIME, never committed, never logged.
The result: two agents reading the same spec produce architecturally equivalent output. Concrete bugs the spec prevents:
| Without the spec | With the spec |
|---|---|
Agent invents new entities ("let me create a study_plan for you") |
ENTITY is closed-world; non-listed entities don't exist |
| Module 1 says "node", Module 5 says "step" — for the same concept | VOCABULARY makes synonym use a contract violation |
| Agent auto-marks a lesson complete after a checklist passes | lesson.completion REQUIRES user-confirmation blocks it |
| Agent edits a lesson file to "fix" student misunderstanding | AGENT_RUNTIME NEVER modify_lesson_files_silently blocks it |
| Test-mode artifacts pollute student outputs folder | course_mode.outputs ALWAYS matches-active-mode blocks it |
Dashboard accidentally writes to progress.json |
PROGRESS_DASHBOARD NEVER write_to_progress_ledger blocks it |
Crucially, the course is about context engineering — adding a .speq is the course walking the talk. Students learning about CLAUDE.md hierarchy in Module 1 can read the repo's own spec to see the next level of rigor.
Different agents look for different files. The course ships one file per convention, all of which delegate to the spec and to AGENTS.md:
| File | Read by | Purpose |
|---|---|---|
CLAUDE.md |
Claude Code | Canonical for Claude Code; full lesson-ID map, slash commands, model recommendations |
AGENTS.md |
Codex, Aider, Cursor, OpenAI Agents SDK, Continue, Cline, generic | Universal agent-neutral guide; slash commands ↔ natural language |
GEMINI.md |
Gemini CLI | Thin pointer to AGENTS.md plus Gemini model picker notes |
.cursor/rules/ai-native-pm-os.mdc |
Cursor | Auto-loads on project open; points at AGENTS.md |
AIDER.md (not present) |
Aider | Aider falls back to AGENTS.md automatically |
The behavior is identical across all agents. Only the entry point differs. install.sh and setup.sh auto-detect which CLI the student has installed (Claude Code, Codex, Gemini, Aider, or Cursor) and tailor the final-step instructions accordingly.
The full system is documented in the wiki:
- Why a
.speqfile — extended rationale, drift modes, course-specific fit - Multi-agent support — routing diagram, what differs per agent, onboarding new agents
- Architecture overview — layer diagram, flows, file system layout, secrets handling
- How to update the spec — when to bump the spec vs. just edit content; common validation errors
- How to use a different agent — step-by-step setup for Claude Code, Codex, Gemini, Aider, Cursor, custom SDK
- Troubleshooting — symptoms → causes → fixes
- Glossary — every binding term, with the synonyms each replaces
The shorter rationale lives at docs/SPEQ-RATIONALE.md.
Every PR runs .github/workflows/validate.yml which checks:
- Spec validity —
speq check ai-native-pm-os.speqmust pass - Shell script syntax —
bash -noninstall.sh,setup.sh,start-lesson.sh,test-mode.sh,scripts/*.sh - Lesson parity — every lesson ID in
progress.json(when present),CLAUDE.mdmap,AGENTS.mdlesson order, andsetup.shJSON template must match the files actually on disk inmodule-X/ - Markdown links — internal cross-references in
README.md,CLAUDE.md,AGENTS.md,GEMINI.md,docs/, andwiki/must resolve
A weekly cron and manual-trigger workflow vocabulary-drift.yml audits lesson markdown for forbidden synonyms of the canonical vocabulary. Run it on demand with gh workflow run vocabulary-drift.yml.
Paste this into your terminal:
curl -fsSL https://raw.githubusercontent.com/vishalmdi/ai-native-pm-os/main/install.sh | bashThis checks prerequisites, clones the repo into ~/ai-native-pm-os, and runs first-time setup automatically.
git clone https://github.com/vishalmdi/ai-native-pm-os.git
cd ai-native-pm-os
bash setup.shcd ~/ai-native-pm-os # or wherever you installed itThen launch your AI CLI in this directory and trigger lesson 0-1.
Claude Code (recommended):
claudeThen type:
/lesson 0-1
Codex CLI / Gemini CLI / Aider / Cursor / other:
codex # or: gemini, aider, cursor .Then ask in natural language:
load lesson 0-1
The install.sh and setup.sh scripts auto-detect which CLI is on your PATH and tell you the exact command to use. See the wiki page on switching agents for per-tool details.
In a separate terminal window:
python3 course-server.pyThen open http://localhost:4242 in your browser.
| Command | What it does |
|---|---|
/lesson 0-1 |
Load a specific lesson (replace 0-1 with any lesson ID) |
/next |
Continue from where you left off |
/complete |
Mark the current lesson done and update your progress |
/progress |
View a completion table across all 11 modules |
/context-check |
Audit your CLAUDE.md health |
/meridian |
Load the Meridian company context |
- You build, not watch. Every lesson has a hands-on deliverable.
- Real context, not toy examples. Meridian is designed to reflect real B2B PM work.
- Cumulative. Each module's output feeds the next.
- Yours to keep. Every file you create is production-ready for real use.
- Cost-conscious. We teach you to use the right model at the right time.
Each module ends with an optional community challenge:
- Share your output in the course community thread
- Review two peers' CLAUDE.md setups
- Vote on the best research synthesis of the week
AI-Native PM OS — Original curriculum. All company names, data, and scenarios are fictional and created for educational purposes.