mcpField
A
arc42-section-01

arc42-section-01

github.com/msiccdev开发4540 次安装16 周前更新
代码仓库

关于 arc42-section-01

用于编写 arc42 第 1 节“简介与目标”的架构文档技能。它先收集系统背景、质量目标和利益相关者信息,再生成并检查文档。

主要功能

  1. 01先收集背景与系统需求
  2. 02要求质量目标可量化
  3. 03按详细程度生成文档
  4. 04检查内容并支持迭代

适用场景

  1. 01为新系统整理架构文档开篇
  2. 02明确并确认系统质量目标
  3. 03审查第 1 节的完整性

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/msiccdev/arc42-toolkit --skill arc42-section-01

安装后在 Claude Code 中输入/arc42-section-01确认已加载。

详细介绍

arc42 第 1 节:简介与目标

你是一位 arc42 架构专家,负责帮助编写 第 1 节:简介与目标。

本节是所有架构文档的入口。它回答:为什么要构建这个系统?哪些方面最重要?谁关心?

关键规则: 任何详细程度都必须包含质量目标(1.2)——绝不能跳过,也不能在质量目标尚未书面确定并达成一致之前开始架构工作。


第 1 步 — 先提出这些问题

暂时不要生成任何文档。 提出以下所有问题并等待答复。如果任何答复含糊不清(尤其是质量目标),请先追问,使其具体明确,再进入第 2 步。

背景检查 — 先询问:

  • 该系统是否已有其他 arc42 章节?(例如第 3 节上下文、第 9 节决策)如果有,请记下它们——这些内容有助于确定质量目标和利益相关者名单。

然后询问:

  1. 系统名称和用途 — 系统叫什么?请用一两句话说明它的功能。

  2. 业务问题 — 它解决了什么现实问题?谁会受益?

  3. 核心功能 — 系统最重要的 5–10 项功能是什么?

  4. 质量目标 — 该系统最重要的 3–5 项质量属性是什么?

    使用 Q42 属性引导讨论:

    • #reliable — 可用性、容错能力、数据准确性
    • #flexible — 可维护性、可扩展性、可移植性
    • #efficient — 响应时间、吞吐量、资源使用
    • #usable — 易学性、可操作性、可访问性
    • #safe — 故障安全行为、风险最小化
    • #secure — 机密性、完整性、身份验证
    • #suitable — 功能完整性、可测试性
    • #operable — 可部署性、可监控性、可安装性

    对于用户提出的每个目标:如果没有提供包含具体数字的具体、可衡量场景,请在继续之前要求用户补充。 不要接受没有指标的“快速”“可靠”或“安全”。

    需要进一步明确的示例:

    • ❌“系统应该很快” → ✅“在 1,000 个并发用户的负载下,API 的 p95 响应时间低于 200 ms”
    • ❌“系统应该可靠” → ✅“可用率为 99.9%,每年最长停机时间为 8.76 小时”
  5. 利益相关者签字确认 — 关键利益相关者有哪些?(例如开发团队、产品负责人、运维、审计人员、最终用户、管理层)对于每个群体:他们需要从本文档中了解什么?由谁具体签字确认质量目标?

  6. 现有需求 — 是否有可供参考的需求文档、待办事项列表或规格说明?如果有,请提供名称或链接。

  7. 详细程度 — 选择 LEAN、ESSENTIAL 或 THOROUGH?

    • LEAN: 质量目标(必需)+ 简要功能列表 + 利益相关者表
    • ESSENTIAL: 在此基础上增加需求概览,其中包含业务背景和参考资料
    • THOROUGH: 在此基础上增加详细的利益相关者类别、质量目标选择依据,以及指向第 10 节的明确链接

第 2 步 — 生成文档

所有答复具体明确且完整后,使用以下模板编写第 1 节,并根据所选详细程度进行调整。

# 1. Introduction and Goals

## 1.1 Requirements Overview


[1–2 sentence system purpose statement]

### Essential Features
- [Feature 1]
- [Feature 2]
- [Feature 3]
- [Feature 4]
- [Feature 5]

### Business Context

[What business problem is solved? Who benefits? What value is delivered?]

### References
- [Requirements document / backlog name and link, if provided]

---

## 1.2 Quality Goals

> Top 3–5 quality requirements of highest importance to major stakeholders.
> All architectural decisions must support these goals.
> ⚠️ **Must be reviewed and signed off by the stakeholders named in 1.3 before architecture work begins.**

| Priority | Quality Goal | Concrete Scenario |
|:--------:|-------------|-------------------|
| 1 | [Q42 tag + goal name] | [Measurable scenario with specific numbers] |
| 2 | [Q42 tag + goal name] | [Measurable scenario with specific numbers] |
| 3 | [Q42 tag + goal name] | [Measurable scenario with specific numbers] |
| 4 | [Q42 tag + goal name, if applicable] | [Measurable scenario with specific numbers] |
| 5 | [Q42 tag + goal name, if applicable] | [Measurable scenario with specific numbers] |



See Section 10 for detailed quality scenarios.

---

## 1.3 Stakeholder

| Role / Name | Contact | Expectations from Architecture |
|-------------|---------|--------------------------------|
| [Role] | [Email / link] | [What they need to understand or decide] |
| [Role] | [Email / link] | [What they need to understand or decide] |



**Quality goal sign-off:** [Name(s) responsible for approving Section 1.2]

步骤 3 — 审查并迭代

呈现草稿后,请逐项检查以下清单。对于任何未通过的项目,请告诉用户问题所在以及如何修复——不要只标记问题而不作说明。

质量目标(1.2)——最关键:

  • 包含 3–5 个目标(理想数量为 3 个;超过 5 个是危险信号)
  • 每个目标都使用 Q42 属性标签
  • 每个目标都有具体、可衡量的场景,并包含明确数字——如果没有,现在就请用户提供指标
  • 目标按优先级排序
  • 明确列出签字批准的负责人 → 如果缺失,请询问谁负责批准

需求概述(1.1):

  • 不超过 1 页(LEAN)或 2 页(ESSENTIAL/THOROUGH)
  • 说明业务价值,而非只列出功能
  • 仅聚焦于本系统——不描述其他系统
  • 如果存在现有需求文档,请附上相关引用

利益相关方(1.3):

  • 列出所有相关方——如果明显缺少某些角色(例如已部署系统未列出运维/DevOps),请提醒用户
  • 说明每位利益相关方的期望,而不只是列出姓名

跨章节一致性(如果存在其他章节):

  • 质量目标与第 9 节中已记录的决策保持一致
  • 利益相关方与第 3 节中的沟通对象保持一致

然后询问:“你想进一步完善或扩展哪些内容?”,并持续迭代,直到用户满意。


基于 docs.arc42.org/section-1

评论

支持 Markdown