状态图生成Skill state-diagram

状态图生成技能用于从行为描述自动创建状态机图,支持PlantUML、Mermaid、XState等多种格式和C#或TypeScript实现代码生成,适用于软件生命周期建模、工作流设计、系统架构和状态机可视化,关键词:状态机、状态图、建模、工作流、软件设计、自动生成、PlantUML、Mermaid、XState。

架构设计 0 次安装 0 次浏览 更新于 3/11/2026

name: 状态图生成 description: 从行为描述创建状态机图。用于生命周期和工作流建模。 allowed-tools: 读取, 全局, 搜索, 写入, 技能, 任务 argument-hint: <行为描述> [–format <plantuml|mermaid|xstate>] [–implementation <csharp|typescript|none>]

/状态图生成 命令

从行为描述创建状态机图,可选择实现代码。

使用

/状态图生成 "订单生命周期从创建到交付"
/状态图生成 "用户账户状态" format=mermaid
/状态图生成 "支付处理工作流" implementation=csharp
/状态图生成 "文档审批过程" format=xstate implementation=typescript

工作流

步骤 1: 分析行为描述

解析描述以识别:

  • 正在建模的实体(订单、用户、文档)
  • 生命周期阶段或条件
  • 导致状态变化的触发器
  • 业务规则和约束

步骤 2: 调用状态机技能

加载 state-machine-design 技能用于:

  • 状态机模式和实践
  • 所选格式的表示语法
  • 实现模式

步骤 3: 识别状态

从描述中提取状态:

  • 初始状态(起点)
  • 正常状态(中间条件)
  • 最终状态(终止状态)
  • 复合状态(如果嵌套行为)

步骤 4: 定义转换

映射状态变化:

  • 事件/触发器导致转换
  • 守卫(必须为真的条件)
  • 动作(转换时的副作用)
  • 状态的入口/出口动作

步骤 5: 生成图

以所选格式创建状态机图:

  • PlantUML 用于详细文档
  • Mermaid 用于内联 Markdown
  • XState 用于可执行 TypeScript

步骤 6: 生成实现(可选)

如果请求实现:

  • C# 使用 Stateless 库模式
  • TypeScript 使用 XState 机器
  • 转换表方法

步骤 7: 输出结果

交付:

  1. 状态机图
  2. 状态/事件/转换表
  3. 实现代码(如果请求)
  4. 使用说明和边缘情况

格式特定输出

PlantUML

@startuml
title Entity State Machine

[*] --> Initial : Create

state Initial {
  Initial : entry / initialize
}

Initial --> Active : Activate [isValid]
Active --> Completed : Complete
Completed --> [*]

@enduml

Mermaid

stateDiagram-v2
    [*] --> Initial : Create
    Initial --> Active : Activate
    Active --> Completed : Complete
    Completed --> [*]

XState (TypeScript)

import { createMachine } from 'xstate';

const machine = createMachine({
  id: 'entity',
  initial: 'initial',
  states: {
    initial: {
      on: { ACTIVATE: 'active' }
    },
    active: {
      on: { COMPLETE: 'completed' }
    },
    completed: {
      type: 'final'
    }
  }
});

示例

订单生命周期

/状态图生成 "电商订单从草稿到交付或取消" implementation=csharp

输出:

  • PlantUML 图,包含所有订单状态
  • C# 实现使用 Stateless 库
  • 转换表带有守卫

文档审批

/状态图生成 "文档审批包括审查、修订和批准阶段" format=mermaid

输出:

  • Mermaid 状态图
  • 状态:草稿、提交、审查中、需要修订、批准、拒绝
  • 如果适用,并行审查轨道

用户账户

/状态图生成 "用户账户生命周期包括验证和暂停" format=xstate implementation=typescript

输出:

  • XState 机器定义
  • 状态:未验证、激活、暂停、停用
  • 状态转换的守卫
  • 通知的动作

状态机元素

状态

类型 描述
初始 起点(实心圆)
正常 常规状态
最终 终点(圆圈点)
复合 包含子状态
历史 记住最后子状态

转换

元素 描述
事件 转换的触发器
守卫 条件 [isValid]
动作 副作用 / notify

集成

该命令集成于:

  • uml-modeling:UML 状态图
  • openapi-design:API 状态文档
  • requirements-elicitation:行为需求
  • test-strategy:状态转换测试