by HRuiCcc
像素游戏化讲解片生成产线(Agent Skill):给一段口播文案,产出 1920×1080/30fps 的像素 RPG 讲解短片。角色分两条路线——有生图用参考图生成 4×4 透明动作表与半身表情,没生图直接代码绘制半身+Q 版小人;章节轨 + 单行字幕 + 语义组件,逐帧导出、逐帧可复现
# Add to your Claude Code skills
git clone https://github.com/HRuiCcc/RuiC-pixel-explainerGuides for using ai agents skills like RuiC-pixel-explainer.
See how RuiC-pixel-explainer compares with popular alternatives.
RuiC-pixel-explainer is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by HRuiCcc. 像素游戏化讲解片生成产线(Agent Skill):给一段口播文案,产出 1920×1080/30fps 的像素 RPG 讲解短片。角色分两条路线——有生图用参考图生成 4×4 透明动作表与半身表情,没生图直接代码绘制半身+Q 版小人;章节轨 + 单行字幕 + 语义组件,逐帧导出、逐帧可复现. It has 50 GitHub stars.
RuiC-pixel-explainer's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/HRuiCcc/RuiC-pixel-explainer" and add it to your Claude Code skills directory (see the Installation section above). RuiC-pixel-explainer ships a SKILL.md manifest, so compatible agents can discover and load it automatically.
RuiC-pixel-explainer is primarily written in JavaScript. It is open-source under HRuiCcc on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh RuiC-pixel-explainer against similar tools.
No comments yet. Be the first to share your thoughts!
Available after the catalog security scan passes.
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
把知识点演成像素世界中的动作,交付带口播的 16:9 MP4 与可修改工程。默认 1920×1080 / 30 fps;时长、文案、人物、场景以用户这次要求为准。
以本次宿主实际可调用的工具或使用者已配置且授权的图片生成后端为准。能读图片、目录里有一段生图脚本、或模型名称里写 img2,都不等于已具备可运行的生图能力。不为这条技能重复安装插件、下载模型或寻找密钥。
| 情况 | 路线 | 角色资源 |
|---|---|---|
| 有可用图片生成能力,用户未禁用 | A 生图角色路线 | 参考图 → 每角色4×4透明动作表+独立半身表情表 → 注册PNG → Canvas场景 |
| 没有图片生成能力,或用户选择纯代码 | B 代码角色路线 | 独立半身与Q版小人绘制函数 → 角色色表 / 发型 / 帽饰 / 动作 → Canvas场景 |
| 没有实时生图能力,但已有用户提供的有效角色PNG | 复用PNG接入A的渲染段 | 明确说明使用已有资产,不能称新生成 |
A开工读 references/imagegen-route.md,用 scripts/register_actor_sheet.py 与 assets/imagegen-template/sprite-actor.mjs 接入。B开工读 references/code-route.md,复制已升级的 assets/cinematic-template/。无论哪路,都复用同一套字幕、讲解组件与导出器。
有工具但当前生成失败或额度受限时,说明实际限制,按任务允许的范围改用已有PNG或B,不偷偷称调用成功。用户硬性要求特定生图方法时,先完成可独立推进的文案、场景与资产需求,缺该方法的角色生成不能冒充完成。
已有React游戏工程 ~/Desktop/zcode/ai-explain-game/game/ 仍可用于完整地图、选择题、评分和通关流程,接口见 references/pipeline.md。只在需要其交互时接入;旧14×21精灵不是当前角色规范,不能原样放大作大人物。
把模板复制到本次项目再改;不修改已验收的旧期。产线检查入口缺失时核实实际工程,不另装替代系统。权威源是 ~/.agents/skills/ruic-pixel-explainer/,其他agent经软链使用。
用户希望的是原片那种简单、可读的粗像素,不是更精细的像素插画。不要默认加密集纹理、蒸汽朋克装饰、发丝、亮晶晶大眼或满屏棋盘光环。
数值、角色比例与配方见 references/style-dna.md。最新视频的四张视觉锚点在 assets/reference-frames/,用于定标,不把示例角色或场景当成所有主题的默认。
粗像素不等于只有小人走路和嘴巴开合。根据每个知识点选择可操作的讲解组件,把一句抽象结论转成看得见的事件链:资料进入收藏栏 → 需要时检索 → 做题暴露卡点 → 对照反馈 → 获得能力。按当前主题重选比喻,不把这条链硬套到所有视频。
组件 API 和如何编排事件见 references/teaching-components.md。模板中 components.mjs 可独立复用;episode.visualBeats 启用增强事件层,具体标签与时点由本期 JSON 传入。
voice_track.py --check 验证接好、试听音色,再测语速;不要靠极端变速迁就拍脑袋的时间轴。使用者已有成品音轨就不必合成,render_episode.mjs --audio 直接指过去,但时间码仍按真实时长排。Math.random() 不进入录制画面。用户已经授权具体样片或给了明确结构时,直接把样片做完给他审。复杂长片、内容有实质歧义时才澄清,不把分镜确认或静帧确认当作所有任务的固定停工门。
# B:先复制纯代码模板。episode.json 改文案与角色参数,scene.mjs 改场景与动作。
cp -R <技能目录>/assets/cinematic-template <本次项目目录>
python3 <本次项目目录>/serve.py --port 8778 --open
# 口播两步走;work 换到本期独立工作目录。
# 配音后端由使用者自己提供(HTTP API / 本地命令 / tts.config.json,见 references/pipeline.md 第 5 节),
# 没配置时脚本会报错并给出接法。先 --check 合成一句试听。
python3 <技能目录>/scripts/voice_track.py --check
python3 <技能目录>/scripts/voice_track.py --lines lines.json --work <work> --tts-only
python3 <技能目录>/scripts/voice_track.py --lines lines-abs.json --work <work> --out voice.wav
# 新样板与老游戏均提供 window.__player.set(ms) / total。
node <技能目录>/scripts/stills.mjs --url http://127.0.0.1:8778/ --out stills --times 1.6,6.2,10.5,14.8,18.4 --dsf 1.5
node <技能目录>/scripts/render_episode.mjs --url http://127.0.0.1:8778/ --out sample.mp4 --audio voice.wav --fps 30 --dsf 1.5 --size 1920x1080 --threads 2
1280×720 视口 × dsf 1.5 直接得到 1920×1080 截图,避免先截 2560 再 Lanczos 柔化像素。需要其他尺寸时保留像素边界,并实际核对输出。编码默认两线程,不能把全机吃满。
交付 MP4、可修改工程、关键静帧、口播文本与真实规格。输出放用户指定目录;当前宿主要求 outputs/ 时遵守宿主,不把固定桌面路径写死到每个任务。
检查视频时长、帧数、音轨、字幕安全区和时间轴确定性;有交互才检查实际输入与自动继续。渲完直接给用户审,不派代理重复整片审片。
原创片没有逐帧 RGB 一致性承诺。 视觉参考只是风格与规格依据;只有实际采用恢复像素并完成校验时才可报告恢复数据的像素一致性。不要拿这套指标证明原创生成与原片看不出区别。
一条粗像素电影式讲解片生成产线(Agent Skill):给一段口播文案,产出带配音的 1920×1080 / 30fps 横屏像素讲解片(MP4)+ 一份可改的工程。 知识点被演成像素世界里的动作:资料卡飞进收藏栏、检索槽查不到内容、合上笔记答题、卡点被标记、答案对照、经验条与钥匙奖励。 角色资源按宿主能力走两条路线:有生图用参考图生成透明动作表,没有生图直接代码绘制半身与 Q 版小人。
源流派:像《刻意练习》="神"的武器那一类像素游戏风读书讲解片。 本仓库把这种风格做成可复现的产线:画面是时间的纯函数,逐帧导出、逐帧确定(同一帧重截两次字节必须一致),不靠录屏。
三条 20 秒样片 · 收藏 / 橙发 / 蓝发
deepseek flash生成
https://github.com/user-attachments/assets/522644ab-0875-4d18-8994-306fc1beb279
大人物 0–10 秒:收藏了一堆干货,真要用时,却想不起来。/ 存下来,不等于学会了。/ 你缺的,是一次提取。 小人物 10–20 秒:合上笔记,先答一道题。/ 卡住做标记,马上对答案。/ 答出来,钥匙才真正属于你。
GPT6.1Sol 生成
https://github.com/user-attachments/assets/7ae16020-a06b-488a-8e5e-c2cc143761b7
https://github.com/user-attachments/assets/6ca09ced-0c1f-48b1-8515-1868c6ef87c6
同一套产线换两名角色与两套场景:半身开场 4 个表情 + 4×4 小人格 16 个姿态,各 20 秒。
橙发角色 · 排练室:别急着从头开始。 蓝发角色 · 月窗工坊:先动手,再等灵感。
它不是什么:
| 档 | 尺度(1080p 里) | 用途 |
|---|---|---|
| 半身人物 | 主体约 400–620 px 高,脸 280–400 px,色块 12–20 px | 情绪与开场 |
| Q 版小人 | 主体约 130–220 px 高,色块 4–8 px | 在世界里演步骤 |
半身人物是独立的腰线以上设计(从完整帽子或头盔到腰线:肩、胸、袖子、手臂与方手,腿脚不入镜);Q 版小人是同一个人的大头行动版(约 24×31,大头短身、厚的阶梯轮廓,站立 / 走路 / 庆祝)。 脸上不额外画鼻子 —— 无突出侧鼻、鼻梁、中央鼻影或鼻尖高光,用眼睛、小嘴和少量腮红表达表情。
人物资源按宿主能力分两条路线(详见 references/imagegen-route.md 与 references/code-route.md):
register_actor_sheet.py 按 alpha 间隔注册 → SpriteActor 在 Canvas 里绘制;frontActor / sideActor 直接绘制,可通过 hairStyle / headwear / 眼色 / 眼罩等字段配置。⚠️ 旧线索里那套 14×21 小精灵不符合当前规范,不能只换色或放大继续用。
assets/cinematic-template/components.mjs)坐标是原生 1920×1080,值 / 状态 / 标签 / 透明度都由该期时间轴决定:
| 组件 | 主要参数 | 何时用 |
|---|---|---|
drawPaper |
x / y / w / h / mark / alpha | 内容卡进入、移出、被标记 |
drawInventory |
x / y / w / count / title / state / alpha | 收藏、装备、资源、学习库存 |
drawRecallPanel |
x / y / w / title / state / alpha | 查询 / 检索 / 缺失结果(empty / failed / success) |
drawOpenBook |
x / y / w / h / closed / mark | 看资料、合上资料、闭卷、卡点 |
drawQuizBoard |
x / y / w / prompt / answer / reference / reveal / correct / mark / alpha | 问题 → 尝试回答 → 展开参考答案 → 对照与修正 |
drawMarkerFlag |
x / y / label / alpha | 错误、路上的卡点、待练项目 |
drawFeedback |
x / y / w / progress / state / alpha | 即时对错、经验变化(correct / pending) |
drawRewardBadge |
x / y / label / alpha | 获得能力、通过验证、解锁道具 |
它们都是世界里的道具或 HUD,不是整页截图;标签从当期 episode 数据传入 —— 库本身不绑定任何一期的口播、音色或语速。
visualBeats)在 episode.json 里给一条时间轴,scene.mjs 的增强分支就会按事件把组件一个个开出来(不写就是简版):
{
"visualBeats": {
"collectAt": 500, "queryAt": 2000, "contrastAt": 4500, "retrieveAt": 7000,
"testAt": 11000, "closeAt": 11000, "markAt": 13500, "checkAt": 14500,
"correctAt": 16500, "rewardAt": 17300, "unlockAt": 18200, "walkAt": 15400
},
"componentLabels": {
"inventoryTitle": "收藏栏", "queryTitle": "调取记忆", "contrast": "存下 ≠ 学会",
"taskTitle": "当前任务", "prompt": "本次问题", "wrongAnswer": "尝试回答",
"rightAnswer": "参考答案", "reward": "能力已解锁"
}
}
一拍一个因果变化:资料飞入时看库存,检索失败时看结果,核对时看回答与参考答案,成功后才给奖励。 面板与角色行动分开编排(角色初始站位 / 行走经过区域 / 终点都要考虑);绘制顺序是背景 → 人物与手持道具 → 奖励与 HUD,别让开门的矩形把奖章抹掉。
CinematicScene.draw(canvas, ms) 是纯时间函数;表面纹理用固定随机种子;window.__player.set(ms) 单点定位。
出片时逐帧截图喂 ffmpeg —— 同一帧截两次必须字节一致,不一致就停下修,不许把 CSS 墙钟动画或 Math.random() 放进录制画面。
flowchart LR
A[口播文案] --> B[拆成语义拍<br/>每拍一个动作]
B --> C[人物与场景分别设计<br/>先锁身份特征,再做半身与小人]
C --> D[逐句配音 · 后端自带<br/>量真实时长 → 排字幕与动作]
D --> E[纯时间函数绘制<br/>先静帧查比例与遮挡]
E --> F[逐帧导出<br/>t 定点截图 → ffmpeg]
F --> G[MP4 + 可改工程<br/>+ 关键静帧 + 真实规格]
| 路由 | 适合 | 说明 |
|---|---|---|
A · 生图角色(assets/imagegen-template/) |
宿主能调用图片生成(img2 / 内置 imagegen / 使用者已授权的生图后端) | 参考图 → 4×4 透明动作表 + 半身表情表 → scripts/register_actor_sheet.py 注册(按 alpha 间隔切图、统一缩放与脚底/腰线锚点)→ sprite-actor.mjs 适配器在场景里绘制。模板是静音资产检查页与适配器,不带角色 PNG,缺图会报错。接法见其 INTEGRATION.md |
B · 代码角色(assets/cinematic-template/) |
没有生图能力,或用户选择纯代码 | 原生 1920×1080 Canvas 粗像素样板;升级后的 frontActor(半身)/ sideActor(Q 版小人)直接绘制,人物 / 后景 / 道具 / 前景 / 灯光 / HUD / 字幕各自独立;自包含(含 pixel 字体与 20 秒示范配音),复制走再改 |
| ③ 已有的 React 工程 | 完整地图、选择题、评分、通关流程 | 沿用它的 SceneDef / Pack 接口;仅对新一期选它,保留已验收的旧期。接法见 references/pipeline.md |
无论哪条路,都复用同一套字幕、讲解组件与导出器;四条视觉锚点在 assets/reference-frames/(只用于定标,不当作所有主题的默认角色与场景)。
自带样板里有什么(assets/cinematic-template/):
scene.mjs —— 画人物(frontActor / sideActor)、后景、道具、前景、灯光、HUD、字幕;内置零件:吊灯、座钟、书架、椅子、地板、聚光锥、暗角、金边面板、问号、钥匙episode.json —— 主题 / 作者 / 时长 / 帧率 / 切点 / 角色配色(actor:发色、发亮部、外套、外套亮部、围巾、肤色三档、配件)、章节、说话区间(voice)、字幕(lines)、事件层(visualBeats 可选)components.mjs —— 上面那八个组件index.html —— 播放器 + window.__player.set(ms)/total(导出器认这个钩子)serve.py —— 本机 HTTP 服务,支持音频 byte-rangeassets/fonts/ —— Fusion Pixel 12px(OFL-1.1,含许可证);assets/voice.wav —— 20 秒示范配音,新主题必须替换(用自己的后端生成,或直接换成品音轨,见「配音与时间轴」)先按 SKILL.md 确认宿主有没有可用的生图能力,再选路线:有生图走 A(见 references/imagegen-route.md),没有就走 B(下面这套)。
# 0) B 路线:复制纯代码模板到本次项目(别直接改模板)
cp -R assets/cinematic-template <本次项目目录>
cd <本次项目目录>
# 1) 改 episode.json:主题、角色配色与可选字段(hairStyle / headwear / eye / eyePatch)、说话区间、字幕(以及可选的 visualBeats)
# ⚠️ 改配色 ≠ 设计新角色;模板字段不足以表现新轮廓时,扩展 scene.mjs 的 frontActor / sideActor 与新场景代码
# 2) 起本机预览
python3 serve.py --port 8778 --open
# 3) 逐句配音 + 量真实时长(两步走;配音后端要你自己给,先 --check 验证)
python3 <技能目录>/scripts/voice_track.py --check
python3 <技能目录>/scripts/voice_track.py --lines lines.json --work work --tts-only
python3 <技能目录>/scripts/voice_track.py --lines lines-abs.json --work work --out voice.wav
# 4) 静帧预检(先看比例、遮挡、字幕安全区)
node <技能目录>/scripts/stills.mjs --url http://127.0.0.1:8778/ --out stills --times 1.6,6.2,10.5,14.8,18.4 --dsf 1.5
# 5) 逐帧出片
node <技能目录>/scripts/render_episode.mjs --url http://127.0.0.1:8778/ --out sample.mp4 \
--audio voice.wav --fps 30 --dsf 1.5 --size 1920x1080 --threads 2
A 路线先注册生成的角色资产,再把 sprite-actor.mjs 接到模板上(完整接法见 assets/imagegen-template/INTEGRATION.md):
python3 <技能目录>/scripts/register_actor_sheet.py --sheet mini.png --grid 4x4 --canvas 256 --baseline 240 --out assets/sprites
python3 <技能目录>/scripts/register_actor_sheet.py --sheet half-body.png --grid 2x2 --canvas 512 --baseline 500 --out assets/bust
🔊 配音后端由你自己提供(HTTP API 或本地 TTS 命令);本技能不带内置音色,
--check先试听一句,接法与配置见 references/pipeline.md 第 5 节。
--dsf 1.5 是用意的:1280×720 视口 ×1.5 直接得到 1920×1080 截图,避免先截 2560 再 Lanczos 下采样把像素边缘柔掉。要别的尺寸就自己核对输出。
| 层 | 1080p 里的建议尺度 | 用途 |
|---|---|---|
| 半身人物 | 主体 400–620 px 高,脸 280–400 px,色块 12–20 px | 情绪与开场 |
| Q 版小人 | 主体 130–220 px 高,色块 4–8 px | 在世界里演步骤 |
| 环境 | 建筑 60–180 px 的大体块;细线 2–8 px | 深度、位置、质感 |
| 字幕 / HUD | 原生 1920×1080 单独绘制 | 与镜头解耦 |
| 柔光 / 暗角 | 原生画布、低对比渐变 | 确立光源,但不柔化脸 |
#d8c58c;外围近黑棕或灰绿;皮肤 #edc49c / #ddb18c / #bf926c;轮廓 #19221e;金边与关键词 #cfab57 / #d9a13e;青绿只给反馈或路径。每场一个主光源,前景桌边挡腿、道具不挡脸、字幕占最后层。voice_track.py 默认拒绝段落重叠(要叠声才传 --allow-overlap);不裁句尾凑预算;拼轨时把每句摆到它的 at(前面补静音),所以画面时间轴与配音天然对齐。-shortest(音频短一点会把画面尾巴吃掉)。--check 一句话验证接好没有。render_episode.mjs --audio 指过去;但字幕与动作仍要按它的真实时长排。render_episode.mjs 自带抽帧自检);确定性问题先修再渲。ffprobe 核对:时长、帧数、帧率、音轨。原创片没有逐帧 RGB 一致性承诺 —— 视觉参考只作风格与规格依据;只有实际采用恢复像素并完成校验时,才可以报告像素一致性。
RuiC-pixel-explainer/
├─ SKILL.md 技能主文件(放进 ~/.agents/skills/ 就能被 Agent 调用)
├─ references/
│ ├─ imagegen-route.md A 路线:生图角色的两套资源(4×4 动作表+半身表情表)与提示词约束
│ ├─ code-route.md B 路线:升级后的代码角色函数与可配置字段
│ ├─ style-dna.md 视觉定标:三档分辨率 / 人物 / 场景密度 / 光色 / 字幕字体
│ ├─ cinematic-profile.md B 样板配方(人物参数、镜头切点、说话区间、验证重点)
│ ├─ teaching-components.md 讲解组件与语义事件(怎么做"有东西在演")
│ ├─ reference-modes.md 原创参考 vs 素材恢复两条口径
│ └─ pipeline.md 工程接法(旧 React 工程 + 配音后端 + 导出器)
├─ scripts/
│ ├─ voice_track.py 逐句 TTS(后端自带:HTTP API / 本地命令,带缓存)→ 量时长 → 按时间轴拼一条音轨
│ ├─ register_actor_sheet.py 角色图集注册:按 alpha 间隔切分、统一缩放、脚底/腰线锚点
│ ├─ render_episode.mjs 逐帧导出(自带同帧重截一致性检查)
│ └─ stills.mjs 静帧质检(渲片前必跑)
├─ assets/
│ ├─ imagegen-template/ A 路线的静音资产检查页与 SpriteActor 适配器(不含角色 PNG)
│ ├─ refere