通过Amazon Q CLI和MCP服务器在GitHub Codespace中快速生成高质量的AWS架构图。
此 Skill 必须配置 API 密钥才能使用。
.env 中没有 XBY_APIKEY, 必须使用 AskUserQuestion 工具向用户询问 API 密钥scripts.config.set_api_key(api_key) 保存,然后继续处理你(大模型)是路由层,负责理解用户意图、选择工具、提取参数。代码只负责调用API。
text
用户输入 → 你选择工具 → 提取该工具需要的参数 → 调用 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
参数名称参数类型是否必填默认值描述codestringtruePython code using the diagrams package DSL. The runtime already imports everything needed so you can start immediately using with Diagram(filenamenullfalseThe filename to save the diagram to. If not provided, a random name will be generated.timeoutintegerfalse90.0The timeout for diagram generation in seconds. Default is 90 seconds.workspace_dirnullfalseThe 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_typenullfalseallType 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_filternullfalseFilter icons by provider name (e.g., "aws", "gcp", "k8s")service_filternullfalseFilter icons by service name (e.g., "compute", "database", "network")
工具函数返回 dict 对象:
result["raw"] - API 原始返回数据(JSON), 直接将此数据整理后展示给用户result["success"] - 是否成功(True/False)result["message"] - 状态消息text
xiaobenyang_gaokao_skill/
├── scripts/
│ ├── __init__.py
│ ├── config.py # 配置管理 + set_api_key()
│ ├── call_api.py # API 客户端 + call_api()
│ └── tools.py # 工具函数(直接调用)
├── requirements.txt
└── SKILL.md