mvp-firstlisted
Install: claude install-skill konglong87/methodology-skills
# MVP First
## 前置协议
### 环境检测
```bash
PROJECT_ROOT=$(git rev-parse --show-toplevel 2>/dev/null || echo "unknown")
BRANCH=$(git branch --show-current 2>/dev/null || echo "unknown")
COMMIT=$(git rev-parse --short HEAD 2>/dev/null || echo "unknown")
echo "PROJECT: $PROJECT_ROOT"
echo "BRANCH: $BRANCH"
echo "COMMIT: $COMMIT"
```
### 前置技能检查
```bash
# 检查前置工件
GOAL_ARTIFACT="memory/artifacts/goal-oriented/latest.json"
DDD_ARTIFACT="memory/artifacts/ddd-strategic/latest.json"
if [ -f "$GOAL_ARTIFACT" ]; then
echo "FOUND: goal-oriented artifact"
fi
if [ -f "$DDD_ARTIFACT" ]; then
echo "FOUND: ddd-strategic-design artifact"
fi
mkdir -p memory/artifacts/mvp-first
```
# MVP First
## Overview
**MVP(Minimum Viable Product)不是"最小可用产品",而是"最小可验证产品"。**
核心目的:**用最小成本验证关键假设**,避免基于未经验证的假设投入大量资源。
MVP 的目标是学习,不是交付产品。每一次 MVP 都是在回答一个关键问题:用户真的需要这个吗?
## When to Use
```dot
digraph when_to_use {
rankdir=TB;
node [shape=box, style=filled, color="#c8e6c9"];
"用户提出新需求" [shape=ellipse, color="#bbdefb"];
"功能是否复杂?" [shape=diamond, color="#fff9c4"];
"是否验证过假设?" [shape=diamond, color="#fff9c4"];
"直接实现" [color="#f8bbd0"];
"应用 MVP 思维" [color="#c8e6c9"];
"用户提出新需求" -> "功能是否复杂?";
"功能是否复杂?" -> "直接实现" [label="否, 简单修改"];
"功能是否复杂?" -> "是否验证过假设?" [label="是, 新系统"];
"是否验证过假设?" -> "直接实现" [label="是"];
"是否验证过假设?" -> "应用 MVP 思维" [label="否"];
}
```
**触发场景:**
- 用户说"我想做一个XX功能"、"帮我规划这个项目"
- 功能涉及多个子系统或复杂架构
- 用户未验证过需求假设
**不适用场景:**
- 简单的 bug 修复或配置修改
- 用户明确要求完整方案
- 已经验证过需