Not in the top 1,000 by GitHub stars

HRuiCcc/RuiC-pixel-explainer

像素游戏化讲解片生成产线(Agent Skill):给一段口播文案,产出 1920×1080/30fps 的像素 RPG 讲解短片。角色分两条路线——有生图用参考图生成 4×4 透明动作表与半身表情,没生图直接代码绘制半身+Q 版小人;章节轨 + 单行字幕 + 语义组件,逐帧导出、逐帧可复现

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 74544f22d216

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 74544f22d216025a2889642bcaa85721b7c339b3

75GitHub stars
40stars in 7 days
1skill in this repository
21commits in 30 days

Heat

7.7
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Oct 25, 2026Nov 5, 202675

30-day change not yet available: not enough history.

Individual skills in this repository

How it works

ruic-pixel-explainer

When your agent uses it

生成粗像素 RPG 横屏讲解片,按实际生图能力分为参考角色生图与纯代码两条路线。有生图用4×4动作小人和独立半身表情图,无生图用半身、大头平面脸、无突出鼻子的代码角色;两路都配角色专属场景、语义组件与确定性MP4导出。适用读书讲解、像素讲堂、像《刻意练习》那种视频及大小人物样片。

What it loads into context

Frontmatter

165 tokens

Always available to the agent

SKILL.md

3,121 tokens

When the skill is activated

Reference documents

20,101 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. 先判断模式
  2. 先检查生图能力,再选路线
  3. 视觉重点
  4. 让人物有事可演
  5. 从文案到成片
  6. 命令与入口
  7. 交付与声明

Scripts executed separately

  • assets/cinematic-template/components.mjs
  • assets/cinematic-template/scene.mjs
  • assets/cinematic-template/serve.py
  • assets/cinematic-template/打开预览.command
  • assets/imagegen-template/preview.mjs
  • assets/imagegen-template/sprite-actor.mjs
  • scripts/register_actor_sheet.py
  • scripts/render_episode.mjs
  • scripts/stills.mjs
  • scripts/voice_track.py

Files

  • .gitignoreasset49 bytes
  • README.mddoc20,388 bytes
  • SKILL.mdcore11,013 bytes
  • SKILL.mdcore11,013 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Arrows.woff2asset2,720 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Basic-Latin.woff2asset2,312 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Block-Elements.woff2asset896 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Bopomofo.woff2asset1,512 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Box-Drawing.woff2asset1,940 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Braille-Patterns.woff2asset2,300 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.CJK-Compatibility-Forms.woff2asset1,068 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.CJK-Compatibility.woff2asset1,920 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.CJK-Radicals-Supplement.woff2asset3,564 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.CJK-Symbols-and-Punctuation.woff2asset1,916 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.CJK-Unified-Ideographs-001.woff2asset26,208 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.CJK-Unified-Ideographs-002.woff2asset27,968 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.CJK-Unified-Ideographs-003.woff2asset27,792 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.CJK-Unified-Ideographs-004.woff2asset29,156 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.CJK-Unified-Ideographs-005.woff2asset28,112 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.CJK-Unified-Ideographs-006.woff2asset29,288 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.CJK-Unified-Ideographs-007.woff2asset29,460 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.CJK-Unified-Ideographs-008.woff2asset30,092 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.CJK-Unified-Ideographs-009.woff2asset29,628 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.CJK-Unified-Ideographs-010.woff2asset30,180 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.CJK-Unified-Ideographs-011.woff2asset29,952 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.CJK-Unified-Ideographs-012.woff2asset30,524 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.CJK-Unified-Ideographs-013.woff2asset29,060 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.CJK-Unified-Ideographs-014.woff2asset30,524 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.CJK-Unified-Ideographs-015.woff2asset30,832 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.CJK-Unified-Ideographs-016.woff2asset29,892 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.CJK-Unified-Ideographs-017.woff2asset30,020 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.CJK-Unified-Ideographs-018.woff2asset31,760 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.CJK-Unified-Ideographs-019.woff2asset24,904 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.CJK-Unified-Ideographs-Extension-A-001.woff2asset33,160 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.CJK-Unified-Ideographs-Extension-A-002.woff2asset17,776 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.CJK-Unified-Ideographs-Extension-B-001.woff2asset36,288 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.CJK-Unified-Ideographs-Extension-B-002.woff2asset6,204 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.CJK-Unified-Ideographs-Extension-C.woff2asset2,332 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.CJK-Unified-Ideographs-Extension-D.woff2asset1,200 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.CJK-Unified-Ideographs-Extension-E.woff2asset2,456 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.CJK-Unified-Ideographs-Extension-F.woff2asset784 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.CJK-Unified-Ideographs-Extension-G.woff2asset884 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Cyrillic.woff2asset2,920 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Dingbats.woff2asset1,288 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Enclosed-Alphanumeric-Supplement.woff2asset2,864 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Enclosed-Alphanumerics.woff2asset3,644 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Enclosed-CJK-Letters-and-Months.woff2asset2,956 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.General-Punctuation.woff2asset1,240 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Geometric-Shapes.woff2asset2,128 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Greek-and-Coptic.woff2asset2,232 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Halfwidth-and-Fullwidth-Forms.woff2asset3,400 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Hangul-Compatibility-Jamo.woff2asset2,076 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Hangul-Syllables-001.woff2asset10,620 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Hangul-Syllables-002.woff2asset10,924 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Hangul-Syllables-003.woff2asset10,124 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Hangul-Syllables-004.woff2asset10,788 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Hangul-Syllables-005.woff2asset11,320 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Hangul-Syllables-006.woff2asset11,216 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Hangul-Syllables-007.woff2asset11,580 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Hangul-Syllables-008.woff2asset10,892 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Hangul-Syllables-009.woff2asset12,132 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Hangul-Syllables-010.woff2asset11,536 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Hangul-Syllables-011.woff2asset10,184 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Hiragana.woff2asset2,780 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Ideographic-Description-Characters.woff2asset944 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Ideographic-Symbols-and-Punctuation.woff2asset696 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Kangxi-Radicals.woff2asset6,292 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Katakana.woff2asset2,524 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Latin-1-Supplement.woff2asset2,280 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Latin-Extended-A.woff2asset2,772 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Latin-Extended-Additional.woff2asset560 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Latin-Extended-B.woff2asset3,104 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Latin-Extended-C.woff2asset672 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Latin-Extended-D.woff2asset756 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Letterlike-Symbols.woff2asset900 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Miscellaneous-Symbols.woff2asset5,180 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Miscellaneous-Technical.woff2asset1,604 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Number-Forms.woff2asset1,740 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Private-Use-Area.woff2asset5,228 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Specials.woff2asset648 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Superscripts-and-Subscripts.woff2asset1,156 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.Vertical-Forms.woff2asset756 bytes
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.cssasset70,892 bytes
  • assets/cinematic-template/assets/fonts/LICENSE-fusion-pixel-webfont.txtdoc1,062 bytes
  • assets/cinematic-template/assets/voice.wavasset3,528,044 bytes
  • assets/cinematic-template/components.mjsruns5,773 bytes
  • assets/cinematic-template/episode.jsonasset1,502 bytes
  • assets/cinematic-template/index.htmlasset4,011 bytes
  • assets/cinematic-template/scene.mjsruns22,860 bytes
  • assets/cinematic-template/serve.pyruns2,824 bytes
  • assets/cinematic-template/打开预览.commandruns52 bytes
  • assets/hero-pixel-explainer.pngasset884,555 bytes
  • assets/hero/card-actor.pngasset191,408 bytes
  • assets/hero/card-scene.pngasset293,491 bytes
  • assets/hero/card-small.pngasset169,236 bytes
  • assets/hero/hero.htmlasset5,264 bytes
  • assets/imagegen-template/INTEGRATION.mddoc11,280 bytes
  • assets/imagegen-template/config.jsonasset261 bytes
  • assets/imagegen-template/index.htmlasset1,423 bytes
  • assets/imagegen-template/preview.mjsruns3,362 bytes
  • assets/imagegen-template/sprite-actor.mjsruns3,834 bytes
  • assets/reference-frames/blue-半身.pngasset143,550 bytes
  • assets/reference-frames/blue-小人关卡.pngasset60,111 bytes
  • assets/reference-frames/orange-半身.pngasset142,421 bytes
  • assets/reference-frames/orange-小人关卡.pngasset73,591 bytes
  • assets/wechat-donate.pngasset83,455 bytes
  • demo-20s.movasset2,231,743 bytes
  • references/cinematic-profile.mddoc3,649 bytes
  • references/code-route.mddoc2,449 bytes
  • references/imagegen-route.mddoc4,476 bytes
  • references/pipeline.mddoc14,637 bytes
  • references/reference-modes.mddoc1,127 bytes
  • references/style-dna.mddoc4,441 bytes
  • references/teaching-components.mddoc3,500 bytes
  • scripts/register_actor_sheet.pyruns9,251 bytes
  • scripts/render_episode.mjsruns7,233 bytes
  • scripts/stills.mjsruns2,413 bytes
  • scripts/voice_track.pyruns19,442 bytes

No excerpt is shown for this license. Read the source on GitHub.

View the complete source on GitHub

Skills included

  • ruic-pixel-explainer

Repository facts

License
No license detected
Created
Oct 9, 2026
Last pushed
Nov 1, 2026
Forks
12
Open issues
1
Project activity
Active

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 6, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 7 notes
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.css:255 Analysis incomplete: physical or joined line exceeds character limit
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.css:253 Analysis incomplete: physical or joined line exceeds character limit
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.css:254 Analysis incomplete: physical or joined line exceeds character limit
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.css:575 Analysis incomplete: physical or joined line exceeds character limit
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.css:573 Analysis incomplete: physical or joined line exceeds character limit
  • assets/cinematic-template/assets/fonts/Fusion-Pixel-12px-Proportional-Simplified-Chinese.css:574 Analysis incomplete: physical or joined line exceeds character limit
Show all 74 signals by file

README.md

  • Network accessline 20
    <https://github.com/user-attachments/assets/522644ab-0875-4d18-8994-306fc1beb279>
  • Network accessline 29
    <https://github.com/user-attachments/assets/7ae16020-a06b-488a-8e5e-c2cc143761b7>
  • Network accessline 31
    <https://github.com/user-attachments/assets/6ca09ced-0c1f-48b1-8515-1868c6ef87c6>
  • Network accessline 171
    # 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
  • Network accessline 172
    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
  • Network accessline 174
    # 5) 逐帧出片 node <技能目录>/scripts/render_episode.mjs --url http://127.0.0.1:8778/ --out sample.mp4 \
  • Network accessline 175
    node <技能目录>/scripts/render_episode.mjs --url http://127.0.0.1:8778/ --out sample.mp4 \

SKILL.md

  • Network accessline 11
    - python3       - curl ---
  • Network accessline 96
    # 新样板与老游戏均提供 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
  • Network accessline 97
    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
  • Network accessline 98
    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

assets/cinematic-template/components.mjs

  • Executable scriptline 1
    Executable file

assets/cinematic-template/index.html

  • Network accessline 4
    import {CinematicScene} from './scene.mjs'; import {componentGlyphs} from './components.mjs'; const ep=await fetch('./episode.json').then(r=>r.json());
  • Network accessline 5
    import {componentGlyphs} from './components.mjs'; const ep=await fetch('./episode.json').then(r=>r.json()); const glyphs=[ep.title,ep.author,ep.actor.name,componentGlyphs,...Object.values(ep.componentLabels||{}),...ep.chapters,...ep.lines.m
  • Network accessline 6
    const ep=await fetch('./episode.json').then(r=>r.json());

assets/cinematic-template/scene.mjs

  • Executable scriptline 1
    Executable file

assets/cinematic-template/serve.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 31
    class Server(socketserver.ThreadingMixIn,http.server.HTTPServer):daemon_threads=True;allow_reuse_address=True if __name__=='__main__':  p=argparse.ArgumentParser();p.add_argument('--port',type=int,default=8778);p.add_argument('--open',actio
  • Network accessline 32
    if __name__=='__main__':  p=argparse.ArgumentParser();p.add_argument('--port',type=int,default=8778);p.add_argument('--open',action='store_true');a=p.parse_args();url=f'http://127.0.0.1:{a.port}/'  try:server=Server(('127.0.0.1',a.port),Han
  • Network accessline 33
    p=argparse.ArgumentParser();p.add_argument('--port',type=int,default=8778);p.add_argument('--open',action='store_true');a=p.parse_args();url=f'http://127.0.0.1:{a.port}/'
  • Network accessline 36
    if e.errno==errno.EADDRINUSE:    try:     with urllib.request.urlopen(url+'episode.json',timeout=2) as response:existing=json.load(response)
  • Network accessline 37
    try:     with urllib.request.urlopen(url+'episode.json',timeout=2) as response:existing=json.load(response)     own=json.loads((ROOT/'episode.json').read_text())
  • Network accessline 38
    with urllib.request.urlopen(url+'episode.json',timeout=2) as response:existing=json.load(response)

assets/cinematic-template/打开预览.command

  • Executable scriptline 1
    #!/bin/zsh

assets/imagegen-template/preview.mjs

  • Executable scriptline 1
    Executable file
  • Network accessline 5
    try {   const response = await fetch('./config.json');
  • Network accessline 6
    const response = await fetch('./config.json');

assets/imagegen-template/sprite-actor.mjs

  • Executable scriptline 1
    Executable file
  • Network accessline 4
    async function fetchManifest(path, expectedCount, kind) {   const url = new URL(path, document.baseURI);   const response = await fetch(url);
  • Network accessline 5
    const url = new URL(path, document.baseURI);   const response = await fetch(url);   if (!response.ok) throw new Error(`Missing ${kind} manifest: ${url.pathname} (${response.status})`);
  • Network accessline 6
    const response = await fetch(url);

references/pipeline.md

  • Network accessline 99
    |---|---| | 音频字节 | `Content-Type: audio/mpeg`,body 即 mp3/wav 字节 | | JSON + 直链 | `{"audio_url": "https://…/a.mp3"}`(也认 `url` / `audio` 给直链) |
  • Network accessline 100
    | 音频字节 | `Content-Type: audio/mpeg`,body 即 mp3/wav 字节 | | JSON + 直链 | `{"audio_url": "https://…/a.mp3"}`(也认 `url` / `audio` 给直链) | | JSON + base64 | `{"audio_base64": "…"}`;往一层里找也认(`{"data": {"audio": "…"}}`) |
  • Network accessline 101
    | JSON + 直链 | `{"audio_url": "https://…/a.mp3"}`(也认 `url` / `audio` 给直链) |
  • Network accessline 105
    python3 scripts/voice_track.py --tts-api https://your-tts/api --tts-api-key sk-… --check
  • Network accessline 113
    {"type": "http", "url": "https://your-tts/api", "key": "sk-…", "voice": "你的音色",
  • Network accessline 118
    (要挂代理加 `"proxy": "http://127.0.0.1:7890"`;接口用自签证书加 `"insecure": true`。)
  • Access to secretsline 146
    [Credential-related source omitted]
  • Network accessline 171
    # 静帧预检(先看版式,别直接渲染) node scripts/stills.mjs --url http://127.0.0.1:5274/ --ep <slug> --out stills --times 1.2,3.9,7.6,11.2,14
  • Network accessline 172
    node scripts/stills.mjs --url http://127.0.0.1:5274/ --ep <slug> --out stills --times 1.2,3.9,7.6,11.2,14
  • Network accessline 173
    # 整片导出(30fps 定帧;有配音就一起混) node scripts/render_episode.mjs --url http://127.0.0.1:5274/ --ep <slug> \   --out <片名>-像素重建.mp4 --audio voice.wav --fps 30 --dsf 1.5 --size 1920x1080
  • Network accessline 174
    node scripts/render_episode.mjs --url http://127.0.0.1:5274/ --ep <slug> \

scripts/register_actor_sheet.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/render_episode.mjs

  • Executable scriptline 1
    Executable file
  • Network accessline 5
    // // 用法(先在工程里 npm run dev,页面起在 5273): //   node render_episode.mjs --url http://127.0.0.1:5273/ --out <成片.mp4>
  • Network accessline 6
    // 用法(先在工程里 npm run dev,页面起在 5273): //   node render_episode.mjs --url http://127.0.0.1:5273/ --out <成片.mp4> //        [--ep practice] [--from 0] [--to 0] [--fps 30] [--dsf 2] [--size 1920x1080]
  • Network accessline 7
    //   node render_episode.mjs --url http://127.0.0.1:5273/ --out <成片.mp4>
  • Network accessline 24
    const argv = process.argv.slice(2); const arg = (n, d = '') => {const i = argv.indexOf(`--${n}`); return i >= 0 ? (argv[i + 1] ?? '') : d}; const url = arg('url', 'http://127.0.0.1:5273/');
  • Network accessline 25
    const arg = (n, d = '') => {const i = argv.indexOf(`--${n}`); return i >= 0 ? (argv[i + 1] ?? '') : d}; const url = arg('url', 'http://127.0.0.1:5273/'); const out = path.resolve(arg('out', 'episode.mp4'));
  • Network accessline 26
    const url = arg('url', 'http://127.0.0.1:5273/');

scripts/stills.mjs

  • Executable scriptline 1
    Executable file
  • Network accessline 2
    // // 用法(dev server 起着): //   node stills.mjs --url http://127.0.0.1:5274/ --out <目录> [--ep hallucination] [--times 2,3,6,8,11.5,14] [--dsf 2]
  • Network accessline 3
    // 用法(dev server 起着): //   node stills.mjs --url http://127.0.0.1:5274/ --out <目录> [--ep hallucination] [--times 2,3,6,8,11.5,14] [--dsf 2] //
  • Network accessline 4
    //   node stills.mjs --url http://127.0.0.1:5274/ --out <目录> [--ep hallucination] [--times 2,3,6,8,11.5,14] [--dsf 2]
  • Network accessline 12
    const argv = process.argv.slice(2); const arg = (n, d = '') => {const i = argv.indexOf(`--${n}`); return i >= 0 ? (argv[i + 1] ?? '') : d}; const url = arg('url', 'http://127.0.0.1:5273/');
  • Network accessline 13
    const arg = (n, d = '') => {const i = argv.indexOf(`--${n}`); return i >= 0 ? (argv[i + 1] ?? '') : d}; const url = arg('url', 'http://127.0.0.1:5273/'); const outDir = path.resolve(arg('out', 'stills'));
  • Network accessline 14
    const url = arg('url', 'http://127.0.0.1:5273/');

scripts/voice_track.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 21
    配音后端三种给法(优先级:命令行 > 环境变量 > 配置文件):   · HTTP API   --tts-api https://your-tts/api [--tts-api-key sk-…] [--voice 音色]
  • Network accessline 22
    · HTTP API   --tts-api https://your-tts/api [--tts-api-key sk-…] [--voice 音色]
  • Access to secretsline 26
    [Credential-related source omitted]
  • Network accessline 42
    NO_BACKEND = """没有可用的配音后端:本技能不带内置 TTS,口播要接你自己的接口。 任选一种(详见 references/pipeline.md 的「配音与时间轴」):   · HTTP API:  --tts-api https://your-tts/api [--tts-api-key sk-…]
  • Network accessline 43
    任选一种(详见 references/pipeline.md 的「配音与时间轴」):   · HTTP API:  --tts-api https://your-tts/api [--tts-api-key sk-…]                 或 tts.config.json 里 {"type": "http", "url": "…", "key": "…"}
  • Network accessline 44
    · HTTP API:  --tts-api https://your-tts/api [--tts-api-key sk-…]
  • Access to secretsline 48
    [Credential-related source omitted]
  • Access to secretsline 74
    [Credential-related source omitted]
  • Access to secretsline 75
    [Credential-related source omitted]
  • Access to secretsline 88
    [Credential-related source omitted]
  • Access to secretsline 92
    [Credential-related source omitted]
  • Network accessline 148
    """用 curl 走 HTTP(比 urllib 少踩 SSL/代理的坑)。返回响应体字节。"""
  • Network accessline 160
    proc = subprocess.run(argv, input=data, capture_output=True)     if proc.returncode != 0:         raise RuntimeError(f'curl 调用失败(退出码 {proc.returncode}):{proc.stderr.decode("utf-8", "replace").strip()[:300]}')
  • Network accessline 161
    if proc.returncode != 0:         raise RuntimeError(f'curl 调用失败(退出码 {proc.returncode}):{proc.stderr.decode("utf-8", "replace").strip()[:300]}')     code = int(proc.stdout.decode().strip() or 0)
  • Network accessline 162
    raise RuntimeError(f'curl 调用失败(退出码 {proc.returncode}):{proc.stderr.decode("utf-8", "replace").strip()[:300]}')
  • Possible obfuscationline 188
    blob = base64.b64decode(text, validate=False)

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Declared and executed: 1 fact
Signal confidence: 71 facts

and 21 more

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativeFrontmatter field user-invocable in SKILL.md.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.