关于 visual-design
visual-design 是用于制作数据图表、海报、信息图和艺术作品的设计技能,面向需要生成视觉材料的工作流。它提供专用图表与视觉设计工具,并指引架构图使用 Excalidraw skill。
主要功能
- 01生成数据图表 PNG
- 02制作海报、信息图与艺术作品
- 03按要求导出 PNG 或 PDF
- 04通过 Excalidraw skill 创建可编辑图表
适用场景
- 01将数据整理为图表
- 02制作海报或信息图
- 03生成艺术或视觉设计作品
- 04创建可编辑的架构或流程图
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ aws-samples/ sample-strands-agent-with-agentcore --skill visual-design安装后在 Claude Code 中输入/visual-design确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
canvas-design.mddiagram-design.mdlibrary-reference.md详细介绍
视觉设计
快速参考
| 任务 | 工具 | 指南 |
|---|---|---|
| 数据图表或图形 | generate_chart | 阅读 SKILL.md 中的设计创意 |
| 海报 / 信息图 / 艺术作品 | create_visual_design | 阅读 canvas-design.md |
| 架构 / 流程图 | Excalidraw skill | 使用 create_excalidraw_diagram 生成可在应用内编辑的结果。仅在需要栅格图像或印刷交付物时使用图像生成。 |
可用工具
generate_chart
数据可视化。执行 matplotlib/plotly 代码以生成图表 PNG。
python_code(str, required):图表生成 Python 代码output_filename(str, required):.png文件名
create_visual_design
视觉设计创作:海报、信息图、艺术作品、图表。 使用 reportlab、Pillow、svgwrite 或任何可用的库。
python_code(str, required):设计生成 Python 代码output_filename(str, required):.png或.pdf文件名
可用库
| 用途 | 库 | 输出 | 备注 |
|---|---|---|---|
| 数据图表 | matplotlib、plotly、bokeh | PNG | 最适合图表 |
| PDF 设计 | reportlab、fpdf | 完全可控 | |
| 图像设计 | Pillow + fonttools | PNG | 最适合 PNG 设计 |
| 矢量图形 | svgwrite → svglib + renderPDF | SVG → PDF | 不支持 SVG→PNG(没有 renderPM) |
| 图像处理 | Wand (ImageMagick)、opencv-python | PNG | 请先检查是否可用 |
重要:对于 PNG 输出,请使用 Pillow 或 matplotlib。不要使用 svgwrite→renderPM(rlPyCairo 不可用)。
设计工作流
数据图表(generate_chart)
- 确定数据结构并选择合适的图表类型
- 选择配色方案(见下文“设计创意”)
- 在代码中保留请求的标签、单位、颜色、尺寸和明确指定的坐标轴范围。根据生成结果核对这些内容。
- 编写代码,使用
plt.savefig(filename, dpi=300, bbox_inches='tight') - 检查生成的图表,并确认保存的文件符合请求的格式和文件名
视觉设计(create_visual_design)
- (在内部)确立设计概念/理念
- 遵循 canvas-design.md 中的流程
- 选择合适的库并编写代码
- 保存:reportlab 使用
canvas.save(),Pillow 使用image.save(),matplotlib 使用plt.savefig() - 检查输出并进行改进
设计创意
配色方案
| 主题 | 主色 | 强调色 | 背景色 |
|---|---|---|---|
| 午夜高管风 | 1E2761 | 408EC6 | 0D1B2A |
| 森林与苔藓 | 2C5F2D | 97BC62 | 1A1A1A |
| 珊瑚活力风 | F96167 | F9E795 | 2F3C7E |
| 海洋渐变 | 065A82 | 1B9AAA | 021B29 |
| 炭灰极简风 | 36454F | E8E8E8 | 1C1C1E |
| 樱桃大胆风 | 990011 | FCF6F5 | 150E11 |
| 鼠尾草宁静风 | 84B59F | 69A297 | 2D3A2D |
| 暖陶土风 | B85042 | E7E8D1 | 2A1F1C |
排版
优先使用纤细/轻量字体。尽量减少设计中的文字。
| 元素 | 大小 | 样式 |
|---|---|---|
| 主标题 | 48-72pt | 粗体或纤细 |
| 副文本 | 14-18pt | 轻量 |
| 标签/说明文字 | 8-12pt | 常规、柔和 |
文字与画布的平衡(重要):
- 文字大小必须与画布整体大小及周围设计元素成比例
- 常见错误:文字相对于画布过小,导致在正常观看距离下难以辨认
- 经验法则:如果需要放大才能读清,文字就太小了
- 标题应醒目——拿不准时就用更大的字号
- 标签/说明文字应清晰易读,而不是装饰性的点缀
- 测试:在脑海中将输出缩小到 50%——所有文字仍应清晰可读
间距与构图
- 留出充足的边距(至少占画布的 10%)
- 元素之间保持间距一致
- 元素不得重叠;所有元素都必须位于画布范围内
- 视觉层次:通过尺寸、颜色和位置传达重要性
避免
- 元素紧贴画布边缘(边距不足)
- 元素重叠
- 使用过多颜色(控制在 3-4 种)
- 文字过多——视觉元素应为重点
- 未经自定义的 matplotlib 默认样式
代码要求
- 代码必须将文件保存到磁盘
- 使用提供的确切
output_filename - PNG:建议使用
dpi=300或更高 - PDF:建议使用 A4 或 Letter 尺寸
- 对于韩文文本:配置合适的字体
质量检查
假设存在问题并主动检查。
- 检查生成的图片/PDF
- 检查元素是否重叠、文字是否被裁切、边距是否不足
- 验证颜色对比度是否充足
- 如果发现问题,修复代码并重新生成
- 如果检查未通过,进行修正并验证。不要仅为执行修复流程而重新生成已通过检查的输出。
UI 指南(来自 tools-config)
工具选择:
- generate_chart:数据图表/图形(matplotlib、plotly、bokeh)→ PNG
- create_visual_design:海报、信息图、艺术作品、流程图(reportlab、Pillow、svgwrite)→ PNG 或 PDF
代码要求:
- 图表:plt.savefig(filename, dpi=300, bbox_inches='tight')
- PDF 设计:canvas.save()(reportlab)或等效方法
- 图像设计:image.save(filename)(Pillow)
- PNG:建议使用 300+ dpi
- PDF:建议使用 A4 或 Letter 尺寸
评论
支持 Markdown