关于 day-in-my-life
day-in-my-life 根据用户与 Claude Code 的本地会话记录制作个人短片,面向希望回顾自己工作过程的用户。每句屏幕文字都需用户核对和批准,且素材不会上传。
主要功能
- 01从本地会话提取原文素材
- 02按真实日常活动组织叙事
- 03逐条展示引用来源并征求批准
- 04生成弦乐配乐并检查成片
适用场景
- 01将个人 Claude Code 工作记录制作成短片
- 02按时间顺序回顾一次典型工作会话
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ heygen-com/ hyperframes-community-skills --skill day-in-my-life安装后在 Claude Code 中输入/day-in-my-life确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
assets/kit/brush-ink.jsfilm.jshf-bridge.jsprops.jsassets/template/archetypes.jsonhyperframes.jsonindex.htmlscenes.jsstory.example.jsonreferences/look.mdscore.mdstory.mdscripts/harvest.pynew-film.mjspackage-lock.jsonpackage.jsonqc.pyrequirements.txtscore.pysetup.shshoot.mjs详细介绍
我作为 的 Agent 的一天
Agent 阅读自己与用户的对话历史,并据此制作一部短片:
- **画面:**双色水墨、手写标题、一个角色(墨点)。
- **故事:**按时间顺序呈现一次典型会话,根据这位用户的实际行为构建(编码者会得到一个编码日),从第一条消息讲到它留下的启示。
- **声音:**弦乐配乐与每个节拍严丝合缝。
屏幕上的每一行都是一张凭据。每一行都须经用户批准后,才能开始渲染。
适用与不适用场景
- 适用:Claude Code 用户希望制作一部展现自己与 Agent 合作经历的影片,且
~/.claude/projects中至少有 10 个跨越 5 天的本地会话。 - 不适用:他人的历史记录、团队共享日志、产品营销,或用户不会审核的内容。如果没有本地转录记录(例如只有 claude.ai 上的记录),请停止:此技能绝不会编造凭据。
要求与副作用(完整列表)
- **工具:**Node 22+、Python 3.9+、PATH 中有
ffmpeg。HyperFrames CLI 固定使用npx [email protected](首次使用时从 npm 注册表下载)。 - 设置(手动操作一次):
sh scripts/setup.sh会根据已提交的锁文件运行npm ci:p5 2.3.2(LGPL-2.1)、p5.brush 2.2.1(MIT)、puppeteer 25.9.0(Apache-2.0,会获取其固定版本的 Chrome for Testing)。对于score.py:运行python3 -m pip install -r scripts/requirements.txt(numpy、scipy)。 - 读取(仅本地):
~/.claude/projects/*/*.jsonl(用户的转录记录)、~/.claude/projects/*/memory/*.md,以及这些转录记录指向的项目中的CLAUDE.md。不会上传任何内容。 - **预览/渲染时的网络访问:**页面会从 Google Fonts 加载 Gochi Hand 字体(SIL OFL)。除此之外不会访问其他内容。
- **写入:**仅写入所创建影片文件夹内:
receipts.json、story.json、story.js、music/、renders/。这些文件包含用户的原话;切勿提交或分享。 - 无需凭据,也不产生付费调用。
工作流
- **设置:**运行一次
sh scripts/setup.sh,并运行上文中的 pip 命令。 - **收集:**运行
python3 scripts/harvest.py --out <film>/receipts.json。如果enough为 false,请停止。 - **故事:**根据
routine(用户按顺序进行的典型会话)构建时间线,为每个步骤指定章节类型,并按照 references/story.md 使用凭据填充内容。共 8 到 13 个章节。询问用户标题中应使用哪个名字。 - **隐私审核:**向用户展示一张表格,列出每一条屏幕文字及其来源(会话、时间戳),采纳用户的修改,并取得明确同意。然后设置
"approved": true。 - **搭建框架:**运行
node scripts/new-film.mjs <film>。它会使用文件夹中已有的story.json构建影片。之后每次修改story.json,都要运行node scripts/new-film.mjs <film> --sync。此命令会验证顺序、字段和字幕,拦截机密信息、电子邮件和路径,并标记 URL。 - **设计检查:**运行
node scripts/shoot.mjs <film> chapters <film>/renders/sheet.jpg --sheet 4(每个章节在其内容对应的时刻取一帧)。检查每个章节是否清晰可读(墨点可见、引文清晰、内容未被裁切或遮住对话气泡),并将预览图展示给用户。 - **配乐:**按照 references/score.md 运行
python3 scripts/score.py <film>。 - **渲染:**运行
npx --yes [email protected] check <film>,然后在<film>目录中运行:npx --yes [email protected] render --fps 24 --crf 12 --browser-gpu -o renders/film.mp4。在本地渲染;页面使用 WebGL 绘制。 - **质检:**运行
python3 scripts/qc.py <film> <film>/renders/film.mp4,此项必须通过。然后在交付前,带声音完整观看一遍影片。
规则
- 用户的一天,而不是模板。 日常流程决定出现哪些章节及其顺序。历史记录中没有显示的步骤,绝不添加。
- 只认凭据。 引文必须逐字引用;统计数据必须经过计数;名称由用户决定。无法用真实原文佐证的章节一律删去。
- 渲染前先审批。
story.approved只能由用户确认后设置。验证器会直接拒绝凭据、电子邮件和文件路径。 - 时长就是节奏。 时长存放在
archetypes.json中;scenes.js和score.py都会读取它。绝不能只调整其中一处的时长。 - 没有静止画面。 每个章节都要保持镜头运动、揭示过程或正在进行的动作。沸腾效果只是纹理。
- 外观默认值:
SKETCH = 1.8、两种色调、字幕使用小写且末尾不加句号、接缝穿过墨迹。请参阅 references/look.md。
验证成功
new-film.mjs --sync不输出错误。- 设计审核表展示所有章节。
qc.py通过所有检查:- 逐帧绘制:约 8 张图/秒,每次变化都落在 3 帧网格上,保持时间不超过 3 帧
- 接缝:每次擦除和吞切都包含一帧完全墨绘的画面
- 灯光:画面变黑与配乐静音的时间差不超过 1 帧,并持续到片尾标记
- 响度:-19 至 -15 LUFS,真实峰值 ≤ -1 dBTP
不使用任何人的数据进行冒烟测试(虚构的示例故事):
node scripts/new-film.mjs /tmp/dimil && python3 scripts/score.py /tmp/dimil \
&& (cd /tmp/dimil && npx --yes [email protected] render --fps 24 --crf 12 --browser-gpu -o renders/film.mp4) \
&& python3 scripts/qc.py /tmp/dimil /tmp/dimil/renders/film.mp4
文件
scripts/:harvest.py:本地凭据。new-film.mjs:搭建脚手架并验证。shoot.mjs:静帧和表格。score.py:编曲、合成和母带处理。qc.py:渲染检查。setup.sh、package.json、package-lock.json、requirements.txt:固定版本的依赖项。
assets/kit/:墨迹引擎(brush-ink.js、props.js、film.js、hf-bridge.js)。assets/template/:index.html、scenes.js、archetypes.json、hyperframes.json、story.example.json(虚构)。references/:story.md(日常流程 → 时间线 → 原句 → 隐私关卡)、look.md(素材包)、score.md(编曲)。
评论
支持 Markdown