# Personal Software Dev Exploration

> 探索个人软件开发全流程的方法论，从竞品分析、需求定义、MVP边界划分到架构设计的系统化规划流程，适用于从零开始规划个人软件项目并形成可执行方案

- Skill: `morning-start/personal-software-dev-exploration` (Agent Skill, multi-file: 5 files)
- Install (CLI): `npx skillmds@latest add morning-start/personal-software-dev-exploration`
- Raw SKILL.md: https://api.skillmd.com/api/skills/morning-start/personal-software-dev-exploration/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: morning-start (https://skillmd.com/u/morning-start)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/morning-start/personal-software-dev-exploration

---


# 个人软件开发探索技能

## 任务目标

- **本 Skill 用于**：从零开始系统化探索和规划个人软件开发项目
- **核心能力**：
  - 竞品分析：多维度对比同类产品，提取设计要点
  - 需求定义：明确 MVP 边界，区分 P0/P1/P2 优先级
  - 架构设计：技术选型、模块划分、数据流设计
  - 决策追踪：记录所有讨论决策，形成决策矩阵
- **触发条件**：开始一个新的个人软件项目、需要系统化规划项目方向、或现有项目需要重新梳理需求时

## 操作步骤

### 标准流程

```
┌─────────────────────────────────────────────────────────────┐
│  个人软件开发探索流程                                         │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  ① 问题发现 ──→ ② 竞品分析 ──→ ③ 需求定义 ──→ ④ 架构设计 │
│       │              │              │              │        │
│       ▼              ▼              ▼              ▼        │
│   [洞察机会]    [对比表+决策]  [MVP边界+优先级] [技术选型]  │
│                                                             │
│  ⑤ 决策整理 ──→ ⑥ 文档输出                                 │
│       │              │                                      │
│       ▼              ▼                                      │
│   [决策矩阵]    [problem/*.md + SRS.md 更新]               │
│                                                             │
└─────────────────────────────────────────────────────────────┘
```

### 步骤详解

#### 第一步：问题发现

1. **识别核心问题**：用户面临什么痛点？
2. **评估解决价值**：这个问题值得解决吗？
3. **判断个人适配度**：个人开发是否适合做这个项目？

#### 第二步：竞品分析

1. **选择竞品**：选取 2-4 个同类产品
2. **多维度对比**：功能、技术、用户体验、生态
3. **提取可借鉴点**：哪些设计值得学习？
4. **确定差异化方向**：如何与竞品区分？

#### 第三步：需求定义

1. **明确 MVP 边界**：第一版必须交付什么？
2. **划分优先级**：P0（必须）/P1（重要）/P2（可选）
3. **定义成功标准**：如何衡量项目成功？
4. **估算资源投入**：时间、人力、设备

#### 第四步：架构设计

1. **技术栈选型**：前端/后端/框架选择
2. **模块划分**：核心模块及其职责
3. **数据流设计**：数据如何在系统中流动
4. **技术风险评估**：哪些技术难点需要攻克？

#### 第五步：决策整理

1. **建立决策矩阵**：汇总所有讨论决策
2. **标注优先级**：P0/P1/P2 分层
3. **明确待确定项**：还有哪些问题未解决？

#### 第六步：文档输出

1. **创建 problem/ 目录**：按类别组织问题
2. **更新 SRS.md**：将决策同步到需求规格说明书
3. **建立讨论追踪**：记录每轮讨论结论

## 资源索引

- **竞品分析模板**：见 [references/competitive-analysis.md](references/competitive-analysis.md)（何时读取：进行竞品分析时）
- **需求优先级框架**：见 [references/priority-framework.md](references/priority-framework.md)（何时读取：定义 MVP 边界时）
- **架构设计指南**：见 [references/architecture-guide.md](references/architecture-guide.md)（何时读取：进行技术选型时）
- **决策追踪模板**：见 [references/decision-tracking.md](references/decision-tracking.md)（何时读取：整理决策时）

## 注意事项

- **渐进式规划**：不要试图一次性解决所有问题，先聚焦 MVP
- **优先级排序**：从 P0 开始，确保核心功能先行
- **决策可追溯**：每次讨论后立即记录决策，避免遗忘
- **保持灵活性**：个人项目需求常会变化，文档应及时更新
- **控制范围**：个人开发时间精力有限，警惕功能蔓延

## 使用示例

### 示例 1：从零开始探索新项目

**场景**：想要开发一个效率工具，但不确定做什么

**操作**：
1. **问题发现**：分析日常工作中的痛点（剪贴板管理、文件搜索、快捷启动）
2. **竞品分析**：研究 uTools、ZTools、Quicker 等产品
3. **需求定义**：确定 MVP 边界（先做 QuickJS 插件 + 搜索）
4. **架构设计**：选择 Tauri + Svelte + QuickJS
5. **决策整理**：输出 5 个问题分类文件
6. **文档输出**：更新 SRS.md

**输出**：
```
wiki/
├── SRS.md                    # 功能需求规格
└── problem/                  # 问题追踪
    ├── 00-summary.md         # 决策汇总
    ├── 01-project-management.md
    ├── 02-technical-architecture.md
    ├── 03-user-experience.md
    ├── 04-ecosystem-community.md
    └── 05-resources-risk.md
```

### 示例 2：为现有项目补充缺失信息

**场景**：已有项目 SRS，但发现有些问题未定义

**操作**：
1. **识别缺失**：检查 SRS 中的"待确定"项
2. **分类整理**：将问题按 project/technical/ux/ecosystem 分类
3. **分轮讨论**：按优先级逐轮讨论
4. **更新文档**：将决策同步回 SRS

### 示例 3：竞品分析驱动技术选型

**场景**：不确定用 Electron 还是 Tauri

**操作**：
1. **选择竞品**：uTools（Electron）、ZTools（Delphi+CEF）
2. **多维度对比**：性能、生态、社区、安全
3. **个人开发者适配**：Tauri 更轻量适合个人项目
4. **决策记录**：选择 Tauri + Rust，记录理由

