Skill v1.1.0
currentLLM-judged scan90/100+1 new
name: archimate description: Create ArchiMate enterprise architecture diagrams using PlantUML stdlib macros. Best for TOGAF viewpoints, layered EA modeling (Business/Application/Technology), motivation analysis, and migration planning. metadata: author: ArchiMate diagrams are powered by Markdown Viewer — the best multi-platform Markdown extension (Chrome/Edge/Firefox/VS Code) with diagrams, formulas, and one-click Word export. Learn more at https://docu.md version: "1.1.0" domain: "tech" last_updated: "2026-09-19" status: "stable"
Enterprise Architecture Diagram Generator (ArchiMate)
Quick Start: Add !include <archimate/Archimate> → Declare typed elements → Connect with Rel_* macros → Group into layers with rectangle → Wrap in `plantuml fence.
⚠️ IMPORTANT: Always use`plantumlor`pumlcode fence. NEVER use`text— it will NOT render as a diagram.
When To Use / Diagnostic Intake
适用于表达业务、应用、技术及迁移视图。先确定受众、观点、当前/目标状态、必须出现的实体和关系;仅有清单时不推断生产依赖。
Workflow
选择一个视图→核实元素类型与关系→建立唯一别名→生成 PlantUML→渲染并核对图例及边界。
Tools and Dependencies
需要兼容 stdlib ArchiMate 宏的 PlantUML 渲染器;调用前确认环境可用。无渲染器时提供源文件并说明验证范围。
Critical Rules
- Every diagram starts with
@startumland ends with@enduml - Must include
!include <archimate/Archimate>before using any macros - Element syntax:
Layer_Type(alias, "Label") - Relationship syntax:
Rel_Type(fromAlias, toAlias, "label") - Use
rectangle "Layer" { ... }to group elements into ArchiMate layers - Directional suffixes
_Up,_Down,_Left,_Rightcontrol relationship direction
Element Macros
Business Layer
| Macro | ArchiMate Element | |
|---|---|---|
Business_Actor(id, "Label") | Business Actor | |
Business_Role(id, "Label") | Business Role | |
Business_Process(id, "Label") | Business Process | |
Business_Function(id, "Label") | Business Function | |
Business_Service(id, "Label") | Business Service | |
Business_Event(id, "Label") | Business Event | |
Business_Interface(id, "Label") | Business Interface | |
Business_Collaboration(id, "Label") | Business Collaboration | |
Business_Object(id, "Label") | Business Object | |
Business_Product(id, "Label") | Business Product | |
Business_Contract(id, "Label") | Business Contract | |
Business_Representation(id, "Label") | Business Representation |
Application Layer
| Macro | ArchiMate Element | |
|---|---|---|
Application_Component(id, "Label") | Application Component | |
Application_Service(id, "Label") | Application Service | |
Application_Function(id, "Label") | Application Function | |
Application_Interface(id, "Label") | Application Interface | |
Application_Process(id, "Label") | Application Process | |
Application_Interaction(id, "Label") | Application Interaction | |
Application_Event(id, "Label") | Application Event | |
Application_Collaboration(id, "Label") | Application Collaboration | |
Application_DataObject(id, "Label") | Application Data Object |
Technology Layer
| Macro | ArchiMate Element | |
|---|---|---|
Technology_Device(id, "Label") | Technology Device | |
Technology_Node(id, "Label") | Technology Node | |
Technology_SystemSoftware(id, "Label") | System Software | |
Technology_Artifact(id, "Label") | Technology Artifact | |
Technology_CommunicationNetwork(id, "Label") | Communication Network | |
Technology_Path(id, "Label") | Technology Path | |
Technology_Service(id, "Label") | Technology Service | |
Technology_Process(id, "Label") | Technology Process | |
Technology_Function(id, "Label") | Technology Function | |
Technology_Interface(id, "Label") | Technology Interface |
Motivation Layer
| Macro | ArchiMate Element | |
|---|---|---|
Motivation_Stakeholder(id, "Label") | Stakeholder | |
Motivation_Driver(id, "Label") | Driver | |
Motivation_Assessment(id, "Label") | Assessment | |
Motivation_Goal(id, "Label") | Goal | |
Motivation_Outcome(id, "Label") | Outcome | |
Motivation_Principle(id, "Label") | Principle | |
Motivation_Requirement(id, "Label") | Requirement | |
Motivation_Constraint(id, "Label") | Constraint | |
Motivation_Value(id, "Label") | Value |
Strategy Layer
| Macro | ArchiMate Element | |
|---|---|---|
Strategy_Capability(id, "Label") | Capability | |
Strategy_Resource(id, "Label") | Resource | |
Strategy_CourseOfAction(id, "Label") | Course of Action | |
Strategy_ValueStream(id, "Label") | Value Stream |
Implementation Layer
| Macro | ArchiMate Element | |
|---|---|---|
Implementation_WorkPackage(id, "Label") | Work Package | |
Implementation_Deliverable(id, "Label") | Deliverable | |
Implementation_Plateau(id, "Label") | Plateau | |
Implementation_Gap(id, "Label") | Gap | |
Implementation_Event(id, "Label") | Implementation Event |
Relationship Macros
All relationships support directional suffixes: _Up, _Down, _Left, _Right.
| Macro | ArchiMate Relationship | Line Style | |
|---|---|---|---|
Rel_Composition(from, to, "label") | Composition | Solid + filled diamond | |
Rel_Aggregation(from, to, "label") | Aggregation | Solid + open diamond | |
Rel_Assignment(from, to, "label") | Assignment | Solid + circle→triangle | |
Rel_Realization(from, to, "label") | Realization | Dotted + hollow triangle | |
Rel_Serving(from, to, "label") | Serving | Solid + arrow | |
Rel_Triggering(from, to, "label") | Triggering | Solid + filled triangle | |
Rel_Flow(from, to, "label") | Flow | Dashed + filled triangle | |
Rel_Access(from, to, "label") | Access | Dotted line | |
Rel_Access_r(from, to, "label") | Access (read) | Dotted + arrow | |
Rel_Access_w(from, to, "label") | Access (write) | Dotted + reverse arrow | |
Rel_Influence(from, to, "label") | Influence | Dashed + arrow | |
Rel_Association(from, to, "label") | Association | Solid line | |
Rel_Specialization(from, to, "label") | Specialization | Solid + hollow triangle |
Quick Example
@startuml!include <archimate/Archimate>rectangle "Business" {Business_Actor(customer, "Customer")Business_Process(order, "Order Process")Business_Service(orderSvc, "Order Service")}rectangle "Application" {Application_Component(orderApp, "Order System")Application_Service(orderAPI, "Order API")}rectangle "Technology" {Technology_Node(server, "App Server")Technology_Device(db, "Database Server")}Rel_Triggering(customer, order, "places order")Rel_Realization(order, orderSvc, "realizes")Rel_Serving(orderAPI, orderSvc, "serves")Rel_Realization(orderApp, orderAPI, "realizes")Rel_Assignment(server, orderApp, "runs on")Rel_Serving(db, server, "stores data")@enduml
Diagram Types
| Type | Purpose | Key Macros | Example | |
|---|---|---|---|---|
| Enterprise Landscape | Full B/A/T layered view | All layers | enterprise-landscape.md | |
| Application Integration | App-to-app data flows | Application_* | application-integration.md | |
| Technology Infrastructure | Infrastructure stack | Technology_* | technology-infrastructure.md | |
| Business Capability | Capability map | Strategy_*, Business_* | business-capability.md | |
| Migration Planning | Plateau-based roadmap | Implementation_* | migration-planning.md | |
| Security Architecture | Security controls | Technology_*, Motivation_* | security-architecture.md | |
| Data Architecture | Data flow & ownership | Application_DataObject, Rel_Access_* | data-architecture.md | |
| DevOps Pipeline | CI/CD delivery chain | Technology_*, Application_* | devops-pipeline.md |
Capability Upgrade
Mode Selection
- Quick: 根据用户描述生成单视角 ArchiMate 图。
- Standard: 选择业务、应用、技术、动机或迁移视角,并输出可渲染 PlantUML。
- Deep: 结合项目架构、业务能力、系统清单、数据流和迁移计划,形成多视角架构图包。
Viewpoint Decision Logic
先判断用户要解释什么:业务能力、应用集成、技术部署、动机目标、安全控制还是迁移路线。不同问题不能混在一张图里;复杂架构应拆成多个 viewpoint。
Quality Gates
- [ ] 元素层级符合 ArchiMate 语义,不混用业务/应用/技术层。
- [ ] 关系类型准确,避免全部使用普通箭头。
- [ ] 图中节点数量适中,必要时拆图。
- [ ] 命名能被业务和技术读者理解。
- [ ] 输出包含可复制 PlantUML 和简短解读。
Deliverable Catalog
| Deliverable | When to use | Minimum content | Format | |
|---|---|---|---|---|
| ArchiMate viewpoint diagram | 单一架构视角 | 视角目标、元素、关系、PlantUML 和说明 | PlantUML / Markdown | |
| Enterprise architecture pack | 多层架构说明 | 业务、应用、技术、动机、迁移视角和关系 | Markdown / PPT | |
| Capability map | 业务能力建模 | 能力、层级、owner、支撑应用和目标关联 | PlantUML / PPT | |
| Application integration view | 系统集成说明 | 应用、接口、数据对象、协议和依赖关系 | PlantUML | |
| Migration roadmap view | 架构演进 | 当前/目标 plateau、work package、里程碑和依赖 | PlantUML / PPT | |
| Diagram QA checklist | 发布前检查 | 语义、关系、层级、命名、密度和可读性 | Checklist |