← All skills
write-video-ad-script
80 / 100 · Low risk
Fine to try. Some of what it can do is expected: a media skill usually calls an AI service over the internet.
By gooseworks-ai/goose-skills (GitHub) · media · 1,319 stars · scanned at commit df82981
Write or revise a short-form ad from a sourced angle and reference. Plan connected words, product proof and sound; expose production gaps before script review.
Works with any agent that supports SKILL.md skills.
What this skill can do
Can call paid AI services billed to you
The author does not mention this. Expected for a media skill.
Found in 1 place.
Connects to the internet
The author does not mention this. Expected for a media skill.
Found in 9 places.
Show 6 more
- skills/video/write-video-ad-script/scripts/media_proxy.py, line 889
sub_resp = requests.post(f"{base}/{model_path}", params=params, json=payload, - skills/video/write-video-ad-script/scripts/media_proxy.py, line 1021
r = requests.post(url, params=_params(tok, agent), timeout=timeout_s, - skills/video/write-video-ad-script/scripts/media_proxy.py, line 1060
r = requests.post(api_base + "/api/internal/fal-storage-proxy/storage/auth/token", - skills/video/write-video-ad-script/scripts/media_proxy.py, line 1066
up = requests.post(t["base_url"].rstrip("/") + "/files/upload", data=f, timeout=600, - skills/video/write-video-ad-script/scripts/media_proxy.py, line 1078
urllib.request.urlretrieve(url, out_path) - skills/video/write-video-ad-script/scripts/media_proxy.py, line 1093
r = requests.post(url, params=_params(tok, agent), timeout=timeout_s,
Runs commands on your computer
The author does not mention this.
Found in 17 places.
Show 14 more
- skills/video/write-video-ad-script/tests/test_angle_handoff.py, line 327
assert subprocess.run(args, cwd=tmp_path, capture_output=True).returncode == 2 - skills/video/write-video-ad-script/tests/test_creative_brief.py, line 142
result = subprocess.run(command, cwd=tmp_path, capture_output=True, text=True) - skills/video/write-video-ad-script/tests/test_critique_scripts.py, line 165
return subprocess.run([sys.executable, SCRIPT, "--candidates", "c.json", *extra], - skills/video/write-video-ad-script/tests/test_handoff_release.py, line 78
result = subprocess.run([sys.executable, str(SCRIPTS / "prepare_angle_context.py"), - skills/video/write-video-ad-script/tests/test_handoff_release.py, line 105
result = subprocess.run([sys.executable, str(SCRIPTS / "verify_handoff.py"), - skills/video/write-video-ad-script/tests/test_lint_scripts.py, line 185
assert subprocess.run(base, capture_output=True).returncode == 2 - skills/video/write-video-ad-script/tests/test_lint_scripts.py, line 186
assert subprocess.run(base + ["--report-only"], capture_output=True).returncode == 0 - skills/video/write-video-ad-script/tests/test_lint_scripts.py, line 429
out = subprocess.run([sys.executable, SCRIPT, "--candidates", files["c.json"], "--shape", files["s.json"], - skills/video/write-video-ad-script/tests/test_pacing.py, line 187
result = subprocess.run(cmd + ["--report-only"], capture_output=True, text=True) - skills/video/write-video-ad-script/tests/test_pacing.py, line 195
repaired = subprocess.run(cmd + ["--report-only"], capture_output=True, text=True) - skills/video/write-video-ad-script/tests/test_pacing.py, line 201
failed = subprocess.run(cmd, capture_output=True, text=True) - skills/video/write-video-ad-script/tests/test_pacing.py, line 216
result = subprocess.run(cmd, capture_output=True, text=True) - skills/video/write-video-ad-script/tests/test_pacing.py, line 223
repaired = subprocess.run(cmd, capture_output=True, text=True) - skills/video/write-video-ad-script/tests/test_pacing.py, line 242
result = subprocess.run([sys.executable, ls.__file__, "--strict", "--candidates", str(tmp_path / "candidates.json"),
Install
Paste this into your terminal. It downloads exactly the version we scanned, not whatever is newest.
if [ -e ~/.agents/skills/'write-video-ad-script' ] || [ -L ~/.agents/skills/'write-video-ad-script' ]; then echo 'A skill folder named write-video-ad-script already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/gooseworks-ai/goose-skills' "$d" && git -C "$d" checkout --quiet 'df8298140d434a6363de0c265eb6af2e571d97a5' -- 'skills/video/write-video-ad-script' && mkdir -p ~/.agents/skills && cp -R "$d"/'skills/video/write-video-ad-script' ~/.agents/skills/'write-video-ad-script' && rm -rf "$d"; fi
Codex reads ~/.agents/skills directly. For Claude Code, Cursor, Copilot, Gemini CLI, Antigravity or OpenCode, also link it. For Claude Code: ln -s ~/.agents/skills/'write-video-ad-script' ~/.claude/skills/'write-video-ad-script' (other agents: ~/.cursor/skills, ~/.copilot/skills, ~/.gemini/skills, ~/.gemini/config/skills, ~/.config/opencode/skills). Or install through the finder skill, which does both.
Badge for your README
The badge for gooseworks-ai/goose-skills shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/gooseworks-ai/goose-skills/)
Score history
| Date | Version | Score |
|---|
| 2026-11-08 | df82981 | 80 |
| 2026-11-06 | df82981 | 60 |