Not in the top 1,000 by GitHub stars

Neelshah1810/Claude-Video-Skills

11 Claude skills that make professional motion-graphics videos (launch films, explainers, social ads, data stories) as HTML + MP4. Works with Claude and Claude Code.

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

brand-film/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

d1645496774c → d1645496774c

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → d1645496774c

No earlier version was observed for comparison.

Compare on GitHub

data-story/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

d1645496774c → d1645496774c

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → d1645496774c

No earlier version was observed for comparison.

Compare on GitHub

event-promo/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

d1645496774c → d1645496774c

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → d1645496774c

No earlier version was observed for comparison.

Compare on GitHub

explainer-video/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

d1645496774c → d1645496774c

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → d1645496774c

No earlier version was observed for comparison.

Compare on GitHub

feature-update/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

d1645496774c → d1645496774c

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → d1645496774c

No earlier version was observed for comparison.

Compare on GitHub

launch-film/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

d1645496774c → d1645496774c

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → d1645496774c

No earlier version was observed for comparison.

Compare on GitHub

motion-film/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

d1645496774c → d1645496774c

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → d1645496774c

No earlier version was observed for comparison.

Compare on GitHub

product-walkthrough/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

d1645496774c → d1645496774c

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → d1645496774c

No earlier version was observed for comparison.

Compare on GitHub

social-ad/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

d1645496774c → d1645496774c

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → d1645496774c

No earlier version was observed for comparison.

Compare on GitHub

testimonial-video/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

d1645496774c → d1645496774c

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → d1645496774c

No earlier version was observed for comparison.

Compare on GitHub

tutorial-video/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

d1645496774c → d1645496774c

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → d1645496774c

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit d1645496774ce9af5941f3c410d75b1bf43e4fcb

17GitHub stars
1star in 7 days
11skills in this repository
0commits in 30 days

Heat

1.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 3, 202617

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

Individual skills in this repository

How it works

brand-film

When your agent uses it

Create a cinematic BRAND FILM as one self-contained HTML file: a manifesto told in few, beautiful words, colour-field or photo panels with slow Ken Burns moves, values that draw themselves, and a logo sting with letter stagger and tracking settle, carried by a synthesized score (pads, bells, long reverb) or synced to a voiceover. Verified frame by frame and exportable to MP4. Use for brand manifestos, origin and mission stories, values and culture films, rebrand reveals, anniversaries, recruitment films, idents and 5-second logo stings, for any company, studio, product or cause, in any style from premium to playful. Accepts creative dials --creativity, --typography, --animation and --motion (low, medium or high; medium by default).

What it loads into context

Frontmatter

187 tokens

Always available to the agent

SKILL.md

49,378 tokens

When the skill is activated

Reference documents

0 tokens

Loaded on request

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

The playbook

  1. Your role: the senior creative team
  2. 0. Creative controls (read the request for these first)
  3. 1. Output contract (always)
  4. 2. Gather inputs first (ask once, briefly; default the rest and say what you assumed)
  5. 3. Research with web search (before designing)
  6. 4. The brand-film playbook
  7. 5. Style presets (pick one, or let the brand override)
  8. 6. Design system (decide it, then never improvise)
  9. 7. The starter film (complete and working; copy it, then build on it)
  10. 8. Brand techniques
  11. 9. Sound: the score engine
  12. 10. Toolkit: verify, analyse, embed, export
  13. 11. Verify (mandatory before you say "done")
  14. 12. Export, collisions and pitfalls
  15. 13. Hand-off message
  16. 14. Appendix: embedded files (the starter film and the toolkit)

Scripts executed separately

  • scripts/analyze.py
  • scripts/fonts.py
  • scripts/inline.py
  • scripts/verify.py
  • scripts/vo_timing.py

Files

  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • SKILL.mdcore157,396 bytes
  • examples/morrow-manifesto.htmlasset272,149 bytes
  • examples/morrow-manifesto.jpgasset91,921 bytes
  • examples/morrow-manifesto.mp4asset2,298,820 bytes
  • scripts/analyze.pyruns7,755 bytes
  • scripts/fonts.pyruns5,216 bytes
  • scripts/inline.pyruns5,004 bytes
  • scripts/verify.pyruns20,712 bytes
  • scripts/vo_timing.pyruns5,017 bytes
  • templates/starter.htmlasset45,273 bytes
Read SKILL.md

# Brand films, manifestos and logo stings

You make people feel what a brand stands for in under a minute: few words, lots of space, and every move slow and certain. A brand film sells a belief, not a feature, so the type, the pacing and the music do most of the work. Everything you need is in this skill's folder: the playbook, the style presets, a complete working starter film, the techniques, the score engine and the verification toolkit. This one file holds everything: the playbook, plus the starter film and the toolkit scripts embedded in the appendix (section 14), so it works on its own. Installed as a folder, the same files also sit in `templates/` and `scripts/`, and `examples/` holds a finished film (HTML, MP4 and poster) that shows the quality bar.

## Your role: the senior creative team

Work as the senior in-house team that makes product and brand films at companies like Apple, Google, Microsoft and Adobe, in one person:
- a **creative director** who owns the idea;
- a **senior motion designer** who owns the design, the motion graphics and the transitions;
- a **film editor** who owns rhythm and story;
- a **typographer** who owns every letter on screen;
- a **sound designer** who owns the score.

Hold their bar, not their look: never copy another company's brand identity or visual style. Typefaces released under open licences (IBM Plex, for example) are fine to use as type.
View the complete source on GitHub

Skills included

  • brand-film
  • data-story
  • event-promo
  • explainer-video
  • feature-update
  • launch-film
  • motion-film
  • product-walkthrough
  • social-ad
  • testimonial-video
  • tutorial-video

Repository facts

License
MIT
Created
Oct 2, 2026
Last pushed
Oct 3, 2026
Forks
0
Open issues
0
Project activity
Active

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 4, 2026

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

Show 690 notes
  • brand-film/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • brand-film/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • brand-film/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • brand-film/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • brand-film/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • brand-film/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • brand-film/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • brand-film/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • brand-film/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • brand-film/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • brand-film/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • brand-film/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • brand-film/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • brand-film/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • brand-film/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • brand-film/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • brand-film/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • brand-film/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • brand-film/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • brand-film/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 866 signals by file

brand-film/SKILL.md

  • Network accessline 180
    - Queries: `"kinetic typography breakdown"`, `"title sequence design"`, `"motion design principles"`, `"Disney twelve principles of animation examples"`, `"shape morph transition motion graphics"`, `"type as mask motion design"`. - Referenc
  • Network accessline 181
    - References:   - Art of the Title: https://www.artofthetitle.com   - Motionographer: https://motionographer.com
  • Network accessline 182
    - Art of the Title: https://www.artofthetitle.com
  • Network accessline 183
    - Motionographer: https://motionographer.com
  • Network accessline 184
    - School of Motion: https://www.schoolofmotion.com/blog
  • Network accessline 249
    - **Craft resources (read whichever you need):**   - Motion:     - Material 3 motion: https://m3.material.io/styles/motion/overview
  • Network accessline 250
    - Motion:     - Material 3 motion: https://m3.material.io/styles/motion/overview     - Apple HIG, Motion: https://developer.apple.com/design/human-interface-guidelines/motion
  • Network accessline 251
    - Material 3 motion: https://m3.material.io/styles/motion/overview
  • Network accessline 252
    - Apple HIG, Motion: https://developer.apple.com/design/human-interface-guidelines/motion
  • Network accessline 253
    - IBM Carbon motion: https://carbondesignsystem.com/elements/motion/overview/
  • Network accessline 254
    - easings.net, cubic-bezier.com     - GSAP ease visualizer: https://gsap.com/docs/v3/Eases     - Twelve principles of animation: https://en.wikipedia.org/wiki/Twelve_basic_principles_of_animation
  • Network accessline 255
    - GSAP ease visualizer: https://gsap.com/docs/v3/Eases
  • Network accessline 256
    - Twelve principles of animation: https://en.wikipedia.org/wiki/Twelve_basic_principles_of_animation
  • Network accessline 257
    - School of Motion: https://www.schoolofmotion.com/blog
  • Network accessline 258
    - Typography:     - Butterick's Practical Typography: https://practicaltypography.com     - Google Fonts Knowledge: https://fonts.google.com/knowledge
  • Network accessline 259
    - Butterick's Practical Typography: https://practicaltypography.com
  • Network accessline 260
    - Google Fonts Knowledge: https://fonts.google.com/knowledge
  • Network accessline 261
    - typescale.com     - Josef Müller-Brockmann, *Grid Systems in Graphic Design*   - Colour and contrast: WebAIM contrast checker, https://webaim.org/resources/contrastchecker/
  • Network accessline 262
    - Josef Müller-Brockmann, *Grid Systems in Graphic Design*   - Colour and contrast: WebAIM contrast checker, https://webaim.org/resources/contrastchecker/   - Sound:
  • Network accessline 263
    - Colour and contrast: WebAIM contrast checker, https://webaim.org/resources/contrastchecker/
  • Network accessline 264
    - Sound:     - MDN Web Audio API: https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API     - "A tale of two clocks": https://web.dev/articles/audio-scheduling
  • Network accessline 265
    - MDN Web Audio API: https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API
  • Network accessline 266
    - "A tale of two clocks": https://web.dev/articles/audio-scheduling
  • Network accessline 267
    - Ableton Learning Synths: https://learningsynths.ableton.com
  • Network accessline 268
    - Ableton Learning Music: https://learningmusic.ableton.com
  • Network accessline 269
    - Hooktheory: https://www.hooktheory.com
  • Network accessline 270
    - Tooling:     - Chrome DevTools Protocol: https://chromedevtools.github.io/devtools-protocol/     - FFmpeg: https://ffmpeg.org/documentation.html
  • Network accessline 271
    - Chrome DevTools Protocol: https://chromedevtools.github.io/devtools-protocol/
  • Network accessline 272
    - FFmpeg: https://ffmpeg.org/documentation.html
  • Network accessline 273
    - Remotion (if the user wants React): https://www.remotion.dev
  • Dangerous shell operationline 649
    | `python verify.py film.html eval "js" [t]` | Evaluates an expression in the recording page, optionally after `seek(t)`, and prints the JSON result. Use it to debug sizes, styles and state without guessing. |
  • Dangerous shell operationline 1333
    python verify.py film.html eval "js" [t]               evaluate an expression in the ?record page (after seek(t)) and print the JSON result,
  • Dangerous shell operationline 1334
    e.g. eval "getComputedStyle(document.querySelector('#cT')).fontSize" 9.5
  • Access to secretsline 1364
    [Credential-related source omitted]
  • Network accessline 1375
    def free_port():     s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Network accessline 1376
    s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Possible obfuscationline 1446
    return base64.b64decode(call('Page.captureScreenshot', p)['data'])
  • Possible obfuscationline 1556
    fn = out / 'score.wav'; fn.write_bytes(base64.b64decode(b64)); print('score', fn, f'({fn.stat().st_size / 1e6:.1f} MB)')
  • Network accessline 1561
    for _ in range(100):         try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break
  • Network accessline 1562
    try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break         except Exception:
  • Network accessline 1563
    tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break
  • Network accessline 1823
    weights = [] if raw else [w.strip() for w in A.items[0].split(',') if w.strip()]     axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if 
  • Network accessline 1824
    axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if A.italic else 'wght@' + ';'.join(weights)     url = f'https://fonts.googleapis.com/cs
  • Network accessline 1825
    url = f'https://fonts.googleapis.com/css2?family={A.family.replace(" ", "+")}:{axis}&display=block'     css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()     want = {s.strip() 
  • Network accessline 1826
    css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()
  • Network accessline 1830
    if sub not in want:             continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 1831
    continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)         wm = re.search(r'font-weight:\s*(\d+)(?:\s+(\d+))?', body); wt = wm.group(1) if not wm.group(2) else f'{wm.group(1)} {wm.group(2)}'
  • Network accessline 1832
    src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 1838
    if key in seen:   # a variable font serves every weight from one file: embed it once, as a weight range             seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, hea
  • Network accessline 1839
    seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()         seen[key] = [data, [int(w) for w in wt.split()], stl, ur.group(
  • Network accessline 1840
    data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()
  • Access to secretsline 2033
    [Credential-related source omitted]

brand-film/examples/morrow-manifesto.html

  • Network accessline 207
    /* ===================== the drawings: deterministic geometry, built once ===================== */ const NS = 'http://www.w3.org/2000/svg';
  • Network accessline 208
    const NS = 'http://www.w3.org/2000/svg';

brand-film/scripts/analyze.py

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

brand-film/scripts/fonts.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 33
    weights = [] if raw else [w.strip() for w in A.items[0].split(',') if w.strip()]     axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if 
  • Network accessline 34
    axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if A.italic else 'wght@' + ';'.join(weights)     url = f'https://fonts.googleapis.com/cs
  • Network accessline 35
    url = f'https://fonts.googleapis.com/css2?family={A.family.replace(" ", "+")}:{axis}&display=block'     css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()     want = {s.strip() 
  • Network accessline 36
    css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()
  • Network accessline 40
    if sub not in want:             continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 41
    continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)         wm = re.search(r'font-weight:\s*(\d+)(?:\s+(\d+))?', body); wt = wm.group(1) if not wm.group(2) else f'{wm.group(1)} {wm.group(2)}'
  • Network accessline 42
    src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 48
    if key in seen:   # a variable font serves every weight from one file: embed it once, as a weight range             seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, hea
  • Network accessline 49
    seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()         seen[key] = [data, [int(w) for w in wt.split()], stl, ur.group(
  • Network accessline 50
    data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()

brand-film/scripts/inline.py

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

brand-film/scripts/verify.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Dangerous shell operationline 15
    python verify.py film.html eval "js" [t]               evaluate an expression in the ?record page (after seek(t)) and print the JSON result,
  • Dangerous shell operationline 16
    e.g. eval "getComputedStyle(document.querySelector('#cT')).fontSize" 9.5
  • Access to secretsline 46
    [Credential-related source omitted]
  • Network accessline 57
    def free_port():     s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Network accessline 58
    s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Possible obfuscationline 128
    return base64.b64decode(call('Page.captureScreenshot', p)['data'])
  • Possible obfuscationline 238
    fn = out / 'score.wav'; fn.write_bytes(base64.b64decode(b64)); print('score', fn, f'({fn.stat().st_size / 1e6:.1f} MB)')
  • Network accessline 243
    for _ in range(100):         try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break
  • Network accessline 244
    try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break         except Exception:
  • Network accessline 245
    tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break

brand-film/scripts/vo_timing.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 43
    [Credential-related source omitted]

data-story/SKILL.md

  • Network accessline 180
    - Queries: `"kinetic typography breakdown"`, `"title sequence design"`, `"motion design principles"`, `"Disney twelve principles of animation examples"`, `"shape morph transition motion graphics"`, `"type as mask motion design"`. - Referenc
  • Network accessline 181
    - References:   - Art of the Title: https://www.artofthetitle.com   - Motionographer: https://motionographer.com
  • Network accessline 182
    - Art of the Title: https://www.artofthetitle.com
  • Network accessline 183
    - Motionographer: https://motionographer.com
  • Network accessline 184
    - School of Motion: https://www.schoolofmotion.com/blog
  • Network accessline 249
    - **Craft resources (read whichever you need):**   - Motion:     - Material 3 motion: https://m3.material.io/styles/motion/overview
  • Network accessline 250
    - Motion:     - Material 3 motion: https://m3.material.io/styles/motion/overview     - Apple HIG, Motion: https://developer.apple.com/design/human-interface-guidelines/motion
  • Network accessline 251
    - Material 3 motion: https://m3.material.io/styles/motion/overview
  • Network accessline 252
    - Apple HIG, Motion: https://developer.apple.com/design/human-interface-guidelines/motion
  • Network accessline 253
    - IBM Carbon motion: https://carbondesignsystem.com/elements/motion/overview/
  • Network accessline 254
    - easings.net, cubic-bezier.com     - GSAP ease visualizer: https://gsap.com/docs/v3/Eases     - Twelve principles of animation: https://en.wikipedia.org/wiki/Twelve_basic_principles_of_animation
  • Network accessline 255
    - GSAP ease visualizer: https://gsap.com/docs/v3/Eases
  • Network accessline 256
    - Twelve principles of animation: https://en.wikipedia.org/wiki/Twelve_basic_principles_of_animation
  • Network accessline 257
    - School of Motion: https://www.schoolofmotion.com/blog
  • Network accessline 258
    - Typography:     - Butterick's Practical Typography: https://practicaltypography.com     - Google Fonts Knowledge: https://fonts.google.com/knowledge
  • Network accessline 259
    - Butterick's Practical Typography: https://practicaltypography.com
  • Network accessline 260
    - Google Fonts Knowledge: https://fonts.google.com/knowledge
  • Network accessline 261
    - typescale.com     - Josef Müller-Brockmann, *Grid Systems in Graphic Design*   - Colour and contrast: WebAIM contrast checker, https://webaim.org/resources/contrastchecker/
  • Network accessline 262
    - Josef Müller-Brockmann, *Grid Systems in Graphic Design*   - Colour and contrast: WebAIM contrast checker, https://webaim.org/resources/contrastchecker/   - Sound:
  • Network accessline 263
    - Colour and contrast: WebAIM contrast checker, https://webaim.org/resources/contrastchecker/
  • Network accessline 264
    - Sound:     - MDN Web Audio API: https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API     - "A tale of two clocks": https://web.dev/articles/audio-scheduling
  • Network accessline 265
    - MDN Web Audio API: https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API
  • Network accessline 266
    - "A tale of two clocks": https://web.dev/articles/audio-scheduling
  • Network accessline 267
    - Ableton Learning Synths: https://learningsynths.ableton.com
  • Network accessline 268
    - Ableton Learning Music: https://learningmusic.ableton.com
  • Network accessline 269
    - Hooktheory: https://www.hooktheory.com
  • Network accessline 270
    - Tooling:     - Chrome DevTools Protocol: https://chromedevtools.github.io/devtools-protocol/     - FFmpeg: https://ffmpeg.org/documentation.html
  • Network accessline 271
    - Chrome DevTools Protocol: https://chromedevtools.github.io/devtools-protocol/
  • Network accessline 272
    - FFmpeg: https://ffmpeg.org/documentation.html
  • Network accessline 273
    - Remotion (if the user wants React): https://www.remotion.dev
  • Dangerous shell operationline 640
    | `python verify.py film.html eval "js" [t]` | Evaluates an expression in the recording page, optionally after `seek(t)`, and prints the JSON result. Use it to debug sizes, styles and state without guessing. |
  • Dangerous shell operationline 1366
    python verify.py film.html eval "js" [t]               evaluate an expression in the ?record page (after seek(t)) and print the JSON result,
  • Dangerous shell operationline 1367
    e.g. eval "getComputedStyle(document.querySelector('#cT')).fontSize" 9.5
  • Access to secretsline 1397
    [Credential-related source omitted]
  • Network accessline 1408
    def free_port():     s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Network accessline 1409
    s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Possible obfuscationline 1479
    return base64.b64decode(call('Page.captureScreenshot', p)['data'])
  • Possible obfuscationline 1589
    fn = out / 'score.wav'; fn.write_bytes(base64.b64decode(b64)); print('score', fn, f'({fn.stat().st_size / 1e6:.1f} MB)')
  • Network accessline 1594
    for _ in range(100):         try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break
  • Network accessline 1595
    try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break         except Exception:
  • Network accessline 1596
    tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break
  • Network accessline 1856
    weights = [] if raw else [w.strip() for w in A.items[0].split(',') if w.strip()]     axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if 
  • Network accessline 1857
    axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if A.italic else 'wght@' + ';'.join(weights)     url = f'https://fonts.googleapis.com/cs
  • Network accessline 1858
    url = f'https://fonts.googleapis.com/css2?family={A.family.replace(" ", "+")}:{axis}&display=block'     css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()     want = {s.strip() 
  • Network accessline 1859
    css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()
  • Network accessline 1863
    if sub not in want:             continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 1864
    continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)         wm = re.search(r'font-weight:\s*(\d+)(?:\s+(\d+))?', body); wt = wm.group(1) if not wm.group(2) else f'{wm.group(1)} {wm.group(2)}'
  • Network accessline 1865
    src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 1871
    if key in seen:   # a variable font serves every weight from one file: embed it once, as a weight range             seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, hea
  • Network accessline 1872
    seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()         seen[key] = [data, [int(w) for w in wt.split()], stl, ur.group(
  • Network accessline 1873
    data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()
  • Access to secretsline 2066
    [Credential-related source omitted]

data-story/examples/halden-bikes-2025.html

  • Dangerous shell operationline 393
    const km = P(t, b(22.9), b(22.9) + 0.4, Ez.back), rm = (13 * km).toFixed(2); if (M.ms._r !== rm) { M.ms.setAttribute('r', rm); M.ms._r = rm; }

data-story/scripts/analyze.py

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

data-story/scripts/fonts.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 33
    weights = [] if raw else [w.strip() for w in A.items[0].split(',') if w.strip()]     axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if 
  • Network accessline 34
    axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if A.italic else 'wght@' + ';'.join(weights)     url = f'https://fonts.googleapis.com/cs
  • Network accessline 35
    url = f'https://fonts.googleapis.com/css2?family={A.family.replace(" ", "+")}:{axis}&display=block'     css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()     want = {s.strip() 
  • Network accessline 36
    css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()
  • Network accessline 40
    if sub not in want:             continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 41
    continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)         wm = re.search(r'font-weight:\s*(\d+)(?:\s+(\d+))?', body); wt = wm.group(1) if not wm.group(2) else f'{wm.group(1)} {wm.group(2)}'
  • Network accessline 42
    src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 48
    if key in seen:   # a variable font serves every weight from one file: embed it once, as a weight range             seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, hea
  • Network accessline 49
    seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()         seen[key] = [data, [int(w) for w in wt.split()], stl, ur.group(
  • Network accessline 50
    data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()

data-story/scripts/inline.py

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

data-story/scripts/verify.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Dangerous shell operationline 15
    python verify.py film.html eval "js" [t]               evaluate an expression in the ?record page (after seek(t)) and print the JSON result,
  • Dangerous shell operationline 16
    e.g. eval "getComputedStyle(document.querySelector('#cT')).fontSize" 9.5
  • Access to secretsline 46
    [Credential-related source omitted]
  • Network accessline 57
    def free_port():     s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Network accessline 58
    s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Possible obfuscationline 128
    return base64.b64decode(call('Page.captureScreenshot', p)['data'])
  • Possible obfuscationline 238
    fn = out / 'score.wav'; fn.write_bytes(base64.b64decode(b64)); print('score', fn, f'({fn.stat().st_size / 1e6:.1f} MB)')
  • Network accessline 243
    for _ in range(100):         try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break
  • Network accessline 244
    try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break         except Exception:
  • Network accessline 245
    tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break

data-story/scripts/vo_timing.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 43
    [Credential-related source omitted]

event-promo/SKILL.md

  • Network accessline 180
    - Queries: `"kinetic typography breakdown"`, `"title sequence design"`, `"motion design principles"`, `"Disney twelve principles of animation examples"`, `"shape morph transition motion graphics"`, `"type as mask motion design"`. - Referenc
  • Network accessline 181
    - References:   - Art of the Title: https://www.artofthetitle.com   - Motionographer: https://motionographer.com
  • Network accessline 182
    - Art of the Title: https://www.artofthetitle.com
  • Network accessline 183
    - Motionographer: https://motionographer.com
  • Network accessline 184
    - School of Motion: https://www.schoolofmotion.com/blog
  • Network accessline 246
    - **Craft resources (read whichever you need):**   - Motion:     - Material 3 motion: https://m3.material.io/styles/motion/overview
  • Network accessline 247
    - Motion:     - Material 3 motion: https://m3.material.io/styles/motion/overview     - Apple HIG, Motion: https://developer.apple.com/design/human-interface-guidelines/motion
  • Network accessline 248
    - Material 3 motion: https://m3.material.io/styles/motion/overview
  • Network accessline 249
    - Apple HIG, Motion: https://developer.apple.com/design/human-interface-guidelines/motion
  • Network accessline 250
    - IBM Carbon motion: https://carbondesignsystem.com/elements/motion/overview/
  • Network accessline 251
    - easings.net, cubic-bezier.com     - GSAP ease visualizer: https://gsap.com/docs/v3/Eases     - Twelve principles of animation: https://en.wikipedia.org/wiki/Twelve_basic_principles_of_animation
  • Network accessline 252
    - GSAP ease visualizer: https://gsap.com/docs/v3/Eases
  • Network accessline 253
    - Twelve principles of animation: https://en.wikipedia.org/wiki/Twelve_basic_principles_of_animation
  • Network accessline 254
    - School of Motion: https://www.schoolofmotion.com/blog
  • Network accessline 255
    - Typography:     - Butterick's Practical Typography: https://practicaltypography.com     - Google Fonts Knowledge: https://fonts.google.com/knowledge
  • Network accessline 256
    - Butterick's Practical Typography: https://practicaltypography.com
  • Network accessline 257
    - Google Fonts Knowledge: https://fonts.google.com/knowledge
  • Network accessline 258
    - typescale.com     - Josef Müller-Brockmann, *Grid Systems in Graphic Design*   - Colour and contrast: WebAIM contrast checker, https://webaim.org/resources/contrastchecker/
  • Network accessline 259
    - Josef Müller-Brockmann, *Grid Systems in Graphic Design*   - Colour and contrast: WebAIM contrast checker, https://webaim.org/resources/contrastchecker/   - Sound:
  • Network accessline 260
    - Colour and contrast: WebAIM contrast checker, https://webaim.org/resources/contrastchecker/
  • Network accessline 261
    - Sound:     - MDN Web Audio API: https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API     - "A tale of two clocks": https://web.dev/articles/audio-scheduling
  • Network accessline 262
    - MDN Web Audio API: https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API
  • Network accessline 263
    - "A tale of two clocks": https://web.dev/articles/audio-scheduling
  • Network accessline 264
    - Ableton Learning Synths: https://learningsynths.ableton.com
  • Network accessline 265
    - Ableton Learning Music: https://learningmusic.ableton.com
  • Network accessline 266
    - Hooktheory: https://www.hooktheory.com
  • Network accessline 267
    - Tooling:     - Chrome DevTools Protocol: https://chromedevtools.github.io/devtools-protocol/     - FFmpeg: https://ffmpeg.org/documentation.html
  • Network accessline 268
    - Chrome DevTools Protocol: https://chromedevtools.github.io/devtools-protocol/
  • Network accessline 269
    - FFmpeg: https://ffmpeg.org/documentation.html
  • Network accessline 270
    - Remotion (if the user wants React): https://www.remotion.dev
  • Dangerous shell operationline 641
    | `python verify.py film.html eval "js" [t]` | Evaluates an expression in the recording page, optionally after `seek(t)`, and prints the JSON result. Use it to debug sizes, styles and state without guessing. |
  • Dangerous shell operationline 1381
    python verify.py film.html eval "js" [t]               evaluate an expression in the ?record page (after seek(t)) and print the JSON result,
  • Dangerous shell operationline 1382
    e.g. eval "getComputedStyle(document.querySelector('#cT')).fontSize" 9.5
  • Access to secretsline 1412
    [Credential-related source omitted]
  • Network accessline 1423
    def free_port():     s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Network accessline 1424
    s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Possible obfuscationline 1494
    return base64.b64decode(call('Page.captureScreenshot', p)['data'])
  • Possible obfuscationline 1604
    fn = out / 'score.wav'; fn.write_bytes(base64.b64decode(b64)); print('score', fn, f'({fn.stat().st_size / 1e6:.1f} MB)')
  • Network accessline 1609
    for _ in range(100):         try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break
  • Network accessline 1610
    try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break         except Exception:
  • Network accessline 1611
    tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break
  • Network accessline 1871
    weights = [] if raw else [w.strip() for w in A.items[0].split(',') if w.strip()]     axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if 
  • Network accessline 1872
    axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if A.italic else 'wght@' + ';'.join(weights)     url = f'https://fonts.googleapis.com/cs
  • Network accessline 1873
    url = f'https://fonts.googleapis.com/css2?family={A.family.replace(" ", "+")}:{axis}&display=block'     css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()     want = {s.strip() 
  • Network accessline 1874
    css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()
  • Network accessline 1878
    if sub not in want:             continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 1879
    continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)         wm = re.search(r'font-weight:\s*(\d+)(?:\s+(\d+))?', body); wt = wm.group(1) if not wm.group(2) else f'{wm.group(1)} {wm.group(2)}'
  • Network accessline 1880
    src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 1886
    if key in seen:   # a variable font serves every weight from one file: embed it once, as a weight range             seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, hea
  • Network accessline 1887
    seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()         seen[key] = [data, [int(w) for w in wt.split()], stl, ur.group(
  • Network accessline 1888
    data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()
  • Access to secretsline 2081
    [Credential-related source omitted]

event-promo/scripts/analyze.py

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

event-promo/scripts/fonts.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 33
    weights = [] if raw else [w.strip() for w in A.items[0].split(',') if w.strip()]     axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if 
  • Network accessline 34
    axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if A.italic else 'wght@' + ';'.join(weights)     url = f'https://fonts.googleapis.com/cs
  • Network accessline 35
    url = f'https://fonts.googleapis.com/css2?family={A.family.replace(" ", "+")}:{axis}&display=block'     css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()     want = {s.strip() 
  • Network accessline 36
    css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()
  • Network accessline 40
    if sub not in want:             continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 41
    continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)         wm = re.search(r'font-weight:\s*(\d+)(?:\s+(\d+))?', body); wt = wm.group(1) if not wm.group(2) else f'{wm.group(1)} {wm.group(2)}'
  • Network accessline 42
    src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 48
    if key in seen:   # a variable font serves every weight from one file: embed it once, as a weight range             seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, hea
  • Network accessline 49
    seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()         seen[key] = [data, [int(w) for w in wt.split()], stl, ur.group(
  • Network accessline 50
    data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()

event-promo/scripts/inline.py

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

event-promo/scripts/verify.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Dangerous shell operationline 15
    python verify.py film.html eval "js" [t]               evaluate an expression in the ?record page (after seek(t)) and print the JSON result,
  • Dangerous shell operationline 16
    e.g. eval "getComputedStyle(document.querySelector('#cT')).fontSize" 9.5
  • Access to secretsline 46
    [Credential-related source omitted]
  • Network accessline 57
    def free_port():     s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Network accessline 58
    s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Possible obfuscationline 128
    return base64.b64decode(call('Page.captureScreenshot', p)['data'])
  • Possible obfuscationline 238
    fn = out / 'score.wav'; fn.write_bytes(base64.b64decode(b64)); print('score', fn, f'({fn.stat().st_size / 1e6:.1f} MB)')
  • Network accessline 243
    for _ in range(100):         try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break
  • Network accessline 244
    try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break         except Exception:
  • Network accessline 245
    tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break

event-promo/scripts/vo_timing.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 43
    [Credential-related source omitted]

explainer-video/SKILL.md

  • Network accessline 180
    - Queries: `"kinetic typography breakdown"`, `"title sequence design"`, `"motion design principles"`, `"Disney twelve principles of animation examples"`, `"shape morph transition motion graphics"`, `"type as mask motion design"`. - Referenc
  • Network accessline 181
    - References:   - Art of the Title: https://www.artofthetitle.com   - Motionographer: https://motionographer.com
  • Network accessline 182
    - Art of the Title: https://www.artofthetitle.com
  • Network accessline 183
    - Motionographer: https://motionographer.com
  • Network accessline 184
    - School of Motion: https://www.schoolofmotion.com/blog
  • Network accessline 247
    - **Craft resources (read whichever you need):**   - Motion:     - Material 3 motion: https://m3.material.io/styles/motion/overview
  • Network accessline 248
    - Motion:     - Material 3 motion: https://m3.material.io/styles/motion/overview     - Apple HIG, Motion: https://developer.apple.com/design/human-interface-guidelines/motion
  • Network accessline 249
    - Material 3 motion: https://m3.material.io/styles/motion/overview
  • Network accessline 250
    - Apple HIG, Motion: https://developer.apple.com/design/human-interface-guidelines/motion
  • Network accessline 251
    - IBM Carbon motion: https://carbondesignsystem.com/elements/motion/overview/
  • Network accessline 252
    - easings.net, cubic-bezier.com     - GSAP ease visualizer: https://gsap.com/docs/v3/Eases     - Twelve principles of animation: https://en.wikipedia.org/wiki/Twelve_basic_principles_of_animation
  • Network accessline 253
    - GSAP ease visualizer: https://gsap.com/docs/v3/Eases
  • Network accessline 254
    - Twelve principles of animation: https://en.wikipedia.org/wiki/Twelve_basic_principles_of_animation
  • Network accessline 255
    - School of Motion: https://www.schoolofmotion.com/blog
  • Network accessline 256
    - Typography:     - Butterick's Practical Typography: https://practicaltypography.com     - Google Fonts Knowledge: https://fonts.google.com/knowledge
  • Network accessline 257
    - Butterick's Practical Typography: https://practicaltypography.com
  • Network accessline 258
    - Google Fonts Knowledge: https://fonts.google.com/knowledge
  • Network accessline 259
    - typescale.com     - Josef Müller-Brockmann, *Grid Systems in Graphic Design*   - Colour and contrast: WebAIM contrast checker, https://webaim.org/resources/contrastchecker/
  • Network accessline 260
    - Josef Müller-Brockmann, *Grid Systems in Graphic Design*   - Colour and contrast: WebAIM contrast checker, https://webaim.org/resources/contrastchecker/   - Sound:
  • Network accessline 261
    - Colour and contrast: WebAIM contrast checker, https://webaim.org/resources/contrastchecker/
  • Network accessline 262
    - Sound:     - MDN Web Audio API: https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API     - "A tale of two clocks": https://web.dev/articles/audio-scheduling
  • Network accessline 263
    - MDN Web Audio API: https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API
  • Network accessline 264
    - "A tale of two clocks": https://web.dev/articles/audio-scheduling
  • Network accessline 265
    - Ableton Learning Synths: https://learningsynths.ableton.com
  • Network accessline 266
    - Ableton Learning Music: https://learningmusic.ableton.com
  • Network accessline 267
    - Hooktheory: https://www.hooktheory.com
  • Network accessline 268
    - Tooling:     - Chrome DevTools Protocol: https://chromedevtools.github.io/devtools-protocol/     - FFmpeg: https://ffmpeg.org/documentation.html
  • Network accessline 269
    - Chrome DevTools Protocol: https://chromedevtools.github.io/devtools-protocol/
  • Network accessline 270
    - FFmpeg: https://ffmpeg.org/documentation.html
  • Network accessline 271
    - Remotion (if the user wants React): https://www.remotion.dev
  • Dangerous shell operationline 673
    | `python verify.py film.html eval "js" [t]` | Evaluates an expression in the recording page, optionally after `seek(t)`, and prints the JSON result. Use it to debug sizes, styles and state without guessing. |
  • Dangerous shell operationline 1390
    python verify.py film.html eval "js" [t]               evaluate an expression in the ?record page (after seek(t)) and print the JSON result,
  • Dangerous shell operationline 1391
    e.g. eval "getComputedStyle(document.querySelector('#cT')).fontSize" 9.5
  • Access to secretsline 1421
    [Credential-related source omitted]
  • Network accessline 1432
    def free_port():     s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Network accessline 1433
    s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Possible obfuscationline 1503
    return base64.b64decode(call('Page.captureScreenshot', p)['data'])
  • Possible obfuscationline 1613
    fn = out / 'score.wav'; fn.write_bytes(base64.b64decode(b64)); print('score', fn, f'({fn.stat().st_size / 1e6:.1f} MB)')
  • Network accessline 1618
    for _ in range(100):         try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break
  • Network accessline 1619
    try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break         except Exception:
  • Network accessline 1620
    tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break
  • Network accessline 1880
    weights = [] if raw else [w.strip() for w in A.items[0].split(',') if w.strip()]     axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if 
  • Network accessline 1881
    axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if A.italic else 'wght@' + ';'.join(weights)     url = f'https://fonts.googleapis.com/cs
  • Network accessline 1882
    url = f'https://fonts.googleapis.com/css2?family={A.family.replace(" ", "+")}:{axis}&display=block'     css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()     want = {s.strip() 
  • Network accessline 1883
    css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()
  • Network accessline 1887
    if sub not in want:             continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 1888
    continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)         wm = re.search(r'font-weight:\s*(\d+)(?:\s+(\d+))?', body); wt = wm.group(1) if not wm.group(2) else f'{wm.group(1)} {wm.group(2)}'
  • Network accessline 1889
    src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 1895
    if key in seen:   # a variable font serves every weight from one file: embed it once, as a weight range             seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, hea
  • Network accessline 1896
    seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()         seen[key] = [data, [int(w) for w in wt.split()], stl, ur.group(
  • Network accessline 1897
    data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()
  • Access to secretsline 2090
    [Credential-related source omitted]

explainer-video/examples/heat-pump-explainer.html

  • Network accessline 281
    /* ===================== the diagram: one world in SVG, seen through one camera ===================== */ const NS = 'http://www.w3.org/2000/svg';
  • Network accessline 282
    const NS = 'http://www.w3.org/2000/svg';

explainer-video/scripts/analyze.py

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

explainer-video/scripts/fonts.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 33
    weights = [] if raw else [w.strip() for w in A.items[0].split(',') if w.strip()]     axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if 
  • Network accessline 34
    axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if A.italic else 'wght@' + ';'.join(weights)     url = f'https://fonts.googleapis.com/cs
  • Network accessline 35
    url = f'https://fonts.googleapis.com/css2?family={A.family.replace(" ", "+")}:{axis}&display=block'     css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()     want = {s.strip() 
  • Network accessline 36
    css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()
  • Network accessline 40
    if sub not in want:             continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 41
    continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)         wm = re.search(r'font-weight:\s*(\d+)(?:\s+(\d+))?', body); wt = wm.group(1) if not wm.group(2) else f'{wm.group(1)} {wm.group(2)}'
  • Network accessline 42
    src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 48
    if key in seen:   # a variable font serves every weight from one file: embed it once, as a weight range             seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, hea
  • Network accessline 49
    seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()         seen[key] = [data, [int(w) for w in wt.split()], stl, ur.group(
  • Network accessline 50
    data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()

explainer-video/scripts/inline.py

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

explainer-video/scripts/verify.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Dangerous shell operationline 15
    python verify.py film.html eval "js" [t]               evaluate an expression in the ?record page (after seek(t)) and print the JSON result,
  • Dangerous shell operationline 16
    e.g. eval "getComputedStyle(document.querySelector('#cT')).fontSize" 9.5
  • Access to secretsline 46
    [Credential-related source omitted]
  • Network accessline 57
    def free_port():     s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Network accessline 58
    s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Possible obfuscationline 128
    return base64.b64decode(call('Page.captureScreenshot', p)['data'])
  • Possible obfuscationline 238
    fn = out / 'score.wav'; fn.write_bytes(base64.b64decode(b64)); print('score', fn, f'({fn.stat().st_size / 1e6:.1f} MB)')
  • Network accessline 243
    for _ in range(100):         try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break
  • Network accessline 244
    try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break         except Exception:
  • Network accessline 245
    tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break

explainer-video/scripts/vo_timing.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 43
    [Credential-related source omitted]

feature-update/SKILL.md

  • Network accessline 180
    - Queries: `"kinetic typography breakdown"`, `"title sequence design"`, `"motion design principles"`, `"Disney twelve principles of animation examples"`, `"shape morph transition motion graphics"`, `"type as mask motion design"`. - Referenc
  • Network accessline 181
    - References:   - Art of the Title: https://www.artofthetitle.com   - Motionographer: https://motionographer.com
  • Network accessline 182
    - Art of the Title: https://www.artofthetitle.com
  • Network accessline 183
    - Motionographer: https://motionographer.com
  • Network accessline 184
    - School of Motion: https://www.schoolofmotion.com/blog
  • Network accessline 246
    - **Craft resources (read whichever you need):**   - Motion:     - Material 3 motion: https://m3.material.io/styles/motion/overview
  • Network accessline 247
    - Motion:     - Material 3 motion: https://m3.material.io/styles/motion/overview     - Apple HIG, Motion: https://developer.apple.com/design/human-interface-guidelines/motion
  • Network accessline 248
    - Material 3 motion: https://m3.material.io/styles/motion/overview
  • Network accessline 249
    - Apple HIG, Motion: https://developer.apple.com/design/human-interface-guidelines/motion
  • Network accessline 250
    - IBM Carbon motion: https://carbondesignsystem.com/elements/motion/overview/
  • Network accessline 251
    - easings.net, cubic-bezier.com     - GSAP ease visualizer: https://gsap.com/docs/v3/Eases     - Twelve principles of animation: https://en.wikipedia.org/wiki/Twelve_basic_principles_of_animation
  • Network accessline 252
    - GSAP ease visualizer: https://gsap.com/docs/v3/Eases
  • Network accessline 253
    - Twelve principles of animation: https://en.wikipedia.org/wiki/Twelve_basic_principles_of_animation
  • Network accessline 254
    - School of Motion: https://www.schoolofmotion.com/blog
  • Network accessline 255
    - Typography:     - Butterick's Practical Typography: https://practicaltypography.com     - Google Fonts Knowledge: https://fonts.google.com/knowledge
  • Network accessline 256
    - Butterick's Practical Typography: https://practicaltypography.com
  • Network accessline 257
    - Google Fonts Knowledge: https://fonts.google.com/knowledge
  • Network accessline 258
    - typescale.com     - Josef Müller-Brockmann, *Grid Systems in Graphic Design*   - Colour and contrast: WebAIM contrast checker, https://webaim.org/resources/contrastchecker/
  • Network accessline 259
    - Josef Müller-Brockmann, *Grid Systems in Graphic Design*   - Colour and contrast: WebAIM contrast checker, https://webaim.org/resources/contrastchecker/   - Sound:
  • Network accessline 260
    - Colour and contrast: WebAIM contrast checker, https://webaim.org/resources/contrastchecker/
  • Network accessline 261
    - Sound:     - MDN Web Audio API: https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API     - "A tale of two clocks": https://web.dev/articles/audio-scheduling
  • Network accessline 262
    - MDN Web Audio API: https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API
  • Network accessline 263
    - "A tale of two clocks": https://web.dev/articles/audio-scheduling
  • Network accessline 264
    - Ableton Learning Synths: https://learningsynths.ableton.com
  • Network accessline 265
    - Ableton Learning Music: https://learningmusic.ableton.com
  • Network accessline 266
    - Hooktheory: https://www.hooktheory.com
  • Network accessline 267
    - Tooling:     - Chrome DevTools Protocol: https://chromedevtools.github.io/devtools-protocol/     - FFmpeg: https://ffmpeg.org/documentation.html
  • Network accessline 268
    - Chrome DevTools Protocol: https://chromedevtools.github.io/devtools-protocol/
  • Network accessline 269
    - FFmpeg: https://ffmpeg.org/documentation.html
  • Network accessline 270
    - Remotion (if the user wants React): https://www.remotion.dev
  • Dangerous shell operationline 626
    | `python verify.py film.html eval "js" [t]` | Evaluates an expression in the recording page, optionally after `seek(t)`, and prints the JSON result. Use it to debug sizes, styles and state without guessing. |
  • Dangerous shell operationline 1348
    python verify.py film.html eval "js" [t]               evaluate an expression in the ?record page (after seek(t)) and print the JSON result,
  • Dangerous shell operationline 1349
    e.g. eval "getComputedStyle(document.querySelector('#cT')).fontSize" 9.5
  • Access to secretsline 1379
    [Credential-related source omitted]
  • Network accessline 1390
    def free_port():     s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Network accessline 1391
    s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Possible obfuscationline 1461
    return base64.b64decode(call('Page.captureScreenshot', p)['data'])
  • Possible obfuscationline 1571
    fn = out / 'score.wav'; fn.write_bytes(base64.b64decode(b64)); print('score', fn, f'({fn.stat().st_size / 1e6:.1f} MB)')
  • Network accessline 1576
    for _ in range(100):         try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break
  • Network accessline 1577
    try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break         except Exception:
  • Network accessline 1578
    tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break
  • Network accessline 1838
    weights = [] if raw else [w.strip() for w in A.items[0].split(',') if w.strip()]     axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if 
  • Network accessline 1839
    axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if A.italic else 'wght@' + ';'.join(weights)     url = f'https://fonts.googleapis.com/cs
  • Network accessline 1840
    url = f'https://fonts.googleapis.com/css2?family={A.family.replace(" ", "+")}:{axis}&display=block'     css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()     want = {s.strip() 
  • Network accessline 1841
    css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()
  • Network accessline 1845
    if sub not in want:             continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 1846
    continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)         wm = re.search(r'font-weight:\s*(\d+)(?:\s+(\d+))?', body); wt = wm.group(1) if not wm.group(2) else f'{wm.group(1)} {wm.group(2)}'
  • Network accessline 1847
    src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 1853
    if key in seen:   # a variable font serves every weight from one file: embed it once, as a weight range             seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, hea
  • Network accessline 1854
    seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()         seen[key] = [data, [int(w) for w in wt.split()], stl, ur.group(
  • Network accessline 1855
    data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()
  • Access to secretsline 2048
    [Credential-related source omitted]

feature-update/scripts/analyze.py

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

feature-update/scripts/fonts.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 33
    weights = [] if raw else [w.strip() for w in A.items[0].split(',') if w.strip()]     axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if 
  • Network accessline 34
    axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if A.italic else 'wght@' + ';'.join(weights)     url = f'https://fonts.googleapis.com/cs
  • Network accessline 35
    url = f'https://fonts.googleapis.com/css2?family={A.family.replace(" ", "+")}:{axis}&display=block'     css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()     want = {s.strip() 
  • Network accessline 36
    css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()
  • Network accessline 40
    if sub not in want:             continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 41
    continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)         wm = re.search(r'font-weight:\s*(\d+)(?:\s+(\d+))?', body); wt = wm.group(1) if not wm.group(2) else f'{wm.group(1)} {wm.group(2)}'
  • Network accessline 42
    src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 48
    if key in seen:   # a variable font serves every weight from one file: embed it once, as a weight range             seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, hea
  • Network accessline 49
    seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()         seen[key] = [data, [int(w) for w in wt.split()], stl, ur.group(
  • Network accessline 50
    data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()

feature-update/scripts/inline.py

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

feature-update/scripts/verify.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Dangerous shell operationline 15
    python verify.py film.html eval "js" [t]               evaluate an expression in the ?record page (after seek(t)) and print the JSON result,
  • Dangerous shell operationline 16
    e.g. eval "getComputedStyle(document.querySelector('#cT')).fontSize" 9.5
  • Access to secretsline 46
    [Credential-related source omitted]
  • Network accessline 57
    def free_port():     s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Network accessline 58
    s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Possible obfuscationline 128
    return base64.b64decode(call('Page.captureScreenshot', p)['data'])
  • Possible obfuscationline 238
    fn = out / 'score.wav'; fn.write_bytes(base64.b64decode(b64)); print('score', fn, f'({fn.stat().st_size / 1e6:.1f} MB)')
  • Network accessline 243
    for _ in range(100):         try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break
  • Network accessline 244
    try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break         except Exception:
  • Network accessline 245
    tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break

feature-update/scripts/vo_timing.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 43
    [Credential-related source omitted]

launch-film/SKILL.md

  • Network accessline 180
    - Queries: `"kinetic typography breakdown"`, `"title sequence design"`, `"motion design principles"`, `"Disney twelve principles of animation examples"`, `"shape morph transition motion graphics"`, `"type as mask motion design"`. - Referenc
  • Network accessline 181
    - References:   - Art of the Title: https://www.artofthetitle.com   - Motionographer: https://motionographer.com
  • Network accessline 182
    - Art of the Title: https://www.artofthetitle.com
  • Network accessline 183
    - Motionographer: https://motionographer.com
  • Network accessline 184
    - School of Motion: https://www.schoolofmotion.com/blog
  • Network accessline 250
    - **Craft resources (read whichever you need):**   - Motion:     - Material 3 motion: https://m3.material.io/styles/motion/overview
  • Network accessline 251
    - Motion:     - Material 3 motion: https://m3.material.io/styles/motion/overview     - Apple HIG, Motion: https://developer.apple.com/design/human-interface-guidelines/motion
  • Network accessline 252
    - Material 3 motion: https://m3.material.io/styles/motion/overview
  • Network accessline 253
    - Apple HIG, Motion: https://developer.apple.com/design/human-interface-guidelines/motion
  • Network accessline 254
    - IBM Carbon motion: https://carbondesignsystem.com/elements/motion/overview/
  • Network accessline 255
    - easings.net, cubic-bezier.com     - GSAP ease visualizer: https://gsap.com/docs/v3/Eases     - Twelve principles of animation: https://en.wikipedia.org/wiki/Twelve_basic_principles_of_animation
  • Network accessline 256
    - GSAP ease visualizer: https://gsap.com/docs/v3/Eases
  • Network accessline 257
    - Twelve principles of animation: https://en.wikipedia.org/wiki/Twelve_basic_principles_of_animation
  • Network accessline 258
    - School of Motion: https://www.schoolofmotion.com/blog
  • Network accessline 259
    - Typography:     - Butterick's Practical Typography: https://practicaltypography.com     - Google Fonts Knowledge: https://fonts.google.com/knowledge
  • Network accessline 260
    - Butterick's Practical Typography: https://practicaltypography.com
  • Network accessline 261
    - Google Fonts Knowledge: https://fonts.google.com/knowledge
  • Network accessline 262
    - typescale.com     - Josef Müller-Brockmann, *Grid Systems in Graphic Design*   - Colour and contrast: WebAIM contrast checker, https://webaim.org/resources/contrastchecker/
  • Network accessline 263
    - Josef Müller-Brockmann, *Grid Systems in Graphic Design*   - Colour and contrast: WebAIM contrast checker, https://webaim.org/resources/contrastchecker/   - Sound:
  • Network accessline 264
    - Colour and contrast: WebAIM contrast checker, https://webaim.org/resources/contrastchecker/
  • Network accessline 265
    - Sound:     - MDN Web Audio API: https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API     - "A tale of two clocks": https://web.dev/articles/audio-scheduling
  • Network accessline 266
    - MDN Web Audio API: https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API
  • Network accessline 267
    - "A tale of two clocks": https://web.dev/articles/audio-scheduling
  • Network accessline 268
    - Ableton Learning Synths: https://learningsynths.ableton.com
  • Network accessline 269
    - Ableton Learning Music: https://learningmusic.ableton.com
  • Network accessline 270
    - Hooktheory: https://www.hooktheory.com
  • Network accessline 271
    - Tooling:     - Chrome DevTools Protocol: https://chromedevtools.github.io/devtools-protocol/     - FFmpeg: https://ffmpeg.org/documentation.html
  • Network accessline 272
    - Chrome DevTools Protocol: https://chromedevtools.github.io/devtools-protocol/
  • Network accessline 273
    - FFmpeg: https://ffmpeg.org/documentation.html
  • Network accessline 274
    - Remotion (if the user wants React): https://www.remotion.dev
  • Dangerous shell operationline 685
    | `python verify.py film.html eval "js" [t]` | Evaluates an expression in the recording page, optionally after `seek(t)`, and prints the JSON result. Use it to debug sizes, styles and state without guessing. |
  • Dangerous shell operationline 1489
    python verify.py film.html eval "js" [t]               evaluate an expression in the ?record page (after seek(t)) and print the JSON result,
  • Dangerous shell operationline 1490
    e.g. eval "getComputedStyle(document.querySelector('#cT')).fontSize" 9.5
  • Access to secretsline 1520
    [Credential-related source omitted]
  • Network accessline 1531
    def free_port():     s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Network accessline 1532
    s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Possible obfuscationline 1602
    return base64.b64decode(call('Page.captureScreenshot', p)['data'])
  • Possible obfuscationline 1712
    fn = out / 'score.wav'; fn.write_bytes(base64.b64decode(b64)); print('score', fn, f'({fn.stat().st_size / 1e6:.1f} MB)')
  • Network accessline 1717
    for _ in range(100):         try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break
  • Network accessline 1718
    try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break         except Exception:
  • Network accessline 1719
    tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break
  • Network accessline 1979
    weights = [] if raw else [w.strip() for w in A.items[0].split(',') if w.strip()]     axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if 
  • Network accessline 1980
    axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if A.italic else 'wght@' + ';'.join(weights)     url = f'https://fonts.googleapis.com/cs
  • Network accessline 1981
    url = f'https://fonts.googleapis.com/css2?family={A.family.replace(" ", "+")}:{axis}&display=block'     css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()     want = {s.strip() 
  • Network accessline 1982
    css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()
  • Network accessline 1986
    if sub not in want:             continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 1987
    continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)         wm = re.search(r'font-weight:\s*(\d+)(?:\s+(\d+))?', body); wt = wm.group(1) if not wm.group(2) else f'{wm.group(1)} {wm.group(2)}'
  • Network accessline 1988
    src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 1994
    if key in seen:   # a variable font serves every weight from one file: embed it once, as a weight range             seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, hea
  • Network accessline 1995
    seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()         seen[key] = [data, [int(w) for w in wt.split()], stl, ur.group(
  • Network accessline 1996
    data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()
  • Access to secretsline 2189
    [Credential-related source omitted]

launch-film/scripts/analyze.py

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

launch-film/scripts/fonts.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 33
    weights = [] if raw else [w.strip() for w in A.items[0].split(',') if w.strip()]     axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if 
  • Network accessline 34
    axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if A.italic else 'wght@' + ';'.join(weights)     url = f'https://fonts.googleapis.com/cs
  • Network accessline 35
    url = f'https://fonts.googleapis.com/css2?family={A.family.replace(" ", "+")}:{axis}&display=block'     css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()     want = {s.strip() 
  • Network accessline 36
    css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()
  • Network accessline 40
    if sub not in want:             continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 41
    continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)         wm = re.search(r'font-weight:\s*(\d+)(?:\s+(\d+))?', body); wt = wm.group(1) if not wm.group(2) else f'{wm.group(1)} {wm.group(2)}'
  • Network accessline 42
    src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 48
    if key in seen:   # a variable font serves every weight from one file: embed it once, as a weight range             seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, hea
  • Network accessline 49
    seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()         seen[key] = [data, [int(w) for w in wt.split()], stl, ur.group(
  • Network accessline 50
    data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()

launch-film/scripts/inline.py

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

launch-film/scripts/verify.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Dangerous shell operationline 15
    python verify.py film.html eval "js" [t]               evaluate an expression in the ?record page (after seek(t)) and print the JSON result,
  • Dangerous shell operationline 16
    e.g. eval "getComputedStyle(document.querySelector('#cT')).fontSize" 9.5
  • Access to secretsline 46
    [Credential-related source omitted]
  • Network accessline 57
    def free_port():     s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Network accessline 58
    s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Possible obfuscationline 128
    return base64.b64decode(call('Page.captureScreenshot', p)['data'])
  • Possible obfuscationline 238
    fn = out / 'score.wav'; fn.write_bytes(base64.b64decode(b64)); print('score', fn, f'({fn.stat().st_size / 1e6:.1f} MB)')
  • Network accessline 243
    for _ in range(100):         try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break
  • Network accessline 244
    try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break         except Exception:
  • Network accessline 245
    tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break

launch-film/scripts/vo_timing.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 43
    [Credential-related source omitted]

motion-film/SKILL.md

  • Network accessline 180
    - Queries: `"kinetic typography breakdown"`, `"title sequence design"`, `"motion design principles"`, `"Disney twelve principles of animation examples"`, `"shape morph transition motion graphics"`, `"type as mask motion design"`. - Referenc
  • Network accessline 181
    - References:   - Art of the Title: https://www.artofthetitle.com   - Motionographer: https://motionographer.com
  • Network accessline 182
    - Art of the Title: https://www.artofthetitle.com
  • Network accessline 183
    - Motionographer: https://motionographer.com
  • Network accessline 184
    - School of Motion: https://www.schoolofmotion.com/blog
  • Network accessline 256
    - **Craft resources:**   - Motion:     - Material 3 motion: https://m3.material.io/styles/motion/overview
  • Network accessline 257
    - Motion:     - Material 3 motion: https://m3.material.io/styles/motion/overview     - Apple HIG, Motion: https://developer.apple.com/design/human-interface-guidelines/motion
  • Network accessline 258
    - Material 3 motion: https://m3.material.io/styles/motion/overview
  • Network accessline 259
    - Apple HIG, Motion: https://developer.apple.com/design/human-interface-guidelines/motion
  • Network accessline 260
    - IBM Carbon motion: https://carbondesignsystem.com/elements/motion/overview/
  • Network accessline 261
    - easings.net     - cubic-bezier.com     - GSAP ease visualizer: https://gsap.com/docs/v3/Eases
  • Network accessline 262
    - cubic-bezier.com     - GSAP ease visualizer: https://gsap.com/docs/v3/Eases     - Twelve principles of animation: https://en.wikipedia.org/wiki/Twelve_basic_principles_of_animation
  • Network accessline 263
    - GSAP ease visualizer: https://gsap.com/docs/v3/Eases
  • Network accessline 264
    - Twelve principles of animation: https://en.wikipedia.org/wiki/Twelve_basic_principles_of_animation
  • Network accessline 265
    - School of Motion: https://www.schoolofmotion.com/blog
  • Network accessline 266
    - Typography:     - Butterick's Practical Typography: https://practicaltypography.com     - Google Fonts Knowledge: https://fonts.google.com/knowledge
  • Network accessline 267
    - Butterick's Practical Typography: https://practicaltypography.com
  • Network accessline 268
    - Google Fonts Knowledge: https://fonts.google.com/knowledge
  • Network accessline 269
    - typescale.com     - On grids, Josef Müller-Brockmann's *Grid Systems in Graphic Design*.   - Colour and contrast: WebAIM contrast checker, https://webaim.org/resources/contrastchecker/
  • Network accessline 270
    - On grids, Josef Müller-Brockmann's *Grid Systems in Graphic Design*.   - Colour and contrast: WebAIM contrast checker, https://webaim.org/resources/contrastchecker/   - Sound:
  • Network accessline 271
    - Colour and contrast: WebAIM contrast checker, https://webaim.org/resources/contrastchecker/
  • Network accessline 272
    - Sound:     - MDN Web Audio API: https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API     - "A tale of two clocks" (scheduling): https://web.dev/articles/audio-scheduling
  • Network accessline 273
    - MDN Web Audio API: https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API
  • Network accessline 274
    - "A tale of two clocks" (scheduling): https://web.dev/articles/audio-scheduling
  • Network accessline 275
    - Ableton Learning Synths: https://learningsynths.ableton.com
  • Network accessline 276
    - Ableton Learning Music: https://learningmusic.ableton.com
  • Network accessline 277
    - Hooktheory (chord progressions): https://www.hooktheory.com
  • Network accessline 278
    - Tooling:     - Chrome DevTools Protocol: https://chromedevtools.github.io/devtools-protocol/     - FFmpeg: https://ffmpeg.org/documentation.html
  • Network accessline 279
    - Chrome DevTools Protocol: https://chromedevtools.github.io/devtools-protocol/
  • Network accessline 280
    - FFmpeg: https://ffmpeg.org/documentation.html
  • Network accessline 281
    - Remotion (a React alternative, if the user wants it): https://www.remotion.dev
  • Dangerous shell operationline 618
    | `python verify.py film.html eval "js" [t]` | Evaluates an expression in the recording page, optionally after `seek(t)`, and prints the JSON result. Use it to debug sizes, styles and state without guessing. |
  • Dangerous shell operationline 1410
    python verify.py film.html eval "js" [t]               evaluate an expression in the ?record page (after seek(t)) and print the JSON result,
  • Dangerous shell operationline 1411
    e.g. eval "getComputedStyle(document.querySelector('#cT')).fontSize" 9.5
  • Access to secretsline 1441
    [Credential-related source omitted]
  • Network accessline 1452
    def free_port():     s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Network accessline 1453
    s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Possible obfuscationline 1523
    return base64.b64decode(call('Page.captureScreenshot', p)['data'])
  • Possible obfuscationline 1633
    fn = out / 'score.wav'; fn.write_bytes(base64.b64decode(b64)); print('score', fn, f'({fn.stat().st_size / 1e6:.1f} MB)')
  • Network accessline 1638
    for _ in range(100):         try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break
  • Network accessline 1639
    try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break         except Exception:
  • Network accessline 1640
    tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break
  • Network accessline 1900
    weights = [] if raw else [w.strip() for w in A.items[0].split(',') if w.strip()]     axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if 
  • Network accessline 1901
    axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if A.italic else 'wght@' + ';'.join(weights)     url = f'https://fonts.googleapis.com/cs
  • Network accessline 1902
    url = f'https://fonts.googleapis.com/css2?family={A.family.replace(" ", "+")}:{axis}&display=block'     css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()     want = {s.strip() 
  • Network accessline 1903
    css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()
  • Network accessline 1907
    if sub not in want:             continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 1908
    continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)         wm = re.search(r'font-weight:\s*(\d+)(?:\s+(\d+))?', body); wt = wm.group(1) if not wm.group(2) else f'{wm.group(1)} {wm.group(2)}'
  • Network accessline 1909
    src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 1915
    if key in seen:   # a variable font serves every weight from one file: embed it once, as a weight range             seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, hea
  • Network accessline 1916
    seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()         seen[key] = [data, [int(w) for w in wt.split()], stl, ur.group(
  • Network accessline 1917
    data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()
  • Access to secretsline 2110
    [Credential-related source omitted]

motion-film/examples/low-tide-titles.html

  • Network accessline 276
    /* ===================== the world, built once and twinned (shore copy + submerged copy) ===================== */ const NS = 'http://www.w3.org/2000/svg';
  • Network accessline 277
    const NS = 'http://www.w3.org/2000/svg';

motion-film/scripts/analyze.py

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

motion-film/scripts/fonts.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 33
    weights = [] if raw else [w.strip() for w in A.items[0].split(',') if w.strip()]     axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if 
  • Network accessline 34
    axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if A.italic else 'wght@' + ';'.join(weights)     url = f'https://fonts.googleapis.com/cs
  • Network accessline 35
    url = f'https://fonts.googleapis.com/css2?family={A.family.replace(" ", "+")}:{axis}&display=block'     css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()     want = {s.strip() 
  • Network accessline 36
    css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()
  • Network accessline 40
    if sub not in want:             continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 41
    continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)         wm = re.search(r'font-weight:\s*(\d+)(?:\s+(\d+))?', body); wt = wm.group(1) if not wm.group(2) else f'{wm.group(1)} {wm.group(2)}'
  • Network accessline 42
    src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 48
    if key in seen:   # a variable font serves every weight from one file: embed it once, as a weight range             seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, hea
  • Network accessline 49
    seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()         seen[key] = [data, [int(w) for w in wt.split()], stl, ur.group(
  • Network accessline 50
    data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()

motion-film/scripts/inline.py

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

motion-film/scripts/verify.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Dangerous shell operationline 15
    python verify.py film.html eval "js" [t]               evaluate an expression in the ?record page (after seek(t)) and print the JSON result,
  • Dangerous shell operationline 16
    e.g. eval "getComputedStyle(document.querySelector('#cT')).fontSize" 9.5
  • Access to secretsline 46
    [Credential-related source omitted]
  • Network accessline 57
    def free_port():     s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Network accessline 58
    s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Possible obfuscationline 128
    return base64.b64decode(call('Page.captureScreenshot', p)['data'])
  • Possible obfuscationline 238
    fn = out / 'score.wav'; fn.write_bytes(base64.b64decode(b64)); print('score', fn, f'({fn.stat().st_size / 1e6:.1f} MB)')
  • Network accessline 243
    for _ in range(100):         try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break
  • Network accessline 244
    try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break         except Exception:
  • Network accessline 245
    tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break

motion-film/scripts/vo_timing.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 43
    [Credential-related source omitted]

product-walkthrough/SKILL.md

  • Network accessline 180
    - Queries: `"kinetic typography breakdown"`, `"title sequence design"`, `"motion design principles"`, `"Disney twelve principles of animation examples"`, `"shape morph transition motion graphics"`, `"type as mask motion design"`. - Referenc
  • Network accessline 181
    - References:   - Art of the Title: https://www.artofthetitle.com   - Motionographer: https://motionographer.com
  • Network accessline 182
    - Art of the Title: https://www.artofthetitle.com
  • Network accessline 183
    - Motionographer: https://motionographer.com
  • Network accessline 184
    - School of Motion: https://www.schoolofmotion.com/blog
  • Network accessline 247
    - **Craft resources (read whichever you need):**   - Motion:     - Material 3 motion: https://m3.material.io/styles/motion/overview
  • Network accessline 248
    - Motion:     - Material 3 motion: https://m3.material.io/styles/motion/overview     - Apple HIG, Motion: https://developer.apple.com/design/human-interface-guidelines/motion
  • Network accessline 249
    - Material 3 motion: https://m3.material.io/styles/motion/overview
  • Network accessline 250
    - Apple HIG, Motion: https://developer.apple.com/design/human-interface-guidelines/motion
  • Network accessline 251
    - IBM Carbon motion: https://carbondesignsystem.com/elements/motion/overview/
  • Network accessline 252
    - easings.net, cubic-bezier.com     - GSAP ease visualizer: https://gsap.com/docs/v3/Eases     - Twelve principles of animation: https://en.wikipedia.org/wiki/Twelve_basic_principles_of_animation
  • Network accessline 253
    - GSAP ease visualizer: https://gsap.com/docs/v3/Eases
  • Network accessline 254
    - Twelve principles of animation: https://en.wikipedia.org/wiki/Twelve_basic_principles_of_animation
  • Network accessline 255
    - School of Motion: https://www.schoolofmotion.com/blog
  • Network accessline 256
    - Typography:     - Butterick's Practical Typography: https://practicaltypography.com     - Google Fonts Knowledge: https://fonts.google.com/knowledge
  • Network accessline 257
    - Butterick's Practical Typography: https://practicaltypography.com
  • Network accessline 258
    - Google Fonts Knowledge: https://fonts.google.com/knowledge
  • Network accessline 259
    - typescale.com     - Josef Müller-Brockmann, *Grid Systems in Graphic Design*   - Colour and contrast: WebAIM contrast checker, https://webaim.org/resources/contrastchecker/
  • Network accessline 260
    - Josef Müller-Brockmann, *Grid Systems in Graphic Design*   - Colour and contrast: WebAIM contrast checker, https://webaim.org/resources/contrastchecker/   - Sound:
  • Network accessline 261
    - Colour and contrast: WebAIM contrast checker, https://webaim.org/resources/contrastchecker/
  • Network accessline 262
    - Sound:     - MDN Web Audio API: https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API     - "A tale of two clocks": https://web.dev/articles/audio-scheduling
  • Network accessline 263
    - MDN Web Audio API: https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API
  • Network accessline 264
    - "A tale of two clocks": https://web.dev/articles/audio-scheduling
  • Network accessline 265
    - Ableton Learning Synths: https://learningsynths.ableton.com
  • Network accessline 266
    - Ableton Learning Music: https://learningmusic.ableton.com
  • Network accessline 267
    - Hooktheory: https://www.hooktheory.com
  • Network accessline 268
    - Tooling:     - Chrome DevTools Protocol: https://chromedevtools.github.io/devtools-protocol/     - FFmpeg: https://ffmpeg.org/documentation.html
  • Network accessline 269
    - Chrome DevTools Protocol: https://chromedevtools.github.io/devtools-protocol/
  • Network accessline 270
    - FFmpeg: https://ffmpeg.org/documentation.html
  • Network accessline 271
    - Remotion (if the user wants React): https://www.remotion.dev
  • Dangerous shell operationline 648
    | `python verify.py film.html eval "js" [t]` | Evaluates an expression in the recording page, optionally after `seek(t)`, and prints the JSON result. Use it to debug sizes, styles and state without guessing. |
  • Dangerous shell operationline 1423
    python verify.py film.html eval "js" [t]               evaluate an expression in the ?record page (after seek(t)) and print the JSON result,
  • Dangerous shell operationline 1424
    e.g. eval "getComputedStyle(document.querySelector('#cT')).fontSize" 9.5
  • Access to secretsline 1454
    [Credential-related source omitted]
  • Network accessline 1465
    def free_port():     s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Network accessline 1466
    s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Possible obfuscationline 1536
    return base64.b64decode(call('Page.captureScreenshot', p)['data'])
  • Possible obfuscationline 1646
    fn = out / 'score.wav'; fn.write_bytes(base64.b64decode(b64)); print('score', fn, f'({fn.stat().st_size / 1e6:.1f} MB)')
  • Network accessline 1651
    for _ in range(100):         try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break
  • Network accessline 1652
    try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break         except Exception:
  • Network accessline 1653
    tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break
  • Network accessline 1913
    weights = [] if raw else [w.strip() for w in A.items[0].split(',') if w.strip()]     axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if 
  • Network accessline 1914
    axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if A.italic else 'wght@' + ';'.join(weights)     url = f'https://fonts.googleapis.com/cs
  • Network accessline 1915
    url = f'https://fonts.googleapis.com/css2?family={A.family.replace(" ", "+")}:{axis}&display=block'     css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()     want = {s.strip() 
  • Network accessline 1916
    css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()
  • Network accessline 1920
    if sub not in want:             continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 1921
    continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)         wm = re.search(r'font-weight:\s*(\d+)(?:\s+(\d+))?', body); wt = wm.group(1) if not wm.group(2) else f'{wm.group(1)} {wm.group(2)}'
  • Network accessline 1922
    src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 1928
    if key in seen:   # a variable font serves every weight from one file: embed it once, as a weight range             seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, hea
  • Network accessline 1929
    seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()         seen[key] = [data, [int(w) for w in wt.split()], stl, ur.group(
  • Network accessline 1930
    data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()
  • Access to secretsline 2123
    [Credential-related source omitted]

product-walkthrough/scripts/analyze.py

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

product-walkthrough/scripts/fonts.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 33
    weights = [] if raw else [w.strip() for w in A.items[0].split(',') if w.strip()]     axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if 
  • Network accessline 34
    axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if A.italic else 'wght@' + ';'.join(weights)     url = f'https://fonts.googleapis.com/cs
  • Network accessline 35
    url = f'https://fonts.googleapis.com/css2?family={A.family.replace(" ", "+")}:{axis}&display=block'     css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()     want = {s.strip() 
  • Network accessline 36
    css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()
  • Network accessline 40
    if sub not in want:             continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 41
    continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)         wm = re.search(r'font-weight:\s*(\d+)(?:\s+(\d+))?', body); wt = wm.group(1) if not wm.group(2) else f'{wm.group(1)} {wm.group(2)}'
  • Network accessline 42
    src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 48
    if key in seen:   # a variable font serves every weight from one file: embed it once, as a weight range             seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, hea
  • Network accessline 49
    seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()         seen[key] = [data, [int(w) for w in wt.split()], stl, ur.group(
  • Network accessline 50
    data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()

product-walkthrough/scripts/inline.py

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

product-walkthrough/scripts/verify.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Dangerous shell operationline 15
    python verify.py film.html eval "js" [t]               evaluate an expression in the ?record page (after seek(t)) and print the JSON result,
  • Dangerous shell operationline 16
    e.g. eval "getComputedStyle(document.querySelector('#cT')).fontSize" 9.5
  • Access to secretsline 46
    [Credential-related source omitted]
  • Network accessline 57
    def free_port():     s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Network accessline 58
    s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Possible obfuscationline 128
    return base64.b64decode(call('Page.captureScreenshot', p)['data'])
  • Possible obfuscationline 238
    fn = out / 'score.wav'; fn.write_bytes(base64.b64decode(b64)); print('score', fn, f'({fn.stat().st_size / 1e6:.1f} MB)')
  • Network accessline 243
    for _ in range(100):         try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break
  • Network accessline 244
    try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break         except Exception:
  • Network accessline 245
    tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break

product-walkthrough/scripts/vo_timing.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 43
    [Credential-related source omitted]

social-ad/SKILL.md

  • Network accessline 180
    - Queries: `"kinetic typography breakdown"`, `"title sequence design"`, `"motion design principles"`, `"Disney twelve principles of animation examples"`, `"shape morph transition motion graphics"`, `"type as mask motion design"`. - Referenc
  • Network accessline 181
    - References:   - Art of the Title: https://www.artofthetitle.com   - Motionographer: https://motionographer.com
  • Network accessline 182
    - Art of the Title: https://www.artofthetitle.com
  • Network accessline 183
    - Motionographer: https://motionographer.com
  • Network accessline 184
    - School of Motion: https://www.schoolofmotion.com/blog
  • Network accessline 246
    - **Craft resources (read whichever you need):**   - Motion:     - Material 3 motion: https://m3.material.io/styles/motion/overview
  • Network accessline 247
    - Motion:     - Material 3 motion: https://m3.material.io/styles/motion/overview     - Apple HIG, Motion: https://developer.apple.com/design/human-interface-guidelines/motion
  • Network accessline 248
    - Material 3 motion: https://m3.material.io/styles/motion/overview
  • Network accessline 249
    - Apple HIG, Motion: https://developer.apple.com/design/human-interface-guidelines/motion
  • Network accessline 250
    - IBM Carbon motion: https://carbondesignsystem.com/elements/motion/overview/
  • Network accessline 251
    - easings.net, cubic-bezier.com     - GSAP ease visualizer: https://gsap.com/docs/v3/Eases     - Twelve principles of animation: https://en.wikipedia.org/wiki/Twelve_basic_principles_of_animation
  • Network accessline 252
    - GSAP ease visualizer: https://gsap.com/docs/v3/Eases
  • Network accessline 253
    - Twelve principles of animation: https://en.wikipedia.org/wiki/Twelve_basic_principles_of_animation
  • Network accessline 254
    - School of Motion: https://www.schoolofmotion.com/blog
  • Network accessline 255
    - Typography:     - Butterick's Practical Typography: https://practicaltypography.com     - Google Fonts Knowledge: https://fonts.google.com/knowledge
  • Network accessline 256
    - Butterick's Practical Typography: https://practicaltypography.com
  • Network accessline 257
    - Google Fonts Knowledge: https://fonts.google.com/knowledge
  • Network accessline 258
    - typescale.com     - Josef Müller-Brockmann, *Grid Systems in Graphic Design*   - Colour and contrast: WebAIM contrast checker, https://webaim.org/resources/contrastchecker/
  • Network accessline 259
    - Josef Müller-Brockmann, *Grid Systems in Graphic Design*   - Colour and contrast: WebAIM contrast checker, https://webaim.org/resources/contrastchecker/   - Sound:
  • Network accessline 260
    - Colour and contrast: WebAIM contrast checker, https://webaim.org/resources/contrastchecker/
  • Network accessline 261
    - Sound:     - MDN Web Audio API: https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API     - "A tale of two clocks": https://web.dev/articles/audio-scheduling
  • Network accessline 262
    - MDN Web Audio API: https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API
  • Network accessline 263
    - "A tale of two clocks": https://web.dev/articles/audio-scheduling
  • Network accessline 264
    - Ableton Learning Synths: https://learningsynths.ableton.com
  • Network accessline 265
    - Ableton Learning Music: https://learningmusic.ableton.com
  • Network accessline 266
    - Hooktheory: https://www.hooktheory.com
  • Network accessline 267
    - Tooling:     - Chrome DevTools Protocol: https://chromedevtools.github.io/devtools-protocol/     - FFmpeg: https://ffmpeg.org/documentation.html
  • Network accessline 268
    - Chrome DevTools Protocol: https://chromedevtools.github.io/devtools-protocol/
  • Network accessline 269
    - FFmpeg: https://ffmpeg.org/documentation.html
  • Network accessline 270
    - Remotion (if the user wants React): https://www.remotion.dev
  • Dangerous shell operationline 640
    | `python verify.py film.html eval "js" [t]` | Evaluates an expression in the recording page, optionally after `seek(t)`, and prints the JSON result. Use it to debug sizes, styles and state without guessing. |
  • Dangerous shell operationline 1344
    python verify.py film.html eval "js" [t]               evaluate an expression in the ?record page (after seek(t)) and print the JSON result,
  • Dangerous shell operationline 1345
    e.g. eval "getComputedStyle(document.querySelector('#cT')).fontSize" 9.5
  • Access to secretsline 1375
    [Credential-related source omitted]
  • Network accessline 1386
    def free_port():     s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Network accessline 1387
    s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Possible obfuscationline 1457
    return base64.b64decode(call('Page.captureScreenshot', p)['data'])
  • Possible obfuscationline 1567
    fn = out / 'score.wav'; fn.write_bytes(base64.b64decode(b64)); print('score', fn, f'({fn.stat().st_size / 1e6:.1f} MB)')
  • Network accessline 1572
    for _ in range(100):         try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break
  • Network accessline 1573
    try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break         except Exception:
  • Network accessline 1574
    tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break
  • Network accessline 1834
    weights = [] if raw else [w.strip() for w in A.items[0].split(',') if w.strip()]     axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if 
  • Network accessline 1835
    axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if A.italic else 'wght@' + ';'.join(weights)     url = f'https://fonts.googleapis.com/cs
  • Network accessline 1836
    url = f'https://fonts.googleapis.com/css2?family={A.family.replace(" ", "+")}:{axis}&display=block'     css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()     want = {s.strip() 
  • Network accessline 1837
    css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()
  • Network accessline 1841
    if sub not in want:             continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 1842
    continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)         wm = re.search(r'font-weight:\s*(\d+)(?:\s+(\d+))?', body); wt = wm.group(1) if not wm.group(2) else f'{wm.group(1)} {wm.group(2)}'
  • Network accessline 1843
    src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 1849
    if key in seen:   # a variable font serves every weight from one file: embed it once, as a weight range             seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, hea
  • Network accessline 1850
    seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()         seen[key] = [data, [int(w) for w in wt.split()], stl, ur.group(
  • Network accessline 1851
    data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()
  • Access to secretsline 2044
    [Credential-related source omitted]

social-ad/scripts/analyze.py

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

social-ad/scripts/fonts.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 33
    weights = [] if raw else [w.strip() for w in A.items[0].split(',') if w.strip()]     axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if 
  • Network accessline 34
    axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if A.italic else 'wght@' + ';'.join(weights)     url = f'https://fonts.googleapis.com/cs
  • Network accessline 35
    url = f'https://fonts.googleapis.com/css2?family={A.family.replace(" ", "+")}:{axis}&display=block'     css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()     want = {s.strip() 
  • Network accessline 36
    css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()
  • Network accessline 40
    if sub not in want:             continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 41
    continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)         wm = re.search(r'font-weight:\s*(\d+)(?:\s+(\d+))?', body); wt = wm.group(1) if not wm.group(2) else f'{wm.group(1)} {wm.group(2)}'
  • Network accessline 42
    src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 48
    if key in seen:   # a variable font serves every weight from one file: embed it once, as a weight range             seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, hea
  • Network accessline 49
    seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()         seen[key] = [data, [int(w) for w in wt.split()], stl, ur.group(
  • Network accessline 50
    data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()

social-ad/scripts/inline.py

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

social-ad/scripts/verify.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Dangerous shell operationline 15
    python verify.py film.html eval "js" [t]               evaluate an expression in the ?record page (after seek(t)) and print the JSON result,
  • Dangerous shell operationline 16
    e.g. eval "getComputedStyle(document.querySelector('#cT')).fontSize" 9.5
  • Access to secretsline 46
    [Credential-related source omitted]
  • Network accessline 57
    def free_port():     s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Network accessline 58
    s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Possible obfuscationline 128
    return base64.b64decode(call('Page.captureScreenshot', p)['data'])
  • Possible obfuscationline 238
    fn = out / 'score.wav'; fn.write_bytes(base64.b64decode(b64)); print('score', fn, f'({fn.stat().st_size / 1e6:.1f} MB)')
  • Network accessline 243
    for _ in range(100):         try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break
  • Network accessline 244
    try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break         except Exception:
  • Network accessline 245
    tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break

social-ad/scripts/vo_timing.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 43
    [Credential-related source omitted]

testimonial-video/SKILL.md

  • Network accessline 180
    - Queries: `"kinetic typography breakdown"`, `"title sequence design"`, `"motion design principles"`, `"Disney twelve principles of animation examples"`, `"shape morph transition motion graphics"`, `"type as mask motion design"`. - Referenc
  • Network accessline 181
    - References:   - Art of the Title: https://www.artofthetitle.com   - Motionographer: https://motionographer.com
  • Network accessline 182
    - Art of the Title: https://www.artofthetitle.com
  • Network accessline 183
    - Motionographer: https://motionographer.com
  • Network accessline 184
    - School of Motion: https://www.schoolofmotion.com/blog
  • Network accessline 247
    - **Craft resources (read whichever you need):**   - Motion:     - Material 3 motion: https://m3.material.io/styles/motion/overview
  • Network accessline 248
    - Motion:     - Material 3 motion: https://m3.material.io/styles/motion/overview     - Apple HIG, Motion: https://developer.apple.com/design/human-interface-guidelines/motion
  • Network accessline 249
    - Material 3 motion: https://m3.material.io/styles/motion/overview
  • Network accessline 250
    - Apple HIG, Motion: https://developer.apple.com/design/human-interface-guidelines/motion
  • Network accessline 251
    - IBM Carbon motion: https://carbondesignsystem.com/elements/motion/overview/
  • Network accessline 252
    - easings.net, cubic-bezier.com     - GSAP ease visualizer: https://gsap.com/docs/v3/Eases     - Twelve principles of animation: https://en.wikipedia.org/wiki/Twelve_basic_principles_of_animation
  • Network accessline 253
    - GSAP ease visualizer: https://gsap.com/docs/v3/Eases
  • Network accessline 254
    - Twelve principles of animation: https://en.wikipedia.org/wiki/Twelve_basic_principles_of_animation
  • Network accessline 255
    - School of Motion: https://www.schoolofmotion.com/blog
  • Network accessline 256
    - Typography:     - Butterick's Practical Typography: https://practicaltypography.com     - Google Fonts Knowledge: https://fonts.google.com/knowledge
  • Network accessline 257
    - Butterick's Practical Typography: https://practicaltypography.com
  • Network accessline 258
    - Google Fonts Knowledge: https://fonts.google.com/knowledge
  • Network accessline 259
    - typescale.com     - Josef Müller-Brockmann, *Grid Systems in Graphic Design*   - Colour and contrast: WebAIM contrast checker, https://webaim.org/resources/contrastchecker/
  • Network accessline 260
    - Josef Müller-Brockmann, *Grid Systems in Graphic Design*   - Colour and contrast: WebAIM contrast checker, https://webaim.org/resources/contrastchecker/   - Sound:
  • Network accessline 261
    - Colour and contrast: WebAIM contrast checker, https://webaim.org/resources/contrastchecker/
  • Network accessline 262
    - Sound:     - MDN Web Audio API: https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API     - "A tale of two clocks": https://web.dev/articles/audio-scheduling
  • Network accessline 263
    - MDN Web Audio API: https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API
  • Network accessline 264
    - "A tale of two clocks": https://web.dev/articles/audio-scheduling
  • Network accessline 265
    - Ableton Learning Synths: https://learningsynths.ableton.com
  • Network accessline 266
    - Ableton Learning Music: https://learningmusic.ableton.com
  • Network accessline 267
    - Hooktheory: https://www.hooktheory.com
  • Network accessline 268
    - Tooling:     - Chrome DevTools Protocol: https://chromedevtools.github.io/devtools-protocol/     - FFmpeg: https://ffmpeg.org/documentation.html
  • Network accessline 269
    - Chrome DevTools Protocol: https://chromedevtools.github.io/devtools-protocol/
  • Network accessline 270
    - FFmpeg: https://ffmpeg.org/documentation.html
  • Network accessline 271
    - Remotion (if the user wants React): https://www.remotion.dev
  • Dangerous shell operationline 649
    | `python verify.py film.html eval "js" [t]` | Evaluates an expression in the recording page, optionally after `seek(t)`, and prints the JSON result. Use it to debug sizes, styles and state without guessing. |
  • Dangerous shell operationline 1338
    python verify.py film.html eval "js" [t]               evaluate an expression in the ?record page (after seek(t)) and print the JSON result,
  • Dangerous shell operationline 1339
    e.g. eval "getComputedStyle(document.querySelector('#cT')).fontSize" 9.5
  • Access to secretsline 1369
    [Credential-related source omitted]
  • Network accessline 1380
    def free_port():     s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Network accessline 1381
    s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Possible obfuscationline 1451
    return base64.b64decode(call('Page.captureScreenshot', p)['data'])
  • Possible obfuscationline 1561
    fn = out / 'score.wav'; fn.write_bytes(base64.b64decode(b64)); print('score', fn, f'({fn.stat().st_size / 1e6:.1f} MB)')
  • Network accessline 1566
    for _ in range(100):         try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break
  • Network accessline 1567
    try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break         except Exception:
  • Network accessline 1568
    tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break
  • Network accessline 1828
    weights = [] if raw else [w.strip() for w in A.items[0].split(',') if w.strip()]     axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if 
  • Network accessline 1829
    axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if A.italic else 'wght@' + ';'.join(weights)     url = f'https://fonts.googleapis.com/cs
  • Network accessline 1830
    url = f'https://fonts.googleapis.com/css2?family={A.family.replace(" ", "+")}:{axis}&display=block'     css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()     want = {s.strip() 
  • Network accessline 1831
    css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()
  • Network accessline 1835
    if sub not in want:             continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 1836
    continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)         wm = re.search(r'font-weight:\s*(\d+)(?:\s+(\d+))?', body); wt = wm.group(1) if not wm.group(2) else f'{wm.group(1)} {wm.group(2)}'
  • Network accessline 1837
    src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 1843
    if key in seen:   # a variable font serves every weight from one file: embed it once, as a weight range             seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, hea
  • Network accessline 1844
    seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()         seen[key] = [data, [int(w) for w in wt.split()], stl, ur.group(
  • Network accessline 1845
    data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()
  • Access to secretsline 2038
    [Credential-related source omitted]

testimonial-video/scripts/analyze.py

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

testimonial-video/scripts/fonts.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 33
    weights = [] if raw else [w.strip() for w in A.items[0].split(',') if w.strip()]     axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if 
  • Network accessline 34
    axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if A.italic else 'wght@' + ';'.join(weights)     url = f'https://fonts.googleapis.com/cs
  • Network accessline 35
    url = f'https://fonts.googleapis.com/css2?family={A.family.replace(" ", "+")}:{axis}&display=block'     css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()     want = {s.strip() 
  • Network accessline 36
    css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()
  • Network accessline 40
    if sub not in want:             continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 41
    continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)         wm = re.search(r'font-weight:\s*(\d+)(?:\s+(\d+))?', body); wt = wm.group(1) if not wm.group(2) else f'{wm.group(1)} {wm.group(2)}'
  • Network accessline 42
    src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 48
    if key in seen:   # a variable font serves every weight from one file: embed it once, as a weight range             seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, hea
  • Network accessline 49
    seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()         seen[key] = [data, [int(w) for w in wt.split()], stl, ur.group(
  • Network accessline 50
    data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()

testimonial-video/scripts/inline.py

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

testimonial-video/scripts/verify.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Dangerous shell operationline 15
    python verify.py film.html eval "js" [t]               evaluate an expression in the ?record page (after seek(t)) and print the JSON result,
  • Dangerous shell operationline 16
    e.g. eval "getComputedStyle(document.querySelector('#cT')).fontSize" 9.5
  • Access to secretsline 46
    [Credential-related source omitted]
  • Network accessline 57
    def free_port():     s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Network accessline 58
    s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Possible obfuscationline 128
    return base64.b64decode(call('Page.captureScreenshot', p)['data'])
  • Possible obfuscationline 238
    fn = out / 'score.wav'; fn.write_bytes(base64.b64decode(b64)); print('score', fn, f'({fn.stat().st_size / 1e6:.1f} MB)')
  • Network accessline 243
    for _ in range(100):         try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break
  • Network accessline 244
    try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break         except Exception:
  • Network accessline 245
    tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break

testimonial-video/scripts/vo_timing.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 43
    [Credential-related source omitted]

tutorial-video/SKILL.md

  • Network accessline 180
    - Queries: `"kinetic typography breakdown"`, `"title sequence design"`, `"motion design principles"`, `"Disney twelve principles of animation examples"`, `"shape morph transition motion graphics"`, `"type as mask motion design"`. - Referenc
  • Network accessline 181
    - References:   - Art of the Title: https://www.artofthetitle.com   - Motionographer: https://motionographer.com
  • Network accessline 182
    - Art of the Title: https://www.artofthetitle.com
  • Network accessline 183
    - Motionographer: https://motionographer.com
  • Network accessline 184
    - School of Motion: https://www.schoolofmotion.com/blog
  • Network accessline 248
    - **Craft resources (read whichever you need):**   - Motion:     - Material 3 motion: https://m3.material.io/styles/motion/overview
  • Network accessline 249
    - Motion:     - Material 3 motion: https://m3.material.io/styles/motion/overview     - Apple HIG, Motion: https://developer.apple.com/design/human-interface-guidelines/motion
  • Network accessline 250
    - Material 3 motion: https://m3.material.io/styles/motion/overview
  • Network accessline 251
    - Apple HIG, Motion: https://developer.apple.com/design/human-interface-guidelines/motion
  • Network accessline 252
    - IBM Carbon motion: https://carbondesignsystem.com/elements/motion/overview/
  • Network accessline 253
    - easings.net, cubic-bezier.com     - GSAP ease visualizer: https://gsap.com/docs/v3/Eases     - Twelve principles of animation: https://en.wikipedia.org/wiki/Twelve_basic_principles_of_animation
  • Network accessline 254
    - GSAP ease visualizer: https://gsap.com/docs/v3/Eases
  • Network accessline 255
    - Twelve principles of animation: https://en.wikipedia.org/wiki/Twelve_basic_principles_of_animation
  • Network accessline 256
    - School of Motion: https://www.schoolofmotion.com/blog
  • Network accessline 257
    - Typography:     - Butterick's Practical Typography: https://practicaltypography.com     - Google Fonts Knowledge: https://fonts.google.com/knowledge
  • Network accessline 258
    - Butterick's Practical Typography: https://practicaltypography.com
  • Network accessline 259
    - Google Fonts Knowledge: https://fonts.google.com/knowledge
  • Network accessline 260
    - typescale.com     - Josef Müller-Brockmann, *Grid Systems in Graphic Design*   - Colour and contrast: WebAIM contrast checker, https://webaim.org/resources/contrastchecker/
  • Network accessline 261
    - Josef Müller-Brockmann, *Grid Systems in Graphic Design*   - Colour and contrast: WebAIM contrast checker, https://webaim.org/resources/contrastchecker/   - Sound:
  • Network accessline 262
    - Colour and contrast: WebAIM contrast checker, https://webaim.org/resources/contrastchecker/
  • Network accessline 263
    - Sound:     - MDN Web Audio API: https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API     - "A tale of two clocks": https://web.dev/articles/audio-scheduling
  • Network accessline 264
    - MDN Web Audio API: https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API
  • Network accessline 265
    - "A tale of two clocks": https://web.dev/articles/audio-scheduling
  • Network accessline 266
    - Ableton Learning Synths: https://learningsynths.ableton.com
  • Network accessline 267
    - Ableton Learning Music: https://learningmusic.ableton.com
  • Network accessline 268
    - Hooktheory: https://www.hooktheory.com
  • Network accessline 269
    - Tooling:     - Chrome DevTools Protocol: https://chromedevtools.github.io/devtools-protocol/     - FFmpeg: https://ffmpeg.org/documentation.html
  • Network accessline 270
    - Chrome DevTools Protocol: https://chromedevtools.github.io/devtools-protocol/
  • Network accessline 271
    - FFmpeg: https://ffmpeg.org/documentation.html
  • Network accessline 272
    - Remotion (if the user wants React): https://www.remotion.dev
  • Dangerous shell operationline 641
    | `python verify.py film.html eval "js" [t]` | Evaluates an expression in the recording page, optionally after `seek(t)`, and prints the JSON result. Use it to debug sizes, styles and state without guessing. |
  • Dangerous shell operationline 1410
    python verify.py film.html eval "js" [t]               evaluate an expression in the ?record page (after seek(t)) and print the JSON result,
  • Dangerous shell operationline 1411
    e.g. eval "getComputedStyle(document.querySelector('#cT')).fontSize" 9.5
  • Access to secretsline 1441
    [Credential-related source omitted]
  • Network accessline 1452
    def free_port():     s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Network accessline 1453
    s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Possible obfuscationline 1523
    return base64.b64decode(call('Page.captureScreenshot', p)['data'])
  • Possible obfuscationline 1633
    fn = out / 'score.wav'; fn.write_bytes(base64.b64decode(b64)); print('score', fn, f'({fn.stat().st_size / 1e6:.1f} MB)')
  • Network accessline 1638
    for _ in range(100):         try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break
  • Network accessline 1639
    try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break         except Exception:
  • Network accessline 1640
    tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break
  • Network accessline 1900
    weights = [] if raw else [w.strip() for w in A.items[0].split(',') if w.strip()]     axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if 
  • Network accessline 1901
    axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if A.italic else 'wght@' + ';'.join(weights)     url = f'https://fonts.googleapis.com/cs
  • Network accessline 1902
    url = f'https://fonts.googleapis.com/css2?family={A.family.replace(" ", "+")}:{axis}&display=block'     css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()     want = {s.strip() 
  • Network accessline 1903
    css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()
  • Network accessline 1907
    if sub not in want:             continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 1908
    continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)         wm = re.search(r'font-weight:\s*(\d+)(?:\s+(\d+))?', body); wt = wm.group(1) if not wm.group(2) else f'{wm.group(1)} {wm.group(2)}'
  • Network accessline 1909
    src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 1915
    if key in seen:   # a variable font serves every weight from one file: embed it once, as a weight range             seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, hea
  • Network accessline 1916
    seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()         seen[key] = [data, [int(w) for w in wt.split()], stl, ur.group(
  • Network accessline 1917
    data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()
  • Access to secretsline 2110
    [Credential-related source omitted]

tutorial-video/scripts/analyze.py

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

tutorial-video/scripts/fonts.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 33
    weights = [] if raw else [w.strip() for w in A.items[0].split(',') if w.strip()]     axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if 
  • Network accessline 34
    axis = A.items[0].replace(' ', '') if raw else 'ital,wght@' + ';'.join([f'0,{w}' for w in weights] + ([f'1,{w}' for w in weights] if A.italic else [])) if A.italic else 'wght@' + ';'.join(weights)     url = f'https://fonts.googleapis.com/cs
  • Network accessline 35
    url = f'https://fonts.googleapis.com/css2?family={A.family.replace(" ", "+")}:{axis}&display=block'     css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()     want = {s.strip() 
  • Network accessline 36
    css = urllib.request.urlopen(urllib.request.Request(url, headers={'User-Agent': UA}), timeout=30).read().decode()
  • Network accessline 40
    if sub not in want:             continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 41
    continue         src = re.search(r'url\((https://[^)]+)\)', body).group(1)         wm = re.search(r'font-weight:\s*(\d+)(?:\s+(\d+))?', body); wt = wm.group(1) if not wm.group(2) else f'{wm.group(1)} {wm.group(2)}'
  • Network accessline 42
    src = re.search(r'url\((https://[^)]+)\)', body).group(1)
  • Network accessline 48
    if key in seen:   # a variable font serves every weight from one file: embed it once, as a weight range             seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, hea
  • Network accessline 49
    seen[key][1] += [int(w) for w in wt.split()]; continue         data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()         seen[key] = [data, [int(w) for w in wt.split()], stl, ur.group(
  • Network accessline 50
    data = urllib.request.urlopen(urllib.request.Request(src, headers={'User-Agent': UA}), timeout=30).read()

tutorial-video/scripts/inline.py

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

tutorial-video/scripts/verify.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Dangerous shell operationline 15
    python verify.py film.html eval "js" [t]               evaluate an expression in the ?record page (after seek(t)) and print the JSON result,
  • Dangerous shell operationline 16
    e.g. eval "getComputedStyle(document.querySelector('#cT')).fontSize" 9.5
  • Access to secretsline 46
    [Credential-related source omitted]
  • Network accessline 57
    def free_port():     s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Network accessline 58
    s = socket.socket(); s.bind(('127.0.0.1', 0)); p = s.getsockname()[1]; s.close(); return p
  • Possible obfuscationline 128
    return base64.b64decode(call('Page.captureScreenshot', p)['data'])
  • Possible obfuscationline 238
    fn = out / 'score.wav'; fn.write_bytes(base64.b64decode(b64)); print('score', fn, f'({fn.stat().st_size / 1e6:.1f} MB)')
  • Network accessline 243
    for _ in range(100):         try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break
  • Network accessline 244
    try:             tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break         except Exception:
  • Network accessline 245
    tab = next(t for t in json.loads(urllib.request.urlopen(f'http://127.0.0.1:{port}/json', timeout=2).read()) if t['type'] == 'page'); break

tutorial-video/scripts/vo_timing.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 43
    [Credential-related source omitted]

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.

Signal confidence: 500 facts

and 450 more

Only the first 500 facts are listed.

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeCompatibleStandard SKILL.md brand-film/SKILL.md.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md brand-film/SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md brand-film/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md brand-film/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md brand-film/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md brand-film/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.