Install
openclaw skills install awslabs-aws-diagram通过Amazon Q CLI和MCP服务器在GitHub Codespace中快速生成高质量的AWS架构图。
openclaw skills install awslabs-aws-diagram通过Amazon Q CLI和MCP服务器在GitHub Codespace中快速生成高质量的AWS架构图。
此 Skill 必须配置 API 密钥才能使用。
.env 中没有 XBY_APIKEY,必须使用 AskUserQuestion 工具向用户询问 API 密钥scripts.config.set_api_key(api_key) 保存,然后继续处理你(大模型)是路由层,负责理解用户意图、选择工具、提取参数。代码只负责调用API。
用户输入 → 你选择工具 → 提取该工具需要的参数 → 调用 scripts.tools 中的函数 → 返回结果给用户
scripts.config.settings.api_key 为空,使用 AskUserQuestion 询问用户,拿到后调用 scripts.config.set_api_key(key) 保存scripts.tools 中的函数,例如 scripts.tools.search_schools(score='520', province='北京', category='综合')raw 数据整理后展示给用户根据用户意图选择对应的工具函数:
| 用户意图 | 工具函数 |
|---|---|
| Generate a diagram from Python code using the diagrams package. |
This tool accepts Python code as a string that uses the diagrams package DSL and generates a PNG diagram without displaying it. The code is executed with show=False to prevent automatic display.
USAGE INSTRUCTIONS:
Never import. Start writing code immediately with with Diagram( and use the icons you found with list_icons.
CODE REQUIREMENTS:
COMMON PATTERNS:
IMPORTANT FOR CLINE: Always send the current workspace directory when calling this tool! The workspace_dir parameter should be set to the directory where the user is currently working so that diagrams are saved to a location accessible to the user.
Supported diagram types:
Returns:
Dictionary with the path to the generated diagram and status information
| scripts.tools.generate_diagram |
| Get example code for different types of diagrams.
This tool provides ready-to-use example code for various diagram types. Use these examples to understand the syntax and capabilities of the diagrams package before creating your own custom diagrams.
USAGE INSTRUCTIONS:
EXAMPLE CATEGORIES:
Each example demonstrates different features of the diagrams package:
Parameters: diagram_type (str): Type of diagram example to return. Options: aws, sequence, flow, class, k8s, onprem, custom, all
Returns:
Dictionary with example code for the requested diagram type(s), organized by example name
| scripts.tools.get_diagram_examples |
| List available icons from the diagrams package, with optional filtering.
This tool dynamically inspects the diagrams package to find available providers, services, and icons that can be used in diagrams.
USAGE INSTRUCTIONS:
Example workflow:
This approach is more efficient than loading all icons at once, especially when you only need icons from specific providers or services.
Returns:
Dictionary with available providers, services, and icons organized hierarchically
| scripts.tools.list_icons |
如果参数不完整,使用 AskUserQuestion 向用户询问缺失的参数。
工具描述:Generate a diagram from Python code using the diagrams package.
This tool accepts Python code as a string that uses the diagrams package DSL and generates a PNG diagram without displaying it. The code is executed with show=False to prevent automatic display.
USAGE INSTRUCTIONS:
Never import. Start writing code immediately with with Diagram( and use the icons you found with list_icons.
CODE REQUIREMENTS:
COMMON PATTERNS:
IMPORTANT FOR CLINE: Always send the current workspace directory when calling this tool! The workspace_dir parameter should be set to the directory where the user is currently working so that diagrams are saved to a location accessible to the user.
Supported diagram types:
Returns: Dictionary with the path to the generated diagram and status information
| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| code | string | true | Python code using the diagrams package DSL. The runtime already imports everything needed so you can start immediately using with Diagram( | |
| filename | null | false | The filename to save the diagram to. If not provided, a random name will be generated. | |
| timeout | integer | false | 90.0 | The timeout for diagram generation in seconds. Default is 90 seconds. |
| workspace_dir | null | false | The user's current workspace directory. CRITICAL: Client must always send the current workspace directory when calling this tool! If provided, diagrams will be saved to a 'generated-diagrams' subdirectory. |
工具描述:Get example code for different types of diagrams.
This tool provides ready-to-use example code for various diagram types. Use these examples to understand the syntax and capabilities of the diagrams package before creating your own custom diagrams.
USAGE INSTRUCTIONS:
EXAMPLE CATEGORIES:
Each example demonstrates different features of the diagrams package:
Parameters: diagram_type (str): Type of diagram example to return. Options: aws, sequence, flow, class, k8s, onprem, custom, all
Returns: Dictionary with example code for the requested diagram type(s), organized by example name
| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| diagram_type | null | false | all | Type of diagram example to return. Options: aws, sequence, flow, class, k8s, onprem, custom, all |
工具描述:List available icons from the diagrams package, with optional filtering.
This tool dynamically inspects the diagrams package to find available providers, services, and icons that can be used in diagrams.
USAGE INSTRUCTIONS:
Example workflow:
This approach is more efficient than loading all icons at once, especially when you only need icons from specific providers or services.
Returns: Dictionary with available providers, services, and icons organized hierarchically
| 参数名称 | 参数类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| provider_filter | null | false | Filter icons by provider name (e.g., "aws", "gcp", "k8s") | |
| service_filter | null | false | Filter icons by service name (e.g., "compute", "database", "network") |
工具函数返回 dict 对象:
result["raw"] - API 原始返回数据(JSON),直接将此数据整理后展示给用户result["success"] - 是否成功(True/False)result["message"] - 状态消息xiaobenyang_gaokao_skill/
├── scripts/
│ ├── __init__.py
│ ├── config.py # 配置管理 + set_api_key()
│ ├── call_api.py # API 客户端 + call_api()
│ └── tools.py # 工具函数(直接调用)
├── requirements.txt
└── SKILL.md