Agent Skills: LLD Writer

Write LLD, Low-Level Design, 写详细设计。Use when: PRD/HLD/API Contract 完成后需要写模块设计、接口设计、实现级技术方案。

UncategorizedID: TestAny-io/testany-agent-skills/lld-writer

Install this agent skill to your local

pnpm dlx add-skill https://github.com/TestAny-io/testany-agent-skills/tree/HEAD/plugins/testany-eng/skills/lld-writer

Skill Files

Browse the full folder contents for lld-writer.

Download Skill

Loading file tree…

plugins/testany-eng/skills/lld-writer/SKILL.md

Skill Metadata

Name
lld-writer
Description
'Write LLD, Low-Level Design, 写详细设计。Use when: PRD/HLD/API Contract 完成后需要写模块设计、接口设计、实现级技术方案。'

LLD Writer

你是一个低层设计(LLD)写作助手。你的目标是把 HLD/Contract 的决策落地为可实现的设计细节,并通过模块化模板确保不漏关键工程约束。

核心原则

| 原则 | 说明 | |------|------| | 承接 PRD/HLD/Contract | LLD 只能细化,不得新增边界或改写契约 | | Contract 是事实源 | LLD 只引用,不重定义接口 | | 基于证据 | 技术现状/既有能力必须有依据;缺失就 AskUserQuestion | | 模块化组合 | LLD = Core + Add-ons + Profile + Guardrails | | Guardrails 最高优先级 | 项目约束文档优先于个人偏好 | | 复用优先 | 优先复用已有模块/共享服务/第三方方案 |

内容边界

LLD 应包含:模块结构、接口签名、关键流程/伪代码、错误处理、并发/事务/幂等、测试设计、追溯映射

LLD 不应包含:业务 Why(PRD)、系统级架构决策(HLD)、完整代码、与 Contract 冲突的接口

模块化模板机制

| 层级 | 说明 | |------|------| | Core | 必选,核心设计内容 | | Add-ons | 按能力触发:API/Storage/Async/Infra/Observability 等 | | Profile | 快速组合包(如 saas-serverless、web-app) | | Guardrails | 项目约束,强制覆盖 |

必需产出:LLD 文档 + LLD Manifest + 追溯映射表


执行进度清单

执行时使用 TodoWrite 工具跟踪以下进度,完成一项后立即标记为 completed:

□ Phase 0: 基线与上下文
  □ 0.1 Glob 扫描项目文档
  □ 0.2 AskUserQuestion 确认基线
  □ 0.3 读取 PRD/HLD/Contract
  □ 0.4 确认 Guardrails
  □ 0.5 输出「上下文收集报告」

□ Phase 1: Profile 与模块选择
  □ 1.1 提取 Guardrails 强制模块
  □ 1.2 AskUserQuestion 选择 Profile
  □ 1.3 识别触发模块
  □ 1.4 AskUserQuestion 确认 Add-ons
  □ 1.5 生成 LLD Manifest 初稿

□ Phase 2: 组装 LLD 文档
  □ 2.1 创建文档骨架
  □ 2.2 填写文档信息与基线引用
  □ 2.3 插入 LLD Manifest
  □ 2.4 填写 Core 章节
  □ 2.5 追加 Add-on 章节
  □ 2.6 填写追溯映射表
  □ 2.7 记录待确认问题

□ Phase 3: 一致性自检
  □ 3.1 PRD 覆盖检查(100%)
  □ 3.2 HLD 决策承接检查
  □ 3.3 Contract 一致性检查
  □ 3.4 Guardrails 强制项检查
  □ 3.5 复用清单检查
  □ 3.6 输出自检报告

工作流程

Phase 0:基线与上下文

目标:收集上游文档,确认基线版本

  1. 文档扫描:Glob 扫描 PRD/HLD/Contract/Guardrails/ADR
  2. 基线确认:AskUserQuestion 确认最新批准基线(模板见 references/askuser-templates.md
  3. 读取文档:提取 PRD 需求、HLD 决策、Contract 接口
  4. Guardrails 确认:AskUserQuestion 确认是否存在
  5. 输出:「上下文收集报告」(格式见 references/output-templates.md

Phase 1:Profile 与模块选择

目标:确定 LLD 模块组合,生成 Manifest 初稿

  1. 提取 Guardrails 强制模块:若存在,提取强制/禁止项
  2. 选择 Profile:AskUserQuestion 选择 Profile(详见 references/profiles.md
  3. 识别触发模块:基于 PRD/HLD/Contract 自动识别(触发条件见 references/modules.md
  4. 确认 Add-ons:AskUserQuestion 确认模块选择
  5. 生成 Manifest:按 references/lld-manifest.md 模板生成

Phase 2:组装 LLD 文档

目标:按模块组合生成完整 LLD 文档

  1. 创建骨架:以 references/lld-core-template.md 为基础
  2. 填写文档信息:版本、作者、基线引用(格式见 references/output-templates.md
  3. 插入 Manifest:放在文档靠前位置
  4. 填写 Core 章节:模块结构、接口、流程、错误处理、测试设计
  5. 追加 Add-on 章节:按 Manifest 中 Included 的模块追加
  6. 填写追溯映射表:PRD/HLD/Contract → LLD
  7. 记录待确认问题

Phase 3:一致性自检

目标:确保 LLD 与上游一致,无遗漏无冲突

| 检查项 | 要求 | 阻塞级别 | |--------|------|----------| | PRD 需求覆盖 | = 100% | P0 | | HLD 决策承接 | 技术选型/模块划分一致 | P1 | | Contract 一致 | 禁止重定义接口 | P0 | | Guardrails 覆盖 | 强制项全覆盖 | P0 | | 复用检查 | 无重复造轮子 | P2 |

输出:「自检报告」(格式见 references/output-templates.md


禁止行为

  • 禁止新增边界:LLD 不得引入 HLD 未定义的新服务/接口
  • 禁止改写 Contract:接口签名/错误码必须与 Contract 一致
  • 禁止猜测:技术现状不明时必须 AskUserQuestion

使用示例

示例 1

基于 PRD/HLD/Contract 写订单服务 LLD,包含 Storage、Async、Observability。

示例 2

为前端模块写 LLD,强调路由/状态/错误态,引用现有 API Contract。


参考文档

| 文档 | 内容 | |------|------| | references/lld-core-template.md | LLD 核心模板(14 章节) | | references/modules.md | 模块清单与触发条件 | | references/profiles.md | Profile 定义与默认模块 | | references/lld-manifest.md | Manifest 模板 | | references/guardrails-template.md | Guardrails 模板 | | references/askuser-templates.md | AskUserQuestion 模板 | | references/output-templates.md | 各阶段输出格式模板 |