mcpField
B
blank-page

blank-page

github.com/stewdioai创意与媒体385200 次安装4 天前更新
代码仓库

关于 blank-page

blank-page 是将简短草稿整理成生成式创作简报的技能,主要面向 Stewdio 的动态图形、3D、着色器和影像创作,也可用于其他生成式简报。它通过视觉与运动参考、分段动作和明确格式来补足创作意图。

主要功能

  1. 01识别简报、批量、修改等模式
  2. 02为视觉风格寻找参考图
  3. 03为动作寻找运动参考
  4. 04将创意整理为编号节拍
  5. 05按模板输出简报和待补项

适用场景

  1. 01把简短场景构想扩展为创作简报
  2. 02为多个作品变体设定差异规则
  3. 03根据截图反馈整理修改要求
  4. 04将序列动作按时间锚点编排

安装

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

$npx skills add https://github.com/stewdioai/blank-page --skill blank-page

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

包含的文件

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

agents/
openai.yaml
references/
examples.md
finding-references.md
patterns.md
vocabulary.md
scripts/
find_refs.py

详细介绍

空白页

将简短草稿改写成作者本来会写出的创作简报。草稿通常是 Stewdio 的合成作品(动态、3D、着色器、镜头素材);这种方法适用于任何生成式简报。

**好的简报由参考素材和节拍构成。**创意寄托在所指的事物上(recreate this <mp4>、in the texture of embroidery <img>),而节拍说明事物如何转变:确定一种外观、复制一个动作、呈现一个真实事物,以及一次转折。不要增加更多文字或数字。文风使用小写、祈使句和编号,不加废话。新的简报在 refs: 上方不超过约 150 词;修改说明不超过约 50 词。超过上限时,先删掉可选内容(真实感、参数、重复默认值的帧说明),再精简措辞,绝不删掉节拍或转折。

references/ 中的文件:

  • finding-references.md:角色、边界、are.na 种子与循环、Pinterest、Sketchfab、审核。第 2 步前阅读。
  • vocabulary.md:作者按槽位整理的用词。写作时借用。
  • examples.md:真实会话中的修改前/后示例。不确定格式时阅读。
  • patterns.md:规则背后的语料证据和过往失败案例。可选阅读。

流程

  1. 判断草稿类型。

    模式信号输出形式
    简报“create”、“recreate”、一个新的合成作品或场景美学描述 + 编号节拍 + 帧说明 + refs + 素材
    批量“create N comps”、“variations”、“fill the gaps”简报 + 每项一行说明 + 去重规则 + 共用约束
    增量修改“make X more/less Y”、“get rid of”、“fix”、“move to”目标 + 改动 + 幅度 + 方向 + 保留条件
    图像反馈附有截图/联系表每条观察各占一行,并注明对应帧或时间
    序列“at Ns”、“after the X exits”、跨时间的节拍每个节拍都带时间锚点的简报,并设时长上限
    杂项重命名、推送、导出、“check the render”保持原样;补充准确的格式或目标

    简报、批量和序列按第 2 至第 8 步处理。增量修改和图像反馈直接跳到第 6 步;仅当改动引入新的外观或动作时才搜索。

  2. **确定外观:先找五张图,再写任何节拍。**选定一种美学,整理成图板,并从中挑选五张各有用途的静帧:整体外观、配色、材质或表面、构图、细节或图案。绝不混合两种美学;如果另一种美学总是胜出,就彻底改用它。其名称写在提示词的第一行。

    • 没有边界(草稿没有提及外观):浏览他的伞状分类和 CARI 命名的美学,选择引人注目的,而不是迎合草稿中的用词。
    • 有边界(草稿提到风格、品牌或媒介,或附有参考素材):这个词就是 are.na 查询词,选择其中最合适的实例,绝不能换成另一种美学,也不能用它的截图。边界限制配色、材质、字体和组件,不限制布局、比例、镜头或动作。第一行要写出用户所提词语的一个子类别(in stripe-gradient dark)。如何解读和查询,以及查询结果都是垃圾时该怎么做:参阅 finding-references.md 中的 “The fence”。
  3. **确定动态:找三个动态参考素材。**从动态频道中找 gif / mp4,每个都应包含值得复制的动作(“他会把这个放进 mo-graph 吗?”),分别覆盖三个用途:主要机制、转折、退出动作或镜头运动。如果找了三个频道后仍没有合适的退出动作或镜头运动,m3 再找一个节拍,并用文字描述镜头运动。**边界不适用于动态。**之后,根据节拍需要,为任何可识别对象(真实 UI、产品、艺术作品、Sketchfab 模型)添加复制参考或素材,并为界面添加 UI 参考。用户提供的附件可以填补对应槽位。每个候选项都要先查看,再赋予用途。

  4. 确定每条参考素材的用途,然后写出节拍。 对全部 8 条参考素材,说明它对应哪个节拍,以及具体取用了什么(a3 的湿润石面质感作为画布表面,m1 的 0.0-1.6s 作为节拍 1,速度放慢至 1.5 倍,主体替换为卡片)。没有对应节拍的参考素材就删掉。动作参考素材决定节拍的顺序和时间;每张图片放在其特质首次显现的节拍上。加入转折:一个揭示某物、改变媒介、缩小镜头以呈现更大的整体,或变成其他事物的节拍(画作散开成一根细线,接着变成奔跑的剪影)。进入、动画、停留还不算完成。如果草稿已经包含某种变化(骤然变成、再次以……的形态出现),这个动词就是转折:把它作为最大节拍,不要再添加第二个比喻。≤5 s 的片段只承载一个想法(额外想法放进材质和镜头,而不是情节),动作要贯穿全片:结尾停留不超过 1 s;如果转折在 1.6 s 前结束,就需要压缩节拍,或补上缺失的后半段。

  5. 添加想法。 对内容单薄的草稿,预期应加入:让主体更具体的道具、真实素材、与揭示内容相关的镜头运动,以及回应第一个节拍的第二个节拍。将它们写成节拍;用 [? ...] 标出一两个真正的分支选项。

  6. 填写各项(见下方清单)。可从文件、上一个合成、附件或对话中推断的内容:默默补全。缺失且需要创意判断的内容:在提示词中使用 [? 最佳默认选项] 占位。缺失但属于常规设置的内容(时长、宽高比、文件):直接采用默认值,不加标记;未指定文件名时,使用 in stewdio, new file <topic>,。

  7. 按规定格式重写(见下方模板),尽可能保留作者原有措辞。

  8. 只输出以下三项,不要添加其他内容:用围栏代码块括起来的提示词;一个“待补充项”列表(最多 3 个创意分支选项,每项包含已选方案和一个值得考虑的替代方案;不要包含时长、循环或宽高比);一行指向 .context/refs/<topic>/ 的说明,其中包含联系表,方便用户否决某项选择。<topic> 是由主体命名的 2 到 3 个单词的 kebab 格式短语(coffee-menu)。如果需要真实素材但尚未提供(用户自己的应用、产品、徽标),就在提示词上方用一行说明,并指出使用的替代素材。不要谈技巧,也不要给建议。

第一版草稿之后

提示词不是终点。运行提示词并生成首个结果后(由此 Agent 生成,或由用户带着结果回来),在回复结尾引导用户进入 Stewdio 继续迭代,而不是让他们再写一段长提示词。每份简报只在首个结果出现时执行一次:不要在第 8 步的回复中执行,也不要在每次修改后重复执行。

  • 链接项目。 使用 Stewdio 工具(create_file、list_files)返回的文件 url 原值,并附上文件名和合成名称,让用户点击一次即可打开合成。绝不自行拼接或猜测 url。
  • 指出该合成的首轮修改方向,列出两到三项,不要罗列功能:指出可通过滑块调整的参数名称;指出时间线上最值得调整时间的节拍及其时间点(关键帧、缓动);指出需要 Agent 修改的画面,并在对应帧上添加批注。
  • 提供返回方式。 用用户自己的措辞写一条简短说明;修改会先经过差异模式或图像反馈模式,再应用。
  • 在 Stewdio 之外生成的内容:说明可以将其导入 Stewdio 手动优化,附上链接 https://www.stewdio.ai,并表示可以用相同的提示词和参考素材在 Stewdio 中重新生成。
first draft is in stewdio: <File url> (<file>, <comp>)
open it and keep going there:
- sliders: <exposed params, by name>
- timeline: <the beat most worth retiming> at ~<N>s, drag its keyframes or swap the easing
- or pin a comment on a frame, or send a note like `<a delta that fits this comp>`, and it gets tightened and applied

不要推销,不要介绍功能,不要询问提示词相关问题。

槽位清单

先填写开场槽位;它们决定结果。编辑循环槽位随后填写。

槽位询问内容标准形式
where工具、文件、comp;对于序列,注明对应的时间或节拍in stewdio, <file>, <comp>, at 3.5s: / after the sticker exits:
look一种来自 a1 的明确美学风格;如果用户提到了风格,就选择其下位风格in frutiger aero style / everything in riso
medium / technique照片或视频素材、3D 重建、矢量、着色器、真实模型using threejs or 3d framework / real 3d texture and train models
move动态参考中的动作机制,替换主体recreate this animation, but make it nyc subway
subject用名称指出真实事物,并注明来源the famous ukiyo-e painting <img>
beats按编号排列;每项 = 主体 + 动作 + 它展现或变成的内容2. then at around 2s, a big wave splats across the screen, turning the entire screen into a new texture
turn揭示 / 变形 / 拉远 / 媒介切换the camera zooms out to reveal that ...
realism需要时提出的保真度要求it should be very realistic / loyal to the og
camera动作 + 缓动 + 最终停留的位置camera zooms fast into the pupil, steep quadratic ease-in / camera stays still
pace用他的措辞描述节奏;秒数仅用于标记时间点very snappy, ease-in-out / one continuous motion from the start
frame背景、纵横比、时长、循环;仅在不同于默认值时注明white bg, 1:1, ~5s loop
paramscomp 需要调整时,注明要公开的参数expose params for plumpness, sheen, glow
keep编辑:必须保持不变的内容keep the old entrance speed / keep the rest the same
magnitude + direction编辑:倍数、阶段、轴及方向2x faster at top speed / 30 degree clockwise
scope编辑:改动涉及哪些 componly for 23 / unrelated: also ...

固定默认值,无需写出:白色背景(数学图表系列使用黑色背景); 无淡入淡出、投影、圆角、注释文字、UI 外框或引导线;社交帖子使用 1:1, 图表和轮播系列使用 16:9;循环时长约 5 秒,插入节拍时长 3-4 秒,序列时长 少于 15-20 秒;可识别物体使用真实素材,再叠加风格化效果。美学风格优先于 这些默认值:具有自身底色的美学风格(纸张材质、台面、深色模式的海军蓝) 会替换 frame 行中的白色背景;属于该风格的光线(在纸面上掠过的光)不算投影。

模板

简述

in stewdio, <file>, [<comp>,] [at <N>s / after <beat>,] create the following, in <aesthetic from a1>[, using <technique>]:

1. <subject (c1 / asset), its state at 0s> <enters like m1: mechanic>
2. <main action from m1, subject swapped> [at ~<N>s]
3. <the turn: reveals / turns into / zooms out to show ...>
4. <exit or end state>

<realism demand if it matters>; <camera if it moves>; <pace in his words>
<frame only where it differs from the defaults>; the whole thing ~<N>s
[expose params for <list>]

refs:
- a1 <path>: look, <what it sets: overall look, framing of beat 1> (<url>, channel <slug>)
- a2 <path>: palette, <used where> (<url>, channel <slug>)
- a3 <path>: material, <which surface in which beat> (<url>, channel <slug>)
- a4 <path>: composition, <which beat's frame> (<url>, channel <slug>)
- a5 <path>: detail, <which element, which beat> (<url>, channel <slug>)
- m1 <path>: motion, beat <n>: <mechanic, time range taken, scale factor>, subject swapped, not the look (<url>, channel <slug>)
- m2 <path>: motion, beat <n>[ (the turn)]: <what is taken> (<url>, channel <slug>)
- m3 <path>: motion, beat <n>[ (the turn)]: <what is taken> (<url>, channel <slug>)
- u1 <path>: ui, <ui type> layout + components, brand-neutral (<url>, channel <slug>)
- c1 <path>: copy, <subject>, one-to-one (<url>)
assets:
- <path or url>: use as-is for <what>
- <sketchfab page> (<author>, <licence>, <faces>): <object>, one-to-one, <parts that must move> [? download]

在节拍中内联引用句柄(2. the sticker peels from the lower-left corner like m1, on a3's wet stone);refs: 中的每个句柄都必须出现在某个节拍中。动态句柄 按节拍顺序编号,作为转折依据的句柄标记为 (the turn)。如果区块有来源,在 频道后添加 orig <url>。用户附件也放在同一列表中。

批处理

in <file>, create <N> <things>, <one-line shared description>, using <channel> as reference:

1. <item: mechanic + orientation + layout>
2. ...

for all of them: <shared constraints>; keep each ~<N>s
no overlap with <existing set>; a valid variation changes the mechanic, orientation, layout or treatment, not just direction or mirror
name them "<Prefix>: [<k> word description]"

差异:每行一项改动;有多项时编号,每项都注明目标; “unrelated:”用于标记不同的 comp。

[for <comp>,] make <element> <change> <magnitude> [<direction with axis>] [at <N>s]
[get rid of <element>]
keep <what must stay>

图像反馈:<对应的画面或时间点>: <一条量化观察>,每项单独一行。

规则

  • 追求质量,不要只看匹配度。 最能承载主题的精彩动作或视觉效果,胜过只展示正确物体的关键词匹配结果。
  • 要像电影画面,而不是网页。 关键时刻,主视觉元素的高度至少占画面高度的 40%;在 1080p 下,最小字号至少为 24 px;不要按 1:1 浏览器比例重建任何内容。以缩略图大小评估设计稿。
  • 一个参考素材,只承担一项工作。 动态媒体用于动作,静态图用于视觉效果;动态参考意味着要替换主体。同一文件用于两个角色时,列出两次,并分别注明用途范围。
  • 使用素材,参考素材只用于参考。 使用真实影像、真实 GLB、真实 UI、真实绘画,并在其上进行风格化;事先说明保真度,绝不重新诠释上传的素材。程序化生成仅用于基本几何体、球体、团块、挤出形状、噪声场,以及必须生长或变形的对象。
  • 把每个东西都当成一套精巧装置。 为其专属机制制作动画(盖子合上、信封封口、复选框打勾),而不是默认的绘制显现效果。变形应是过程中的形态变化,而不是拆掉后重建。
  • 描述机制,不要只用形容词。“编辑式翻页拖动”最终被做成了滑入效果;“当前图像从一个角落被揭起,露出早已铺在下面的新图像”一开始就做对了。
  • 他用数字时,就写上数字。 锚点和时长用秒,剪辑用倍数和角度,只有当颜色本身是重点时才写十六进制值(klein blue #002FA7)。开场不要写毫秒级错开或像素偏移。
  • 剪辑要说清轴向、方向感和阶段。“反过来”不是方向;“入场快 5 倍”还需要说明“这是我们做过最快的入场,之后保持恒定速度”。
  • 保留原有语气。“去掉”“不过”“约 5 秒”“拜托”都可以。提示词中不要有问候语、理由或标题。

脚本

scripts/find_refs.py:are.na 频道/集合/联系表、Pinterest 图钉、Sketchfab 搜索与下载、文件下载、视频联系表。不带参数运行即可查看命令列表。

评论

支持 Markdown