#458 by GitHub stars
nolangz/pixel2motion
Turn a raster logo (PNG/JPG/WebP/screenshot) into a clean minimal SVG with edge smoothness as the primary hard gate and IoU optimized as high as reasonably possible without a fixed global threshold, then into a choreographed logo animation delivered as standalone JS-rendered HTML, applying Disney's
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 Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
e9faedb28930 → e9faedb28930
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → e9faedb28930
No earlier version was observed for comparison.
Heat
6.0- Star growth, last 7 daysAhead of 90% of tracked repositories
- Star growth, last 24 hoursAhead of 93% of tracked repositories
- Rank movement, last 7 daysAhead of 47% of tracked repositories
- Commits, last 30 daysAhead of 0% of tracked repositories
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekAhead of 0% of tracked repositories
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
Individual skills in this repository
How it works
pixel2motion
When your agent uses it
Turn a raster logo (PNG/JPG/WebP/screenshot) into a clean minimal SVG with edge smoothness as the primary hard gate and IoU optimized as high as reasonably possible without a fixed global threshold, then into a choreographed logo animation delivered as standalone JS-rendered HTML, applying Disney's 12 animation principles. Use when asked to animate a logo, build a logo reveal / splash screen / brand intro, convert a logo image into animated SVG or HTML, add motion to a vectorized mark, or create loading/idle/hover motion for a brand mark. v2: also handles self-crossing draw-on choreography (split-fill, exact easing subdivision, tip glint), closed variable-width ribbon fitting, and quantitative motion QA (easing probe, ink-delta continuity sweep).
What it loads into context
Frontmatter
168 tokensAlways available to the agent
SKILL.md
6,369 tokensWhen the skill is activated
Reference documents
11,633 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Deliverables
- Phase 1 — PIXEL: Read the source, write the brief
- Phase 2 — VECTOR: Fit minimal geometry, structured for motion
- Phase 3 — MOTION: Choreograph with the 12 principles
- Bundled Scripts
- Acceptance Criteria
- References
- v2 changelog
Scripts executed separately
scripts/animate_svg_html.pyscripts/animate_svg_showcase.pyscripts/capture_motion_frames.pyscripts/export_claude_videos.mjsscripts/fit_ribbon_centerline.pyscripts/overlay_progress_strip.pyscripts/probe_motion_continuity.pyscripts/raster_logo_trace.pyscripts/render_overlay.pyscripts/svg_path_audit.pyscripts/svg_to_js_html.py
Files
.gitattributesasset210 bytes.gitignoreasset548 bytesLICENSEasset1,066 bytesREADME.mddoc10,145 bytesSKILL.mdcore28,565 bytesSKILL.mdcore28,565 bytesSKILL.mdcore28,565 bytesSKILL.mdcore28,565 bytesSKILL.mdcore28,565 bytesSKILL.mdcore28,565 bytesSKILL.mdcore28,565 bytesSKILL.mdcore28,565 bytesSKILL.mdcore28,565 bytesSKILL.mdcore28,565 bytesSKILL.mdcore28,565 bytesSKILL.mdcore28,565 bytesSKILL.mdcore28,565 bytesSKILL.mdcore28,565 bytesSKILL.mdcore28,565 bytesagents/openai.yamlasset1,655 bytesdocs/community/nolanlai-creative-tools.pngasset14,468 bytesdocs/community/pixel2motion-wordmark.pngasset12,996 bytesdocs/community/vibe-creators-wechat-qr.jpgasset140,257 bytesdocs/gifs/claude-continuum.gifasset55,287 bytesdocs/gifs/claude-cuerecord.gifasset311,798 bytesdocs/gifs/claude-focus.gifasset298,604 bytesdocs/gifs/claude-horizon.gifasset152,210 bytesdocs/gifs/claude-n.gifasset242,990 bytesdocs/google362cc0ff683da909.htmlasset54 bytesdocs/index.htmlasset625,745 bytesdocs/pixels/continuum-pixel.pngasset288,727 bytesdocs/pixels/cuerecord-pixel.jpgasset24,304 bytesdocs/pixels/focus-pixel.pngasset304,687 bytesdocs/pixels/horizon-pixel.pngasset262,399 bytesdocs/pixels/n-pixel.pngasset23,415 bytesdocs/preview.pngasset156,458 bytesdocs/process/cuerecord-overlay-progress-strip.pngasset575,919 bytesreferences/html-delivery-template.mddoc3,555 bytesreferences/motion-personality.mddoc5,529 bytesreferences/reveal-patterns.mddoc11,819 bytesreferences/ribbon-fitting.mddoc5,431 bytesreferences/twelve-principles-for-logos.mddoc8,406 bytesscripts/animate_svg_html.pyruns7,530 bytesscripts/animate_svg_showcase.pyruns19,624 bytesscripts/capture_motion_frames.pyruns6,268 bytesscripts/export_claude_videos.mjsruns20,475 bytesscripts/fit_ribbon_centerline.pyruns13,846 bytesscripts/overlay_progress_strip.pyruns4,847 bytesscripts/probe_motion_continuity.pyruns7,509 bytesscripts/raster_logo_trace.pyruns12,052 bytesscripts/render_overlay.pyruns4,642 bytesscripts/svg_path_audit.pyruns14,729 bytesscripts/svg_to_js_html.pyruns3,562 bytes
Read SKILL.md
# Pixel2Motion (v2)
**Pixel → Vector → Motion.** This skill fuses two disciplines:
1. **Vectorization discipline** (from logo-vectorizer-minimal-smooth): fit the raster source with the *lowest-complexity* editable geometry that passes visual QA.
2. **Motion discipline** (from Disney's 12 Principles of Animation): choreograph that geometry into brand-appropriate motion with evidence-based timing and easing.
The fusion rests on one insight: **minimal smooth geometry IS animatable geometry**. A logo built from 3 semantic parts animates cleanly; a logo built from 400 pixel-stair traced points cannot be choreographed or accepted as a professional logo vector. Phase 2 therefore does not merely vectorize — it *structures for motion*. And the animation must always land exactly on the QA-verified static vector (the **Final Frame Contract**).
## Deliverables
- `logo.svg` — final static vector (motion-ready structure)
- `logo_motion.html` — showcase-style standalone HTML with the main animation, atomic motion studies, replay/slow/speed controls, and QA hooks
- `motion_spec.md` — personality words, principles applied, timeline table, easing tokens, atomic motions, tunable controlsView the complete source on GitHubSkills included
- pixel2motion
Repository facts
- License
- MIT
- Created
- Jun 12, 2026
- Last pushed
- Aug 21, 2026
- Forks
- 213
- Open issues
- 4
- Project activity
- Slowing
Rank over the last 12 weeks
Now #458 · best #373 · down 54 in 30 days
- #449 on Oct 29
- #451 from Oct 30 to Oct 31
- #454 on Nov 1
- #456 from Nov 2 to Nov 4
- #457 on Nov 5
- #458 since Nov 6
80 earlier periods
- #381 on Aug 2
- #384 on Aug 7
- #377 on Aug 8
- #373 on Aug 9
- #387 on Aug 10
- #386 on Aug 11
- #381 on Aug 12
- #382 on Aug 13
- #384 on Aug 14
- #380 on Aug 15
- #388 on Aug 16
- #382 on Aug 17
- #390 on Aug 18
- #384 from Aug 19 to Aug 20
- #382 on Aug 21
- #379 on Aug 22
- #385 on Aug 23
- #384 on Aug 24
- #389 on Aug 25
- #381 on Aug 26
- #385 on Aug 27
- #386 on Aug 28
- #379 on Aug 29
- #373 on Aug 30
- #384 on Aug 31
- #392 on Sep 1
- #386 on Sep 2
- #395 on Sep 3
- #385 on Sep 4
- #390 on Sep 5
- #385 on Sep 6
- #395 on Sep 7
- #397 on Sep 8
- #396 on Sep 9
- #395 on Sep 10
- #394 on Sep 11
- #395 on Sep 12
- #394 on Sep 13
- #399 on Sep 14
- #398 on Sep 15
- #399 on Sep 16
- #394 on Sep 17
- #398 on Sep 18
- #389 on Sep 19
- #398 on Sep 20
- #394 on Sep 21
- #401 on Sep 22
- #393 on Sep 23
- #391 on Sep 24
- #388 on Sep 25
- #382 on Sep 26
- #391 on Sep 27
- #397 on Sep 28
- #409 on Sep 29
- #402 on Sep 30
- #403 on Oct 1
- #404 on Oct 2
- #392 on Oct 3
- #389 on Oct 4
- #397 from Oct 5 to Oct 6
- #404 on Oct 7
- #411 on Oct 8
- #421 on Oct 9
- #408 on Oct 10
- #413 on Oct 11
- #421 on Oct 12
- #420 on Oct 13
- #421 on Oct 14
- #424 on Oct 15
- #427 on Oct 16
- #419 on Oct 17
- #423 on Oct 18
- #427 on Oct 19
- #430 on Oct 20
- #433 on Oct 21
- #432 on Oct 22
- #431 on Oct 23
- #425 on Oct 24
- #447 on Oct 25
- #448 on Oct 28
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 3, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 57 notes
SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzeddocs/index.html:672Analysis incomplete: physical or joined line exceeds character limitdocs/index.html:670Analysis incomplete: physical or joined line exceeds character limitdocs/index.html:671Analysis incomplete: physical or joined line exceeds character limitdocs/index.html:673Analysis incomplete: physical or joined line exceeds character limitdocs/index.html:923Analysis incomplete: physical or joined line exceeds character limitdocs/index.html:921Analysis incomplete: physical or joined line exceeds character limit
- No broad tool permissions
- No dangerous shell commands
- 100 network referencesin 9 files: docs/index.html:7 README.md:1 scripts/export_claude_videos.mjs:72 and 6 more
- No hidden or obfuscated text
- No instruction overrides
- 11 executable scriptsin 11 files: scripts/animate_svg_html.py:1 scripts/animate_svg_showcase.py:1 scripts/capture_motion_frames.py:1 and 8 more
- 1 reference to secretsin 1 file: scripts/render_overlay.py:25
- No requests to vote in Hot
Show all 112 signals by file
README.md
- Network accessline 1
<p align="center"> <a href="https://www.pixel2motion.com"> - Network accessline 2
<a href="https://www.pixel2motion.com"> - Network accessline 4
</a> <br> <strong><a href="https://www.pixel2motion.com">www.pixel2motion.com</a></strong> - Network accessline 5
<br> <strong><a href="https://www.pixel2motion.com">www.pixel2motion.com</a></strong> <br> - Network accessline 6
<strong><a href="https://www.pixel2motion.com">www.pixel2motion.com</a></strong> - Network accessline 19
[Commercial preview](https://www.pixel2motion.com) · [Live interactive demo](https://nolangz.github.io/pixel2motion/) · [Skill instructions](https://github.com/nolangz/pixel2motion/blob/main/SKILL.md) · [Companion skill: Pixel2SVG-HTML](htt - Network accessline 78
[](https://www.pixel2motion.com) - Network accessline 80
The full interactive showcase lives in `docs/index.html` and is published through GitHub Pages at [nolangz.github.io/pixel2motion](https://nolangz.github.io/pixel2motion/). A more polished commercial Pixel2Motion service is coming online at - Network accessline 90
Pixel2Motion optimizes IoU as a diagnostic, but smoothness and structure are the hard gates. A high-IoU jagged trace is rejected when a lower-complexity smooth vector explains the logo better. The static fitting methodology is documented in - Network accessline 196
<p align="center"> <a href="https://www.nolanlai.com"> - Network accessline 197
<a href="https://www.nolanlai.com"> - Network accessline 199
</a> <br> <a href="https://www.nolanlai.com"><strong>www.nolanlai.com</strong></a> - Network accessline 200
<br> <a href="https://www.nolanlai.com"><strong>www.nolanlai.com</strong></a> <br> - Network accessline 201
<a href="https://www.nolanlai.com"><strong>www.nolanlai.com</strong></a> - Network accessline 218
<p align="center"> <a href="https://star-history.dera.page/#nolangz/pixel2motion&type=date"> - Network accessline 219
<a href="https://star-history.dera.page/#nolangz/pixel2motion&type=date"> - Network accessline 220
<img src="https://star-history.dera.page/svg?repos=nolangz/pixel2motion&type=Date" width="720" alt="Pixel2Motion GitHub star history chart">
docs/index.html
- Network accessline 7
<meta name="description" content="Pixel2Motion turns raster logos into smooth SVG logo animations, animated HTML motion demos, GIF/video previews, and QA evidence for Codex and Claude skill workflows."> <meta name="robots" content="index, - Network accessline 8
<meta name="robots" content="index,follow"> <link rel="canonical" href="https://nolangz.github.io/pixel2motion/"> <meta property="og:title" content="Pixel2Motion - AI Logo Animation Skill"> - Network accessline 9
<link rel="canonical" href="https://nolangz.github.io/pixel2motion/"> - Network accessline 11
<meta property="og:description" content="Turn PNG/JPG/WebP logos into clean motion-ready SVG, animated logo HTML, GIF/video previews, and transparent 4K motion exports."> <meta property="og:type" content="website"> <meta property="og:ur - Network accessline 12
<meta property="og:type" content="website"> <meta property="og:url" content="https://nolangz.github.io/pixel2motion/"> <meta property="og:image" content="https://nolangz.github.io/pixel2motion/preview.png"> - Network accessline 13
<meta property="og:url" content="https://nolangz.github.io/pixel2motion/"> - Network accessline 14
<meta property="og:image" content="https://nolangz.github.io/pixel2motion/preview.png"> - Network accessline 312
<body> <nav class="site-nav" aria-label="Project links"> <a class="repo-entry" href="https://github.com/nolangz/pixel2motion" target="_blank" rel="noopener noreferrer">GitHub</a> - Network accessline 313
<nav class="site-nav" aria-label="Project links"> <a class="repo-entry" href="https://github.com/nolangz/pixel2motion" target="_blank" rel="noopener noreferrer">GitHub</a> </nav> - Network accessline 314
<a class="repo-entry" href="https://github.com/nolangz/pixel2motion" target="_blank" rel="noopener noreferrer">GitHub</a> - Network accessline 670
<script> const SVG_NS = "http://www.w3.org/2000/svg"; - Network accessline 671
const SVG_NS = "http://www.w3.org/2000/svg"; - Network accessline 673
const SVG_TEXT = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 786 684\" width=\"786\" height=\"684\"><style>:root,svg{--bg:#ffffff;--surface:#f5f5f3;--text-primary:#0d0d0d - Network accessline 1282
<script> const SVG_NS = "http://www.w3.org/2000/svg"; - Network accessline 1283
const SVG_NS = "http://www.w3.org/2000/svg"; - Network accessline 1285
const SVG_TEXT = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 786 684\" width=\"786\" height=\"684\"><style>:root,svg{--bg:#ffffff;--surface:#f5f5f3;--text-primary:#0d0d0d - Network accessline 1908
<script> const SVG_NS = "http://www.w3.org/2000/svg"; - Network accessline 1909
const SVG_NS = "http://www.w3.org/2000/svg"; - Network accessline 1910
const LOGO = {"tag":"svg","attrs":{"id":"horizon-logo","viewBox":"0 0 786 684","width":"786","height":"684","role":" - Network accessline 1911
const SVG_TEXT = "<svg id=\"horizon-logo\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 786 684\" width=\"786\" height=\"684\" role=\"img\" aria-labelledby=\"hor - Network accessline 2582
<script> const SVG_NS = "http://www.w3.org/2000/svg"; - Network accessline 2583
const SVG_NS = "http://www.w3.org/2000/svg"; - Network accessline 2585
const SVG_TEXT = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 700 636\" width=\"700\" height=\"636\"><style>:root,svg{--bg:#ffffff;--surface:#f5f5f3;--text-primary:#0d0d0d - Network accessline 3242
<script> const SVG_NS = "http://www.w3.org/2000/svg"; - Network accessline 3243
const SVG_NS = "http://www.w3.org/2000/svg"; - Network accessline 3245
const SVG_TEXT = "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"700\" height=\"636\" viewBox=\"0 0 700 636\" role=\"img\" aria-labelledby=\"title desc\"><style> - Network accessline 3864
<script> const SVG_NS = "http://www.w3.org/2000/svg"; - Network accessline 3865
const SVG_NS = "http://www.w3.org/2000/svg"; - Network accessline 3867
const SVG_TEXT = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 648 684\" width=\"648\" height=\"684\"><style>:root,svg{--bg:#ffffff;--surface:#f5f5f3;--text-primary:#0d0d0d - Network accessline 4529
<script> const SVG_NS = "http://www.w3.org/2000/svg"; - Network accessline 4530
const SVG_NS = "http://www.w3.org/2000/svg"; - Network accessline 4532
const SVG_TEXT = "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"648\" height=\"684\" viewBox=\"0 0 648 684\" role=\"img\" aria-labelledby=\"title desc\"><style> - Network accessline 4797
<meta property="og:description" content="Script, prompt, and record polished screen videos without sending your words or audio to the cloud." /> <meta property="og:type" content="website" / - Network accessline 4799
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><rect width='32' height='32' rx='8' fill='%23111'/& - Network accessline 5247
<a href="#products">Products</a> <a href="./privacy.html">Privacy</a> <a href="https://github.com/nolanlai/cuerecord" target="_blank" rel="noopener - Network accessline 5248
<a href="./privacy.html">Privacy</a> <a href="https://github.com/nolanlai/cuerecord" target="_blank" rel="noopener noreferrer">GitHub</a> </nav> - Network accessline 5249
<a href="https://github.com/nolanlai/cuerecord" target="_blank" rel="noopener noreferrer">GitHub</a> - Network accessline 5260
<div class="logo-animation-wrap fade fade-1"> <button class="logo-animation-button" id="heroReplay" type="button" aria-label="Replay CueRecord logo animation"> - Network accessline 5261
<button class="logo-animation-button" id="heroReplay" type="button" aria-label="Replay CueRecord logo animation"> <svg id="heroSvg" viewBox="0 95 1800 330" xml - Network accessline 5262
<svg id="heroSvg" viewBox="0 95 1800 330" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"> - Network accessline 5319
<a class="btn btn-primary" href="https://github.com/nolanlai/cuerecord/releases/latest" - Network accessline 5320
class="btn btn-primary" href="https://github.com/nolanlai/cuerecord/releases/latest" target="_blank" - Network accessline 5321
href="https://github.com/nolanlai/cuerecord/releases/latest" - Network accessline 5332
<a class="btn btn-secondary" href="https://github.com/nolanlai/cuerecord" - Network accessline 5333
class="btn btn-secondary" href="https://github.com/nolanlai/cuerecord" target="_blank" - Network accessline 5334
href="https://github.com/nolanlai/cuerecord" - Network accessline 5389
</div> <div class="product-rail"> <a class="product-card" href="https://github.com/nolanlai/cuerecord" target="_blank" rel="noopener noreferrer"> - Network accessline 5390
<div class="product-rail"> <a class="product-card" href="https://github.com/nolanlai/cuerecord" target="_blank" rel="noopener noreferrer"> <div class="p - Network accessline 5391
<a class="product-card" href="https://github.com/nolanlai/cuerecord" target="_blank" rel="noopener noreferrer"> - Network accessline 6096
<script> const SVG_NS = "http://www.w3.org/2000/svg"; - Network accessline 6097
const SVG_NS = "http://www.w3.org/2000/svg"; - Network accessline 6098
const LOGO = {"tag":"svg","attrs":{"width":"2360","height":"710","viewBox":"0 0 2360 710","role":"img","aria-labelledby" - Network accessline 6099
const SVG_TEXT = "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"2360\" height=\"710\" viewBox=\"0 0 2360 710\" role=\"img\" aria-labelledby=\"title desc\"><style& - Network accessline 6709
<script> const SVG_NS = "http://www.w3.org/2000/svg"; - Network accessline 6710
const SVG_NS = "http://www.w3.org/2000/svg"; - Network accessline 6711
const LOGO = {"tag":"svg","attrs":{"viewBox":"0 0 1220 618","width":"1220","height":"618"},"children":[{"tag":"g"," - Network accessline 6712
const SVG_TEXT = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1220 618\" width=\"1220\" height=\"618\"><style>:root,svg{--bg:#ffffff;--surface:#f5f5f3;--text-primary:#0d0d - Network accessline 7326
<script> const SVG_NS = "http://www.w3.org/2000/svg"; - Network accessline 7327
const SVG_NS = "http://www.w3.org/2000/svg"; - Network accessline 7328
const LOGO = {"tag":"svg","attrs":{"width":"1220","height":"618","viewBox":"0 0 1220 618","role":"img","aria-labelledby" - Network accessline 7329
const SVG_TEXT = "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1220\" height=\"618\" viewBox=\"0 0 1220 618\" role=\"img\" aria-labelledby=\"title desc\"><style&
scripts/animate_svg_html.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 157
<button id="p2m-replay" type="button">Replay</button> <script> const SVG_NS = "http://www.w3.org/2000/svg"; - Network accessline 158
<script> const SVG_NS = "http://www.w3.org/2000/svg"; const LOGO = {payload}; - Network accessline 159
const SVG_NS = "http://www.w3.org/2000/svg";
scripts/animate_svg_showcase.py
scripts/capture_motion_frames.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/export_claude_videos.mjs
- Executable scriptline 1
#!/usr/bin/env node - Network accessline 72
while (Date.now() - start < timeoutMs) { try { const response = await fetch(url); - Network accessline 73
try { const response = await fetch(url); if (response.ok) return await response.json(); - Network accessline 74
const response = await fetch(url); - Network accessline 150
await waitForJson(`http://127.0.0.1:${port}/json/version`); const target = await fetch(`http://127.0.0.1:${port}/json/new?about:blank`, { method: "PUT" }).then(r => r.json()); - Network accessline 151
const target = await fetch(`http://127.0.0.1:${port}/json/new?about:blank`, { method: "PUT" }).then(r => r.json());
scripts/fit_ribbon_centerline.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 344
(args.out_dir / "fit_report.json").write_text(json.dumps(report, indent=1)) (args.out_dir / "preview.svg").write_text( f'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 {W} {H}" width="{W}" height="{H}">\n' - Network accessline 345
(args.out_dir / "preview.svg").write_text( f'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 {W} {H}" width="{W}" height="{H}">\n' f' <path id="ribbon-centerline" d="{cl_d}" fill="none" pathLength="1"/>\n' - Network accessline 346
f'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 {W} {H}" width="{W}" height="{H}">\n'
scripts/overlay_progress_strip.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/probe_motion_continuity.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/raster_logo_trace.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 177
def svg_document(width: int, height: int, paths: list[dict]) -> str: lines = [ f'<svg xmlns="http://www.w3.org/2000/svg" width="{width}" height="{height}" viewBox="0 0 {width} {height}">', - Network accessline 178
lines = [ f'<svg xmlns="http://www.w3.org/2000/svg" width="{width}" height="{height}" viewBox="0 0 {width} {height}">', " <title>Vectorized logo</title>", - Network accessline 179
f'<svg xmlns="http://www.w3.org/2000/svg" width="{width}" height="{height}" viewBox="0 0 {width} {height}">',
scripts/render_overlay.py
scripts/svg_path_audit.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 289
view_box, width, height = root_view_box(root, segments) lines = [ f'<svg xmlns="http://www.w3.org/2000/svg" width="{width:g}" height="{height:g}" viewBox="{view_box}">', - Network accessline 290
lines = [ f'<svg xmlns="http://www.w3.org/2000/svg" width="{width:g}" height="{height:g}" viewBox="{view_box}">', '<rect width="100%" height="100%" fill="#ffffff"/>', - Network accessline 291
f'<svg xmlns="http://www.w3.org/2000/svg" width="{width:g}" height="{height:g}" viewBox="{view_box}">',
scripts/svg_to_js_html.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 90
<main id="logo-root" aria-label="Vectorized logo"></main> <script> const SVG_NS = "http://www.w3.org/2000/svg"; - Network accessline 91
<script> const SVG_NS = "http://www.w3.org/2000/svg"; const LOGO = {payload}; - Network accessline 92
const SVG_NS = "http://www.w3.org/2000/svg";
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: 6 facts
- Contacts www.w3.org, which SKILL.md, the README and the plugin manifest do not mentionscripts/animate_svg_html.py:159High confidence
- Contacts www.w3.org, which SKILL.md, the README and the plugin manifest do not mentionscripts/animate_svg_showcase.py:370High confidence
- Contacts www.w3.org, which SKILL.md, the README and the plugin manifest do not mentionscripts/fit_ribbon_centerline.py:346High confidence
- Contacts www.w3.org, which SKILL.md, the README and the plugin manifest do not mentionscripts/raster_logo_trace.py:179High confidence
- Contacts www.w3.org, which SKILL.md, the README and the plugin manifest do not mentionscripts/svg_path_audit.py:291High confidence
- Contacts www.w3.org, which SKILL.md, the README and the plugin manifest do not mentionscripts/svg_to_js_html.py:92High confidence
Signal confidence: 51 facts
- Network access in prose of documentationREADME.md:1Low confidence
- Network access in prose of documentationREADME.md:2Low confidence
- Network access in prose of documentationREADME.md:4Low confidence
- Network access in prose of documentationREADME.md:5Low confidence
- Network access in prose of documentationREADME.md:6Low confidence
- Network access in prose of documentationREADME.md:19Low confidence
- Network access in prose of documentationREADME.md:78Low confidence
- Network access in prose of documentationREADME.md:80Low confidence
- Network access in prose of documentationREADME.md:90Low confidence
- Network access in prose of documentationREADME.md:196Low confidence
- Network access in prose of documentationREADME.md:197Low confidence
- Network access in prose of documentationREADME.md:199Low confidence
- Network access in prose of documentationREADME.md:200Low confidence
- Network access in prose of documentationREADME.md:201Low confidence
- Network access in prose of documentationREADME.md:218Low confidence
- Network access in prose of documentationREADME.md:219Low confidence
- Network access in prose of documentationREADME.md:220Low confidence
- Executable script in code of a file that runsscripts/animate_svg_html.py:1High confidence
- Network access in code of a file that runsscripts/animate_svg_html.py:157High confidence
- Network access in code of a file that runsscripts/animate_svg_html.py:158High confidence
- Network access in code of a file that runsscripts/animate_svg_html.py:159High confidence
- Executable script in code of a file that runsscripts/animate_svg_showcase.py:1High confidence
- Network access in code of a file that runsscripts/animate_svg_showcase.py:369High confidence
- Network access in code of a file that runsscripts/animate_svg_showcase.py:370High confidence
- Executable script in code of a file that runsscripts/capture_motion_frames.py:1High confidence
- Executable script in code of a file that runsscripts/export_claude_videos.mjs:1High confidence
- Network access in code of a file that runsscripts/export_claude_videos.mjs:72High confidence
- Network access in code of a file that runsscripts/export_claude_videos.mjs:73High confidence
- Network access in code of a file that runsscripts/export_claude_videos.mjs:74High confidence
- Network access in code of a file that runsscripts/export_claude_videos.mjs:150High confidence
- Network access in code of a file that runsscripts/export_claude_videos.mjs:151High confidence
- Executable script in code of a file that runsscripts/fit_ribbon_centerline.py:1High confidence
- Network access in code of a file that runsscripts/fit_ribbon_centerline.py:344High confidence
- Network access in code of a file that runsscripts/fit_ribbon_centerline.py:345High confidence
- Network access in code of a file that runsscripts/fit_ribbon_centerline.py:346High confidence
- Executable script in code of a file that runsscripts/overlay_progress_strip.py:1High confidence
- Executable script in code of a file that runsscripts/probe_motion_continuity.py:1High confidence
- Executable script in code of a file that runsscripts/raster_logo_trace.py:1High confidence
- Network access in code of a file that runsscripts/raster_logo_trace.py:177High confidence
- Network access in code of a file that runsscripts/raster_logo_trace.py:178High confidence
- Network access in code of a file that runsscripts/raster_logo_trace.py:179High confidence
- Executable script in code of a file that runsscripts/render_overlay.py:1High confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuescripts/render_overlay.py:25Low confidence
- Executable script in code of a file that runsscripts/svg_path_audit.py:1High confidence
- Network access in code of a file that runsscripts/svg_path_audit.py:289High confidence
- Network access in code of a file that runsscripts/svg_path_audit.py:290High confidence
- Network access in code of a file that runsscripts/svg_path_audit.py:291High confidence
- Executable script in code of a file that runsscripts/svg_to_js_html.py:1High confidence
- Network access in code of a file that runsscripts/svg_to_js_html.py:90High confidence
- Network access in code of a file that runsscripts/svg_to_js_html.py:91High confidence
and 1 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard 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.
Add this badge to your README
It updates every night and links to this page.
[](https://hotskills.dev/skill/nolangz-pixel2motion/)