SuperAPI AI Directory

personal-software-dev-exploration

Design & creation

View repository

Updated 10-16 01:19

About this skill

Personal Software Development Exploration Skill

Task Objective

  • This Skill is used to: systematically explore and plan a personal software development project from scratch
  • Core Capabilities:
    • Competitive analysis: compare similar products across multiple dimensions and extract design points
    • Requirement definition: clarify MVP boundaries and distinguish P0/P1/P2 priorities
    • Architecture design: technology selection, module division, data flow design
    • Decision tracking: record all discussion decisions and form a decision matrix
  • Trigger Conditions: when starting a new personal software project, needing to systematically plan the project direction, or when an existing project needs to re-sort its requirements

Operation Steps

Standard Process

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

Detailed Steps

Step 1: Problem Discovery

  1. Identify the core problem: What pain points do users face?
  2. Evaluate the value of solving it: Is this problem worth solving?
  3. Judge personal suitability: Is personal development suitable for this project?

Step 2: Competitive Analysis

  1. Select competitors: choose 2-4 similar products
  2. Multi-dimensional comparison: features, technology, user experience, ecosystem
  3. Extract points worth learning from: Which designs are worth learning from?
  4. Determine the differentiation direction: How to differentiate from competitors?

Step 3: Requirement Definition

  1. Clarify MVP boundaries: What must be delivered in the first version?
  2. Divide priorities: P0 (must)/P1 (important)/P2 (optional)
  3. Define success criteria: How to measure project success?
  4. Estimate resource investment: time, manpower, equipment

Step 4: Architecture Design

  1. Technology stack selection: frontend/backend/framework selection
  2. Module division: core modules and their responsibilities
  3. Data flow design: how data flows through the system
  4. Technical risk assessment: Which technical difficulties need to be overcome?

Step 5: Decision Organization

  1. Establish a decision matrix: summarize all discussion decisions
  2. Mark priorities: P0/P1/P2 layering
  3. Clarify items to be determined: What issues remain unresolved?

Step 6: Document Output

  1. Create the problem/ directory: organize problems by category
  2. Update SRS.md: synchronize decisions to the Software Requirements Specification
  3. Establish discussion tracking: record the conclusions of each round of discussion

Resource Index

Notes

  • Progressive Planning: Do not try to solve all problems at once; focus on the MVP first
  • Prioritization: Start from P0 to ensure core functionality comes first
  • Traceable Decisions: Record decisions immediately after each discussion to avoid forgetting them
  • Stay Flexible: Personal project requirements often change, and documentation should be updated promptly
  • Control Scope: Personal development time and energy are limited; beware of feature creep

Usage Examples

Example 1: Exploring a New Project from Scratch

Scenario: Want to develop a productivity tool, but are not sure what to build

Actions:

  1. Problem Discovery: Analyze pain points in daily work (clipboard management, file search, quick launch)
  2. Competitor Analysis: Study products such as uTools, ZTools, and Quicker
  3. Requirement Definition: Determine the MVP boundary (start with QuickJS plugin + search)
  4. Architecture Design: Choose Tauri + Svelte + QuickJS
  5. Decision Organization: Output 5 question category files
  6. Documentation Output: Update SRS.md

Output:

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

Example 2: Supplementing Missing Information for an Existing Project

Scenario: There is already a project SRS, but some issues are found to be undefined

Actions:

  1. Identify Gaps: Check the "to be determined" items in the SRS
  2. Classify and Organize: Categorize issues by project/technical/ux/ecosystem
  3. Discuss in Rounds: Discuss round by round according to priority
  4. Update Documentation: Sync decisions back to the SRS

Example 3: Competitor Analysis Driving Technology Selection

Scenario: Unsure whether to use Electron or Tauri

Actions:

  1. Select Competitors:uTools(Electron)、ZTools(Delphi+CEF)
  2. Multi-dimensional Comparison: Performance, ecosystem, community, security
  3. Fit for Individual Developers: Tauri is more lightweight and suitable for personal projects
  4. Decision Record: Choose Tauri + Rust, and record the rationale