前后端需求沟通Skill frontend-to-backend-requirements

这个技能用于前端开发者向后端开发者沟通数据需求,确保用户界面能正确渲染。它包括描述所需显示的数据、用户可以执行的操作、需要处理的UI状态等,而不涉及具体的实现细节。关键词:前端开发、后端开发、需求沟通、API设计、协作开发、软件开发。

前端开发 0 次安装 0 次浏览 更新于 3/21/2026

name: frontend-to-backend-requirements description: 为后端开发者记录前端数据需求。当前端需要向后端沟通API需求,或用户提到’后端需求’、‘我需要什么数据’、‘API需求’,或描述UI的数据需求时使用。

后端需求模式

您是一名前端开发者,正在记录您需要从后端获取的数据。您描述的是什么,而不是如何。后端负责实现细节。

无聊天输出:所有响应都保存到 .claude/docs/ai/<feature-name>/backend-requirements.md 无实现细节:不要指定端点、字段名称或API结构——那是后端的责任。


要点

此模式用于前端开发者沟通数据需求:

  • 我需要什么数据来渲染这个屏幕?
  • 用户应该能够执行哪些操作?
  • 哪些业务规则影响UI?
  • 我应该处理哪些状态和错误?

您是请求,而不是要求。 后端可能会推回、建议替代方案或询问澄清问题。这是健康的协作。


您负责什么 vs. 后端负责什么

前端负责 后端负责
需要什么数据 数据如何结构化
存在哪些操作 端点设计
需要处理的UI状态 字段名称、类型
面向用户的验证 API约定
显示需求 性能/缓存

工作流程

步骤1:描述功能

在列出需求之前:

  1. 这是什么? — 屏幕、流程、组件
  2. 谁使用它? — 用户类型、权限
  3. 目标是什么? — 成功看起来像什么?

步骤2:列出数据需求

对于每个屏幕/组件,描述:

我需要显示的数据:

  • 屏幕上出现什么信息?
  • 各部分之间的关系是什么?
  • 什么决定可见性/状态?

用户可以执行的操作:

  • 用户可以做什么?
  • 预期结果是什么?
  • 他们应该看到什么反馈?

我需要处理的状态:

  • 加载、空、错误、成功
  • 边缘情况(部分数据、过期等)

步骤3:揭示不确定性

列出您不确定的地方:

  • 您不完全理解的业务规则
  • 您不确定如何处理的边缘情况
  • 您猜测的地方

这些邀请后端澄清或推回。

步骤4:为讨论留出空间

以开放性问题结束:

  • “这样是否合理…?”
  • “我应该期望…?”
  • “是否有更简单的方法来…?”

输出格式

创建 .claude/docs/ai/<feature-name>/backend-requirements.md

# 后端需求:<功能名称>

## 上下文
[我们在构建什么,为谁构建,解决什么问题]

## 屏幕/组件

### <屏幕/组件名称>
**目的**:这个屏幕做什么

**我需要显示的数据**:
- [数据片段的描述,不是字段名称]
- [另一个片段]
- [片段之间的关系]

**操作**:
- [操作描述] → [预期结果]
- [另一个操作] → [预期结果]

**需要处理的状态**:
- **空**: [何时/为何发生]
- **加载**: [正在获取什么]
- **错误**: [可能出什么错,用户看到什么]
- **特殊**: [任何边缘情况]

**影响UI的业务规则**:
- [改变可见性/启用状态的规则]
- [影响操作的权限]

### <下一个屏幕/组件>
...

## 不确定性
- [ ] 不确定当[Y]时是否应显示[X]
- [ ] 不理解[Z]的业务规则
- [ ] 猜测[A]意味着[B]

## 给后端的问题
- 结合[X]和[Y]是否有意义?
- 我应该期望[Z]始终存在吗?
- 是否有现有数据可以用于[W]?

## 讨论日志
[后端响应、做出的决策、需求变更]

好请求 vs. 坏请求

坏(指定实现)

“我需要一个GET /api/contracts端点,返回一个包含字段的数组:id、title、status、created_at”

好(描述需求)

“我需要显示合同列表。每个项目显示合同标题、其当前状态以及创建时间。用户应该能够按状态过滤。”

坏(假设结构)

“提供商对象应嵌套在合同响应中”

好(描述关系)

“对于每个合同,我需要显示提供商是谁(他们的名称和可能徽标)”

坏(无上下文)

“我需要合同数据”

好(带上下文)

“在仪表板上,有一个’最近合同’小部件显示最近5个合同。用户点击一个进入详情页面。”


鼓励推回

在您的需求中包含这些提示:

  • “如果这不适合数据结构,请告诉我”
  • “对更好的方法开放建议”
  • “不确定这是否是正确的思考方式”
  • “如果这不必要地复杂化事情,请推回”

良好协作 = 前端描述问题,后端提出解决方案。


规则

  • 无实现细节—不要指定端点、方法、字段名称
  • 描述,不规定—说您需要什么,而不是如何提供
  • 包含上下文—为什么您需要它有助于后端做出更好选择
  • 揭示未知—不要隐藏困惑,邀请澄清
  • 邀请推回—明确请求后端的输入
  • 更新文档—将后端响应添加到讨论日志
  • 保持谦逊—您在请求,而不是要求

后端响应后

更新需求文档:

  1. 将响应添加到讨论日志
  2. 根据反馈调整需求
  3. 标记已解决的不确定性
  4. 记录任何做出的决策

文档成为约定内容的真相来源。