用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/18816132863/xiaoyi-claw-omega-final --skill meitu-carousel命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | meitu-carousel |
| description | 一键生成轮播套组,封面+内页风格统一。适用于小红书组图笔记、知识卡片轮播、产品介绍套图。当用户提到套组、组图、轮播图、轮播套组、知识卡片套图、产品套图时触发。 |
| version | 1.0.0 |
一键生成轮播套组,包含封面海报和多张内页,封面与内页风格统一。适用于小红书组图笔记、知识卡片轮播、产品介绍套图等场景。
不适用场景:单张海报(非套组)、非海报类需求(如文案、翻译、视觉建议、色彩提案)、仅涉及海报/封面但未指向套组的内容
npm install -g meitu-cli(包名 meitu-cli,非 meitu-ai)image-poster-generateOPENAPI_ACCESS_KEY / OPENAPI_SECRET_KEY~/.meitu/credentials.jsonmeitu config set-ak --value "..." + meitu config set-sk --value "..."meitu auth verify --json{OPENCLAW_HOME}/workspace/visual/
$OPENCLAW_HOME env var → ~/.openclaw (macOS/Linux) / %LOCALAPPDATA%\openclaw (Windows){OPENCLAW_HOME}/workspace/scripts/oc-workspace.mjs(共享脚本,由 init-visual-home.sh 安装;不存在时使用内联默认值)$VISUAL/rules/quality.yaml — forbidden elements$VISUAL/memory/global.md — global preferences$VISUAL/memory/scenes/{type}.md — scene preferences$VISUAL/memory/observations/observations.yaml — observation staging路径别名: 下文中
$VISUAL={OPENCLAW_HOME}/workspace/visual/,$OC_SCRIPT={OPENCLAW_HOME}/workspace/scripts/oc-workspace.mjs
流程按实际执行顺序排列:
Preflight → [Context] → Execute → Refine → Deliver → [Record]
↑ 项目模式时执行 ↑ 项目模式时执行
↑ 一次性模式跳过 ↑ 一次性模式跳过
meitu --version → 未安装则提示 npm install -g meitu-climeitu auth verify --json → 凭证无效则引导配置node $OC_SCRIPT resolve → 获取 mode, visual, can_read_knowledge, can_record
脚本不存在 → 检查 cwd 有无 openclaw.yaml → 确定 mode;检查 $VISUAL 目录 → 确定 capabilities
can_record = cwd 有 openclaw.yaml AND $VISUAL 存在(两者缺一即 false)node $OC_SCRIPT route-output --skill meitu-carousel --name tmp --ext tmp → 获取 output_dir
脚本不存在 → 3 级 fallback:
① cwd 有 openclaw.yaml → ./output/
② $VISUAL 存在 → $VISUAL/output/meitu-carousel/
③ 均无 → ~/Downloads/
mkdir -p {output_dir}
硬约束:output_dir MUST NOT 指向 skill 文件夹内部node $OC_SCRIPT scaffold-project --name "{name}" --type "meitu-carousel" --brand "{brand}"
脚本不存在 → 手动创建 {OPENCLAW_HOME}/workspace/visual/projects/{name}/ + openclaw.yaml;已在项目目录中 → 跳过mode = one-off → 跳过此步,直接到 Execute。以下仅限 project 模式:
node $OC_SCRIPT read-context → 返回 {quality, preferences, brand_refs, scene_memories}
脚本不存在 → 逐步手动读(均 skip if missing):
输出目录: 直接使用 Preflight 解析的 output_dir,mkdir -p {output_dir} 确保目录存在。后续所有 meitu-cli 调用统一使用 --download-dir {output_dir} --json 参数,文件直接下载到目标目录,JSON 输出供 Agent 解析结果。
全局视觉约束(适用于所有生成步骤 — 封面和内页):
参考输入路由表(--image_list 在不同阶段的传递方式):
| 阶段 | 意图 | --image_list | 说明 |
|---|---|---|---|
| 阶段 4: 封面 | 纯文生图 | 不传 | 从 prompt 生成,无参考图 |
| 阶段 5a: 首张内页 | 参考封面风格 | 传入封面图路径(downloaded_files[0].saved_path) | 确保内页与封面视觉一致 |
| 阶段 5b: 后续内页 | 套用模板 | 传入模板页路径(downloaded_files[0].saved_path) | 复制模板页的排版和风格 |
阶段 1: 信息检测
判断用户是否提供封面文案和内页文案信息。
分支逻辑:
阶段 2: 文案内容生成
用户未提供具体的文案信息时:根据主题进行分析和思考,依据缺失情况生成适配的封面文案或内页文案或者二者,使最终信息包含封面文案和内页文案。
封面文案要求:
内页文案要求:
文案检查与优化规则:
阶段 3: 生成封面 Prompt
当需要组装封面 prompt 时 → read references/xiaohongshu-cover.md 获取封面 prompt 模板和规则。
将"a. 用户提供 b. 阶段 2 中模型生成的封面文案"作为 summary 参数传入,以用户需求配合[封面文案]生成封面海报 Prompt。
阶段 4: 生成笔记封面
调用 meitu-cli:
meitu image-poster-generate \
--prompt "{阶段 3 得到的完整输出结果,不做任何修改}" \
--ratio "3:4" \
--size "2K" \
--output_format jpeg \
--download-dir {output_dir} \
--json
阶段 5: 生成单页笔记内页
内页生成原则:每次调用只生成一张内页笔记图,一张图只对应一页内容,禁止在一张图中排版多页内容或宫格拼图。禁止自动添加任何非[当前页文案]的文字内容。
从[内页文案全集]中,顺序截取[当前页文案],控制本页总字数不超过 300 字。
5a. 首张内页(模板页)
当尚未生成任何内页时,调用 meitu-cli:
meitu image-poster-generate \
--image_list {阶段 4 JSON 结果的 downloaded_files[0].saved_path} \
--prompt "{内页 prompt,见下方}" \
--ratio "3:4" \
--size "2K" \
--output_format jpeg \
--download-dir {output_dir} \
--json
内页 prompt: "根据[封面图]相同的视觉风格和完全一致的配色,生成第一张内页海报,可带有[封面图]的背景和2-3个装饰元素,不包含封面的主视觉元素,只展示本页的当前页文案,禁止生成不包含在当前页文案中的文字。版面结构需清晰:画面主体是一个占据主要面积的文字承载区域。标题位于顶部,可带有与参考图相同风格的简约造型底或小元素装饰(根据画面丰富程度判断取舍),如果有底其颜色需与标题拉开明度以保证标题辨识度和美学体验,生成底或小元素装饰需与画面整体风格统一,标题禁止有3d立体效果。正文内容分为多段,垂直左对齐,整齐排列在文字承载区域中,不贴边至少保留一个字符宽度,行间距大小为一个正文字符高度。其中重点文字或二级标题带有划重点样式以作强调。整体排版结构清晰有序。文字不出现重复、乱码、裂开,所有正文字号和段间距保持统一,正文字号控制在70-100px,标题字号控制在150-220px。页面无大面积留白,可通过调整字号和段落间距以及装饰元素的关系来保证海报节奏疏密有序、层级恰当,阅读动线逻辑自然观感舒适,背景简洁不影响文字阅读。禁止在一张图内拼接多页、宫格或小缩略图,本页的文案为:标题[当前页文案中的标题],正文[当前页文案中的正文]。"
将生成的首张内页图保存为【模板页】。
若【模板页】生成完毕后,[内页文案全集]中仍有剩余未排版文字,则进入 5b;否则前往 Refine。
5b. 后续内页(套用模板)
当已经有【模板页】后,再次生成内页时,调用 meitu-cli:
meitu image-poster-generate \
--image_list {模板页 JSON 结果的 downloaded_files[0].saved_path} \
--prompt "{后续内页 prompt,见下方}" \
--ratio "3:4" \
--size "2K" \
--output_format jpeg \
--download-dir {output_dir} \
--json
后续内页 prompt: "复制[模板页]的排版、风格、字体、颜色、行距、对齐方式等,生成完全相同视觉的新内页海报。仅把所有文字替换为本页的当前页文案。文字不出现重复、乱码、裂开,页面无大面积留白,海报节奏疏密有序、层级恰当,阅读动线逻辑自然观感舒适。不新增'第一页/第二页'等页码文字,不添加多宫格、缩略图等额外布局,本页的文案为:标题[当前页文案中的标题],正文[当前页文案中的正文]。"
每生成一页,都只展示「当前页文案」,不修改模板结构。
内页文案全集来源:
当前页文案来源: 从[内页文案全集]中,按段落顺序依次取出,用于本页排版的那一部分文字,总字数 <=300 字。
若[内页文案全集]仍有剩余未排版文字,则再次执行阶段 5 生成下一张内页;否则前往 Refine。
展示所有生成结果(封面 + 内页)+ 简要设计理由(为什么选择这个风格/配色/排版)
等待用户反馈,按类型分流处理:
| 反馈类型 | 调整方式 | 示例 |
|---|---|---|
| 风格/配色不满意 | 修改封面 prompt 风格描述 → 重新生成封面 → 内页跟随重新生成 | "太素了""配色不好看" |
| 排版/字号问题 | 调整内页 prompt 排版参数(字号、行距、对齐) → 仅重新生成该页 | "字太小""太挤了" |
| 文案修改 | 替换对应页文案 → 仅重新生成该页 | "标题换成 XX" |
| 整体方向不对 | 回到 Execute 阶段 1 重新开始 | "完全不是我要的" |
| 需要更多内页 | 用户提供文案 → 回到 Execute 阶段 5 继续生成 | "再加两页" |
| 认可 | 前往 Deliver | "可以""挺好的" |
建议最多 3 轮迭代,超过后主动建议调整方向或分拆需求
output_dir 已在 Preflight 解析,此处仅做重命名。
node $OC_SCRIPT rename --file {path} --name {effect} → 规范文件名
脚本不存在 → mv {file} {output_dir}/{date}_{name}.{ext}
命名示例:2026-03-22_cover.jpeg、2026-03-22_inner-1.jpeg、2026-03-22_inner-2.jpeg
If DESIGN.md Iteration Log > 5 entries → compact: keep recent 5, archive older to ./drafts/design-history.md
can_record = false → 跳过。(can_record = cwd 有 openclaw.yaml AND $VISUAL 存在,两者缺一即 false)一次性模式下反馈仅当前对话有效。
例外: 一次性模式下用户反复表达同一偏好 → Agent MAY 提议加入 $VISUAL/rules/quality.yaml。
项目模式下:
User approved style →
node $OC_SCRIPT read-observations → Agent 检查语义相似 key →
node $OC_SCRIPT write-observation --key "..." --scope-hint "meitu-carousel" --project "..."
脚本不存在 → 手动读写 $VISUAL/memory/observations/observations.yaml
→ promotion_ready(projects >= 2)? →「非阻塞」在回复末尾提议晋升,不打断主流程 → confirmed → write target + delete-observation
User rejected ("不要 XX") →
已在 quality data → 自动过滤;新拒绝 + has openclaw.yaml → ask scope → project: ./DESIGN.md Constraints / universal: $VISUAL/rules/quality.yaml;no openclaw.yaml → current task only
No feedback → skip.
完整协议(observation schema、promotion 路由、size control)→ see references/memory-protocol.md。
当 meitu-cli 调用失败时,按以下分级逐步降级重试:
| Level | 操作 |
|---|---|
| L1 | 移除 prompt 中低优先级装饰描述(装饰元素细节、背景氛围词、配色修饰语) |
| L2 | 降级枚举参数:--size 2K → --size 1K;--output_format 保持 jpeg |
| L3 | 移除可选输入:去掉 --image_list 参考图,改为纯文生图模式 |
| L4 | 最小化到核心要素:仅保留标题文案 + 基础风格关键词 + --ratio 3:4 |
| L5 | 停止并报错,向用户展示 JSON 输出中的 code 和 hint,建议调整需求或检查网络/凭证。若 error_type 为 ORDER_REQUIRED → 提示充值;CREDENTIALS_MISSING → 提示运行 meitu config set-ak + meitu config set-sk 配置凭证 |
每级最多重试 1 次,失败则进入下一级。L3 仅适用于有 --image_list 的内页生成步骤(阶段 5a/5b)。
Output path 由 Preflight 解析的 output_dir 决定:
| 模式 | 路径 | 示例 |
|---|---|---|
项目模式(有 openclaw.yaml) | ./output/{date}_{type}.jpeg | ./output/2026-03-22_cover.jpeg |
一次性模式($VISUAL 存在) | $VISUAL/output/meitu-carousel/{date}_{type}.jpeg | ~/.openclaw/workspace/visual/output/meitu-carousel/2026-03-22_inner-1.jpeg |
一次性模式($VISUAL 不存在) | ~/Downloads/{date}_{type}.jpeg | ~/Downloads/2026-03-22_cover.jpeg |
文件命名规则:{date}_{type}.{ext},type 为 cover 或 inner-{n}(n 从 1 开始)。
基于 SOC 职业分类