Awesome-claude product-review

Product review from a PM perspective. Uses multi-agent pipeline to analyze any project/codebase for product discovery, goal alignment, UX/DX audit, competitive analysis, and roadmap planning.

install
source · Clone the upstream repo
git clone https://github.com/tsaol/awesome-claude
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/tsaol/awesome-claude "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/product-review" ~/.claude/skills/tsaol-awesome-claude-product-review && rm -rf "$T"
manifest: skills/product-review/SKILL.md
source content

Product Review - 多 Agent 产品经理评审

以产品经理视角全面评审任意项目/代码库,输出结构化评审报告和改进路线图。

Usage

/product-review <project_path> [options]

Options:

OptionDescriptionDefault
--quick
Quick mode (skip competitive analysis, simplified roadmap)false
--focus=<area>
Focus area: ux / dx / growth / techall
--lang=<zh|en>
Output languagezh

Examples:

/product-review .
/product-review ~/codes/my-project
/product-review . --quick
/product-review . --focus=ux --lang=en
/product-review ~/codes/my-project --quick --focus=dx

Output Structure

All outputs are generated in the target project's root directory:

.product-review/
├── raw/snapshot.md                   # Phase 0: project snapshot
├── analysis/
│   ├── discovery.md                  # Agent 1 output
│   ├── goal-alignment.md             # Agent 2 output
│   ├── ux-dx-audit.md                # Agent 3 output
│   └── competitive-analysis.md       # Agent 4 output (Full mode only)
├── output/
│   └── pm-review.md                  # Final review report
└── process/
    └── pipeline.log                  # Execution log

Pipeline

Full Mode (5 Agents)

Phase 0: Project Snapshot (bash, no LLM)
    ↓ raw/snapshot.md
Agent 1: pr-discovery (Product Discovery)
    ↓ analysis/discovery.md
Agent 2: pr-goal-alignment  ←──┐ Parallel
Agent 3: pr-ux-dx-audit     ←──┘
    ↓ analysis/goal-alignment.md + analysis/ux-dx-audit.md
Agent 4: pr-competitive-analysis
    ↓ analysis/competitive-analysis.md
Agent 5: pr-roadmap-planner (Synthesize all)
    ↓ output/pm-review.md

Quick Mode (3 Agents, skip Agent 4)

Phase 0 → Agent 1 → Agent 2 + Agent 3 (parallel) → Agent 5

Execution Steps

Step 0: Setup

PROJECT_PATH="<user_provided_path>"
cd "$PROJECT_PATH"
mkdir -p .product-review/{raw,analysis,output,process}

Step 1: Phase 0 - Project Snapshot

Non-LLM step. Collect project metadata using bash commands and write to

.product-review/raw/snapshot.md
.

Collect the following:

# 1. README content
cat README.md 2>/dev/null || echo "No README.md found"

# 2. Directory structure (2 levels deep)
find . -maxdepth 2 -not -path '*/\.*' -not -path '*/node_modules/*' -not -path '*/vendor/*' -not -path '*/__pycache__/*' -not -path '*/dist/*' -not -path '*/build/*' | head -100

# 3. Config files
for f in package.json pyproject.toml Cargo.toml go.mod composer.json Gemfile pom.xml build.gradle; do
  [ -f "$f" ] && echo "=== $f ===" && cat "$f"
done

# 4. Git log (last 20 commits)
git log --oneline -20 2>/dev/null || echo "Not a git repo"

# 5. GitHub stats (if remote exists)
REMOTE=$(git remote get-url origin 2>/dev/null)
if [ -n "$REMOTE" ]; then
  REPO=$(echo "$REMOTE" | sed 's/.*github.com[:/]\(.*\)\.git/\1/' | sed 's/.*github.com[:/]\(.*\)/\1/')
  gh api "repos/$REPO" --jq '{stars: .stargazers_count, forks: .forks_count, open_issues: .open_issues_count, language: .language, license: .license.spdx_id, created: .created_at, updated: .pushed_at}' 2>/dev/null
  gh api "repos/$REPO/pulls?state=open&per_page=1" --jq 'length' 2>/dev/null
fi

# 6. File type statistics
find . -type f -not -path '*/\.*' -not -path '*/node_modules/*' -not -path '*/vendor/*' | sed 's/.*\.//' | sort | uniq -c | sort -rn | head -20

Write to

.product-review/raw/snapshot.md
:

# Project Snapshot: {project_name}

> Generated: {timestamp}

## README
{readme_content}

## Directory Structure
{tree_output}

## Config Files
{config_content}

## Git History (Last 20 Commits)
{git_log}

## GitHub Stats
{github_stats}

## File Type Statistics
{file_stats}

Log:

[HH:MM] phase-0    | ✓ snapshot collected | → raw/snapshot.md

Step 2: Agent 1 - Product Discovery

Run the

pr-discovery
agent.

Input: Read

.product-review/raw/snapshot.md
Output: Agent writes to
.product-review/analysis/discovery.md

[HH:MM] pr-discovery | ▶ started | raw/snapshot.md → analysis/discovery.md
[HH:MM] pr-discovery | ✓ done    | analysis/discovery.md

Step 3: Agent 2 + Agent 3 (Parallel)

Run

pr-goal-alignment
and
pr-ux-dx-audit
in parallel using two Task tool calls in a single message.

Agent 2 Input:

.product-review/raw/snapshot.md
+
.product-review/analysis/discovery.md
Agent 2 Output:
.product-review/analysis/goal-alignment.md

Agent 3 Input:

.product-review/raw/snapshot.md
+
.product-review/analysis/discovery.md
Agent 3 Output:
.product-review/analysis/ux-dx-audit.md

[HH:MM] pr-goal-alignment | ▶ started | snapshot.md + discovery.md → goal-alignment.md
[HH:MM] pr-ux-dx-audit    | ▶ started | snapshot.md + discovery.md → ux-dx-audit.md
[HH:MM] pr-goal-alignment | ✓ done    | analysis/goal-alignment.md
[HH:MM] pr-ux-dx-audit    | ✓ done    | analysis/ux-dx-audit.md

Step 4: Agent 4 - Competitive Analysis (Full Mode Only)

Skip this step if

--quick
is set.

Run the

pr-competitive-analysis
agent.

Input:

.product-review/raw/snapshot.md
+
.product-review/analysis/discovery.md
Output:
.product-review/analysis/competitive-analysis.md

[HH:MM] pr-competitive-analysis | ▶ started | snapshot.md + discovery.md → competitive-analysis.md
[HH:MM] pr-competitive-analysis | ✓ done    | analysis/competitive-analysis.md

Step 5: Agent 5 - Roadmap Planner (Final Report)

Run the

pr-roadmap-planner
agent.

Input: All files in

.product-review/analysis/
+
.product-review/raw/snapshot.md
Output:
.product-review/output/pm-review.md

[HH:MM] pr-roadmap-planner | ▶ started | analysis/*.md → output/pm-review.md
[HH:MM] pr-roadmap-planner | ✓ done    | output/pm-review.md

Step 6: Summary

After all agents complete, print:

✅ Product review complete!

📄 Report: .product-review/output/pm-review.md
📊 Analysis files: .product-review/analysis/
📋 Log: .product-review/process/pipeline.log

Focus Mode Behavior

When

--focus=<area>
is set, agents should weight their analysis accordingly:

FocusAgent Emphasis
ux
Agent 3 deep-dives into user experience, UI flows, error messages
dx
Agent 3 deep-dives into developer experience, API design, docs, SDK
growth
Agent 1 emphasizes growth potential, Agent 4 emphasizes market opportunity
tech
Agent 2 emphasizes technical implementation quality, architecture

Pass the focus area to each agent via a note at the top of the snapshot:

> **Review Focus:** {focus_area}

Language Behavior

When

--lang=en
is set, all agents output in English. Default is Chinese (zh).

Pass the language preference to each agent via a note at the top of the snapshot:

> **Output Language:** {zh|en}

Log Format

All pipeline logs are appended to

.product-review/process/pipeline.log
:

[HH:MM] agent-name | status | description

Status symbols:

  • started
  • done
  • warning
  • failed

Final Report Template

The final report (

output/pm-review.md
) follows this template:

# 产品评审报告: {project_name}

> 评审时间: {timestamp}
> 评审模式: Full / Quick
> 聚焦领域: {focus_area or "全面评审"}

## 执行摘要
> [1 段话核心结论]

## 评分卡
| 维度 | 得分 | 说明 |
|------|------|------|
| 产品力 | /10 | |
| 用户体验 | /10 | |
| 目标对齐 | /10 | |
| 竞争力 | /10 | |
| **综合** | **/10** | |

## 产品发现
[来自 Agent 1: pr-discovery]

## 目标对齐分析
[来自 Agent 2: pr-goal-alignment]

## 体验审计
[来自 Agent 3: pr-ux-dx-audit]

## 竞品分析
[来自 Agent 4: pr-competitive-analysis,Quick 模式标注"已跳过"]

## 改进路线图
### 🔴 立即修复 (P0, 1-2 周)
### 🟡 短期改进 (P1, 1-3 个月)
### 🟢 长期演进 (P2, 3-6 个月)

## 里程碑
| 阶段 | 目标 | 关键交付物 | 预计周期 |
|------|------|-----------|---------|
| M1 | | | 2 周 |
| M2 | | | 1-3 月 |
| M3 | | | 3-6 月 |

## 关键指标
- **北极星指标**: [建议的核心指标]
- **辅助指标**: [2-3 个辅助指标]