mcpField
V
visual-design

visual-design

github.com/aws-samples设计与 UI19740 次安装3 周前更新
代码仓库

关于 visual-design

visual-design 是用于制作数据图表、海报、信息图和艺术作品的设计技能,面向需要生成视觉材料的工作流。它提供专用图表与视觉设计工具,并指引架构图使用 Excalidraw skill。

主要功能

  1. 01生成数据图表 PNG
  2. 02制作海报、信息图与艺术作品
  3. 03按要求导出 PNG 或 PDF
  4. 04通过 Excalidraw skill 创建可编辑图表

适用场景

  1. 01将数据整理为图表
  2. 02制作海报或信息图
  3. 03生成艺术或视觉设计作品
  4. 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.md
diagram-design.md
library-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、bokehPNG最适合图表
PDF 设计reportlab、fpdfPDF完全可控
图像设计Pillow + fonttoolsPNG最适合 PNG 设计
矢量图形svgwrite → svglib + renderPDFSVG → PDF不支持 SVG→PNG(没有 renderPM)
图像处理Wand (ImageMagick)、opencv-pythonPNG请先检查是否可用

重要:对于 PNG 输出,请使用 Pillow 或 matplotlib。不要使用 svgwrite→renderPM(rlPyCairo 不可用)。

设计工作流

数据图表(generate_chart)
  1. 确定数据结构并选择合适的图表类型
  2. 选择配色方案(见下文“设计创意”)
  3. 在代码中保留请求的标签、单位、颜色、尺寸和明确指定的坐标轴范围。根据生成结果核对这些内容。
  4. 编写代码,使用 plt.savefig(filename, dpi=300, bbox_inches='tight')
  5. 检查生成的图表,并确认保存的文件符合请求的格式和文件名
视觉设计(create_visual_design)
  1. (在内部)确立设计概念/理念
  2. 遵循 canvas-design.md 中的流程
  3. 选择合适的库并编写代码
  4. 保存:reportlab 使用 canvas.save(),Pillow 使用 image.save(),matplotlib 使用 plt.savefig()
  5. 检查输出并进行改进

设计创意

配色方案
主题主色强调色背景色
午夜高管风1E2761408EC60D1B2A
森林与苔藓2C5F2D97BC621A1A1A
珊瑚活力风F96167F9E7952F3C7E
海洋渐变065A821B9AAA021B29
炭灰极简风36454FE8E8E81C1C1E
樱桃大胆风990011FCF6F5150E11
鼠尾草宁静风84B59F69A2972D3A2D
暖陶土风B85042E7E8D12A1F1C
排版

优先使用纤细/轻量字体。尽量减少设计中的文字。

元素大小样式
主标题48-72pt粗体或纤细
副文本14-18pt轻量
标签/说明文字8-12pt常规、柔和

文字与画布的平衡(重要):

  • 文字大小必须与画布整体大小及周围设计元素成比例
  • 常见错误:文字相对于画布过小,导致在正常观看距离下难以辨认
  • 经验法则:如果需要放大才能读清,文字就太小了
  • 标题应醒目——拿不准时就用更大的字号
  • 标签/说明文字应清晰易读,而不是装饰性的点缀
  • 测试:在脑海中将输出缩小到 50%——所有文字仍应清晰可读
间距与构图
  • 留出充足的边距(至少占画布的 10%)
  • 元素之间保持间距一致
  • 元素不得重叠;所有元素都必须位于画布范围内
  • 视觉层次:通过尺寸、颜色和位置传达重要性
避免
  • 元素紧贴画布边缘(边距不足)
  • 元素重叠
  • 使用过多颜色(控制在 3-4 种)
  • 文字过多——视觉元素应为重点
  • 未经自定义的 matplotlib 默认样式

代码要求

  • 代码必须将文件保存到磁盘
  • 使用提供的确切 output_filename
  • PNG:建议使用 dpi=300 或更高
  • PDF:建议使用 A4 或 Letter 尺寸
  • 对于韩文文本:配置合适的字体

质量检查

假设存在问题并主动检查。

  1. 检查生成的图片/PDF
  2. 检查元素是否重叠、文字是否被裁切、边距是否不足
  3. 验证颜色对比度是否充足
  4. 如果发现问题,修复代码并重新生成
  5. 如果检查未通过,进行修正并验证。不要仅为执行修复流程而重新生成已通过检查的输出。

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