skills/ariesyb/agile-design-doc/SKILL.md
生成面向敏捷开发团队的精炼设计文档。MVP导向,避免过度设计。使用场景:(1) 需要为新功能或系统模块生成设计文档 (2) 需要明确功能边界和交互流程 (3) 需要提供实现思路和关键方法 (4) 需要阐述技术难点和解决方案。该skill会先分析项目技术栈和现有组件,然后生成精炼、重点突出的设计文档。
npx skillsauth add aiskillstore/marketplace agile-design-docInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
在生成设计文档之前,必须先完成以下分析:
询问用户或分析项目:
- 项目背景?现在是什么系统,要做什么功能/模块?
必须读取的配置文件:
- 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. 询问用户:有哪些现有组件可以复用?
2. 读取项目结构:分析src/、lib/、components/等目录
3. 查看文档:README.md、docs/等
记录可复用的组件:
- 基础服务类
- 工具函数
- 中间件
- 数据模型
按照以下结构生成设计文档:
明确说明:
- 本次设计要解决什么问题
- 提供什么功能
简要列出本次设计的功能点:
- 功能1:一句话描述
- 功能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句话)
- 说明采用的技术方案
- 为什么选择这个方案
- 与现有组件的集成方式
*关键方法*(代码示例)
```python
# 示例:用户认证
def authenticate_user(token: str) -> User:
"""验证用户token并返回用户信息"""
# 1. 验证token格式
# 2. 从缓存或数据库查询
# 3. 返回用户信息
pass
技术难点(如有)
仅列出新增或修改的数据模型:
- User: {id, name, email}
- Order: {id, userId, amount, status}
使用简洁的表格或JSON格式
仅列出新增或修改的API:
POST /api/users
- 请求:{name, email}
- 响应:{id, name, email, createdAt}
保持简洁,不要展开所有字段
生成文档后,进行以下检查:
优先级顺序:
1. 读取项目文件(pyproject.toml、package.json等)
2. 分析项目结构
3. 询问用户具体问题
4. 基于常见模式做合理假设(并在文档中说明)
原则:
- 如果是核心功能,必须包含
- 如果是辅助功能,可以后续迭代
- 如果不确定,询问用户
- 在文档中明确标注"可选"或"后续迭代"
处理方式:
1. 读取项目配置文件了解技术栈
2. 搜索相关文档和最佳实践
3. 参考项目现有代码的实现方式
4. 在文档中说明技术选型的理由
development
Apple Human Interface Guidelines for content display components. Use this skill when the user asks about charts component, collection view, image view, web view, color well, image well, activity view, lockup, data visualization, content display, displaying images, rendering web content, color pickers, or presenting collections of items in Apple apps. Also use when the user says how should I display charts, what's the best way to show images, should I use a web view, how do I build a grid of items, what component shows media, or how do I present a share sheet. Cross-references: hig-foundations for color/typography/accessibility, hig-patterns for data visualization patterns, hig-components-layout for structural containers, hig-platforms for platform-specific component behavior.
tools
Automate HelpDesk tasks via Rube MCP (Composio): list tickets, manage views, use canned responses, and configure custom fields. Always search tools first for current schemas.
testing
Expert Haskell engineer specializing in advanced type systems, pure functional design, and high-reliability software. Use PROACTIVELY for type-level programming, concurrency, and architecture guidance.
tools
GraphQL gives clients exactly the data they need - no more, no less. One endpoint, typed schema, introspection. But the flexibility that makes it powerful also makes it dangerous. Without proper controls, clients can craft queries that bring down your server. This skill covers schema design, resolvers, DataLoader for N+1 prevention, federation for microservices, and client integration with Apollo/urql. Key insight: GraphQL is a contract. The schema is the API documentation. Design it carefully.