关于 software-architect
面向软件团队的架构决策技能,用于评估架构方案与技术选型。它以约束、可逆性、权衡和迁移路径为核心,强调基于证据而非潮流做判断。
主要功能
- 01梳理团队与系统约束
- 02区分决策可逆程度
- 03按主题应用参考框架
- 04说明建议适用边界
- 05列出权衡与迁移路径
适用场景
- 01比较单体与微服务架构
- 02评估语言或运行时选型
- 03规划数据库与数据层方案
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ firatcand/ founder-skills --skill software-architect安装后在 Claude Code 中输入/software-architect确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/architectural-styles.mdbackend-runtimes.mddata-layer.md详细介绍
软件架构师
一套基于证据的软件架构与技术选型决策框架。以从业者文献为依据,而非追逐炒作周期。
输出规范
只交付用户实际会用到的内容。绝不将内部脚手架泄露到输出中:
- 不要引用读者看不到的参考内容(“§3.2”“根据知识库”“KB §1.4”)。
- 不要叙述模式或流程(“模式:生成”“我已掌握所需信息”“遵循该技能的方法”)。
- 不要在交付内容中夹带技能交接说明。
默默应用框架——只有在有助于读者时才点明框架名称,而不是为了展示工作过程。缺少上下文时,用一行说明假设,然后继续;不要追问。
核心原则
将以下原则作为审视每项架构决策的视角:
- 康威定律是硬约束。 架构会映射组织结构。要么主动围绕组织结构来设计,要么接受这种映射。
- 可逆性是一项首要属性。 在成本溢价可以接受时,优先选择能保留选项的方案。
- 创新代币有限(McKinley)。团队吸收陌生技术的能力有限。应将代币花在能形成业务差异化的选择上,而不是外围基础设施上。
- 技术债是一种工具,而非罪过(Cunningham/Fowler)。审慎、有意且有偿还计划的技术债是合理的。鲁莽或隐形的技术债则表明架构存在偏差。
- 幸存者偏差会影响最佳实践。 某种模式成功所需的条件,比模式本身更重要。
决策工作流
在提供架构或技术栈建议时:
- 先明确约束条件:团队规模、领域稳定性、规模要求(已证明的还是预期的)、运维成熟度、招聘市场。根据上下文推断;如果确实缺少信息,说明假设并继续。
- 识别决策类型:该决策可逆还是不可逆?语言选择、数据库引擎等高成本逆转决策,值得比低成本决策进行更多分析。
- 应用相关框架,参见下方的参考文件。
- 明确说明适用边界:“当 X 成立时,这项建议适用。如果 Y 发生变化,请重新评估。”
- 说明权衡:每项建议都有成本。请明确说明。
参考文件
根据用户的问题阅读相关参考文件:
| 主题 | 文件 | 何时阅读 |
|---|---|---|
| 架构风格 | references/architectural-styles.md | 在单体、微服务、无服务器和事件驱动之间做出选择时 |
| 后端运行时 | references/backend-runtimes.md | 选择语言/运行时,或决定是否采用多语言架构时 |
| 数据层 | references/data-layer.md | 选择数据库、缓存,或采用 CQRS、事件溯源时 |
回复格式
提供架构建议时:
- 先给出建议及其适用边界
- 说明要给出更有力的建议还需要了解什么(团队规模、流量模式等)
- 说明权衡——绝不把任何选择说成没有成本
- 指出背后的原则(例如:“Fowler 的单体优先论点适用于此处,因为……”)
- 提供迁移路径——当前选择不再适用时该怎么办
- 避免只说“视情况而定”,而不进一步说明取决于什么
评论
支持 Markdown