Receber por email
← Voltar para o catálogo

agile-design-doc

生成面向敏捷开发团队的精炼设计文档。MVP导向,避免过度设计。使用场景:(1) 需要为新功能或系统模块生成设计文档 (2) 需要明确功能边界和交互流程 (3) 需要提供实现思路和关键方法 (4) 需要阐述技术难点和解决方案。该skill会先分析项目技术栈和现有组件,然后生成精炼、重点突出的设计文档。

367estrelas
Atualizado há 4 meses

Ver no GitHub ↗

Como adicionar

/plugin marketplace add aiskillstore/marketplace

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/agile-design-doc/svg)](https://www.skillteca.com.br/skills/agile-design-doc)

Skills relacionadas

Ver todas de Segurança →

Alerta por categoria

Receba novas skills de Segurança toda segunda

1 email curto, só com as skills novas de Segurança. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

敏捷设计文档生成

核心原则

1. MVP导向,避免过度设计

  • 敏捷开发以快速迭代为目标,不需要考虑所有边界情况
  • 专注于核心功能,次要功能可以后续迭代
  • 不要为了"完整性"而添加不必要的功能

2. 基于现有技术栈

  • 必须先读取项目配置文件(pyproject.toml、package.json等)了解技术栈
  • 复用现有组件,避免重复造轮子
  • 设计方案必须与当前技术栈兼容

3. 清晰阐述设计意图

  • 明确本次设计解决的问题或提供的功能
  • 使用mermaid时序图展示交互流程
  • 针对每个功能点给出实现思路和关键方法
  • 复杂逻辑使用mermaid实现流程
  • 提供示例代码说明关键实现

4. 精炼文档,面向技术人员

  • 读者是开发者和了解业务的产品人员
  • 避免冗长的背景介绍和废话
  • 先了解现有组件,避免重复设计

工作流程

第一步:前置分析

在生成设计文档之前,必须先完成以下分析:

1.1 了解项目背景

询问用户或分析项目:
- 项目背景?现在是什么系统,要做什么功能/模块?

1.2 识别技术栈

必须读取的配置文件:
- Python项目:pyproject.toml, requirements.txt, setup.py
- Node.js项目:package.json, yarn.lock, pnpm-lock.yaml
- Java项目:pom.xml, build.gradle
- Go项目:go.mod, go.sum
- 其他:根据项目类型识别

分析内容:
- 主要框架和库
- 数据库和存储
- 消息队列和中间件
- 部署和运维工具

1.3 了解现有组件

通过以下方式了解现有组件:
1. 询问用户:有哪些现有组件可以复用?
2. 读取项目结构:分析src/、lib/、components/等目录
3. 查看文档:README.md、docs/等

记录可复用的组件:
- 基础服务类
- 工具函数
- 中间件
- 数据模型

第二步:设计文档生成

按照以下结构生成设计文档:

2.1 设计目标(1-2段)

明确说明:
- 本次设计要解决什么问题
- 提供什么功能

2.2 功能列表(简洁列表)

简要列出本次设计的功能点:
- 功能1:一句话描述
- 功能2:一句话描述
- 功能3:一句话描述

不要展开详细说明,保持简洁

2.3 交互流程(Mermaid时序图)

为每个主要功能绘制时序图:

sequenceDiagram participant User participant API participant Service participant DB

User->>API: 请求 API->>Service: 调用 Service->>DB: 查询 DB-->>Service: 返回 Service-->>API: 结果 API-->>User: 响应


时序图目的:
- 展示组件间的交互顺序
- 明确系统边界
- 识别外部依赖

2.4 实现方案(核心部分)

针对每个功能点,按以下结构描述:

功能点名称

实现思路(2-3句话)

  • 说明采用的技术方案
  • 为什么选择这个方案
  • 与现有组件的集成方式

关键方法(代码示例)

# 示例:用户认证
def authenticate_user(token: str) -> User:
    """验证用户token并返回用户信息"""
    # 1. 验证token格式
    # 2. 从缓存或数据库查询
    # 3. 返回用户信息
    pass

技术难点(如有)

  • 描述难点
  • 说明解决方案
  • 提供参考链接或示例

2.5 数据模型(如需要)

仅列出新增或修改的数据模型:
- User: {id, name, email}
- Order: {id, userId, amount, status}

使用简洁的表格或JSON格式

2.6 接口定义(如需要)

仅列出新增或修改的API:
POST /api/users
- 请求:{name, email}
- 响应:{id, name, email, createdAt}

保持简洁,不要展开所有字段

第三步:质量检查

生成文档后,进行以下检查:

3.1 精炼度检查

  • [ ] 是否有冗长的背景介绍?
  • [ ] 是否有重复的内容?
  • [ ] 是否可以删除某些章节而不影响理解?

3.2 重点突出检查

  • [ ] 设计目标是否清晰?
  • [ ] 功能列表是否简洁?
  • [ ] 时序图是否展示了核心交互?
  • [ ] 实现方案是否提供了关键方法?

3.3 技术准确性检查

  • [ ] 技术栈是否与项目一致?
  • [ ] 是否复用了现有组件?
  • [ ] 代码示例是否正确?

3.4 MVP导向检查

  • [ ] 是否包含了不必要的功能?
  • [ ] 是否可以简化某些设计?
  • [ ] 是否有可以后续迭代的内容?

常见问题处理

Q1: 用户没有提供足够信息

优先级顺序:
1. 读取项目文件(pyproject.toml、package.json等)
2. 分析项目结构
3. 询问用户具体问题
4. 基于常见模式做合理假设(并在文档中说明)

Q2: 不确定是否需要某个功能

原则:
- 如果是核心功能,必须包含
- 如果是辅助功能,可以后续迭代
- 如果不确定,询问用户
- 在文档中明确标注"可选"或"后续迭代"

Q3: 技术栈不熟悉

处理方式:
1. 读取项目配置文件了解技术栈
2. 搜索相关文档和最佳实践
3. 参考项目现有代码的实现方式
4. 在文档中说明技术选型的理由

参考资源

  • [设计文档模板](references/template.md) - 标准设计文档模板
Compartilhar X LinkedIn