render-street-interview
Write a street-interview ad from a complete inspected commercial interaction and current brand facts. Render product guessing, or prepare mic-only, prepared-sample or visible-task conversation script/prompt previews. Premise, actions and ad connection vary; capture rules stay fixed.
Install / Use
npx skills add gooseworks-ai/goose-skills --skill render-street-interviewInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
Development & EngineeringSupported Platforms
Our assessment of render-street-interview
render-street-interview scores 91/100 on our quality scale, 1066th of 4,599 Development & Engineering skills we index (top 24%).
Its SKILL.md is 16 KB long, well organised into 15 sections with 3 code examples: a thorough specification that gives an agent plenty to work with.
With 1,222 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated 20 days ago, so render-street-interview is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
render-street-interview compared with similar skills
All 4 of these similar skills score higher than render-street-interview; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| render-street-interview (this skill)by gooseworks-ai | 91 | 1.2k | 20d ago | SKILL.md |
| ai-job-searchby MadsLorentzen | 100 | 46.4k | 4d ago | CLAUDE.md |
| claude-howtoby luongnv89 | 100 | 41.8k | 2d ago | CLAUDE.md |
| algorithmic-artby anthropics | 100 | 177.9k | 20d ago | SKILL.md |
| pptxby anthropics | 100 | 177.9k | 20d ago | SKILL.md |
Frequently asked questions
- How do I install render-street-interview?
- Run
npx skills add gooseworks-ai/goose-skills --skill render-street-interview. The install tabs above show the steps for each supported agent. - Which AI agents does render-street-interview work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is render-street-interview safe to use?
- It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is render-street-interview still maintained?
- The repository was last updated 20 days ago, so render-street-interview is actively maintained.
Skill content
View source on GitHubname: render-street-interview description: Write a street-interview ad from a complete inspected commercial interaction and current brand facts. Render product guessing, or prepare mic-only, prepared-sample or visible-task conversation script/prompt previews. Premise, actions and ad connection vary; capture rules stay fixed. Conversation media delivery is unverified. status: draft version: "2.0.3" updated: 2026-10-12
Human version
render-street-interview
Summary. This is the renderer for the street-interview ad format (goose-studio
recipe one-shot-videos/create-street-interview-video). Product guessing retains its
visible object and reveal. Conversation supports mic-only, prepared-sample and visible-task
script/prompt previews. Choose a coherent situation and earned ad connection before
writing words. People are generated; conversation media delivery remains unverified.
Agent version
Script first: choose the execution
Read street-script-writing before adapting a brand. The recipe fixes camera, audio, native timing and finishing rules. Its story choices govern premise, participant role, participation reason, visible task, actions, edited opening, hook, supported brand explanation and payoff. Do not force a correct-answer winner into a service conversation or reduce every brand to a routine problem followed by a logo card.
| Interaction | Current support | Person image reference | Max participants |
| --- | --- | --- | --- |
| product-guess | Existing object renderer; standalone product reference required | forbidden | 4 |
| mic-only | Conversation preview; service explanation without a product or device | forbidden | 1 |
| product-sample | Conversation preview; prepared sample in a plain cup, no exact package reference | forbidden | 1 |
| concept-challenge | Conversation preview; described visible task using non-UI props | forbidden | 1 |
Use [[composes::write-video-ad-script]] with the scoped angle bank, current facts and
selected complete commercial street interactions. scripts/prepare_script_context.py
requires a brief with offering_type=physical|service|digital and
interaction_type=product-guess|mic-only|product-sample|concept-challenge. Inspect the full
visual timeline and spoken exchange: setup, participation reason, hook, product role and
payoff. Record unseen recruitment or setup as unknown; inference is not observation.
Seed snippets are leads. Radio and editorial exchanges cannot fill a street-ad gap.
Keep private observations project-scoped and transfer mechanics, not source-brand claims.
Pass participants too: the number of people interviewed on screen, not counting the
interviewer (default 4 for product-guess, 1 for conversation). Its route output is binding
for any project built on this format, including custom ones. unsupported-route means stop
and offer the listed alternatives; it is not permission to go custom. custom is one of those
alternatives only when the customer picks it, and a custom video still keeps every route
constraint: people in text, no person image references, one take, deep focus, local lettering.
Save a situation brief before dialogue. Write the user's requested count, then map words
and actions to ordered shots. An edited participant answer or silent action/reaction may
open the ad. cfg.question mirrors the first actual interviewer question, spoken once.
Keep both spoken voices and 3–8 shots in 6–15 seconds, at no more than 2.5 spoken words/s;
leave time for actions. New configs describe interaction.type, visible_setup,
participant_reason and optional props; missing interaction defaults to mic-only.
No forced greeting/consent speech, invented use history or instant product efficacy.
conversation currently runs config validation and prompt previews. single_gen.py --yes
refuses that mode until a rendered pilot is validated. Natural speech, audio and camera
performance remain unverified. The existing product-guess render path is preserved.
All conversation subtypes refuse product/scene reference bindings and phone, screen or UI
demonstrations. Dry-run success is not a performed sample, challenge or finished video.
Read the bundled model notes before generation.
If a required guide cannot be fetched or opened, stop before spending and name it.
REFERENCE.md holds the format's historical Critical knowledge entries and
the rejected takes behind them. Read it before changing the prompt scaffold or a gate;
its older experiments do not override the current recipe or this entry.
Use the project take-ledger guidance before reusing a seed. Keep each
brand's observed successes and limitations in its own project; a seed is not a quality guarantee.
Opt-in H3 Max generation
Read the H3 adapter guide. Pass --model minimax/h3-max/reference-to-video --resolution 1080P. It keeps prompt lint and the finish manifest, saves request IDs, and recovers downloads without a new order. Historical defaults below remain unchanged.
Run (historical default endpoint)
The paid generation and finishing commands below are for product-guess. Conversation
supports brandkit.py validation and single_gen.py dry runs only.
Run everything from the project the video belongs to. Brand-asset paths in the configs
(logo, product photo, end-card sting) resolve against that folder, or $STREET_INTERVIEW_ROOT.
The run folder is --run <dir> (default projects/street-interview/), with working/ for
intermediates and output/ for deliverables.
python scripts/selftest.py # free: the format and the lint hold
python scripts/single_gen.py --brand <slug> # dry run: price + the full prompt
python scripts/single_gen.py --brand <slug> --seed <n> --yes # PAID: one take (~$3.64 at 12 s, 720p)
python scripts/build_episode.py --episode <name> # free: grade, re-cut, captions, end card
python scripts/check-cut.py --episode <render>.episode.json # free: the ship gate
- Product-guess brand data:
brands/<slug>.jsonholds the product and its reference photo, the street, the question, the cast and their lines, props, captions, logo and end card. Copybrands/demo-tallgrass-oat.json. No brand appears informat_spec.py. - An episode (
episodes/<name>.json) joins three takes into a ~25-30 s cut. It names the takes, any whole shots to drop (drop_shots, each pair a real shot's start and end), the brand layer and, optionally,brand_layer.end_card_music, a short sting played under the end card. - Paid calls go through the GooseWorks proxy (
scripts/media_proxy.py), never a local key. On a poll timeout, resume withmedia_proxy.resume_fal(request_id). Never resubmit, since a dropped poll has already been billed. - A provider policy rejection (likeness of a real person, content policy) makes
single_gen.py --yesexit 3: surface the reason, do not retry. The take's input digest covers every input by content (prompt, settings, seed, and the sha256 of the product image and the scene reference), so the unchanged request is refused before anything is uploaded, and a changed image, prompt or seed is sent as a new request.
Prompt length
The final Seedance prompt is built from the project brief and shared shot instructions. BytePlus recommends at most 1,000 English words because lengthy prompts may miss details. This is quality guidance. The current Fal schema declares no maximum prompt length; that does not prove unlimited acceptance.
single_gen.py prints a non-blocking advisory above that guideline. The old 1,200-word
refusal is removed: its source-run observation did not prove a precise boundary. Keep the
exact approved dialogue and required clauses; do not trim them, reduce the cast or add a paid
retry just to meet a count. Missing clauses, invalid inputs and existing spend approval still
block generation. The finished-cut gate reports length as advice, without failing on it.
Review actual video adherence through the normal gate and full watch/listen pass.
Guarantees
- The prompt carries every format clause;
single_gen.pylints it before any spend, andcheck-cut.pyimports the same clause list, so a clause cannot be dropped silently. - Captions follow the edited picture. An episode derives word timing from its finished assembly. A single-take recut measures words on the original take, aligns spelling to the approved script and moves only kept whole words through the same source-span map as the video and shot boundaries. Dropped speech is not captioned; moved or repeated spans move or repeat their captions. A boundary through a word stops finishing: widen the kept span and rebuild. Never reuse raw-take caption timestamps on an edited video.
- The gate measures the finished file: shot lengths, splices on real cuts, caption timing and safe zone, ambience floor per shot, loudness and true peak, every scripted line audible, and detail and black point. It prints what it can NOT assess (faces, comprehension, how it sounds) on every run. Watch the cut end to end, and do not publish a FAIL.
Cost
A product-guess take is about $3.64 (12 s at 720p, $0.3034/s); a 30 s episode is three takes, about $10.92. Grading, re-cut, captions, looks and every gate are free. Staging prices move, so price the first call of a run and quote from that. Conversation prompt previews send no media call; no conversation media price is verified.
Local finishing
The local finishing scripts use the current Python interpreter and carry --run into child commands. The default grade (--strength 0) needs no colour-reference file. A positive strength requires the real reference.
Set approved colours in brand_layer.palette: accent, text, and background, each #RRGGBB or three RGB integers. Optional brand_layer.fonts keys are black, bold, and regular (paths relative to the project). Without overrides, fonts resolve on macOS, Windows or Linux. End-card rows keep the approved 86px spacing and 66px type. Shrink only an individual line whose visible text cannot fit the safe area; shorten copy if that line still cannot fit. Transparent text-image padding does not set the line spacing.
The subway series bar stays visible through caption gaps. It is also in the caption-free control so the gate measures captions separately from persistent branding.
For a new prompt, use generation.prompt_version: 3 (or --prompt-version 3). It keeps version 2's repairs (no duplicate articles, a top-edge rule for non-can packaging) and keeps the street in focus behind the people: never blurred and never bokeh (see REFERENCE #8). Version 3 is draft until a 720p take measures inside the real-footage detail band; its paid validation take needs its own approval. The bundled demo config stays on version 2 until then. The manifest records the version for the gate. Historical prompts default to version 1, and versions 1 and 2 retain their hashes. Use a new approved seed for a new prompt; do not overwrite an approved take.
Single-take recuts
Check local finishing prerequisites before buying a take: ffmpeg/ffprobe, PIL, NumPy,
fonts, and local Whisper with its base model available. The existing episode transcription
helper can download an absent Whisper model; prepare it separately before spend. This fix does
not call another video or voice model. A reused take may supply previously measured original
word times instead of transcribing again.
Keep the original take and generation manifest. Measure its internal cuts, caption source spans and a genuinely
Truncated for display — read the full file on GitHub.
Related Skills
ai-job-search
46.4kThe job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.
claude-howto
41.8kA visual, example-driven guide to Claude Code — from basic concepts to advanced agents, with copy-paste templates that bring immediate value.
algorithmic-art
177.9kCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems.
pptx
177.9kUse this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx or .potx file (even if the extracted content will be used elsewhere, like in an em…
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
