Not in the top 1,000 by GitHub stars
Mort1d/motion-graphics-skills
Showreel-grade motion graphics from code, with an original soundtrack for every video. An Agent Skill for Claude Code, Codex, Cursor and other agents.
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
skills/motion-graphics/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
7f0c3714dc81 → 7f0c3714dc81
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 7f0c3714dc81
No earlier version was observed for comparison.
Verified commit 7f0c3714dc81bea52644a5287c6350345009e579
git clone --filter=blob:none --no-checkout https://github.com/Mort1d/motion-graphics-skills.git .hotskills/mort1d-motion-graphics-skills && git -C .hotskills/mort1d-motion-graphics-skills checkout --detach 7f0c3714dc81bea52644a5287c6350345009e579
# Copy each selected skill directory from .hotskills/mort1d-motion-graphics-skills into .claude/skills/<skill-name>/Heat
5.6- 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
30-day change not yet available: not enough history.
Individual skills in this repository
- motion-graphics
skills/motion-graphics
How it works
motion-graphics
When your agent uses it
Creates showreel-grade motion graphics videos entirely from code — HTML scenes rendered frame by frame in headless Chrome with real motion blur, plus an original score composed for each video on the same beat grid. It directs the film itself from whatever the person gives — their words, a site, a GitHub repository, an app, screenshots, their own video clips and photos, or reference clips — and sets the pace and the energy of the music from them. Use for any promo, ad, launch video, explainer, reel, Shorts or TikTok, intro, kinetic type or logo animation for a business, product, app, site, bot, channel or person, even when all you have is a link or a name.
What it loads into context
Frontmatter
230 tokensAlways available to the agent
SKILL.md
8,986 tokensWhen the skill is activated
Reference documents
48,491 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- What you deliver
- Workflow
- Quality bar
- Rules that protect the client
- Traps (each one cost a real project time)
- Reference files
- Commands
Scripts executed separately
assets/template/audio/score.mjsassets/template/audio/synth/core.mjsassets/template/audio/synth/drums.mjsassets/template/audio/synth/fx.mjsassets/template/audio/synth/index.mjsassets/template/audio/synth/mix.mjsassets/template/audio/synth/sample.mjsassets/template/audio/synth/selftest.mjsassets/template/audio/synth/theory.mjsassets/template/audio/synth/tonal.mjsassets/template/js/captions.mjsassets/template/js/copy.mjsassets/template/js/engine.jsassets/template/js/footage.data.mjsassets/template/js/footage.mjsassets/template/js/i18n.jsassets/template/js/kit.jsassets/template/js/lint.mjsassets/template/js/main.jsassets/template/js/reel.jsassets/template/js/scenes/hook.jsassets/template/js/scenes/lockup.jsassets/template/js/scenes/post.jsassets/template/js/scenes/proof.jsassets/template/js/screen.jsassets/template/js/timeline.mjsassets/template/tools/aac.mjsassets/template/tools/audio-check.mjsassets/template/tools/capture.mjsassets/template/tools/cutdown.mjsassets/template/tools/energy.mjsassets/template/tools/export-timeline.mjsassets/template/tools/footage.mjsassets/template/tools/kit.mjsassets/template/tools/plan-check.mjsassets/template/tools/pops.mjsassets/template/tools/qa.mjsassets/template/tools/render.mjsassets/template/tools/sound-print.mjsscripts/lib/browser.mjsscripts/lib/net.mjsscripts/lib/page.mjsscripts/new-project.mjsscripts/palette.mjsscripts/ref-sheet.mjsscripts/site-kit.mjsscripts/trace-logo.mjsscripts/ui-shot.mjs
Files
../../.claude-plugin/marketplace.jsonasset703 bytesSKILL.mdcore35,302 bytesSKILL.mdcore35,302 bytesSKILL.mdcore35,302 bytesSKILL.mdcore35,302 bytesSKILL.mdcore35,302 bytesSKILL.mdcore35,302 bytesSKILL.mdcore35,302 bytesSKILL.mdcore35,302 bytesSKILL.mdcore35,302 bytesSKILL.mdcore35,302 bytesSKILL.mdcore35,302 bytesSKILL.mdcore35,302 bytesSKILL.mdcore35,302 bytesSKILL.mdcore35,302 bytesSKILL.mdcore35,302 bytesSKILL.mdcore35,302 bytesSKILL.mdcore35,302 bytesSKILL.mdcore35,302 bytesSKILL.mdcore35,302 bytesSKILL.mdcore35,302 bytesSKILL.mdcore35,302 bytesSKILL.mdcore35,302 bytesSKILL.mdcore35,302 bytesSKILL.mdcore35,302 bytesSKILL.mdcore35,302 bytesSKILL.mdcore35,302 bytesSKILL.mdcore35,302 bytesSKILL.mdcore35,302 bytesSKILL.mdcore35,302 bytesSKILL.mdcore35,302 bytesSKILL.mdcore35,302 bytesSKILL.mdcore35,302 bytesassets/template/README.mddoc3,453 bytesassets/template/REVIEW.mddoc749 bytesassets/template/assets/fonts/JetBrainsMono-Bold.ttfasset112,092 bytesassets/template/assets/fonts/JetBrainsMono-Regular.ttfasset112,172 bytesassets/template/assets/fonts/Montserrat-Black.ttfasset275,192 bytesassets/template/assets/fonts/Montserrat-BlackItalic.ttfasset279,380 bytesassets/template/assets/fonts/Montserrat-Bold.ttfasset261,588 bytesassets/template/assets/fonts/OFL.txtdoc4,613 bytesassets/template/audio/score.mjsruns6,930 bytesassets/template/audio/synth/core.mjsruns13,130 bytesassets/template/audio/synth/drums.mjsruns12,362 bytesassets/template/audio/synth/fx.mjsruns17,927 bytesassets/template/audio/synth/index.mjsruns1,115 bytesassets/template/audio/synth/mix.mjsruns21,780 bytesassets/template/audio/synth/sample.mjsruns4,943 bytesassets/template/audio/synth/selftest.mjsruns5,469 bytesassets/template/audio/synth/theory.mjsruns7,383 bytesassets/template/audio/synth/tonal.mjsruns26,572 bytesassets/template/brief.mddoc567 bytesassets/template/css/fonts.cssasset1,187 bytesassets/template/css/style.cssasset3,879 bytesassets/template/index.htmlasset300 bytesassets/template/js/captions.mjsruns3,822 bytesassets/template/js/copy.mjsruns1,198 bytesassets/template/js/engine.jsruns13,389 bytesassets/template/js/footage.data.mjsruns129 bytesassets/template/js/footage.mjsruns3,477 bytesassets/template/js/i18n.jsruns386 bytesassets/template/js/kit.jsruns10,145 bytesassets/template/js/lint.mjsruns1,946 bytesassets/template/js/main.jsruns11,368 bytesassets/template/js/reel.jsruns1,971 bytesassets/template/js/scenes/hook.jsruns4,384 bytesassets/template/js/scenes/lockup.jsruns5,605 bytesassets/template/js/scenes/post.jsruns229 bytesassets/template/js/scenes/proof.jsruns4,271 bytesassets/template/js/screen.jsruns19,377 bytesassets/template/js/timeline.mjsruns2,545 bytesassets/template/tools/aac.mjsruns3,821 bytesassets/template/tools/audio-check.mjsruns11,935 bytesassets/template/tools/capture.mjsruns27,539 bytesassets/template/tools/cutdown.mjsruns5,089 bytesassets/template/tools/demo-print.jsonasset1,076 bytesassets/template/tools/energy.mjsruns7,148 bytesassets/template/tools/export-timeline.mjsruns2,056 bytesassets/template/tools/footage.mjsruns17,819 bytesassets/template/tools/kit.mjsruns4,895 bytesassets/template/tools/plan-check.mjsruns11,232 bytesassets/template/tools/pops.mjsruns3,360 bytesassets/template/tools/qa.mjsruns15,971 bytesassets/template/tools/render.mjsruns10,882 bytesassets/template/tools/sound-print.mjsruns33,982 bytesreferences/direction.mddoc14,745 bytesreferences/footage.mddoc16,428 bytesreferences/genre-cards.mddoc16,606 bytesreferences/look-cards.mddoc9,765 bytesreferences/pipeline.mddoc22,951 bytesreferences/scene-cookbook.mddoc21,998 bytesreferences/sound-design.mddoc25,749 bytesreferences/story-and-motion.mddoc17,636 bytesreferences/synth-api.mddoc10,757 bytesreferences/wow-library.mddoc6,556 bytesscripts/lib/browser.mjsruns8,677 bytesscripts/lib/net.mjsruns18,100 bytesscripts/lib/page.mjsruns2,832 bytesscripts/new-project.mjsruns5,757 bytesscripts/palette.mjsruns6,428 bytesscripts/ref-sheet.mjsruns23,685 bytesscripts/site-kit.mjsruns57,297 bytesscripts/trace-logo.mjsruns10,760 bytesscripts/ui-shot.mjsruns10,914 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubSkills included
- motion-graphics
Repository facts
- License
- No license detected
- Created
- Sep 28, 2026
- Last pushed
- Sep 30, 2026
- Forks
- 6
- Open issues
- 0
- Project activity
- Active
Before you install
Network or broad shellAutomated 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 31 notes
skills/motion-graphics/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/motion-graphics/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/motion-graphics/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/motion-graphics/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/motion-graphics/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/motion-graphics/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/motion-graphics/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/motion-graphics/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/motion-graphics/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/motion-graphics/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/motion-graphics/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/motion-graphics/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/motion-graphics/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/motion-graphics/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/motion-graphics/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/motion-graphics/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/motion-graphics/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/motion-graphics/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/motion-graphics/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/motion-graphics/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 4 dangerous shell commandsin 3 files: motion-graphics/assets/template/tools/capture.mjs:17 motion-graphics/references/pipeline.md:74 motion-graphics/scripts/ui-shot.mjs:142
- 63 network referencesin 9 files: motion-graphics/scripts/lib/net.mjs:22 motion-graphics/scripts/site-kit.mjs:42 motion-graphics/assets/template/tools/capture.mjs:110 and 6 more
- No hidden or obfuscated text
- No instruction overrides
- 48 executable scriptsin 48 files: motion-graphics/assets/template/audio/score.mjs:1 motion-graphics/assets/template/audio/synth/core.mjs:1 motion-graphics/assets/template/audio/synth/drums.mjs:1 and 45 more
- No access to secrets
- No requests to vote in Hot
Show all 115 signals by file
.claude-plugin/marketplace.json
skills/motion-graphics/assets/template/assets/fonts/OFL.txt
- Network accessline 1
Montserrat-Bold.ttf, Montserrat-Black.ttf, Montserrat-BlackItalic.ttf: Copyright 2011 The Montserrat Project Authors (https://github.com/JulietaUla/Montserrat) - Network accessline 2
Copyright 2011 The Montserrat Project Authors (https://github.com/JulietaUla/Montserrat) - Network accessline 4
JetBrainsMono-Regular.ttf, JetBrainsMono-Bold.ttf: Copyright 2020 The JetBrains Mono Project Authors (https://github.com/JetBrains/JetBrainsMono) - Network accessline 5
Copyright 2020 The JetBrains Mono Project Authors (https://github.com/JetBrains/JetBrainsMono) - Network accessline 7
These Font Software are licensed under the SIL Open Font License, Version 1.1. This license is copied below, and is also available with a FAQ at: https://openfontlicense.org - Network accessline 9
https://openfontlicense.org
skills/motion-graphics/assets/template/audio/score.mjs
- Executable scriptline 1
Executable file
skills/motion-graphics/assets/template/audio/synth/core.mjs
- Executable scriptline 1
Executable file
skills/motion-graphics/assets/template/audio/synth/drums.mjs
- Executable scriptline 1
Executable file
skills/motion-graphics/assets/template/audio/synth/fx.mjs
- Executable scriptline 1
Executable file
skills/motion-graphics/assets/template/audio/synth/index.mjs
- Executable scriptline 1
Executable file
skills/motion-graphics/assets/template/audio/synth/mix.mjs
- Executable scriptline 1
Executable file
skills/motion-graphics/assets/template/audio/synth/sample.mjs
- Executable scriptline 1
Executable file
skills/motion-graphics/assets/template/audio/synth/selftest.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/motion-graphics/assets/template/audio/synth/theory.mjs
- Executable scriptline 1
Executable file
skills/motion-graphics/assets/template/audio/synth/tonal.mjs
- Executable scriptline 1
Executable file
skills/motion-graphics/assets/template/js/captions.mjs
- Executable scriptline 1
Executable file
skills/motion-graphics/assets/template/js/copy.mjs
- Executable scriptline 1
Executable file
skills/motion-graphics/assets/template/js/engine.js
- Executable scriptline 1
Executable file
skills/motion-graphics/assets/template/js/footage.data.mjs
- Executable scriptline 1
Executable file
skills/motion-graphics/assets/template/js/footage.mjs
- Executable scriptline 1
Executable file
skills/motion-graphics/assets/template/js/i18n.js
- Executable scriptline 1
Executable file
skills/motion-graphics/assets/template/js/kit.js
- Executable scriptline 1
Executable file
skills/motion-graphics/assets/template/js/lint.mjs
- Executable scriptline 1
Executable file
skills/motion-graphics/assets/template/js/main.js
- Executable scriptline 1
Executable file
skills/motion-graphics/assets/template/js/reel.js
- Executable scriptline 1
Executable file
skills/motion-graphics/assets/template/js/scenes/hook.js
- Executable scriptline 1
Executable file
skills/motion-graphics/assets/template/js/scenes/lockup.js
- Executable scriptline 1
Executable file
skills/motion-graphics/assets/template/js/scenes/post.js
- Executable scriptline 1
Executable file
skills/motion-graphics/assets/template/js/scenes/proof.js
- Executable scriptline 1
Executable file
skills/motion-graphics/assets/template/js/screen.js
- Executable scriptline 1
Executable file - Network accessline 101
float h1(float n) { return fract(sin(n * 12.9898 + u_seed * 78.233) * 43758.5453); } float h2(vec2 p) { return fract(sin(dot(p, vec2(127.1, 311.7)) + u_seed * 17.13) * 43758.5453); } vec3 fetch(vec2 p, vec2 dir) { - Network accessline 103
vec3 fetch(vec2 p, vec2 dir) { - Network accessline 141
dir += vec2(gl * 24.0 * u_glitch.x, 0.0); if (u_vhs.x > 0.0) dir += vec2(6.0 * u_vhs.x, 0.0); vec3 c = fetch(p, dir); - Network accessline 142
if (u_vhs.x > 0.0) dir += vec2(6.0 * u_vhs.x, 0.0); vec3 c = fetch(p, dir); c = grade(c); - Network accessline 143
vec3 c = fetch(p, dir); - Network accessline 288
if (hit) { hit.used = this.tick; continue; } jobs.push((async () => { const res = await fetch(url); - Network accessline 289
jobs.push((async () => { const res = await fetch(url); if (!res.ok) throw new Error(`[screen] cannot load ${url} — run tools/footage.mjs cut, or check the path`); - Network accessline 290
const res = await fetch(url);
skills/motion-graphics/assets/template/js/timeline.mjs
- Executable scriptline 1
Executable file
skills/motion-graphics/assets/template/tools/aac.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/motion-graphics/assets/template/tools/audio-check.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/motion-graphics/assets/template/tools/capture.mjs
- Executable scriptline 1
#!/usr/bin/env node - Dangerous shell operationline 17
// node tools/capture.mjs eval "<js expression>" [--times 3.5,4] render those times, print the expression's value - Network accessline 110
function serve() { const srv = http.createServer((req, res) => { const u = decodeURIComponent(new URL(req.url, 'http://x').pathname); - Network accessline 111
const srv = http.createServer((req, res) => { const u = decodeURIComponent(new URL(req.url, 'http://x').pathname); const p = path.join(ROOT, u === '/' ? 'index.html' : u); - Network accessline 112
const u = decodeURIComponent(new URL(req.url, 'http://x').pathname); - Network accessline 198
const srv = await serve(); const { proc, port, prof } = await launch(label); const base = `http://127.0.0.1:${port}`; - Network accessline 199
const { proc, port, prof } = await launch(label); const base = `http://127.0.0.1:${port}`; const ver = await (await fetch(`${base}/json/version`)).json(); - Network accessline 200
const base = `http://127.0.0.1:${port}`; - Network accessline 201
const ver = await (await fetch(`${base}/json/version`)).json(); - Network accessline 203
const tab = await (await fetch(`${base}/json/new?about:blank`, { method: 'PUT' })).json(); - Network accessline 220
await c.send('Emulation.setFocusEmulationEnabled', { enabled: true }); const url = `http://127.0.0.1:${srv.address().port}/${page}${query ? `?${query}` : ''}`; - Network accessline 221
const url = `http://127.0.0.1:${srv.address().port}/${page}${query ? `?${query}` : ''}`; - Dangerous shell operationline 487
console.log('usage: node tools/capture.mjs doctor | still <t...> | sheet <t0> <t1> <n> | review | verify | render --from A --to B | eval "<expr>" [--times ...]');
skills/motion-graphics/assets/template/tools/cutdown.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/motion-graphics/assets/template/tools/energy.mjs
- Executable scriptline 1
Executable file
skills/motion-graphics/assets/template/tools/export-timeline.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/motion-graphics/assets/template/tools/footage.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/motion-graphics/assets/template/tools/kit.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/motion-graphics/assets/template/tools/plan-check.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/motion-graphics/assets/template/tools/pops.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/motion-graphics/assets/template/tools/qa.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/motion-graphics/assets/template/tools/render.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/motion-graphics/assets/template/tools/sound-print.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/motion-graphics/references/footage.md
- Network accessline 234
import { wordsOf, chunks, shift, at } from '../captions.mjs'; // build (it may be async): the clip's subtitles, moved to the film's time — the cut 'talk' plays at 1× from S.talk[0] const subs = await (await fetch('assets/footage/talk.srt')) - Network accessline 235
// build (it may be async): the clip's subtitles, moved to the film's time — the cut 'talk' plays at 1× from S.talk[0] const subs = await (await fetch('assets/footage/talk.srt')).text(); const caps = shift(chunks(wordsOf(subs), { max: 2, up - Network accessline 236
const subs = await (await fetch('assets/footage/talk.srt')).text();
skills/motion-graphics/references/pipeline.md
- Dangerous shell operationline 74
node tools/capture.mjs eval "document.querySelectorAll('.card').length" --times 5
skills/motion-graphics/scripts/lib/browser.mjs
- Executable scriptline 1
Executable file
skills/motion-graphics/scripts/lib/net.mjs
- Executable scriptline 1
Executable file - Network accessline 22
if (accept) headers.Accept = accept; if (referer) headers.Referer = referer; return fetch(url, { headers, redirect: 'follow', signal: AbortSignal.timeout(timeout) }); - Network accessline 23
if (referer) headers.Referer = referer; return fetch(url, { headers, redirect: 'follow', signal: AbortSignal.timeout(timeout) }); } - Network accessline 24
return fetch(url, { headers, redirect: 'follow', signal: AbortSignal.timeout(timeout) }); - Network accessline 118
for (let hop = 0; ; hop++) { // follow redirects by hand, checking every address if (!allowPrivate) await assertPublic(at); r = await fetch(at, { headers: { 'User-Agent': UA, ...(referer ? { Referer: referer } : {}) }, redirect: - Network accessline 119
if (!allowPrivate) await assertPublic(at); r = await fetch(at, { headers: { 'User-Agent': UA, ...(referer ? { Referer: referer } : {}) }, redirect: 'manual', signal: ctl.signal }); if (r.status < 300 || r.status >= 400 || !r.hea - Network accessline 120
r = await fetch(at, { headers: { 'User-Agent': UA, ...(referer ? { Referer: referer } : {}) }, redirect: 'manual', signal: ctl.signal }); - Network accessline 215
[Credential-related source omitted] - Network accessline 216
[Credential-related source omitted] - Network accessline 217
[Credential-related source omitted] - Network accessline 222
if (thirdParty && !(found && hasMedia(found))) { try { const j = await getJson(`https://api.fxtwitter.com/status/${link.id}`); - Network accessline 223
try { const j = await getJson(`https://api.fxtwitter.com/status/${link.id}`); if (j?.tweet) { const fx = { ...fromFx(j.tweet), via: 'FxEmbed API (api.fxtwitter.com)' }; if (!found || hasMedia(fx)) found = fx; } else tried.push(` - Network accessline 224
const j = await getJson(`https://api.fxtwitter.com/status/${link.id}`); - Network accessline 234
async function resolveTelegram(link) { try { const html = await getText(`https://t.me/${link.channel}/${link.post}?embed=1&mode=tme`); - Network accessline 235
try { const html = await getText(`https://t.me/${link.channel}/${link.post}?embed=1&mode=tme`); const media = [ - Network accessline 236
const html = await getText(`https://t.me/${link.channel}/${link.post}?embed=1&mode=tme`);
skills/motion-graphics/scripts/lib/page.mjs
- Executable scriptline 1
Executable file
skills/motion-graphics/scripts/new-project.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/motion-graphics/scripts/palette.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/motion-graphics/scripts/ref-sheet.mjs
- Executable scriptline 1
#!/usr/bin/env node
skills/motion-graphics/scripts/site-kit.mjs
- Executable scriptline 1
#!/usr/bin/env node - Network accessline 42
process.exit(1); } const START = /^@\w+$/.test(pos[0]) ? `https://t.me/${pos[0].slice(1)}` : /^https?:\/\//i.test(pos[0]) ? pos[0] : `https://${pos[0]}`; - Network accessline 43
} const START = /^@\w+$/.test(pos[0]) ? `https://t.me/${pos[0].slice(1)}` : /^https?:\/\//i.test(pos[0]) ? pos[0] : `https://${pos[0]}`; try { new URL(START); } catch { console.error(`site-kit: not a web address: ${pos[0]}`); process.exit(1 - Network accessline 44
const START = /^@\w+$/.test(pos[0]) ? `https://t.me/${pos[0].slice(1)}` : /^https?:\/\//i.test(pos[0]) ? pos[0] : `https://${pos[0]}`; - Network accessline 217
if (ref && !clone.querySelector(`#${CSS.escape(id)}`)) { let defs = clone.querySelector('defs'); if (!defs) { defs = document.createElementNS('http://www.w3.org/2000/svg', 'defs'); clone.insertBefore(defs, clone.firstChild); - Network accessline 218
let defs = clone.querySelector('defs'); if (!defs) { defs = document.createElementNS('http://www.w3.org/2000/svg', 'defs'); clone.insertBefore(defs, clone.firstChild); } defs.appendChild(ref.cloneNode(true)); - Network accessline 219
if (!defs) { defs = document.createElementNS('http://www.w3.org/2000/svg', 'defs'); clone.insertBefore(defs, clone.firstChild); } - Network accessline 222
}); const r = svg.getBoundingClientRect(); clone.setAttribute('xmlns', 'http://www.w3.org/2000/svg'); - Network accessline 223
const r = svg.getBoundingClientRect(); clone.setAttribute('xmlns', 'http://www.w3.org/2000/svg'); if (!clone.getAttribute('viewBox')) { try { const b = svg.getBBox(); clone.setAttribute('viewBox', `${b.x} ${b.y} ${b.width} ${b.heigh - Network accessline 224
clone.setAttribute('xmlns', 'http://www.w3.org/2000/svg'); - Network accessline 739
const gf = async (spec) => { if (gfDown) return null; try { const r = await get(`https://fonts.googleapis.com/css2?family=${spec}`, { ua: 'site-kit', timeout: 15000 }); return r.ok ? r.text() : null; } catch (e) { - Network accessline 740
if (gfDown) return null; try { const r = await get(`https://fonts.googleapis.com/css2?family=${spec}`, { ua: 'site-kit', timeout: 15000 }); return r.ok ? r.text() : null; } catch (e) { gfDown = true; - Network accessline 741
try { const r = await get(`https://fonts.googleapis.com/css2?family=${spec}`, { ua: 'site-kit', timeout: 15000 }); return r.ok ? r.text() : null; } catch (e) {
skills/motion-graphics/scripts/trace-logo.mjs
- Executable scriptline 1
#!/usr/bin/env node - Network accessline 168
fs.mkdirSync(path.dirname(out), { recursive: true }); fs.writeFileSync(`${out}.json`, JSON.stringify({ source: path.basename(src), crop, mode, w, h, origin: [r2(bx0 + cx), r2(by0 + cy)], iou: r2(iou), shapes }, null, 1)); fs.writeFileSync(` - Network accessline 169
fs.writeFileSync(`${out}.json`, JSON.stringify({ source: path.basename(src), crop, mode, w, h, origin: [r2(bx0 + cx), r2(by0 + cy)], iou: r2(iou), shapes }, null, 1)); fs.writeFileSync(`${out}.svg`, `<svg xmlns="http://www.w3.org/2000/svg" - Network accessline 170
fs.writeFileSync(`${out}.svg`, `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${w} ${h}" width="${w}" height="${h}">\n${shapes.map((s) => ` <path fill="currentColor" fill-rule="evenodd" d="${s.d}"/>`).join('\n')}\n</svg>\n`);
skills/motion-graphics/scripts/ui-shot.mjs
- Executable scriptline 1
#!/usr/bin/env node - Network accessline 38
process.exit(1); } if (!/^[a-z][\w+.-]*:\/\//i.test(url)) url = `https://${url}`; - Network accessline 39
} if (!/^[a-z][\w+.-]*:\/\//i.test(url)) url = `https://${url}`; const OUT = path.resolve(flags.out || 'assets/ui'); - Network accessline 40
if (!/^[a-z][\w+.-]*:\/\//i.test(url)) url = `https://${url}`; - Dangerous shell operationline 142
if (k === 'eval') { await page.evaluate(`(() => { ${v} ; return true; })()`); done.push(`eval ${v}`); await sleep(150); continue; }
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: 5 facts
- Contacts cdn.syndication.twimg.com, which SKILL.md, the README and the plugin manifest do not mentionmotion-graphics/scripts/lib/net.mjs:217High confidence
- Contacts api.fxtwitter.com, which SKILL.md, the README and the plugin manifest do not mentionmotion-graphics/scripts/lib/net.mjs:224High confidence
- Contacts www.w3.org, which SKILL.md, the README and the plugin manifest do not mentionmotion-graphics/scripts/site-kit.mjs:219High confidence
- Contacts fonts.googleapis.com, which SKILL.md, the README and the plugin manifest do not mentionmotion-graphics/scripts/site-kit.mjs:741High confidence
- Contacts www.w3.org, which SKILL.md, the README and the plugin manifest do not mentionmotion-graphics/scripts/trace-logo.mjs:170High confidence
Signal confidence: 112 facts
- Network access in prose of documentationmotion-graphics/assets/template/assets/fonts/OFL.txt:1Low confidence
- Network access in prose of documentationmotion-graphics/assets/template/assets/fonts/OFL.txt:2Low confidence
- Network access in prose of documentationmotion-graphics/assets/template/assets/fonts/OFL.txt:4Low confidence
- Network access in prose of documentationmotion-graphics/assets/template/assets/fonts/OFL.txt:5Low confidence
- Network access in prose of documentationmotion-graphics/assets/template/assets/fonts/OFL.txt:7Low confidence
- Network access in prose of documentationmotion-graphics/assets/template/assets/fonts/OFL.txt:9Low confidence
- Executable script in a comment of a file that runsmotion-graphics/assets/template/audio/score.mjs:1Low confidence
- Executable script in a comment of a file that runsmotion-graphics/assets/template/audio/synth/core.mjs:1Low confidence
- Executable script in a comment of a file that runsmotion-graphics/assets/template/audio/synth/drums.mjs:1Low confidence
- Executable script in a comment of a file that runsmotion-graphics/assets/template/audio/synth/fx.mjs:1Low confidence
- Executable script in a comment of a file that runsmotion-graphics/assets/template/audio/synth/index.mjs:1Low confidence
- Executable script in a comment of a file that runsmotion-graphics/assets/template/audio/synth/mix.mjs:1Low confidence
- Executable script in a comment of a file that runsmotion-graphics/assets/template/audio/synth/sample.mjs:1Low confidence
- Executable script in code of a file that runsmotion-graphics/assets/template/audio/synth/selftest.mjs:1High confidence
- Executable script in a comment of a file that runsmotion-graphics/assets/template/audio/synth/theory.mjs:1Low confidence
- Executable script in a comment of a file that runsmotion-graphics/assets/template/audio/synth/tonal.mjs:1Low confidence
- Executable script in a comment of a file that runsmotion-graphics/assets/template/js/captions.mjs:1Low confidence
- Executable script in a comment of a file that runsmotion-graphics/assets/template/js/copy.mjs:1Low confidence
- Executable script in a comment of a file that runsmotion-graphics/assets/template/js/engine.js:1Low confidence
- Executable script in a comment of a file that runsmotion-graphics/assets/template/js/footage.data.mjs:1Low confidence
- Executable script in a comment of a file that runsmotion-graphics/assets/template/js/footage.mjs:1Low confidence
- Executable script in a comment of a file that runsmotion-graphics/assets/template/js/i18n.js:1Low confidence
- Executable script in a comment of a file that runsmotion-graphics/assets/template/js/kit.js:1Low confidence
- Executable script in a comment of a file that runsmotion-graphics/assets/template/js/lint.mjs:1Low confidence
- Executable script in a comment of a file that runsmotion-graphics/assets/template/js/main.js:1Low confidence
- Executable script in a comment of a file that runsmotion-graphics/assets/template/js/reel.js:1Low confidence
- Executable script in a comment of a file that runsmotion-graphics/assets/template/js/scenes/hook.js:1Low confidence
- Executable script in a comment of a file that runsmotion-graphics/assets/template/js/scenes/lockup.js:1Low confidence
- Executable script in a comment of a file that runsmotion-graphics/assets/template/js/scenes/post.js:1Low confidence
- Executable script in a comment of a file that runsmotion-graphics/assets/template/js/scenes/proof.js:1Low confidence
- Executable script in a comment of a file that runsmotion-graphics/assets/template/js/screen.js:1Low confidence
- Network access in code of a file that runsmotion-graphics/assets/template/js/screen.js:101High confidence
- Network access in code of a file that runsmotion-graphics/assets/template/js/screen.js:103High confidence
- Network access in code of a file that runsmotion-graphics/assets/template/js/screen.js:141High confidence
- Network access in code of a file that runsmotion-graphics/assets/template/js/screen.js:142High confidence
- Network access in code of a file that runsmotion-graphics/assets/template/js/screen.js:143High confidence
- Network access in code of a file that runsmotion-graphics/assets/template/js/screen.js:288High confidence
- Network access in code of a file that runsmotion-graphics/assets/template/js/screen.js:289High confidence
- Network access in code of a file that runsmotion-graphics/assets/template/js/screen.js:290High confidence
- Executable script in a comment of a file that runsmotion-graphics/assets/template/js/timeline.mjs:1Low confidence
- Executable script in code of a file that runsmotion-graphics/assets/template/tools/aac.mjs:1High confidence
- Executable script in code of a file that runsmotion-graphics/assets/template/tools/audio-check.mjs:1High confidence
- Executable script in code of a file that runsmotion-graphics/assets/template/tools/capture.mjs:1High confidence
- Dangerous shell operation in a comment of a file that runsmotion-graphics/assets/template/tools/capture.mjs:17Low confidence
- Network access in code of a file that runsmotion-graphics/assets/template/tools/capture.mjs:110High confidence
- Network access in code of a file that runsmotion-graphics/assets/template/tools/capture.mjs:111High confidence
- Network access in code of a file that runsmotion-graphics/assets/template/tools/capture.mjs:112High confidence
- Network access in code of a file that runsmotion-graphics/assets/template/tools/capture.mjs:198High confidence
- Network access in code of a file that runsmotion-graphics/assets/template/tools/capture.mjs:199High confidence
- Network access in code of a file that runsmotion-graphics/assets/template/tools/capture.mjs:200High confidence
and 62 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md skills/motion-graphics/SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md skills/motion-graphics/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md skills/motion-graphics/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md skills/motion-graphics/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md skills/motion-graphics/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.