bp-component-design

Define component design principles for classes, interfaces, data models, concurrency, and error handling.

159|47|Updated Feb 26, 2026
One-click install
npx skills add https://github.com/davidYichengWei/agentic-engineering-framework --skill bp-component-design
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: bp-component-design
Source: https://github.com/davidYichengWei/agentic-engineering-framework/tree/main/skills/bp-component-design
Command: npx skills add https://github.com/davidYichengWei/agentic-engineering-framework --skill bp-component-design

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

提供组件级设计原则,包括类/模块设计、接口设计、数据模型、并发模型、错误处理。在系统设计阶段讨论组件详细设计时使用,或在 code review 中评估组件质量时使用。

Core Features & Use Cases

  • 第一性原理:将架构方案转化为可实现的代码结构,定义清晰职责边界和交互契约。
  • 设计要素覆盖:核心类/模块设计、接口设计、数据模型、并发模型、错误处理,以及设计原则与常用模式。
  • 评审检查点:对类职责、继承层次、依赖抽象、接口简洁性、错误处理等进行系统化检查。
  • 适用场景:在系统设计阶段、代码审查中评估组件质量与设计一致性。

Quick Start

Review the 4.2 design guidelines in this Skill during system design discussions or code reviews and apply the component design checks.

Frequently Asked Questions about bp-component-design

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
What are the core principles for robust component design in software engineering?

Robust component design requires defining clear responsibility boundaries and interaction contracts for class/module structures, interfaces, data models, concurrency, and error handling. These principles ensure architectural designs translate into maintainable code structures.

How do I evaluate component quality during a code review?

Evaluate component quality during code reviews by applying systematic design checklists covering class responsibilities, inheritance hierarchies, dependency abstractions, interface simplicity, and error handling to ensure clear boundaries and design consistency.

How do I design interfaces and data models for system components?

Design interfaces and data models by defining clear interaction contracts and responsibility boundaries using first principles. This approach ensures component structures are robust, dependencies are abstracted, and interfaces remain concise during system design discussions.

When do I need to define concurrency models and error handling for components?

Define concurrency models and error handling during the system design phase when translating architectural solutions into implementable code structures. This proactive approach ensures component interactions remain robust under concurrent operations and failure scenarios.

Does this component design approach work for both system design and code reviews?

Yes, this component design approach applies directly during system design discussions to detail component structures and within code reviews to evaluate existing component quality, ensuring clear boundaries and contracts across software engineering contexts.