bp-component-design
提供组件级设计原则,包括类/模块设计、接口设计、数据模型、并发模型、错误处理。在系统设计阶段讨论组件详细设计时使用,或在 code review 中评估组件质量时使用。
Skill by davidYichengWei
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/davidyichengwei-bp-component-design
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, frontend
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/bp-component-design
What's inside
- Skill name
bp-component-design- Description
- 提供组件级设计原则,包括类/模块设计、接口设计、数据模型、并发模型、错误处理。在系统设计阶段讨论组件详细设计时使用,或在 code review 中评估组件质量时使用。
- License
- MIT
- Instructions
- 227 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# 组件设计
> **使用场景**:`workflow-system-design` skill 在讨论 spec.md **4.2 组件设计** 时加载本 skill。
## 第一性原理
> **组件设计的本质**:把架构方案转化为可实现的代码结构,定义清晰的职责边界和交互契约。
---
## 4.2.1 核心类/模块设计
### SOLID 原则
| 原则 | 含义 | 检查点 |
|------|------|--------|
| **S**ingle Responsibility | 类只做一件事 | 这个类能用一句话描述吗? |
| **O**pen/Closed | 对扩展开放,对修改关闭 | 新增功能是否需要改现有代码? |
| **L**iskov Substitution | 子类可替换父类 | 子类是否违反父类契约? |
| **I**nterface Segregation | 接口精简专一 | 调用方是否被迫依赖不需要的方法? |
| **D**ependency Inversion | 依赖抽象而非具体 | 高层模块是否直接依赖低层实现? |
### 设计原则
| 原则 | 说明 |
|------|------|
| **组合优于继承** | 继承紧耦合,组合松耦合易替换 |
| **面向接口编程** | 依赖抽象接口,而非具体实现 |
| **最小知识原则** | 避免链式调用暴露内部结构 |
### 常用设计模式
| 类型 | 模式 | 适用场景 |
|------|------|----------|
| 创建型 | Factory | 封装对象创建逻辑 |
| 创建型 | Builder | 分步构建复杂对象 |
| 结构型 | Adapter | 接口转换 |
| 结构型 | Decorator | 动态添加职责 |
| 行为型 | Strategy | 可替换算法 |
| 行为型 | Template Method | 定义算法骨架,子类实现细节 |
| 行为型 | Iterator | 数据流处理、管道模式 |
### Checklist
- [ ] 类职责是否单一清晰?
- [ ] 继承层次是否合理(不超过 2-3 层)?
- [ ] 依赖是否指向抽象而非具体实现?
- [ ] 模块边界是否明确?
---
## 4.2.2 接口设计
> **接口设计关注对外暴露的 public API**,内部接口在 4.2.1 中定义。
### 设计原则
| 原则 | 说明 |
|------|------|
| **最小化** | 只暴露必要的接口,隐藏实现细节 |
| **一致性** | 命名、参数顺序、错误处理风格统一 |
| **向后兼容** | 接口变更不破坏现有调用方 |
| **自描述** | 接口签名本身能表达意图 |
### 接口定义要素
```cpp
// 示例:接口定义应包含
class StorageEngine {
public:
// 1. 方法签名:清晰的命名和参数
// 2. 参数约束:哪些可为空?取值范围?
// 3. 返回值:成功/失败如何表示?
// 4. 错误码:可能返回哪些错误?
// 5. 线程安全:是否可并发调用?
/**
* @brief 写入 KV 对
* @param key 键,不能为空
* @param value 值
* @return Status::OK 成功
* Status::KeyTooLong key 超过 64KB
* Status::IOError 写入失败
* @thread_safety 线程安全
*/
virtual Status Put(const Slice& key, const Slice& value) = 0;
};
```
### 版本兼容策略
| 变更类型 | 兼容性 | 处理方式 |
|----------|--------|----------|
| 新增方法 | 向后兼容 | 直接添加 |
| 新增可选参数 | 向后兼容 | 提供默认值 |
| 删除方法 | **不兼容** | 先废弃,下个大版本删除 |
| 修改参数类型 | **不兼容** | 新增方法,废弃旧方法 |
### Checklist
- [ ] 接口是否最小化(不暴露不必要的方法)?
- [ ] 参数和返回值是否清晰定义?
- [ ] 错误码是否完整列出?
- [ ] 线程安全性是否说明?
- [ ] 是否考虑了向后兼容?
---
## 4.2.3 数据模型
> **何时需要**:涉及数据存储、Schema 变更、新增数据结构时。
### 设计要素
| 要素 | 需要明确 |
|------|----------|
| **Schema** | 字段定义、类型、约束 |
| **索引** | 查询模式决定索引设计 |
| **编码格式** | 序列化方式(protobuf/flatbuffers/自定义) |From davidYichengWei/agentic-engineering-framework, MIT.
More from davidYichengWei/agentic-engineering-framework
- 0.524score
workflow-code-generation
davidYichengWei
代码文件修改的统一入口。当用户请求任何代码变更(新功能、优化、Bug 修复、重构)时必须首先调用此 skill。仅适用于代码文件(如 .cc/.cpp/.h/.go/.py 等),修改 .md 等非代码文件时不需要调用。它会评估复杂度、检查 spec.md、生成 tasks.md、并逐个任务执行。
SkillDFreshness: D★ 159Claude Code +9 - 0.521score
bp-performance-optimization
davidYichengWei
提供性能优化方法论、设计原则和具体优化规则。在编写代码、优化性能瓶颈、进行 code review 时使用,涵盖 CPU、内存、I/O、并发等维度。
SkillDFreshness: D★ 159Claude Code +9 - 0.521score
bp-skill-authoring
davidYichengWei
指导编写和改进 Agent Skill 文件(SKILL.md),涵盖 YAML frontmatter、精简写作、渐进式披露、常用模式。当用户要创建新 Skill、改进现有 SKILL.md、或询问 Skill 编写规范时使用。
SkillDFreshness: D★ 159Claude Code +9 - 0.521score
self-refinement
davidYichengWei
将纠错经验沉淀为持久化的 Rules/Skills 更新,构建反馈闭环。当被用户纠正且错误具有模式性时自动触发,或通过 /reflect 命令手动触发回顾。
SkillDFreshness: D★ 159Claude Code +9 - 0.521score
std-cpp
davidYichengWei
提供 C++ 编码规范(基于 Google C++ Style Guide)。当编写或 review C++ 代码(.cc/.cpp/.h 文件)时使用。
SkillDFreshness: D★ 159Claude Code +9 - 0.521score
std-go
davidYichengWei
提供 Go 编码规范(基于 Google Go Style Guide)。当编写或 review Go 代码(.go 文件)时使用。
SkillDFreshness: D★ 159Claude Code +9 - 0.521score
bp-architecture-design
davidYichengWei
提供架构设计原则,包括模块划分、依赖管理、数据架构、接口设计。在系统设计阶段讨论方案概览时使用,或在 code review 中评估架构合理性时使用。
SkillDFreshness: D★ 159Claude Code +9 - 0.521score
bp-distributed-systems
davidYichengWei
提供分布式系统设计 best practices(对应常见 fallacies)及各 SDLC 阶段 checklist。当需求涉及网络通信、多节点协调、数据一致性、故障恢复时使用。
SkillDFreshness: D★ 159Claude Code +9 - 0.521score
workflow-test-generation
davidYichengWei
测试生成。基于 spec.md 或被测代码,生成单元测试、集成测试、性能测试。当用户请求生成测试、TDD 模式、或 workflow-code-generation 完成后触发。
SkillDFreshness: D★ 159Claude Code +9 - 0.521score
workflow-code-review
davidYichengWei
代码评审。协调 5 个专项 reviewer subagent 对代码进行并行多维度审查。可由用户直接触发,也可由主 agent 加载后作为 Judge 执行。
SkillDFreshness: D★ 159Claude Code +9 - 0.521score
workflow-requirements-clarification
davidYichengWei
需求澄清。只负责明确"要解决什么问题",生成 spec.md 的前三章节(背景、目标、需求)。禁止在本阶段讨论设计方案——设计是 workflow-system-design skill 的职责。
SkillDFreshness: D★ 159Claude Code +9 - 0.521score
workflow-system-design
davidYichengWei
系统设计。当 spec.md 前三章节(背景、目标、需求)已完整但设计章节为空时调用。按 spec.md 章节顺序逐个与用户讨论,每轮只处理一个 section。
SkillDFreshness: D★ 159Claude Code +9
Signals
- Stars
- 159
- Forks
- 47
- Open issues
- 1
- Last commit (this folder)
- Feb 26, 2026 (8 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from davidYichengWei
- 0.524score
workflow-code-generation
davidYichengWei
代码文件修改的统一入口。当用户请求任何代码变更(新功能、优化、Bug 修复、重构)时必须首先调用此 skill。仅适用于代码文件(如 .cc/.cpp/.h/.go/.py 等),修改 .md 等非代码文件时不需要调用。它会评估复杂度、检查 spec.md、生成 tasks.md、并逐个任务执行。
SkillDFreshness: D★ 159Claude Code +9 - 0.521score
bp-performance-optimization
davidYichengWei
提供性能优化方法论、设计原则和具体优化规则。在编写代码、优化性能瓶颈、进行 code review 时使用,涵盖 CPU、内存、I/O、并发等维度。
SkillDFreshness: D★ 159Claude Code +9 - 0.521score
bp-skill-authoring
davidYichengWei
指导编写和改进 Agent Skill 文件(SKILL.md),涵盖 YAML frontmatter、精简写作、渐进式披露、常用模式。当用户要创建新 Skill、改进现有 SKILL.md、或询问 Skill 编写规范时使用。
SkillDFreshness: D★ 159Claude Code +9 - 0.521score
self-refinement
davidYichengWei
将纠错经验沉淀为持久化的 Rules/Skills 更新,构建反馈闭环。当被用户纠正且错误具有模式性时自动触发,或通过 /reflect 命令手动触发回顾。
SkillDFreshness: D★ 159Claude Code +9 - 0.521score
std-cpp
davidYichengWei
提供 C++ 编码规范(基于 Google C++ Style Guide)。当编写或 review C++ 代码(.cc/.cpp/.h 文件)时使用。
SkillDFreshness: D★ 159Claude Code +9 - 0.521score
bp-architecture-design
davidYichengWei
提供架构设计原则,包括模块划分、依赖管理、数据架构、接口设计。在系统设计阶段讨论方案概览时使用,或在 code review 中评估架构合理性时使用。
SkillDFreshness: D★ 159Claude Code +9
Cite this page
bp-component-design skill. Agent Mart. https://agentmart.dev/skills/davidyichengwei-bp-component-design (last updated 2026-10-24)