oh-my-pm
v3.0.0
Published
OpenCode Product Management agent team for PRD, TRD, flows, DB design, and execution DAG manifests.
Maintainers
Readme
Oh My PM
Oh My PM installs a Product Management agent team inside a project. The team produces PRD, TRD, UX flows, database design, execution planning, and an interoperable contract named .pm/pm_manifest.json.
The package is designed for bunx oh-my-pm usage and can generate platform-specific outputs for OpenCode, Claude Code, OpenAI Agents SDK, and generic Markdown-based LLM workflows.
What Oh My PM provides
- A project-level OpenCode runtime plugin that registers five PM agents through
config.agent. - OpenCode
SKILL.mdfiles for agent-level routing, project memory, andoh-my-pmconfiguration help. oh-my-pm.jsonmodel presets, matching the same pattern used byoh-my-opencode-slim.json.- Claude Code instructions in
CLAUDE.md. - OpenAI Agents SDK definitions in
agents.py. - Generic Markdown instructions for any LLM.
- A manifest schema and lifecycle for PM-to-Dev handoff.
Principles
- Lane specialization: every agent owns a strict domain and JC delegates with complete context.
- Verification before completion: no agent reports completion without concrete evidence.
- Contract-based communication: Oh My PM and Dev-Harness communicate only through
.pm/pm_manifest.json. - Full context on delegation: every handoff includes paths, decisions, constraints, and exit criteria.
- Technical honesty: ambiguity and contradiction become blockers instead of guesses.
Agent team
| Agent | Role | Artifacts |
| --- | --- | --- |
| JC | Discovery and approval orchestrator | .pm/pm_manifest.json, routing, approval notes |
| Hammurabi | PRD and product rules | docs/prd.md |
| DaVinci | UX, UI flows, and Mermaid | docs/flows/*.md |
| Ada | TRD, API, data, and schemas | docs/trd.md, docs/db-schema.md |
| SunTzu | Execution DAG and Dev-Harness handoff | docs/execution-plan.md, final manifest |
Quick start
bunx oh-my-pm init
bunx oh-my-pm install
bunx oh-my-pm validateinstall writes:
opencode.jsonc
AGENTS.md
.opencode/skills/jc/SKILL.md
.opencode/skills/hammurabi/SKILL.md
.opencode/skills/davinci/SKILL.md
.opencode/skills/ada/SKILL.md
.opencode/skills/suntzu/SKILL.md
.opencode/skills/oh-my-pm/SKILL.md
oh-my-pm.json
.pm/pm_manifest.json
.pm/schemas/pm-manifest-schema.jsonThe generated opencode.jsonc loads the runtime plugin:
{
"plugin": ["oh-my-pm@latest"],
"agent": {
"jc": { "model": "openai/gpt-5.4-ultra", "mode": "all" }
}
}Global OpenCode install
To install Oh My PM into the same global OpenCode location used by oh-my-opencode-slim, run:
bunx oh-my-pm install --globalThis writes non-destructively to ~/.config/opencode/:
opencode.jsonc # merged with "oh-my-pm@latest"
oh-my-pm.json # model presets
skills/oh-my-pm/SKILL.md # configuration skill
skills/jc/SKILL.md
skills/hammurabi/SKILL.md
skills/davinci/SKILL.md
skills/ada/SKILL.md
skills/suntzu/SKILL.mdExisting files are backed up with .oh-my-pm.backup before replacement or merge.
Optional platform outputs
bunx oh-my-pm install --opencode
bunx oh-my-pm install --claude
bunx oh-my-pm install --openai
bunx oh-my-pm install --generic
bunx oh-my-pm install --allGenerate templates without installing them:
bunx oh-my-pm generate opencode
bunx oh-my-pm generate claude
bunx oh-my-pm generate openai
bunx oh-my-pm generate genericOperational flow
- The user describes a product idea.
- JC runs discovery and separates work by lane.
- Hammurabi writes and validates the PRD.
- DaVinci writes Mermaid flows and validates references.
- Ada writes TRD, API, and database design.
- SunTzu builds the execution DAG and updates the manifest.
- JC validates the contract and asks for approval.
- Dev-Harness consumes
.pm/pm_manifest.jsonand writes blockers back into that file.
Dev-Harness contract
The manifest is the sole source of truth between PM and implementation. If Dev-Harness cannot execute a task, it writes a blocker under feedback_channel.blockers. Oh My PM resolves the blocker by updating decisions, verification criteria, or DAG dependencies.
See docs/dev-harness-bridge.md for details.
