mcpField
P
punk-cover

punk-cover

github.com/adrianpunk创意与媒体1.4k114 次安装2 周前更新
代码仓库

关于 punk-cover

punk-cover 是用于编写封面图像生成提示词的工作流技能,适合需要为文章或主题制作平台封面的用户。它要求从样式库选择一种合适样式,并将其与画幅、内容和封面结构整合。

主要功能

  1. 01从样式库选择一种样式
  2. 02按平台解析画幅比例
  3. 03将内容提炼为封面字段
  4. 04编写完整封面生成提示词
  5. 05按要求保存提示词与图像

适用场景

  1. 01为文章制作社交平台封面提示词
  2. 02将自定义比例解析为受支持画幅
  3. 03依据指定视觉方向生成封面方案

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/adrianpunk/punk-skill --skill punk-cover

安装后在 Claude Code 中输入/punk-cover确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
references/
cover-prompt-blueprint.md
platform-catalog.md
style-catalog.md

详细介绍

Punk Cover

核心规则

punk-cover 是一种封面生成工作流,而非风格的所有者。请从仓库级别的 styles/ 库中恰好选择一种可复用风格,然后将该风格原子编译为封面形式。

该工作流会根据本地环境进行适配。在展示选项前,先检测宿主系统的语言/区域设置:对于 zh、zh-CN、zh-TW 或其他中文区域设置,使用中文模式;对于其他区域设置,使用英文模式。用户可以通过 中文、English 或 中英双语 明确覆盖此设置。在所选模式下,将平台标签、风格名称、问题、通知和生成的辅助文本本地化。除非用户要求翻译,否则源标题和用户提供的专有名词保持不变。

最终图像提示词不能只是“封面说明 + 风格说明”的松散拼接,而必须是一个完整的、针对封面定制的提示词,将所选风格应用于封面形式。

使用以下三项输入:

  1. punk-cover 任务字段:平台、请求的宽高比、确定的生成宽高比、语言模式、可选的输出尺寸和输出模式、标题清晰度、文章摘要、封面传达目标,以及通用输出约束。
  2. 所选风格的 META.md 元数据和可复用视觉风格原子 STYLE.md。
  3. 定义完整封面提示词结构的 references/cover-prompt-blueprint.md。

风格文件定义可复用的视觉语言。封面蓝图定义输出形式。最终提示词必须将二者融合为一条完整的封面生成提示词。

资源

  • 阅读 references/style-catalog.md,以列出或选择封面风格。
  • 在展示平台选项或确定宽高比前,阅读 references/platform-catalog.md。
  • 在编写最终提示词前,阅读 references/cover-prompt-blueprint.md。
  • 对于所选风格,阅读以下两个文件:
    • ../../styles/{style-id}/META.md
    • ../../styles/{style-id}/STYLE.md
  • 仅展示其 META.md 元数据中 outputs 包含 cover 或 poster 的风格。
  • 除非其元数据明确包含 cover 或 poster,否则不要在 punk-cover 菜单中展示照片、头像、肖像、仅适用于宠物、仅适用于拍立得或图像混搭风格。
  • 不要使用旧版封面模板。只能使用所选风格的 META.md、STYLE.md 和 references/cover-prompt-blueprint.md。

工作流

  1. 分析源材料:

    • 提取核心视觉主体。
    • 如果存在完整的用户标题或主题,则予以保留,但不要将完整文章正文复制到任何输出字段中。
    • 如果所选风格包含副标题字段,则拟定一个可选副标题。
    • 总结背景、受众、情绪、隐喻和禁用元素。
    • 将较长的源材料转化为简洁的派生字段:标题/主题、1-3 句背景摘要、视觉主体、受众、情绪、隐喻和禁用元素。
  2. 在生成任何提示词之前,确认平台和宽高比:

    • 在展示本地化菜单之前,根据宿主系统解析语言模式。
    • 使用 references/platform-catalog.md 获取本地化平台菜单和完整的平台与比例映射。
    • 在任务字段中同时保留用户要求的比例和解析后的生成比例。
    • 如果用户要求的比例不受支持,则自动解析为数值上最接近的受支持生成比例。使用当前语言模式说明只能生成最接近的比例,然后直接使用解析后的比例;不要询问用户是否选择其他比例。
    • X 平台的 5:2 请求解析为 21:9。
    • 微信公众号的 2.35:1 请求解析为 21:9。
    • 受支持的自定义比例保持不变;不受支持的自定义比例按相同的最近比例规则处理。
    • 如果用户只提供了源内容,询问他们想发布到哪个平台。此时不要生成提示词。
    • 如果用户提供了自定义比例,按上述规则解析;除非平台会影响措辞,否则不要询问平台。
    • 如果用户提供了精确的宽 × 高尺寸但没有提供比例,则推导并保留该比例。如果明确给出的尺寸与比例冲突,则在生成之前询问以哪个为准。
    • 默认生成单张图片。如果用户明确要求一组多尺寸图片,则保留每个要求的比例或输出尺寸,并在生成之前要求至少两个目标。
    • 绝不能通过裁切、拉伸、填充或将多个比例放入同一个网格来满足多尺寸请求;应针对每个目标比例分别编写一个独立构图的提示词。
    • 仅当用户已经提供平台或比例,或明确表示一切自动决定时,才跳过此问题。
  3. 在生成任何提示词之前,确认风格:

    • 使用已根据宿主系统语言/区域设置解析的语言模式;接受用户明确指定的覆盖设置。
    • 展示风格选项时,只显示当前模式下本地化的 Style name 和 Best for 内容。除非用户选择双语模式或要求同时展示两种语言,否则不要同时展示中英文菜单。
    • 中文模式下,使用 references/style-catalog.md 中的中文风格名称和说明;英文模式下,使用对应的英文内容。两种模式下风格 ID 均保持不变。
    • 将风格 ID 或任一语言的本地化显示名称视为明确的风格选择。
    • 语言模式控制提示词、标题/副标题处理方式、标签、问题和辅助文本,但未经允许,不得翻译用户文本。
    • 如果用户指定了一个目录中的风格,则使用该风格。
    • 如果用户提供的完整视觉方向与目录中的某种风格相符,包括 复古时代错位编辑封面、复古未来主义 × 模拟基础设施 × 巨型系统流动 × 复古印刷质感、超大标题 × 中央视觉主体 × 图文穿插、真实纸雕层叠 × 极简留白 × 柔和光影 × 准确隐喻、真实纸张质感 × 击凸压凹 × 文字构图 × 克制视觉隐喻、抽象概念 → 具体场景 → 游戏机制 → 像素视觉隐喻、OSB 木板 × 工业蓝标识字 × 极简线条隐喻、黑白复古蚀刻版画 × 排线交叉排线 × 单一超现实隐喻,或 极简轻科技 × 纯白留白 × 单一渐变锚点 × 现代黑体标题,则视为已指定该风格,并使用相应的 META.md 和 STYLE.md,无需要求用户重复说明风格。
    • 如果未指定风格,根据内容推荐恰好三种符合条件的目录风格,为每种风格提供一句推荐理由,然后询问用户选择其中一种或提供自定义风格方向。
    • 除非用户要求完整菜单,否则默认不要展示所有符合条件的风格。
    • 只有用户明确表示一切自动决定时,才自动选择一种风格;仅仅因为用户提供了文章,并不足以自动选择风格。
  4. 使用确认门槛:

    • 如果缺少平台/画幅比例或风格信息,请在提问后停止。不要填写风格文件、保存提示词文件或生成图像。
    • 对于仅提供文章的输入,首次回复应包含平台问题和三种推荐风格。
    • 如果平台/画幅比例和风格都已确定,则无需提问,直接继续。
  5. 编写最终图像提示词:

    • 使用 references/cover-prompt-blueprint.md 作为 prompts/cover.md 的必需结构。
    • 从 ../../styles/{style-id}/STYLE.md 中准确读取一个选定风格的视觉原子。
    • 从 ../../styles/{style-id}/META.md 中读取所选风格的元数据,包括其中的 style_anchors、cover_shape_adaptation、must_preserve 和 avoid_when_applying_to_cover(如存在)。
    • 提取所选风格不可妥协的视觉锚点:材质、空间逻辑、标题处理方式、字体表现、纹理、色彩系统及风格特有的负面约束。
    • 将封面任务字段与风格锚点融合为一份完整的封面提示词。最终提示词应是一份完整的封面生成说明,类似 exports/ 中旧版的完整提示词,而不是把两段互不相关的提示词拼在一起。
    • 包含以下封面结构部分:角色/任务、输入字段、内容理解、标题层级、封面构图、风格应用、图文关系、排版、色彩/材质/纹理、负面约束及最终标准。
    • 每项封面设计决策都必须通过所选风格来表达。例如,如果所选风格是撕纸拼贴,标题、主体、辅助文字、背景和隐喻都必须以撕纸、旧报纸、胶带、颗粒感、半色调网点和纸张层次来呈现;不能只在通用封面提示词中附加拼贴相关词语。
    • 不要将原始 STYLE.md 内容作为独立的第二部分附加。请将其风格原子改写并融入封面蓝图。
    • 不要组合多种风格,也不要添加第二个自定义风格部分。
    • 替换或处理所有明确的占位符,例如 {{主题词}}、{{副标题,可留空}}、{{画幅比例...}}、{{请求比例...}}、{{生成比例...}}、{{语言...}}、{{用途...}}、{{补充背景,可留空}}、{{情绪倾向...}}、{{不想出现的元素,可留空}} 以及任何其他 {{...}} 字段。
    • 如果所需细节没有对应占位符,请将其并入最接近的封面部分,例如 补充语境、风格落地方式 或 禁用元素。
    • 对于长篇文章,标题/主题字段应填写简洁提炼出的标题或标题层级,而不是文章正文。
    • 提示词中仅保留概括后的语境;不要将原文全文粘贴到最终提示词中。
    • 仅当提示词说明可留空时,才将可选字段留空。
    • 不要在最终提示词中输出分析内容。
    • 对于多尺寸套图,应针对每种目标比例或尺寸分别编写蓝图。内容、隐喻、风格特征、材质和色板应保持一致,但需针对每种规格调整构图、比例、排版、留白、阅读方向和空间表现。
  6. 生成图像前保存文件:

    • 对于单张图像,使用完整填写的提示词创建 punk-assets/punk-cover/{slug}/prompts/cover.md。
    • 对于明确要求的多尺寸套图,则为每个目标尺寸分别创建一个文件,路径为 punk-assets/punk-cover/{slug}/prompts/cover-{ratio-or-size}.md,并使用适合文件系统的比例或尺寸标签。
    • 对于单张图像,如果图像生成返回了当前运行对应的明确本地文件路径、可下载 URL 或图像字节,则将该素材保存为 punk-assets/punk-cover/{slug}/cover.png。
    • 不要通过扫描范围过大的生成图像目录来推断正确素材,因为这些目录可能包含其他运行生成的无关图像。
    • 如果图像生成工具仅返回内嵌预览,且没有提供当前运行对应的可检索素材,则不要伪造 cover.png。
    • 对于多尺寸套图,将每个明确可检索的素材分别保存为 punk-assets/punk-cover/{slug}/cover-{ratio-or-size}.png;除非用户另行要求,否则绝不要将套图合并为联系表。
  7. 保存提示词后,如果有可用的图像生成工具(例如 image_gen),默认生成图像。用户明确要求多尺寸套图时,为每个目标尺寸分别生成一张独立图像;否则生成一张图像。将内嵌预览视为图像生成成功,但只有当工具明确提供了当前运行对应的素材时,才视为本地保存成功。仅当用户明确要求只输出提示词,或当前环境没有图像生成工具时,才跳过图像生成。如果无法生成图像,则返回提示词文件路径和完整提示词内容。

首次响应格式

对于未指定平台和风格的纯文章输入,请使用当前语言模式,简洁地询问:

  1. 封面应适配哪个平台/宽高比?
    • 显示 references/platform-catalog.md 中本地化的平台菜单。
    • 明确说明,X 5:2 和微信 2.35:1 等不受支持的请求只能使用最接近的受支持比例(21:9),并将自动应用该比例。
  2. 推荐风格:
    • Style A:说明其与文章的关联。
    • Style B:说明其与文章的关联。
    • Style C:说明其与文章的关联。

最后请用户选择一个平台和一种风格,或者输入 auto,由技能决定所有内容。用户也可以选择 中文、English 或 中英双语 作为语言模式。

风格选择启发式

  • 使用 outputs 元数据包含 cover 或 poster 的风格。
  • 当视觉方向要求呈现完整铺满画面的真实 OSB 板、左上角哑光工业蓝标识、右下角一条连续线构成的隐喻,以及文字与图形总面积小于留白时,使用 OSB 工业蓝线条隐喻。
  • 当主题应转化为一个充满可游玩感的像素艺术关卡、一种游戏机制、一个角色动作,以及一个象征性的目标或障碍,而非写实插画或加上像素滤镜的图像时,使用 Godot 2D 像素隐喻海报。
  • 当一种关系、张力或转变应转化为物理上可信的分层纸张隐喻,并采用充足留白、柔和的影棚阴影,以及融入纸张结构的字体设计时,使用 立体纸雕概念海报。
  • 当封面应具有艺术书籍或独立杂志的质感:真实的纸纤维、活字印刷般的凸版与凹版效果、作为构图元素的编辑式字体、一处克制的浮雕隐喻,以及大面积留白时,使用 纸面击凸压凹封面。
  • 当封面应采用严格的黑白版画风格、密集的排线和点描、古老的科学插画细节,以及一处概念性或超现实的编辑式隐喻时,使用 黑白复古蚀刻版画封面。
  • 当标题应通过单一中心主体、明确的前后景文字层次、可控的遮挡,以及适用于自定义比例的强烈编辑海报效果融入构图时,使用 超大标题图文穿插。
  • 策略、产品、AI、创业、行业、咨询或分析类内容,使用商业或报告风格。
  • 对于 AI、编码、数字工作、未来工具或当代主题,如果适合采用以人为中心的中世纪插画和一处克制的时代错置隐喻,则使用 复古时代错位编辑封面。
  • 对于 AI、自动化、信息过载、知识流动、档案、基础设施、未来城市或系统变革等主题,如果适合采用一个宏大的模拟流程、实体信息流和小规模的人类行动,则使用 复古未来主义。
  • 科学、研究、医学、工程或机制密集型内容,使用期刊或概念风格。
  • 对于需要更强分享性的社交媒体帖子,使用拼贴、巨型标题、色块、砖块或弥散风格。
  • 对于抽象、哲学、批判性或高对比度的编辑主题,使用黑白极简或先锋几何风格。
  • 除非同时声明 cover 或 poster,否则不要推荐仅适用于头像、肖像、宠物、拍立得或图像的风格。

封面提示词蓝图

将 references/cover-prompt-blueprint.md 作为完整的提示词结构。下方内容仅保留为必须在整合后的最终提示词中体现的任务字段内容。

# punk-cover cover task instructions

Create one single cover image for {platform}. Requested aspect ratio:
{requested_ratio}. Generation aspect ratio: {generation_ratio}.
{ratio_resolution_notice}

Use the following derived content only:
- Title/topic: {title_or_topic}
- Optional subtitle: {subtitle}
- Language mode: {language_mode}
- Requested aspect ratio: {requested_ratio}
- Generation aspect ratio: {generation_ratio}
- Short context summary: {summary}
- Visual subject: {visual_subject}
- Audience: {audience}
- Mood: {mood}
- Visual metaphor: {metaphor}
- Banned elements: {banned_elements}

The main title must be complete, accurate, and clearly readable. If the source title is long, extract a short high-impact visual title while preserving the complete meaning through a smaller title, subtitle, or context line.

For long articles, use only derived fields such as title, summary, visual subject, metaphor, and supplemental context. Do not paste the original article body into the image, prompt, metadata, or small text system.

The cover must work for sharing: first glance identifies the topic, second glance reveals the visual metaphor. The image should feel like a deliberate editorial cover, not a generic illustration.

Avoid universal cover failures: PPT cover feel, course-cover feel, generic information-graphic template, e-commerce advertisement, unrelated decoration, misspelled title, missing title, title cropped beyond recognition, or title severely blocked by visual elements.

Generate only one final image per target ratio. For an explicitly requested multi-size suite, generate separate independently composed images rather than a grid or contact sheet. Do not output explanations, alternatives, or multi-option compositions.

输出规范

  • 最终生成的提示词必须是一个整合后的、专用于封面的提示词,由封面任务字段、references/cover-prompt-blueprint.md 和且仅一个选定风格原子编写而成。
  • 不要将选定风格的 STYLE.md 作为独立的第二部分粘贴。应将其风格原子融入封面蓝图。
  • 最终提示词必须保留 META.md 和 STYLE.md 中选定风格不可妥协的锚点。
  • 不要将冗长的源文本复制到最终提示词中;应使用摘要和提取出的字段。
  • 不要在提示词文件中加入风格选择理由。
  • 不要混合多种风格。
  • 除选定风格的视觉层外,不要再添加第二个自定义风格部分。
  • 不要在风格菜单中展示非封面风格。
  • 默认生成一张图。只有用户明确要求多尺寸套图时,才生成多张图,并将每种比例分别作为独立构图和成品。

评论

支持 Markdown