backend-api-designer

v1.0.1

高级软件架构师级别的业务方案设计与后端技术落地。功能包括:(1) 工程分析 - 读取现有工程,分析代码结构、接口风格、数据模型;(2) 业务方案设计 - 需求分析、架构设计、技术选型、实施规划;(3) 流程图设计 - 业务流程图、状态机图、时序图、架构图;(4) 接口设计 - Go proto 风格的 gRPC/...

0· 191·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for jjjypink1211/jinyun.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "backend-api-designer" (jjjypink1211/jinyun) from ClawHub.
Skill page: https://clawhub.ai/jjjypink1211/jinyun
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install jinyun

ClawHub CLI

Package manager switcher

npx clawhub@latest install jinyun
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
技能名和描述是高级后端/架构设计,SKILL.md 中的步骤(读取 proto/sql/go 文件、分析项目结构、产出架构图/Proto/SQL 等)与该目的直接相关,所需资源与功能相符。
Instruction Scope
运行时指令明确要求读取并分析用户提供的工程路径(使用示例的 find 命令、读取 proto/sql/服务层代码并生成报告与 Mermaid 图)。这是该技能核心功能,但意味着技能会访问用户指示的代码和文件:确保只指向可公开/可分享的项目路径,不要指向包含密钥或生产凭据的目录。
Install Mechanism
无安装规范、无二进制下载,也无代码文件可执行;这是 instruction-only(仅文档)技能,因而不会在宿主系统上写入或安装额外组件。
Credentials
技能不要求任何环境变量、凭证或配置路径;所需权限与其宣称功能(读取由用户提供的工程文件)成比例。
Persistence & Privilege
flags 显示 always:false,允许用户调用且不强制常驻;默认的模型调用权限未被滥用。技能也不修改其他技能或系统配置。
Assessment
该技能在功能和要求上自洽且没有可疑安装或外部凭据请求。但在使用前请注意:1) 技能会读取你提供的工程路径下的文件——不要指向包含密钥、密码、云凭据或敏感生产配置的目录;2) 虽然技能本身不上传或声明外部端点,但任何给出的代码/配置内容可能在聊天记录或生成的报告中被保留或显示,谨慎处理敏感信息;3) 如果你希望更严格的安全边界,可在隔离的副本仓库或仅含非敏感样本的目录上运行分析;4) 若担心自动调用行为,可限制技能的使用为仅由你手动触发(当前技能为非强制常驻且可由用户调用)。

Like a lobster shell, security has layers — review code before you run it.

latestvk979b3ge3bkj115ynz80f34rcs83m5hy
191downloads
0stars
2versions
Updated 1mo ago
v1.0.1
MIT-0

业务方案与技术设计

高级软件架构师视角,提供从业务分析到技术落地的完整设计方案。

使用方式

需求类型说明
工程分析 + 方案设计提供工程路径,分析现有设计后输出方案
业务方案设计描述业务场景,输出完整方案文档
流程图设计描述流程,输出 Mermaid 图表
接口与表设计描述具体模块,输出 proto + SQL

一、流程图设计

使用 Mermaid 语法输出各类图表,支持在 Markdown 中渲染。

图表类型

1. 业务流程图 (Flowchart)

展示业务操作流程、决策分支、并行处理。

flowchart TD
    A[用户下单] --> B{库存检查}
    B -->|充足| C[创建订单]
    B -->|不足| D[提示缺货]
    C --> E[支付]
    E -->|成功| F[扣减库存]
    E -->|失败| G[取消订单]
    F --> H[发货]
    H --> I[完成]

语法要点:

  • TD/TB - 从上到下,LR - 从左到右
  • [] 矩形,{} 菱形(判断),(()) 圆形
  • --> 连接线,-->|文字| 带文字连接

2. 状态机图 (State Diagram)

展示实体状态流转、触发条件。

stateDiagram-v2
    [*] --> 待支付
    待支付 --> 已支付: 支付成功
    待支付 --> 已取消: 超时/用户取消
    已支付 --> 已发货: 发货
    已发货 --> 已完成: 确认收货
    已发货 --> 已退款: 申请退款
    已完成 --> [*]
    已取消 --> [*]
    已退款 --> [*]

3. 时序图 (Sequence Diagram)

展示系统间交互、API 调用顺序。

sequenceDiagram
    participant U as 用户
    participant F as 前端
    participant G as API网关
    participant O as 订单服务
    participant P as 支付服务
    participant N as 通知服务
    
    U->>F: 下单
    F->>G: POST /api/v1/orders
    G->>O: CreateOrder
    O->>P: 预支付
    P-->>O: 支付链接
    O-->>G: 订单+支付链接
    G-->>F: 返回数据
    F->>U: 跳转支付页
    
    Note over U,P: 用户完成支付
    
    P->>O: 支付回调
    O->>N: 发送通知
    N->>U: 支付成功通知

语法要点:

  • participant A as 别名 定义参与者
  • ->> 实线箭头,-->> 虚线箭头
  • Note over A,B: 说明 添加注释

4. 架构图 (Flowchart/C4)

展示系统架构、模块关系。

flowchart TB
    subgraph 客户端
        A[Web端]
        B[App端]
    end
    
    subgraph 网关层
        C[API网关]
    end
    
    subgraph 服务层
        D[用户服务]
        E[订单服务]
        F[商品服务]
        G[支付服务]
    end
    
    subgraph 数据层
        H[(MySQL)]
        I[(Redis)]
        J[(MQ)]
    end
    
    A --> C
    B --> C
    C --> D
    C --> E
    C --> F
    C --> G
    D --> H
    E --> H
    E --> J
    F --> H
    F --> I
    G --> J

5. ER 图 (Entity Relationship)

展示数据实体关系。

erDiagram
    USER ||--o{ ORDER : "下单"
    USER {
        bigint id PK
        string username
        string email
    }
    ORDER ||--|{ ORDER_ITEM : "包含"
    ORDER {
        bigint id PK
        string order_no UK
        bigint user_id FK
        decimal total_amount
        int status
    }
    ORDER_ITEM }|--|| PRODUCT : "商品"
    ORDER_ITEM {
        bigint id PK
        bigint order_id FK
        bigint product_id FK
        int quantity
        decimal price
    }
    PRODUCT {
        bigint id PK
        string name
        decimal price
        int stock
    }

二、工程分析

分析流程

当用户提供工程路径时,按以下步骤分析:

1. 目录结构分析

find . -type f -name "*.proto" | head -20
find . -type f -name "*.sql" | head -20
find . -type f -name "*.go" | head -30

分析要点:

  • 项目分层结构
  • 模块划分方式
  • 命名规范

2. 接口风格分析

读取 proto 文件,提取命名风格。

3. 数据模型分析

读取 SQL 或实体定义,提取表结构规范。

4. 业务流程分析

读取 service 层代码,提取核心逻辑。

分析输出

# 工程分析报告

## 1. 项目结构
[目录树]

## 2. 接口风格
[proto 规范]

## 3. 数据模型
[表结构规范]

## 4. 业务流程图
[Mermaid 流程图]

## 5. 设计建议
[基于现有风格的建议]

三、业务方案设计

设计流程

1. 需求分析

  • 业务背景与目标
  • 核心业务流程
  • 关键业务实体
  • 用户角色与权限

2. 架构设计

  • 系统架构图
  • 模块划分
  • 技术选型

3. 详细设计

  • 用例设计
  • 状态机设计
  • 接口契约
  • 数据模型

4. 实施规划

  • 迭代计划
  • 风险评估

输出格式

# 业务方案设计文档

## 1. 需求概述
### 1.1 业务背景
### 1.2 业务目标
### 1.3 范围边界

## 2. 业务分析
### 2.1 用户角色
### 2.2 核心业务流程图
[Mermaid 流程图]
### 2.3 业务规则

## 3. 架构设计
### 3.1 系统架构图
[Mermaid 架构图]
### 3.2 模块划分
### 3.3 技术选型

## 4. 详细设计
### 4.1 核心实体
### 4.2 状态流转图
[Mermaid 状态机图]
### 4.3 时序图
[Mermaid 时序图]
### 4.4 数据模型
[Mermaid ER图]

## 5. 实施规划
### 5.1 迭代计划
### 5.2 风险评估

四、接口与数据库设计

数据表设计原则

  • 表名蛇形命名
  • 主键 id BIGINT UNSIGNED
  • 必备字段 created_atupdated_at
  • 软删除 deleted_at
  • 状态字段用 TINYINT

建表模板:

CREATE TABLE `table_name` (
    `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
    `field_name` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '字段说明',
    `status` TINYINT NOT NULL DEFAULT 0 COMMENT '状态: 0-禁用 1-启用',
    `created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
    `updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    `deleted_at` DATETIME DEFAULT NULL,
    PRIMARY KEY (`id`),
    KEY `idx_field` (`field_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='表说明';

Proto 接口设计规范

  • package: api.{module}.v1
  • service: {Module}Service
  • method: Create{Entity}Get{Entity}List{Entities}Update{Entity}Delete{Entity}
  • message: {Entity}Request{Entity}Response

参考资料

Comments

Loading comments...