Skip to content

VisNavyVet/PRODMAN

Repository files navigation

ProdMan

License: MIT AI Agnostic Works with Claude Code Works with Cursor Version npm @prodman/cli VS Code Extension

An open-source PM framework for teams building with AI agents. Structured thinking. Persistent product memory. Agent-ready output β€” from signal to ship.

β†’ Visual walkthrough β€” user journey, pain points, LLM vs ProdMan, agentic benefits.


The Problem

You're building with AI agents. Your workflow looks like this:

You re-explain your product to the AI. Every. Single. Session. You paste a PRD into Claude Code and hope the agent figures out scope. You write specs in Notion, tickets in Linear, briefs for engineers, 1-pagers for execs β€” all manually, all for the same feature. Retro learnings go into a doc nobody reads again. The next feature starts as cold as the first one.

The problem isn't AI capability. It's that nothing connects.

ProdMan connects it.


How It Works

ProdMan is two things working together: 12 AI command prompts for the PM workflow, and a CLI + compiler that validates specs and turns them into machine-readable contracts.

/pm-import          ← Run once. Generates your persistent product memory.
     ↓
/pm-signal          ← Drop a raw signal. AI asks before it prescribes.
/pm-frame           ← 2–3 distinct problem framings to react against.
/pm-explore         ← 6-dimension deep-dive, one question at a time.
/pm-commit          ← Lock direction. Writes commitment.md to disk.
     ↓
/pm-ff              ← Full spec bundle in one shot. Agent brief is primary output.
     ↓
prodman validate    ← 12 lint rules catch vague AC, missing escalation triggers, unfilled tech context, etc.
prodman compile     ← Compiles agent-brief.md β†’ compiled-spec.json (machine-readable)
     ↓
/pm-handoff         ← engineer / designer / exec / tickets β€” each gets their view.
     ↓
/pm-ship            ← Launch checklist + comms plan.
/pm-retro           ← Retrospective β†’ auto-updates history.md β†’ next feature smarter.
     ↑_______________________________________________|

prodman-context/ is your persistent product brain. Every command loads it automatically. The more features you ship, the smarter it gets.


Quick Start

No prerequisites. Clone and go. Claude Code gives you native slash commands β€” but any AI tool works.

git clone https://github.com/VisNavyVet/PRODMAN.git
cd PRODMAN

Which path is right for you?

Situation Start here
Starting a new feature from scratch Step 1 β†’ Zone 1 below
Already have a PRD, ticket, or existing spec /pm-agent-brief β€” skip to an agent-ready brief in minutes
Want to validate assumptions before speccing /pm-research

Step 1 β€” Bootstrap your product context (once)

/pm-import

ProdMan asks 5 targeted questions. Have existing docs? Paste them to skip ahead.

prodman-context/
β”œβ”€β”€ product.md       ← what your product is
β”œβ”€β”€ users.md         ← who your users are (specific segments, not "users")
β”œβ”€β”€ constraints.md   ← tech, legal, org constraints
└── history.md       ← decisions + retro learnings β€” grows automatically

Step 2 β€” Run your first signal

/pm-signal Customer support is seeing a spike in "can't find past orders" tickets

ProdMan won't write a spec. It'll ask you one question first. When the dialogue is complete, it'll ask for a working feature name and write features/[name]/signal.md β€” so your thinking persists even if you close the session.

In any other AI tool: Open prodman/commands/pm-signal.md, paste it into your chat, then add your signal.


Fast Path β€” Existing Docs

Already have a PRD, Jira ticket, Notion doc, or rough spec? Skip Zone 1 entirely.

/pm-agent-brief [feature-name]

Paste your existing docs when prompted. ProdMan generates a validated, agent-ready agent-brief.md directly. Use this when:

  • You have docs from outside ProdMan and need an agent brief fast
  • You've updated handoff-eng.md with new technical decisions and need to regenerate the brief

VS Code Extension

@prodman/vscode brings the ProdMan spec quality loop directly into your editor. No command palette hunting. No context switching. The tight loop β€” open brief β†’ lint guides β†’ quick fix repairs β†’ run β†’ preview β†’ clipboard β€” happens inline.

Feature What it does
Spec Linter Ambient inline diagnostics on agent-brief.md as you type β€” powered by all 12 @prodman/core rules
Readiness Bar Status bar shows PRODMAN βœ“ Agent Ready β€” 12/12 rules passing at all times
Agent Brief Launcher Lint β†’ compile β†’ assemble payload β†’ copy to clipboard in one click
CodeLens Actions β–Ά Run with PRODMAN | Validate Spec | Preview Spec.json inline at the top of every brief
Quick Fixes Click a lint error β†’ section template inserted automatically
Init Wizard Detects missing workspace context on startup, generates prodman-context/ with a prompt; auto-fills stack from codebase
Spec Preview Read-only webview of the compiled spec.json with syntax highlighting and Copy JSON button
Context Health Sidebar panel showing health of all prodman-context/ files; flags stack drift when constraints.md is out of sync with detected tech stack
Signal Inbox Sidebar panel showing captured signals from prodman-context/signals.md, most recent first
Feature Pipeline Sidebar dashboard showing all features, their zone, and agent-brief.md readiness at a glance

Extension activates when your workspace contains:

  • CLAUDE.md
  • prodman-context/product.md
  • features/**/agent-brief.md

Install:

# From Marketplace: search "ProdMan" in VS Code Extensions
# From source:
cd packages/vscode
npm install && npm run build
# Extensions β†’ Install from VSIX

CLI β€” Validate and Compile Specs

ProdMan ships a CLI (@prodman/cli) that validates specs against 12 lint rules and compiles them to machine-readable JSON contracts. Use it locally or in CI.

npm install -g @prodman/cli

Validate a spec (shows readiness + all issues):

prodman validate checkout-v2
# βœ— [LNT-011] Missing escalation triggers β€” agent will make unauthorized decisions
# ⚠ [LNT-009] Vague AC: "works correctly"
# Status: βœ— Incomplete (1 error, 1 warning)

# After fixing:
prodman validate checkout-v2
# βœ“ Agent Ready

Validate all features:

prodman validate --all

Compile to machine-readable spec.json:

prodman compile checkout-v2
# β†’ features/checkout-v2/compiled-spec.json (v1)

See all features and their status:

prodman status
# Feature               Zone  Files  Readiness       Last Updated
# checkout-v2           2     5/6    βœ“ Agent Ready   1 day ago
# notification-center   1     1/6    βœ— Incomplete    14 days ago

Add to CI β€” block merges on incomplete specs:

# .github/workflows/spec-check.yml
- uses: VisNavyVet/PRODMAN/actions/validate@v0.1.0
  with:
    fail-on: incomplete          # or: review-needed
    features-dir: features       # default

Output: readiness output variable (agent-ready | review-needed | incomplete). Exit 1 on threshold breach. Prints full diagnostics in CI log.

The core library (@prodman/core) is zero-dependency and importable directly in any Node.js project:

import { Linter, Compiler } from '@prodman/core'

const linter = new Linter()
const result = linter.lintFile('features/checkout-v2/agent-brief.md')
console.log(result.readiness) // 'agent-ready' | 'review-needed' | 'incomplete'

Pain Points β€” What ProdMan Fixes at Each Step

Stage Without ProdMan With ProdMan
Every session Re-explain product, users, constraints from scratch prodman-context/ loads automatically β€” AI knows your product before you type
Signal intake Describe a problem β†’ AI immediately writes a solution Reflects back first, asks ONE question, separates symptom from root cause
Problem framing Stuck in your own framing, LLM validates whatever angle you bring 2–3 distinct root hypotheses β€” at least one challenges the obvious read
Exploration Surface-level answers, misses who's affected and what's been tried 6-dimension structured exploration with periodic synthesis
Direction Fuzzy scope, PM and team have different mental models Falsifiable problem statement, explicit "NOT solving for," written out-of-scope
Spec writing Manual, inconsistent, every PM does it differently 5-file bundle in one shot β€” agent brief as primary output
Agent handoff PRD dump β€” agent guesses scope, overengineers, can't self-verify Bounded, testable, explicit must-NOT-do list, escalation triggers
Audience output Same doc for engineers, designers, execs β€” PM rewrites manually One spec β†’ 5 audience-ready views on demand
Team memory Learnings die when the tab closes /pm-retro auto-appends to history.md β€” every future session starts warm

Direct LLM vs ProdMan

Same AI. Radically different outcomes. The gap is structure, memory, and what happens before the AI speaks.

Direct LLM ProdMan
Product context βœ— Re-explained every session βœ“ Auto-loaded from prodman-context/
Starting point βœ— Cold start every feature βœ“ Warm β€” history of decisions loaded
Problem framing βœ— Validates your framing βœ“ Generates alternatives, challenges assumptions
Dialogue style βœ— Answers immediately βœ“ Questions before prescribing
Spec quality βœ— Format varies by session βœ“ Consistent 5-file bundle every time
Agent handoff βœ— PRD dump β€” agent guesses βœ“ Bounded brief with explicit scope + escalation triggers
Audience output βœ— One doc, manual reformatting βœ“ 5 audience-ready views from one source
Team memory βœ— Dies when the tab closes βœ“ Grows with every retro
Learning loop βœ— None βœ“ Retro β†’ history.md β†’ next feature
Scope governance βœ— Agent interprets intent βœ“ Explicit in/out scope + must NOT do

Agentic Benefits

ProdMan is agent-first. The primary output of /pm-ff is not a human archive β€” it's a structured context package for an AI coding agent about to build.

The agent-brief.md is built on 6 principles:

Principle What it means for the agent
Bounded Exact start/stop points. Agent knows what to build and what to leave alone.
Testable Acceptance criteria are observable and verifiable. Agent can self-check before delivering.
Contextual Product + technical context embedded. Agent builds for the right user with the right constraints.
Explicit "Must NOT Do" Stop list prevents overengineering and unauthorized scope expansion.
Clear escalation Agent knows exactly when to stop and ask vs. when to proceed. No silent failures.
Reproducible Any agent, any session, any model β€” picks up the same brief and produces consistent output.

Agent brief fields:

task_summary          ← 1–3 sentences. Agent knows the job before reading anything else.
product_context       ← Who it's for and why. Agent builds for the right user.
technical_context     ← Stack, patterns, constraints. Agent doesn't contradict your architecture.
in_scope              ← Hard list. Build exactly this.
out_of_scope          ← Hard list. Touch none of this.
anti_requirements     ← Explicit stop list. Prevents scope creep and overengineering.
acceptance_criteria   ← Observable, verifiable. Agent self-checks before delivering.
edge_cases            ← Pre-enumerated. Agent handles them consistently, not by guessing.
constraints           ← Style, perf, accessibility, security. Non-negotiable requirements.
definition_of_done    ← Agent knows when to stop, not just when to ship.
escalation_triggers   ← Stop and ask if: [explicit conditions]. No silent failures.

These 11 fields map directly to compiled-spec.json β€” the machine-readable contract produced by prodman compile. See specs/prodman-spec-v1.md for the full spec standard and schemas/compiled-spec-schema.json for the JSON schema.


Command Reference

Utility

Command What it does
/pm-import 5-question interview β†’ generates prodman-context/. Run once per product. Paste existing docs to skip ahead.
/pm-attach Load a file (image, PDF, spreadsheet) into context. Usable at any zone. Surfaces relevant signals, not just summaries.

Zone 1 β€” Materialization

Turn raw signals into committed, falsifiable direction. AI questions before it prescribes.

Command What it does
/pm-signal Capture any signal β€” complaint, metric, idea. Socratic dialogue, one question at a time.
/pm-frame Generate 2–3 distinct problem framings with different root hypotheses. React and choose.
/pm-explore Deep-dive the chosen framing across 6 dimensions. Synthesizes after each answer.
/pm-commit Lock direction. Writes features/[name]/commitment.md so /pm-ff works across sessions.

Zone 2 β€” Planning

One command. Five files. Agent brief is always the primary output.

Command What it does
/pm-ff [name] Generates agent-brief.md + brief.md + prd.md + approach.md + plan.md. Loads commitment.md automatically. Prompts for audience views inline.

Zone 3 β€” Research

Validate before or alongside spec work.

Command What it does
/pm-research interview User interview guide β€” screener, core questions, probes
/pm-research competitive Competitive benchmarking matrix β€” structured around your positioning
/pm-research prioritize RICE scoring table β€” pre-filled with your candidates
/pm-research survey Validation survey β€” built to test your specific hypothesis

Zone 4 β€” Handover

One spec. Five audience-ready views. Generate any on demand.

Command Output For
/pm-handoff engineer handoff-eng.md User stories, AC, edge cases, DoD β€” kickoff-ready
/pm-handoff designer handoff-design.md JTBD, current→target journey, UX constraints
/pm-handoff stakeholder stakeholder-brief.md Exec 1-pager β€” outcome-first, no implementation detail
/pm-handoff tickets tickets.md FEAT + STORY tickets β€” paste into Linear or Jira
/pm-agent-brief agent-brief.md Standalone brief β€” for existing docs or brief regeneration

Zone 5 β€” Ship & Learn

Launch coordination and living product memory.

Command What it does
/pm-ship Pre/launch/post checklists + communication plan + rollout phases
/pm-retro Retrospective β†’ auto-appends learning block to history.md β†’ loads before every future command

Output Files

prodman-context/              ← persistent memory, loads before every command
β”œβ”€β”€ product.md                ← what your product is
β”œβ”€β”€ users.md                  ← user segments and personas
β”œβ”€β”€ constraints.md            ← tech, legal, org constraints
└── history.md                ← decisions + retro learnings β€” auto-grows via /pm-retro

features/[feature-name]/      ← generated per feature
β”œβ”€β”€ signal.md                 ← Zone 1: raw signal + clarifications (written by /pm-signal)
β”œβ”€β”€ framing.md                ← Zone 1: chosen problem framing (written by /pm-frame)
β”œβ”€β”€ exploration.md            ← Zone 1: 6-dimension exploration (written by /pm-explore)
β”œβ”€β”€ commitment.md             ← direction lock (written by /pm-commit)
β”œβ”€β”€ agent-brief.md β˜…          ← primary output β€” for AI coding agents
β”œβ”€β”€ brief.md                  ← 1-page PM summary
β”œβ”€β”€ prd.md                    ← full requirements (P0/P1/P2)
β”œβ”€β”€ approach.md               ← decision rationale, options considered
β”œβ”€β”€ plan.md                   ← milestones, work breakdown, risks
β”œβ”€β”€ compiled-spec.json β—†      ← machine-readable contract (written by prodman compile)
β”œβ”€β”€ handoff-eng.md            ← engineering kickoff package
β”œβ”€β”€ handoff-design.md         ← design brief
β”œβ”€β”€ stakeholder-brief.md      ← exec 1-pager
β”œβ”€β”€ tickets.md                ← Linear / Jira tickets
β”œβ”€β”€ handoff-response.md       ← eng/design feedback β€” /pm-ff reads this on regen
└── retro.md                  ← retrospective

Team Setup

prodman-context/ is plain Markdown committed to your repo. Every command loads it automatically. Sharing it across your team is git β€” nothing else needed.

Option A β€” Shared repo (recommended for product teams)

Check prodman-context/ into your product repo. Everyone on the team gets the same product memory:

# In your product repo
git add prodman-context/
git commit -m "Add ProdMan product context"

Each PM works in their own branch; context updates (from /pm-retro or manual edits) are merged via PR like any other doc change.

Option B β€” Dedicated context repo

For orgs with multiple products or strict access controls, create a shared [product]-context repo containing only prodman-context/. Reference it in each product's CLAUDE.md:

Context lives at: ../[product]-context/prodman-context/

Handoff response loop

When engineering or design receives a handoff doc (handoff-eng.md, handoff-design.md), they fill in features/[name]/handoff-response.md to log blockers, scope changes, answered questions, and technical discoveries. When the PM re-runs /pm-ff [name], those responses are automatically incorporated into the spec bundle.

PM writes spec β†’ /pm-ff β†’  handoff-eng.md  β†’ Eng reviews
                                                    ↓
PM re-runs /pm-ff ← handoff-response.md ← Eng fills in

Use the template at templates/features/handoff-response.md.


Philosophy

  1. Materialize clarity before documentation β€” Don't write specs for fuzzy problems.
  2. Questioning precedes answering β€” One focused question at a time. Socratic before prescriptive.
  3. Present options, not prescriptions β€” Framings and directions are offered, not imposed.
  4. Context-first β€” Product memory loads before every response. The AI knows your product.
  5. Immediately actionable output β€” Every deliverable is ready to use, not just readable.
  6. Agent-first β€” The primary output of /pm-ff is not a human archive β€” it's a structured context package for an AI agent that is about to build.
  7. AI-agnostic β€” Plain Markdown. Works in Claude, GPT, Gemini, Cursor, or any interface.

Roadmap

Version Focus Status
v0 Core commands, templates, schemas, integration guides βœ“ Done
v0.1 Living memory, agent-first output, ticket export, audience lenses, cross-session continuity βœ“ Done
v0.1.0 (Drop 1) @prodman/core + @prodman/cli + GitHub Action + 12 lint rules + spec compiler βœ“ Done
v0.2 (Drop 2) @prodman/vscode β€” spec linter, readiness bar, agent brief launcher, CodeLens actions, quick fixes, init wizard, spec preview βœ“ Done
v0.3 VS Code sidebar β€” context health + drift detection, signal inbox, pipeline dashboard Β· LNT-012 Β· Marketplace packaging βœ“ Done
v0.4 MCP integration β€” zero-friction agent handoff from Claude Code Planned
v0.5 Live integrations β€” Linear/Jira push, team context sharing Planned

Integration Guides


Contributing

Contributions are welcome. The bar: does this make ProdMan more useful for an AI-native PM?

  • New commands β€” follow the structure in prodman/commands/. One command, one job.
  • Template improvements β€” output templates live in templates/features/.
  • Integration guides β€” new AI tools or IDE setups go in integrations/.
  • Bug reports β€” open an issue with the command name and what went wrong.

See CONTRIBUTING.md for full guidelines.


License

MIT


If ProdMan is useful to you, a ⭐ on GitHub helps others find it.

About

PM framework for teams building with AI agents. Persistent product memory, agent-ready specs, and zero cold starts - from signal to ship.πŸš€

Topics

Resources

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors