Personal Project

PM Operating System

A context-engineered AI copilot that actually knows my company, my stakeholders, and my work.

The problem

Most PMs use AI the same way they use Google: one-off questions, zero context. The output is generic, the loop never compounds, and every new document starts from scratch.

The thesis

Context engineering over prompt engineering. A good prompt is table stakes. What produces senior-PM-quality work is a persistent layer of company context, writing style, stakeholder preferences, past decisions, and live analytics — all readable by the model on every call.

The system

Three layers on top of Claude Code: (1) a Context Library of company info, writing styles, stakeholder profiles, PRDs, strategy, research, decisions, meetings, and metrics — referenced automatically on every interaction; (2) 41 Skills covering the full PM loop — strategy, research, PRDs, metrics, meetings, launches, retros — each auto-routing to related context and chaining into the next; (3) 7 Sub-Agents (engineer, designer, executive, legal, UXR, skeptic, customer voice) that critique work in parallel before it ships. Optional MCP connectors for Amplitude, Linear, Dovetail, and other tools route natural-language questions to live data, not stale exports.

Every output sounds like it came from someone who works here,
because the system reads the files that say so.

What it produces

PRDs drafted against my real strategy. Meeting notes with timeline conflict detection against committed launch dates. Stakeholder comms that match each exec's documented preferences. Post-launch retros that feed calibration data back into the next impact-sizing cycle. A self-updating learning log that captures writing-style corrections, stakeholder patterns, and estimate-vs-actual accuracy.

Outcomes

PRDs drafted in a fraction of the time, against real strategy. Meeting notes same-day instead of batched at end-of-week. Stakeholder updates that arrive earlier and read like they came from someone who knows the room. Decisions captured with rationale as they happen.

Three layers. One orchestrator. A compounding loop.

Claude Code reads across all three layers on every invocation. The Context Library grounds output in real work; Skills route to relevant context automatically; Sub-Agents critique in parallel when depth is needed. Finalized work writes back to the Context Library — so the system tomorrow knows what happened today.

Claude Code

Reads across all layers on every invocation

Context Library

  • Company strategy & positioning
  • Stakeholder profiles & preferences
  • PRDs & active decisions
  • Meeting notes & action items
  • Writing style guide
  • Estimate-vs-actual log
  • Live metrics via MCPs

41 Skills

  • /daily-plan
  • /meeting-notes
  • /prd-draft
  • /prd-review-panel
  • /impact-sizing
  • /status-update
  • /slack-message
  • + 34 more

7 Sub-Agents

  • Engineer
  • Designer
  • Executive
  • Legal
  • UX Researcher
  • Skeptic
  • Customer Voice
  • Run in parallel on review
Input → output loop: input flows through Context Library → Skills → Sub-Agents → output. Finalized work feeds back to the Context Library — every output makes the next one better.
MCP connectors (optional): Amplitude, Linear, Dovetail, Slack, and Figma. Natural-language queries route to live data. The system works without them — but deeper with them.

Each skill feeds the next.

The system at 6pm knows more than at 9am. Every output becomes context for what follows. Tomorrow starts where today ended.

9 am

/daily-plan

Start of day

Pulls calendar, active PRDs, open action items, and live analytics → prioritized plan for the day

10 am

/meeting-notes

Customer interview

Structured notes, decisions, action items, and verbatim quotes — written back to the Context Library

customer quote now available to all future skills

11 am

/prd-draft

Feature scoping

The morning's customer quote appears automatically as supporting evidence — the skill reads the meeting notes without being told to

1 pm

/meeting-notes

Stakeholder review

Flags a timeline conflict: stakeholder said "three weeks" — system finds a committed launch date in a PRD that contradicts it

conflict surfaced before it becomes a problem

2 pm

/impact-sizing

New request arrives

References past estimate-vs-actual accuracy from the learning log — confidence intervals calibrated to my actual track record

3 pm

/prd-review-panel

Draft review

Fires 7 sub-agents simultaneously — engineer, designer, executive, legal, UXR, skeptic, customer voice

all seven run in parallel, not in sequence

5 pm

/status-update  ·  /slack-message

End of day

Status update pulls from the full day's context — decisions, blockers, progress. Slack drafts tone-matched per stakeholder from their documented preferences.

all outputs written back → tomorrow starts here

This is what daily PM work looks like when you stop treating AI as a chatbot and start treating it as a system you design. Ships faster, aligns stakeholders earlier, compounds learning across quarters.

It's also evidence of how I'd approach building internal tooling for a product team: context first, workflow second, model last.

The IP walks with me. The system is replicable. The judgment — which context to maintain, which skills to chain, when to override the model, how to interpret what comes back — is not. That's what I'd bring on day one.