Not in the top 1,000 by GitHub stars

ucsandman/marketing-studio

Create product launch assets with Remotion, then review and distribute them through guarded, dry-run-first workflows.

History

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

View weekly changes

skills/announce/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 66cd1c30919f

No earlier version was observed for comparison.

Compare on GitHub

skills/audio-track/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 66cd1c30919f

No earlier version was observed for comparison.

Compare on GitHub

skills/de-vibe/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 66cd1c30919f

No earlier version was observed for comparison.

Compare on GitHub

skills/frontend-verify/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 66cd1c30919f

No earlier version was observed for comparison.

Compare on GitHub

skills/launch/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 66cd1c30919f

No earlier version was observed for comparison.

Compare on GitHub

skills/launch-video/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 66cd1c30919f

No earlier version was observed for comparison.

Compare on GitHub

skills/logo-reveal/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 66cd1c30919f

No earlier version was observed for comparison.

Compare on GitHub

skills/marketing/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 66cd1c30919f

No earlier version was observed for comparison.

Compare on GitHub

skills/marketing-studio/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 66cd1c30919f

No earlier version was observed for comparison.

Compare on GitHub

skills/og-assets/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 66cd1c30919f

No earlier version was observed for comparison.

Compare on GitHub

skills/polish/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 66cd1c30919f

No earlier version was observed for comparison.

Compare on GitHub

skills/product-demo/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 66cd1c30919f

No earlier version was observed for comparison.

Compare on GitHub

skills/ship/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 66cd1c30919f

No earlier version was observed for comparison.

Compare on GitHub

skills/ship-it/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 66cd1c30919f

No earlier version was observed for comparison.

Compare on GitHub

skills/social-clip/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 66cd1c30919f

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 66cd1c30919f1144c60aed3692a915bb0b2c6238

git clone --filter=blob:none --no-checkout https://github.com/ucsandman/marketing-studio.git .hotskills/ucsandman-marketing-studio && git -C .hotskills/ucsandman-marketing-studio checkout --detach 66cd1c30919f1144c60aed3692a915bb0b2c6238 # Copy each selected skill directory from .hotskills/ucsandman-marketing-studio into .claude/skills/<skill-name>/
255GitHub stars
0stars in 7 days
15skills in this repository
0commits in 30 days

Heat

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

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

Stars over time

Oct 25, 2026Nov 5, 2026256

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

Individual skills in this repository

How it works

announce

When your agent uses it

Use when a product or feature is ready to go public — after shipping, when the user says "announce it", "go live", "tell people about it", or wants a release marketed end to end.

What it loads into context

Frontmatter

48 tokens

Always available to the agent

SKILL.md

1,429 tokens

When the skill is activated

Reference documents

2,392 tokens

Loaded on request

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

The playbook

  1. 1. Pre-flight (verify, don't assume)
  2. 2. Assets
  3. 3. Announcement drafts (draft only — approval gate before ANY send)
  4. 4. Publish (only after explicit approval, channel by channel)
  5. 5. Post-launch loop
  6. Failure modes

Files

  • ../../.claude-plugin/marketplace.jsonasset927 bytes
  • ../../.claude-plugin/plugin.jsonasset1,162 bytes
  • SKILL.mdcore6,170 bytes
  • references/strategy.mddoc3,818 bytes
  • references/virality.mddoc6,394 bytes
Read SKILL.md

# Launch: ship → announce → measure

Chains existing capabilities into one launch pass. Draft everything, send nothing without approval — external comms are a CLAUDE.md Hard Stop.

The announcement rules below are distilled from sharing research and current platform-algorithm behavior; the full notes (per-platform signal weights, HN/PH/Reddit norms, sources) are in `references/virality.md` — read it when drafting for a channel not covered here or when the user asks why a rule exists. For strategy above the per-post mechanics (ORB channel portfolio, five-phase rollout, relaunch cadence, measurement loop), read `references/strategy.md` — especially when planning a launch rather than executing one.

## 1. Pre-flight (verify, don't assume)

- Uncommitted work? Run `/ship` first.
- Prod deploy live: check latest deployment status/logs (offlocal `get_latest_deployment_logs` / Vercel tools).
- Domain resolves, HTTPS works, OG meta + title + favicon present: fetch the live page and look.
- UI-facing? Run `/de-vibe` if it hasn't had a pass.

## 2. Assets
View the complete source on GitHub

Skills included

  • announce
  • audio-track
  • de-vibe
  • frontend-verify
  • launch
  • launch-video
  • logo-reveal
  • marketing
  • marketing-studio
  • og-assets
  • polish
  • product-demo
  • ship
  • ship-it
  • social-clip

Repository facts

License
MIT
Created
Jul 10, 2026
Last pushed
Sep 6, 2026
Forks
33
Open issues
1
Project activity
Active

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 5, 2026

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

Show 41 notes
  • feeders/audio/client.mjs:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • scripts/check-audio.mjs:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • scripts/level-sfx.mjs:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • scripts/level-sfx.mjs:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • scripts/score-film.mjs:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • scripts/verify-cue.mjs:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • scripts/verify-cue.mjs:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/audio-track/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/audio-track/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/audio-track/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/de-vibe/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/launch/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • scripts/check-audio.mjs:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • scripts/judge-production.mjs:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • scripts/judge-production.mjs:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • scripts/score-film.mjs:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • scripts/stage-blender-assets.mjs:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • launch.py:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • launch.py:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • launch.py:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 268 signals by file

.claude-plugin/marketplace.json

  • Network accessline 3
    "owner": {     "name": "Wes Sander",     "url": "https://github.com/ucsandman"
  • Network accessline 4
    "name": "Wes Sander",     "url": "https://github.com/ucsandman"   },
  • Network accessline 5
    "url": "https://github.com/ucsandman"
  • Network accessline 15
    "author": {         "name": "Wes Sander",         "url": "https://github.com/ucsandman"
  • Network accessline 16
    "name": "Wes Sander",         "url": "https://github.com/ucsandman"       },
  • Network accessline 17
    "url": "https://github.com/ucsandman"
  • Network accessline 19
    "source": "./",       "category": "productivity",       "homepage": "https://github.com/ucsandman/marketing-studio",
  • Network accessline 20
    "category": "productivity",       "homepage": "https://github.com/ucsandman/marketing-studio",       "tags": [
  • Network accessline 21
    "homepage": "https://github.com/ucsandman/marketing-studio",

.claude-plugin/plugin.json

  • Network accessline 5
    "author": {     "name": "Wes Sander",     "url": "https://github.com/ucsandman"
  • Network accessline 6
    "name": "Wes Sander",     "url": "https://github.com/ucsandman"   },
  • Network accessline 7
    "url": "https://github.com/ucsandman"
  • Network accessline 8
    },   "homepage": "https://github.com/ucsandman/marketing-studio",   "repository": "https://github.com/ucsandman/marketing-studio",
  • Network accessline 9
    "homepage": "https://github.com/ucsandman/marketing-studio",
  • Network accessline 10
    "repository": "https://github.com/ucsandman/marketing-studio",

docs/PLAYBOOK.md

  • Access to secretsline 47
    [Credential-related source omitted]

docs/playbook/audio.md

  • Network accessline 5
    ## Audio (ElevenLabs feeder) - Verified endpoints (Context7, do not re-derive): TTS   `POST https://api.elevenlabs.io/v1/text-to-speech/{voice_id}?output_format=mp3_44100_128`
  • Network accessline 5
    ## Audio (ElevenLabs feeder) - Verified endpoints (Context7, do not re-derive): TTS   `POST https://api.elevenlabs.io/v1/text-to-speech/{voice_id}?output_format=mp3_44100_128`
  • Network accessline 6
    - Verified endpoints (Context7, do not re-derive): TTS   `POST https://api.elevenlabs.io/v1/text-to-speech/{voice_id}?output_format=mp3_44100_128`   with body `{"text", "model_id": "eleven_multilingual_v2"}`; Music
  • Network accessline 6
    - Verified endpoints (Context7, do not re-derive): TTS   `POST https://api.elevenlabs.io/v1/text-to-speech/{voice_id}?output_format=mp3_44100_128`   with body `{"text", "model_id": "eleven_multilingual_v2"}`; Music
  • Network accessline 7
    `POST https://api.elevenlabs.io/v1/text-to-speech/{voice_id}?output_format=mp3_44100_128`
  • Network accessline 7
    `POST https://api.elevenlabs.io/v1/text-to-speech/{voice_id}?output_format=mp3_44100_128`
  • Network accessline 8
    with body `{"text", "model_id": "eleven_multilingual_v2"}`; Music   `POST https://api.elevenlabs.io/v1/music?output_format=mp3_44100_128` with body   `{"prompt", "music_length_ms", "model_id": "music_v2"}`. Both take header
  • Network accessline 8
    with body `{"text", "model_id": "eleven_multilingual_v2"}`; Music   `POST https://api.elevenlabs.io/v1/music?output_format=mp3_44100_128` with body   `{"prompt", "music_length_ms", "model_id": "music_v2"}`. Both take header
  • Network accessline 9
    `POST https://api.elevenlabs.io/v1/music?output_format=mp3_44100_128` with body
  • Network accessline 9
    `POST https://api.elevenlabs.io/v1/music?output_format=mp3_44100_128` with body
  • Access to secretsline 70
    [Credential-related source omitted]
  • Access to secretsline 70
    [Credential-related source omitted]

docs/playbook/capture.md

  • Access to secretsline 19
    [Credential-related source omitted]
  • Access to secretsline 19
    [Credential-related source omitted]

docs/production-quality.md

  • Network accessline 290
    [Ordinary Folk’s process](https://ordinaryfolk.co/process) starts sound during concept
  • Network accessline 290
    [Ordinary Folk’s process](https://ordinaryfolk.co/process) starts sound during concept
  • Network accessline 291
    development and combines boards, voice, sound, and music in an animatic before final animation. [Its Webflow Ecommerce case study](https://ordinaryfolk.co/project/webflow-ecommerce) shows real interface as the focal proof while dimensional 
  • Network accessline 291
    development and combines boards, voice, sound, and music in an animatic before final animation. [Its Webflow Ecommerce case study](https://ordinaryfolk.co/project/webflow-ecommerce) shows real interface as the focal proof while dimensional 
  • Network accessline 292
    animation. [Its Webflow Ecommerce case study](https://ordinaryfolk.co/project/webflow-ecommerce)
  • Network accessline 292
    animation. [Its Webflow Ecommerce case study](https://ordinaryfolk.co/project/webflow-ecommerce)
  • Network accessline 293
    shows real interface as the focal proof while dimensional 2D/3D work supplies context. [BUCK’s Notion case study](https://buck.co/work/notion-think-it-make-it) demonstrates the opposite of a house-template mandate: one bespoke visual concep
  • Network accessline 293
    shows real interface as the focal proof while dimensional 2D/3D work supplies context. [BUCK’s Notion case study](https://buck.co/work/notion-think-it-make-it) demonstrates the opposite of a house-template mandate: one bespoke visual concep
  • Network accessline 294
    [BUCK’s Notion case study](https://buck.co/work/notion-think-it-make-it) demonstrates the
  • Network accessline 294
    [BUCK’s Notion case study](https://buck.co/work/notion-think-it-make-it) demonstrates the
  • Network accessline 300
    The two human-authored dependency PRs were reviewed as a pair. PR #4 selects `nanoid` 3.3.17, which remains affected by [GHSA-2v37-7h3g-55p8](https://github.com/advisories/GHSA-2v37-7h3g-55p8);
  • Network accessline 300
    The two human-authored dependency PRs were reviewed as a pair. PR #4 selects `nanoid` 3.3.17, which remains affected by [GHSA-2v37-7h3g-55p8](https://github.com/advisories/GHSA-2v37-7h3g-55p8);
  • Network accessline 301
    3.3.17, which remains affected by [GHSA-2v37-7h3g-55p8](https://github.com/advisories/GHSA-2v37-7h3g-55p8); the 3.x fix is 3.3.18. PR #3 selects `postcss` 8.5.18, but the later source-map issue
  • Network accessline 301
    3.3.17, which remains affected by [GHSA-2v37-7h3g-55p8](https://github.com/advisories/GHSA-2v37-7h3g-55p8); the 3.x fix is 3.3.18. PR #3 selects `postcss` 8.5.18, but the later source-map issue
  • Network accessline 302
    [GHSA-2v37-7h3g-55p8](https://github.com/advisories/GHSA-2v37-7h3g-55p8);
  • Network accessline 302
    [GHSA-2v37-7h3g-55p8](https://github.com/advisories/GHSA-2v37-7h3g-55p8);
  • Network accessline 303
    the 3.x fix is 3.3.18. PR #3 selects `postcss` 8.5.18, but the later source-map issue [GHSA-fxqj-rqcc-2cmp](https://github.com/advisories/GHSA-fxqj-rqcc-2cmp) affects versions through 8.5.22; the current scoped repair targets 8.5.28. Verify
  • Network accessline 303
    the 3.x fix is 3.3.18. PR #3 selects `postcss` 8.5.18, but the later source-map issue [GHSA-fxqj-rqcc-2cmp](https://github.com/advisories/GHSA-fxqj-rqcc-2cmp) affects versions through 8.5.22; the current scoped repair targets 8.5.28. Verify
  • Network accessline 304
    [GHSA-fxqj-rqcc-2cmp](https://github.com/advisories/GHSA-fxqj-rqcc-2cmp) affects versions
  • Network accessline 304
    [GHSA-fxqj-rqcc-2cmp](https://github.com/advisories/GHSA-fxqj-rqcc-2cmp) affects versions

feeders/audio/client.mjs

  • Executable scriptline 1
    #!/usr/bin/env node
  • Executable scriptline 1
    Executable file; content unavailable
  • Network accessline 23
    const ROOT = resolve(dirname(fileURLToPath(import.meta.url)), '..', '..'); const API = 'https://api.elevenlabs.io';
  • Network accessline 24
    const API = 'https://api.elevenlabs.io';
  • Network accessline 154
    const generate = async (url, body, key, timeout) => {   const res = await fetch(url, {
  • Network accessline 155
    const res = await fetch(url, {
  • Network accessline 170
    const generateJson = async (url, body, key, timeout) => {   const res = await fetch(url, {
  • Network accessline 171
    const res = await fetch(url, {
  • Access to secretsline 273
    [Credential-related source omitted]
  • Access to secretsline 274
    [Credential-related source omitted]
  • Access to secretsline 279
    [Credential-related source omitted]
  • Access to secretsline 283
    [Credential-related source omitted]
  • Access to secretsline 286
    [Credential-related source omitted]

feeders/blender/render.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 25
    [Credential-related source omitted]
  • Access to secretsline 141
    [Credential-related source omitted]
  • Access to secretsline 144
    [Credential-related source omitted]

feeders/comfy/client.mjs

  • Executable scriptline 1
    #!/usr/bin/env node
  • Executable scriptline 1
    Executable file; content unavailable
  • Network accessline 73
    const probe = async () => {   for (const port of PORTS) {     const base = `http://127.0.0.1:${port}`;
  • Network accessline 74
    for (const port of PORTS) {     const base = `http://127.0.0.1:${port}`;     try {
  • Network accessline 75
    const base = `http://127.0.0.1:${port}`;     try {       const res = await fetch(`${base}/system_stats`, {signal: AbortSignal.timeout(2000)});
  • Network accessline 76
    try {       const res = await fetch(`${base}/system_stats`, {signal: AbortSignal.timeout(2000)});       if (res.ok) return base;
  • Network accessline 77
    const res = await fetch(`${base}/system_stats`, {signal: AbortSignal.timeout(2000)});
  • Network accessline 98
    const info = await (     await fetch(`${base}/object_info/CheckpointLoaderSimple`, {signal: AbortSignal.timeout(10_000)})
  • Network accessline 99
    await fetch(`${base}/object_info/CheckpointLoaderSimple`, {signal: AbortSignal.timeout(10_000)})
  • Network accessline 116
    const queue = await (     await fetch(`${base}/prompt`, {
  • Network accessline 117
    await fetch(`${base}/prompt`, {
  • Network accessline 133
    await sleep(POLL_MS);     const history = await (       await fetch(`${base}/history/${queue.prompt_id}`, {signal: AbortSignal.timeout(10_000)})
  • Network accessline 134
    const history = await (       await fetch(`${base}/history/${queue.prompt_id}`, {signal: AbortSignal.timeout(10_000)})     ).json();
  • Network accessline 135
    await fetch(`${base}/history/${queue.prompt_id}`, {signal: AbortSignal.timeout(10_000)})
  • Network accessline 146
    const params = new URLSearchParams({filename: img.filename, subfolder: img.subfolder, type: img.type});   const bytes = Buffer.from(     await (await fetch(`${base}/view?${params}`, {signal: AbortSignal.timeout(60_000)})).arrayBuffer(),
  • Network accessline 147
    const bytes = Buffer.from(     await (await fetch(`${base}/view?${params}`, {signal: AbortSignal.timeout(60_000)})).arrayBuffer(),   );
  • Network accessline 148
    await (await fetch(`${base}/view?${params}`, {signal: AbortSignal.timeout(60_000)})).arrayBuffer(),

launch.py

  • Executable scriptline 1
    Executable file
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable
  • Access to secretsline 25
    [Credential-related source omitted]
  • Access to secretsline 25
    [Credential-related source omitted]
  • Network accessline 45
    for port in (8000, 8188):  # ComfyUI Desktop / classic default         try:             urllib.request.urlopen(f"http://127.0.0.1:{port}/system_stats", timeout=1)
  • Network accessline 45
    for port in (8000, 8188):  # ComfyUI Desktop / classic default         try:             urllib.request.urlopen(f"http://127.0.0.1:{port}/system_stats", timeout=1)
  • Network accessline 46
    try:             urllib.request.urlopen(f"http://127.0.0.1:{port}/system_stats", timeout=1)             return True
  • Network accessline 46
    try:             urllib.request.urlopen(f"http://127.0.0.1:{port}/system_stats", timeout=1)             return True
  • Network accessline 47
    urllib.request.urlopen(f"http://127.0.0.1:{port}/system_stats", timeout=1)
  • Network accessline 47
    urllib.request.urlopen(f"http://127.0.0.1:{port}/system_stats", timeout=1)
  • Access to secretsline 100
    [Credential-related source omitted]
  • Access to secretsline 100
    [Credential-related source omitted]
  • Access to secretsline 104
    [Credential-related source omitted]
  • Access to secretsline 104
    [Credential-related source omitted]

scripts/build-postkit.mjs

  • Executable scriptline 1
    Executable file
  • Executable scriptline 1
    Executable file; content unavailable
  • Network accessline 270
    const dest = `https://${brandUrl}`;

scripts/build-sfx.mjs

  • Executable scriptline 1
    Executable file
  • Executable scriptline 1
    Executable file
  • Access to secretsline 89
    [Credential-related source omitted]
  • Access to secretsline 89
    [Credential-related source omitted]

scripts/build-storyboard.mjs

  • Executable scriptline 1
    Executable file
  • Executable scriptline 1
    Executable file; content unavailable

scripts/check-audio.mjs

  • Executable scriptline 1
    #!/usr/bin/env node
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    #!/usr/bin/env node
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    #!/usr/bin/env node
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    #!/usr/bin/env node
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    #!/usr/bin/env node
  • Executable scriptline 1
    Executable file; content unavailable

scripts/contact-sheet.mjs

  • Executable scriptline 1
    Executable file
  • Executable scriptline 1
    Executable file

scripts/derive-brief.mjs

  • Executable scriptline 1
    Executable file
  • Executable scriptline 1
    Executable file; content unavailable
  • Access to secretsline 7
    [Credential-related source omitted]

scripts/fetch-results.mjs

  • Executable scriptline 1
    #!/usr/bin/env node
  • Network accessline 7
    //         published: false}), then filled in by the operator or the launch-engine //         after publishing. Shape (array or {posts: [...]}): //           [{platform: 'x', url: 'https://x.com/u/status/123', variant: 'hook-2',
  • Network accessline 8
    //         after publishing. Shape (array or {posts: [...]}): //           [{platform: 'x', url: 'https://x.com/u/status/123', variant: 'hook-2', //             published: true},
  • Network accessline 9
    //           [{platform: 'x', url: 'https://x.com/u/status/123', variant: 'hook-2',
  • Access to secretsline 18
    [Credential-related source omitted]
  • Network accessline 68
    [Credential-related source omitted]
  • Network accessline 69
    [Credential-related source omitted]
  • Network accessline 70
    [Credential-related source omitted]
  • Network accessline 82
    const BSKY_PUBLIC = 'https://public.api.bsky.app/xrpc';
  • Network accessline 89
    let did = parsed.actor;     if (!did.startsWith('did:')) {       const r = await fetch(`${BSKY_PUBLIC}/com.atproto.identity.resolveHandle?handle=${encodeURIComponent(parsed.actor)}`);
  • Network accessline 90
    if (!did.startsWith('did:')) {       const r = await fetch(`${BSKY_PUBLIC}/com.atproto.identity.resolveHandle?handle=${encodeURIComponent(parsed.actor)}`);       if (!r.ok) throw new Error(`resolveHandle ${r.status}`);
  • Network accessline 91
    const r = await fetch(`${BSKY_PUBLIC}/com.atproto.identity.resolveHandle?handle=${encodeURIComponent(parsed.actor)}`);
  • Network accessline 99
    if (uris.length === 0) return new Map();   const q = uris.map((u) => `uris=${encodeURIComponent(u)}`).join('&');   const res = await fetch(`${BSKY_PUBLIC}/app.bsky.feed.getPosts?${q}`);
  • Network accessline 100
    const q = uris.map((u) => `uris=${encodeURIComponent(u)}`).join('&');   const res = await fetch(`${BSKY_PUBLIC}/app.bsky.feed.getPosts?${q}`);   if (!res.ok) throw new Error(`getPosts ${res.status} ${res.statusText}`);
  • Network accessline 101
    const res = await fetch(`${BSKY_PUBLIC}/app.bsky.feed.getPosts?${q}`);
  • Network accessline 109
    [Credential-related source omitted]
  • Network accessline 110
    [Credential-related source omitted]
  • Access to secretsline 110
    [Credential-related source omitted]
  • Network accessline 111
    const res = await fetch(`https://www.googleapis.com/youtube/v3/videos?part=statistics&id=${ids.join(',')}`, {
  • Access to secretsline 168
    [Credential-related source omitted]

scripts/install-skills.mjs

  • Executable scriptline 1
    Executable file

scripts/judge-production.mjs

  • Executable scriptline 1
    Executable file
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable

scripts/level-sfx.mjs

  • Executable scriptline 1
    #!/usr/bin/env node
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable

scripts/lib/env.mjs

  • Executable scriptline 1
    [Credential-related source omitted]
  • Access to secretsline 1
    [Credential-related source omitted]
  • Access to secretsline 10
    [Credential-related source omitted]
  • Access to secretsline 12
    [Credential-related source omitted]

scripts/lib/magnetic-sidecar.mjs

  • Executable scriptline 1
    Executable file
  • Network accessline 32
    // POST http://127.0.0.1:<port>/tool, bearer token, body {tool, input}.
  • Network accessline 51
    let response, payload;   try {     response = await fetch(`http://127.0.0.1:${config.port}/tool`, {
  • Network accessline 52
    try {     response = await fetch(`http://127.0.0.1:${config.port}/tool`, {       method: 'POST',
  • Network accessline 53
    response = await fetch(`http://127.0.0.1:${config.port}/tool`, {

scripts/lib/workspace.mjs

  • Executable scriptline 1
    Executable file
  • Executable scriptline 1
    Executable file

scripts/lint-copy.mjs

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

scripts/mission-control.mjs

  • Executable scriptline 1
    Executable file
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable
  • Network accessline 114
    function authorizePost(req, res, path) {   const expectedHost = `127.0.0.1:${port}`;   if (req.headers.host !== expectedHost || req.headers.origin !== `http://${expectedHost}`) {
  • Network accessline 115
    const expectedHost = `127.0.0.1:${port}`;   if (req.headers.host !== expectedHost || req.headers.origin !== `http://${expectedHost}`) {     rejectJson(res, 403, 'forbidden origin');
  • Network accessline 116
    if (req.headers.host !== expectedHost || req.headers.origin !== `http://${expectedHost}`) {
  • Network accessline 1011
    <p class="dim">Start a <b>/marketing</b> run for <b>${escapeHtml(brand)}</b>, then reload. This page re-checks every 3s.</p> </div> <script>setInterval(function(){fetch('/state').then(function(r){if(r.ok)location.reload();}).catch(function(
  • Network accessline 1012
    </div> <script>setInterval(function(){fetch('/state').then(function(r){if(r.ok)location.reload();}).catch(function(){});},3000);</script>`; }
  • Network accessline 1013
    <script>setInterval(function(){fetch('/state').then(function(r){if(r.ok)location.reload();}).catch(function(){});},3000);</script>`;
  • Network accessline 1227
    const body={action:ev.submitter?.value||'revise',observations:data.get('observations')||'',...reviewerIdentity()};   status.textContent='Saving…';   try{const r=await fetch('/stage-review/'+encodeURIComponent(stageName),{method:'POST',heade
  • Network accessline 1228
    status.textContent='Saving…';   try{const r=await fetch('/stage-review/'+encodeURIComponent(stageName),{method:'POST',headers:{...MC_HEADERS,'content-type':'application/json'},body:JSON.stringify(body)});const result=await r.json().catch(()
  • Network accessline 1229
    try{const r=await fetch('/stage-review/'+encodeURIComponent(stageName),{method:'POST',headers:{...MC_HEADERS,'content-type':'application/json'},body:JSON.stringify(body)});const result=await r.json().catch(()=>({}));if(!r.ok){status.textCon
  • Network accessline 1253
    const body={action,observations:data.get('observations')||'',...reviewerIdentity()};   const status=form.querySelector('#productionMessage');status.textContent='Saving…';   try{const r=await fetch('/production-review',{method:'POST',headers
  • Network accessline 1254
    const status=form.querySelector('#productionMessage');status.textContent='Saving…';   try{const r=await fetch('/production-review',{method:'POST',headers:{...MC_HEADERS,'content-type':'application/json'},body:JSON.stringify(body)});const re
  • Network accessline 1255
    try{const r=await fetch('/production-review',{method:'POST',headers:{...MC_HEADERS,'content-type':'application/json'},body:JSON.stringify(body)});const result=await r.json().catch(()=>({}));if(!r.ok){status.textContent=result.error||('HTTP 
  • Network accessline 1312
    if(actBtn)actBtn.textContent=action==='approve'?'Approving…':'Requesting…';   try{     const r=await fetch('/asset/'+encodeURIComponent(id),{method:'POST',headers:{...MC_HEADERS,'content-type':'application/json'},body:JSON.stringify(body)})
  • Network accessline 1313
    try{     const r=await fetch('/asset/'+encodeURIComponent(id),{method:'POST',headers:{...MC_HEADERS,'content-type':'application/json'},body:JSON.stringify(body)});     if(!r.ok){const t=await r.text();alert('Action failed: '+t);}
  • Network accessline 1314
    const r=await fetch('/asset/'+encodeURIComponent(id),{method:'POST',headers:{...MC_HEADERS,'content-type':'application/json'},body:JSON.stringify(body)});
  • Network accessline 1331
    const btns=cardEl.querySelectorAll('button');btns.forEach(b=>b.disabled=true);   try{     const r=await fetch('/posted',{method:'POST',headers:{...MC_HEADERS,'content-type':'application/json'},body:JSON.stringify(body)});
  • Network accessline 1332
    try{     const r=await fetch('/posted',{method:'POST',headers:{...MC_HEADERS,'content-type':'application/json'},body:JSON.stringify(body)});     const j=await r.json().catch(()=>({}));
  • Network accessline 1333
    const r=await fetch('/posted',{method:'POST',headers:{...MC_HEADERS,'content-type':'application/json'},body:JSON.stringify(body)});
  • Network accessline 1360
    btn.disabled=true;otherBtn.disabled=true;   try{     const r=await fetch(path,{method:'POST',headers:MC_HEADERS});
  • Network accessline 1361
    try{     const r=await fetch(path,{method:'POST',headers:MC_HEADERS});     const body=await r.json().catch(()=>({}));
  • Network accessline 1362
    const r=await fetch(path,{method:'POST',headers:MC_HEADERS});
  • Network accessline 1451
    async function refresh(){   try{     const r=await fetch('/state',{cache:'no-store'});
  • Network accessline 1452
    try{     const r=await fetch('/state',{cache:'no-store'});     if(r.status===404){location.reload();return;} // run.json vanished — show the no-run page
  • Network accessline 1453
    const r=await fetch('/state',{cache:'no-store'});
  • Network accessline 1489
    const server = http.createServer((req, res) => {     const url = new URL(req.url, 'http://localhost');
  • Network accessline 1490
    const url = new URL(req.url, 'http://localhost');
  • Network accessline 1611
    server.listen(port, '127.0.0.1', () => {     const url = `http://127.0.0.1:${port}/`;
  • Network accessline 1612
    const url = `http://127.0.0.1:${port}/`;

scripts/mission-control.test.mjs

  • Executable scriptline 1
    Executable file
  • Network accessline 150
    try {     const path = join(dir, 'posts.json');     const r = applyPosted(path, {platform: 'x', url: 'https://x.com/acme/status/1', variant: 'hook-b'});
  • Network accessline 151
    const path = join(dir, 'posts.json');     const r = applyPosted(path, {platform: 'x', url: 'https://x.com/acme/status/1', variant: 'hook-b'});     assert.equal(r.status, 200);
  • Network accessline 152
    const r = applyPosted(path, {platform: 'x', url: 'https://x.com/acme/status/1', variant: 'hook-b'});
  • Network accessline 155
    assert.equal(rows.length, 1);     assert.equal(rows[0].platform, 'x');     assert.equal(rows[0].url, 'https://x.com/acme/status/1');
  • Network accessline 156
    assert.equal(rows[0].platform, 'x');     assert.equal(rows[0].url, 'https://x.com/acme/status/1');     assert.equal(rows[0].variant, 'hook-b');
  • Network accessline 157
    assert.equal(rows[0].url, 'https://x.com/acme/status/1');
  • Network accessline 170
    writeFileSync(       path,       JSON.stringify([{platform: 'linkedin', url: 'https://linkedin.com/p/1', metrics: {likes: 9}}]) + '\n',
  • Network accessline 171
    path,       JSON.stringify([{platform: 'linkedin', url: 'https://linkedin.com/p/1', metrics: {likes: 9}}]) + '\n',     );
  • Network accessline 172
    JSON.stringify([{platform: 'linkedin', url: 'https://linkedin.com/p/1', metrics: {likes: 9}}]) + '\n',
  • Network accessline 173
    );     applyPosted(path, {platform: 'x', url: 'https://x.com/acme/status/typo', variant: 'hook-a'});     applyPosted(path, {platform: 'x', url: 'https://x.com/acme/status/2', variant: 'hook-b'});
  • Network accessline 174
    applyPosted(path, {platform: 'x', url: 'https://x.com/acme/status/typo', variant: 'hook-a'});
  • Network accessline 175
    applyPosted(path, {platform: 'x', url: 'https://x.com/acme/status/2', variant: 'hook-b'});
  • Network accessline 178
    assert.equal(rows.length, 2, 'correcting a URL must replace the row, not double the platform');     const x = rows.find((r) => r.platform === 'x');     assert.equal(x.url, 'https://x.com/acme/status/2');
  • Network accessline 179
    const x = rows.find((r) => r.platform === 'x');     assert.equal(x.url, 'https://x.com/acme/status/2');     assert.equal(x.variant, 'hook-b');
  • Network accessline 180
    assert.equal(x.url, 'https://x.com/acme/status/2');
  • Network accessline 191
    try {     const path = join(dir, 'posts.json');     writeFileSync(path, JSON.stringify([{platform: 'x', url: 'https://x.com/a/1', metrics: {likes: 4}}]) + '\n');
  • Network accessline 192
    const path = join(dir, 'posts.json');     writeFileSync(path, JSON.stringify([{platform: 'x', url: 'https://x.com/a/1', metrics: {likes: 4}}]) + '\n');     applyPosted(path, {platform: 'x', url: 'https://x.com/a/2'});
  • Network accessline 193
    writeFileSync(path, JSON.stringify([{platform: 'x', url: 'https://x.com/a/1', metrics: {likes: 4}}]) + '\n');
  • Network accessline 194
    applyPosted(path, {platform: 'x', url: 'https://x.com/a/2'});

scripts/publish-bluesky.mjs

  • Executable scriptline 1
    #!/usr/bin/env node
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable
  • Access to secretsline 10
    [Credential-related source omitted]
  • Network accessline 34
    export const BSKY_MAX_GRAPHEMES = 300; export const BSKY_MAX_VIDEO_BYTES = 100 * 1024 * 1024; const ENTRY_HOST = 'https://bsky.social';
  • Network accessline 35
    export const BSKY_MAX_VIDEO_BYTES = 100 * 1024 * 1024; const ENTRY_HOST = 'https://bsky.social'; const VIDEO_HOST = 'https://video.bsky.app';
  • Network accessline 36
    const ENTRY_HOST = 'https://bsky.social';
  • Network accessline 37
    const VIDEO_HOST = 'https://video.bsky.app';
  • Network accessline 77
    // at://did:plc:xyz/app.bsky.feed.post/3kabc -> https://bsky.app/profile/<handle>/post/3kabc
  • Network accessline 78
    export function postUrl(handle, atUri) {   const rkey = String(atUri).split('/').pop();   return `https://bsky.app/profile/${handle}/post/${rkey}`;
  • Network accessline 79
    const rkey = String(atUri).split('/').pop();   return `https://bsky.app/profile/${handle}/post/${rkey}`; }
  • Network accessline 80
    return `https://bsky.app/profile/${handle}/post/${rkey}`;
  • Network accessline 83
    // https://bsky.app/profile/<handle-or-did>/post/<rkey> -> {actor, rkey}
  • Access to secretsline 103
    [Credential-related source omitted]
  • Network accessline 166
    payload = JSON.stringify(body);   }   const res = await fetch(url, {method, headers, body: payload});
  • Network accessline 167
    }   const res = await fetch(url, {method, headers, body: payload});   const json = await res.json().catch(() => ({}));
  • Network accessline 168
    const res = await fetch(url, {method, headers, body: payload});

scripts/score-film.mjs

  • Executable scriptline 1
    #!/usr/bin/env node
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    #!/usr/bin/env node
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    #!/usr/bin/env node
  • Executable scriptline 1
    #!/usr/bin/env node
  • Executable scriptline 1
    #!/usr/bin/env node

scripts/smoke.mjs

  • Executable scriptline 1
    Executable file

scripts/stage-blender-assets.mjs

  • Executable scriptline 1
    Executable file
  • Executable scriptline 1
    Executable file; content unavailable

scripts/verify-cue.mjs

  • Executable scriptline 1
    #!/usr/bin/env node
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable

skills/audio-track/SKILL.md

  • Access to secretsline 24
    [Credential-related source omitted]

skills/de-vibe/SKILL.md

  • Dangerous shell operationline 68
    - Untrack (but keep locally) AI-tooling artifacts: `.claude/`, `CLAUDE.md`, `.cursorrules`, `.cursor/`, `.windsurfrules`, `.aider*` — `git rm --cached` + gitignore. Never delete the local files.

skills/de-vibe/references/code-tells.md

  • Access to secretsline 60
    [Credential-related source omitted]
  • Dangerous shell operationline 80
    - Auto-fix: debris, comments, gitignore/env.example, untracking artifacts (`git rm --cached`, never delete local), empty catches (surface the error), trailer settings.

skills/frontend-verify/SKILL.md

  • Network accessline 110
    The config points at a base URL like `http://localhost:3000`. If nothing is
  • Network accessline 148
    playwright-cli -s=fe-verify goto http://localhost:3000/pricing
  • Dangerous shell operationline 153
    playwright-cli -s=fe-verify --raw eval "document.querySelector('h1')?.innerText"
  • Network accessline 169
    {   "baseUrl": "http://localhost:3000",
  • Network accessline 170
    "baseUrl": "http://localhost:3000",
  • Network accessline 216
    playwright-cli -s=fe-verify open playwright-cli -s=fe-verify goto http://localhost:3000/login
  • Network accessline 217
    playwright-cli -s=fe-verify goto http://localhost:3000/login

skills/frontend-verify/references/playwright-cli-cheatsheet.md

  • Dangerous shell operationline 22
    playwright-cli -s=v --raw eval "<expr>"  # read one value from the page
  • Network accessline 83
    playwright-cli -s=v open playwright-cli -s=v goto http://localhost:3000/login
  • Network accessline 84
    playwright-cli -s=v goto http://localhost:3000/login
  • Dangerous shell operationline 90
    playwright-cli -s=v eval "(el)=>el.click()" <ref>

skills/frontend-verify/scripts/verify-routes.mjs

  • Executable scriptline 1
    #!/usr/bin/env node
  • Network accessline 20
    // Config shape (annotated version lives in SKILL.md): // { //   "baseUrl": "http://localhost:3000",
  • Network accessline 21
    // { //   "baseUrl": "http://localhost:3000", //   "session": "fe-verify",
  • Network accessline 22
    //   "baseUrl": "http://localhost:3000",

studio/src/lib/launchTiming.ts

  • Executable scriptline 1
    Executable file

How the signals fit together

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

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

Declared and executed: 7 facts
Signal confidence: 253 facts

and 203 more

Works with

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