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.
git clone https://github.com/tsaol/awesome-claude
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"
skills/product-review/SKILL.mdProduct Review - 多 Agent 产品经理评审
以产品经理视角全面评审任意项目/代码库,输出结构化评审报告和改进路线图。
Usage
/product-review <project_path> [options]
Options:
| Option | Description | Default |
|---|---|---|
| Quick mode (skip competitive analysis, simplified roadmap) | false |
| Focus area: ux / dx / growth / tech | all |
| Output language | zh |
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
is set.--quick
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:
| Focus | Agent Emphasis |
|---|---|
| Agent 3 deep-dives into user experience, UI flows, error messages |
| Agent 3 deep-dives into developer experience, API design, docs, SDK |
| Agent 1 emphasizes growth potential, Agent 4 emphasizes market opportunity |
| 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 个辅助指标]