personal-software-dev-exploration
Installation
SKILL.md
个人软件开发探索技能
任务目标
- 本 Skill 用于:从零开始系统化探索和规划个人软件开发项目
- 核心能力:
- 竞品分析:多维度对比同类产品,提取设计要点
- 需求定义:明确 MVP 边界,区分 P0/P1/P2 优先级
- 架构设计:技术选型、模块划分、数据流设计
- 决策追踪:记录所有讨论决策,形成决策矩阵
- 触发条件:开始一个新的个人软件项目、需要系统化规划项目方向、或现有项目需要重新梳理需求时
操作步骤
标准流程
┌─────────────────────────────────────────────────────────────┐
│ 个人软件开发探索流程 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ① 问题发现 ──→ ② 竞品分析 ──→ ③ 需求定义 ──→ ④ 架构设计 │
│ │ │ │ │ │
│ ▼ ▼ ▼ ▼ │
│ [洞察机会] [对比表+决策] [MVP边界+优先级] [技术选型] │
│ │
│ ⑤ 决策整理 ──→ ⑥ 文档输出 │
│ │ │ │
│ ▼ ▼ │
│ [决策矩阵] [problem/*.md + SRS.md 更新] │
│ │
└─────────────────────────────────────────────────────────────┘
步骤详解
第一步:问题发现
- 识别核心问题:用户面临什么痛点?
- 评估解决价值:这个问题值得解决吗?
- 判断个人适配度:个人开发是否适合做这个项目?
第二步:竞品分析
- 选择竞品:选取 2-4 个同类产品
- 多维度对比:功能、技术、用户体验、生态
- 提取可借鉴点:哪些设计值得学习?
- 确定差异化方向:如何与竞品区分?
第三步:需求定义
- 明确 MVP 边界:第一版必须交付什么?
- 划分优先级:P0(必须)/P1(重要)/P2(可选)
- 定义成功标准:如何衡量项目成功?
- 估算资源投入:时间、人力、设备
第四步:架构设计
- 技术栈选型:前端/后端/框架选择
- 模块划分:核心模块及其职责
- 数据流设计:数据如何在系统中流动
- 技术风险评估:哪些技术难点需要攻克?
第五步:决策整理
- 建立决策矩阵:汇总所有讨论决策
- 标注优先级:P0/P1/P2 分层
- 明确待确定项:还有哪些问题未解决?
第六步:文档输出
- 创建 problem/ 目录:按类别组织问题
- 更新 SRS.md:将决策同步到需求规格说明书
- 建立讨论追踪:记录每轮讨论结论
资源索引
- 竞品分析模板:见 references/competitive-analysis.md(何时读取:进行竞品分析时)
- 需求优先级框架:见 references/priority-framework.md(何时读取:定义 MVP 边界时)
- 架构设计指南:见 references/architecture-guide.md(何时读取:进行技术选型时)
- 决策追踪模板:见 references/decision-tracking.md(何时读取:整理决策时)
注意事项
- 渐进式规划:不要试图一次性解决所有问题,先聚焦 MVP
- 优先级排序:从 P0 开始,确保核心功能先行
- 决策可追溯:每次讨论后立即记录决策,避免遗忘
- 保持灵活性:个人项目需求常会变化,文档应及时更新
- 控制范围:个人开发时间精力有限,警惕功能蔓延
使用示例
示例 1:从零开始探索新项目
场景:想要开发一个效率工具,但不确定做什么
操作:
- 问题发现:分析日常工作中的痛点(剪贴板管理、文件搜索、快捷启动)
- 竞品分析:研究 uTools、ZTools、Quicker 等产品
- 需求定义:确定 MVP 边界(先做 QuickJS 插件 + 搜索)
- 架构设计:选择 Tauri + Svelte + QuickJS
- 决策整理:输出 5 个问题分类文件
- 文档输出:更新 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,但发现有些问题未定义
操作:
- 识别缺失:检查 SRS 中的"待确定"项
- 分类整理:将问题按 project/technical/ux/ecosystem 分类
- 分轮讨论:按优先级逐轮讨论
- 更新文档:将决策同步回 SRS
示例 3:竞品分析驱动技术选型
场景:不确定用 Electron 还是 Tauri
操作:
- 选择竞品:uTools(Electron)、ZTools(Delphi+CEF)
- 多维度对比:性能、生态、社区、安全
- 个人开发者适配:Tauri 更轻量适合个人项目
- 决策记录:选择 Tauri + Rust,记录理由
Related skills