/pm-dashboard
Reads all knowledge files and MCP integrations to produce a single-page product status dashboard with OKR progress, sprint status, decisions, blockers, launches, and metrics.
Claude Code
$ npx -y skills add shaan-ad/pm-os --skill pm-dashboard --agent claude-code
Codex
$ npx skills add shaan-ad/pm-os --skill pm-dashboard -a codex -y
Cursor
$ npx skills add shaan-ad/pm-os --skill pm-dashboard -a cursor -y
Gemini CLI
$ npx skills add shaan-ad/pm-os --skill pm-dashboard -a gemini-cli -y
GitHub Copilot
$ npx skills add shaan-ad/pm-os --skill pm-dashboard -a github-copilot -y
OpenCode
$ npx skills add shaan-ad/pm-os --skill pm-dashboard -a opencode -y
Windsurf
$ npx skills add shaan-ad/pm-os --skill pm-dashboard -a windsurf -y
SKILL.md
pm-dashboard.SKILL.mdname: pm-dashboard
description: "Reads all knowledge files and MCP integrations to produce a single-page product status dashboard with OKR progress, sprint status, decisions, blockers, launches, and metrics."
PM Dashboard: Product Status Overview
You produce a single-page status dashboard by reading everything in the `knowledge/` directory and pulling live data from any available MCP integrations.
Before Running
1. Check that `knowledge/` exists. If not, tell the user: "No knowledge base found. Run `/pm-setup` first." 2. Read `knowledge/pm-context.md` to get product context and preferences.
Data Collection
Read all available knowledge files. For each section below, note what data exists and what is missing.
Files to Read
Read these files (skip any that don't exist):
- `knowledge/pm-context.md` : Product context
- `knowledge/okrs.md` : OKR definitions and progress
- `knowledge/team.md` : Team info
- `knowledge/roadmap/*.md` : Roadmap items
- `knowledge/sprints/*.md` : Sprint scoping (look for the most recent)
- `knowledge/decisions/*.md` : Recent decisions (last 5)
- `knowledge/launches/*.md` : Upcoming or recent launches
- `knowledge/metrics/*.md` : Latest metrics snapshots
- `knowledge/feedback/synthesis-*.md` : Latest feedback synthesis
- `knowledge/priorities/*.md` : Current prioritization
- `knowledge/experiments/*.md` : Active experiments
MCP Integrations (Check and Use If Available)
Check if these tools are accessible. Use them if they are, skip gracefully if not.
**Linear / Jira** (project management tools):
- Try to list current sprint tickets, their status, and assignees
- Pull velocity or burndown if available
- Note blocked tickets
**GitHub** (source control):
- Check for open PRs and their review status
- Look for recent deployments or releases
- Note any failing CI checks
**Slack** (communication):
- Look for recent product-related threads or escalations
- Check for unresolved questions in product channels
For each integration that is NOT available, add a small note in the dashboard: "(Live data unavailable, install {tool} MCP for real-time updates)"
Dashboard Output
Present the dashboard in this format:
# Product Dashboard: {product_name}
*Generated: {today's date and time}*
---
## OKR Progress
{For each objective, show the objective and each key result with progress if known}
{If no progress data, show the OKRs and mark "Progress: not yet tracked"}
| Objective | Key Result | Status |
|-----------|-----------|--------|
| {obj} | {kr} | {status or "Not tracked"} |
---
## Sprint Status
{Current sprint name/number if known}
{Ticket counts by status: To Do, In Progress, Done}
{Blocked items highlighted}
{If no sprint data: "No sprint data. Run /sprint-scope to plan your next sprint."}
---
## Recent Decisions
{Last 3-5 decisions with date, title, and outcome}
{If none: "No decisions recorded. Use /decision-record after your next key decision."}
---
## Open Blockers
{Any blocked items from sprint, launches, or decisions}
{If none: "No blockers identified."}
---
## Upcoming Launches
{Next 2-3 launches with target date and readiness status}
{If none: "No launches planned. Use /launch when you're ready."}
---
## Metrics Snapshot
{Latest values for key metrics from pm-context.md}
{Trends if multiple snapshots exist}
{If no data: "No metrics recorded. Use /metrics-check to start tracking."}
---
## Active Experiments
{Any running A/B tests or experiments with status}
{If none: "No active experiments."}
---
## Customer Feedback Themes
{Top 3 themes from latest feedback synthesis}
{If none: "No feedback synthesized. Use /feedback-synthesis to analyze customer feedback."}
---
## What Needs Attention
{Synthesize: what looks off, what's overdue, what's at risk}
{Specific recommendations with skill commands to resolve each}Behavior Notes
- **Be honest about gaps.** If data is missing, say so clearly and point to the skill that fills that gap. Do not fabricate data.
- **Highlight risks.** If an OKR has no progress updates and the quarter is half over, flag it. If a launch date is approaching with no plan, flag it.
- **Keep it scannable.** Use tables, bullet points, and short phrases. This is a dashboard, not a narrative.
- **Date awareness.** Use today's date to calculate time remaining in the quarter, days until launches, sprint progress.
- **Suggest actions.** End each empty section with a specific command the user can run to fill it.
- **Respect preferences.** Use the tone and format preferences from `pm-context.md`.
Read more
name: pm-dashboard description: "Reads all knowledge files and MCP integrations to produce a single-page product status dashboard with OKR progress, sprint status, decisions, blockers, launches, and metrics."
PM Dashboard: Product Status Overview
You produce a single-page status dashboard by reading everything in the `knowledge/` directory and pulling live data from any available MCP integrations.
Before Running
1. Check that `knowledge/` exists. If not, tell the user: "No knowledge base found. Run `/pm-setup` first." 2. Read `knowledge/pm-context.md` to get product context and preferences.
Data Collection
Read all available knowledge files. For each section below, note what data exists and what is missing.
Files to Read
Read these files (skip any that don't exist):
- `knowledge/pm-context.md` : Product context
- `knowledge/okrs.md` : OKR definitions and progress
- `knowledge/team.md` : Team info
- `knowledge/roadmap/*.md` : Roadmap items
- `knowledge/sprints/*.md` : Sprint scoping (look for the most recent)
- `knowledge/decisions/*.md` : Recent decisions (last 5)
- `knowledge/launches/*.md` : Upcoming or recent launches
- `knowledge/metrics/*.md` : Latest metrics snapshots
- `knowledge/feedback/synthesis-*.md` : Latest feedback synthesis
- `knowledge/priorities/*.md` : Current prioritization
- `knowledge/experiments/*.md` : Active experiments
MCP Integrations (Check and Use If Available)
Check if these tools are accessible. Use them if they are, skip gracefully if not.
**Linear / Jira** (project management tools):
- Try to list current sprint tickets, their status, and assignees
- Pull velocity or burndown if available
- Note blocked tickets
**GitHub** (source control):
- Check for open PRs and their review status
- Look for recent deployments or releases
- Note any failing CI checks
**Slack** (communication):
- Look for recent product-related threads or escalations
- Check for unresolved questions in product channels
For each integration that is NOT available, add a small note in the dashboard: "(Live data unavailable, install {tool} MCP for real-time updates)"
Dashboard Output
Present the dashboard in this format:
# Product Dashboard: {product_name}
*Generated: {today's date and time}*
---
## OKR Progress
{For each objective, show the objective and each key result with progress if known}
{If no progress data, show the OKRs and mark "Progress: not yet tracked"}
| Objective | Key Result | Status |
|-----------|-----------|--------|
| {obj} | {kr} | {status or "Not tracked"} |
---
## Sprint Status
{Current sprint name/number if known}
{Ticket counts by status: To Do, In Progress, Done}
{Blocked items highlighted}
{If no sprint data: "No sprint data. Run /sprint-scope to plan your next sprint."}
---
## Recent Decisions
{Last 3-5 decisions with date, title, and outcome}
{If none: "No decisions recorded. Use /decision-record after your next key decision."}
---
## Open Blockers
{Any blocked items from sprint, launches, or decisions}
{If none: "No blockers identified."}
---
## Upcoming Launches
{Next 2-3 launches with target date and readiness status}
{If none: "No launches planned. Use /launch when you're ready."}
---
## Metrics Snapshot
{Latest values for key metrics from pm-context.md}
{Trends if multiple snapshots exist}
{If no data: "No metrics recorded. Use /metrics-check to start tracking."}
---
## Active Experiments
{Any running A/B tests or experiments with status}
{If none: "No active experiments."}
---
## Customer Feedback Themes
{Top 3 themes from latest feedback synthesis}
{If none: "No feedback synthesized. Use /feedback-synthesis to analyze customer feedback."}
---
## What Needs Attention
{Synthesize: what looks off, what's overdue, what's at risk}
{Specific recommendations with skill commands to resolve each}Behavior Notes
- **Be honest about gaps.** If data is missing, say so clearly and point to the skill that fills that gap. Do not fabricate data.
- **Highlight risks.** If an OKR has no progress updates and the quarter is half over, flag it. If a launch date is approaching with no plan, flag it.
- **Keep it scannable.** Use tables, bullet points, and short phrases. This is a dashboard, not a narrative.
- **Date awareness.** Use today's date to calculate time remaining in the quarter, days until launches, sprint progress.
- **Suggest actions.** End each empty section with a specific command the user can run to fill it.
- **Respect preferences.** Use the tone and format preferences from `pm-context.md`.
A Claude Code plugin that turns your terminal into a complete product management operating system. 27 AI-powered skills covering every PM workflow: from writing PRDs to building slide decks, from competitive research to quarterly planning. No empty templates.
Other skills on pm-os.
More skills from other plugins.
i-have-adhd
Shape output for a reader with ADHD: lead with the next action, number multi-step work, restate state across turns, suppress…
distilly
Set up the owner profile so a personal agent knows who it works for (first-run setup, \"get to know me\"), or distill colleague,…
Questions about pm-dashboard.
- Which coding agents can use pm-dashboard?
- pm-dashboard installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

