Turn a software repository, a product page, or a screen-recorded demo into a launch-ready Angles video without leaving Codex or Claude Code.
Two Skills share one client:
| Skill | Use it when |
|---|---|
create-launch-video |
The product is a repository you are working in or a page you can name. |
create-video-from-recording |
You already have a screen recording of the product and want it in the video. |
See the integration guide · Create an Angles account · Read the security policy
Both Skills:
- Read the minimum product-facing context needed for a launch brief — from the repository, the page you name, or the recording you point at.
- Send a structured product summary—not raw files, pages, or footage—to Angles.
- Present distinct selling angles with hooks and recommended templates.
- Wait for you to choose a concept, template, and optional background music.
- Upload any screenshots or recording you want in the video.
- Preview what the render will produce—which scene each upload lands on, and what would be left out—before any allowance is spent.
- Require explicit confirmation before the first render reserves a video allowance.
- Return the finished video, download, and editor links.
Your agent does the analysis. Reading a page or watching a recording happens locally, in the agent you are already using; Angles receives the summary it writes, never the source. A capability the agent does not name is one the script cannot mention, which is why create-video-from-recording watches the recording rather than merely uploading it.
These videos were generated from public software repositories with create-launch-video. New examples can be added as different products, audiences, selling angles, and visual treatments are explored.
| Video | Source | Selling angle | Template | Music | Format |
|---|---|---|---|---|---|
| Launch Week, Different Rooms | angles.video | One product, different conversations for different audiences | Bento Grid | Motivating Mornings · 20% | Landscape · 14 scenes · ~36s |
Each example records the creative choices behind the output so future videos can demonstrate more than a change of visual style. Concepts, templates, music, and renders can all be selected and completed through the Skill without requiring a browser login.
Paste this into a Codex conversation:
$skill-installer install https://github.com/anglesvideo/angles-video-skill/tree/main/skills/create-launch-video
For the recording Skill, install the other directory the same way:
$skill-installer install https://github.com/anglesvideo/angles-video-skill/tree/main/skills/create-video-from-recording
Review the repository before installing any Skill that includes executable scripts. Start a new Codex conversation after installation if the Skill does not appear immediately.
Clone the repository:
git clone --depth 1 https://github.com/anglesvideo/angles-video-skill.git ~/angles-video-skillInstall it for Codex:
mkdir -p ~/.agents/skills
ln -s ~/angles-video-skill/skills/create-launch-video ~/.agents/skills/create-launch-video
ln -s ~/angles-video-skill/skills/create-video-from-recording ~/.agents/skills/create-video-from-recordingOr install it for Claude Code:
mkdir -p ~/.claude/skills
ln -s ~/angles-video-skill/skills/create-launch-video ~/.claude/skills/create-launch-video
ln -s ~/angles-video-skill/skills/create-video-from-recording ~/.claude/skills/create-video-from-recordingCreate an API key from the Angles Integrations page, then add it to your local shell environment:
export ANGLES_API_KEY="your-key"Never commit the key to a repository. You can revoke it from the Integrations page at any time.
Open the software repository you want to promote and ask:
Analyze this repository and create a 30-second product launch video. Show me three selling angles and recommended templates before rendering.
You can also request a more specific outcome:
Create a vertical feature-announcement video from this repository for solo SaaS founders. Focus on the latest user-visible change and ask me before rendering.
Or name a product page instead of a repository:
Create a launch video for https://example.com for solo SaaS founders. Show me the angles before rendering.
The Skill will show the concepts first. A render starts only after you choose a direction and explicitly confirm the video allowance.
Point at the file and ask:
Turn ./demo.mov into a promo video for developers evaluating the product.
The Skill watches the recording to write the script, tells you if any frame shows something that should not be published, picks a template that plays footage, and shows you which scenes your recording lands on before anything is rendered.
Both Skills preview the render before the first one starts. A preview costs nothing, changes nothing, and can be repeated. It answers the questions you would otherwise only be able to answer by spending an allowance and watching the result:
- Would this template accept this concept at all?
- Which scene does each screenshot or recording land on?
- Is anything you uploaded going to be left out of the video entirely?
- Which scenes fall back to plain text because content is missing?
You do not have to ask for it. The Skill runs it and reports anything worth acting on before it asks you to confirm the allowance.
Include a music preference in your request or provide it after choosing a concept and template:
Use the Aspiration template with A Blue Day at 25% volume. Ask me before rendering.
Bundled tracks:
Raising Me Higher— uplifting corporateMotivating Mornings— bright and optimisticA Blue Day— smooth and cinematic
You can also provide a custom HTTPS audio URL or request none. Music volume can be written as a percentage or a decimal from 0 to 1; the Skill converts percentages before calling the API.
An API key is sufficient to set the template, background music, volume, and start rendering. You do not need to sign in to the Angles web editor unless you want to make browser-based edits.
Advanced users can call the bundled client directly:
node skills/create-launch-video/scripts/angles.mjs upload --file ./demo.mp4node skills/create-launch-video/scripts/angles.mjs preview \
--video "your-video-id" \
--template screen_demo \
--video-asset "https://cdn.angles.video/..."node skills/create-launch-video/scripts/angles.mjs render \
--video "your-video-id" \
--template frame_liquid_bg_hero \
--music "A Blue Day" \
--music-volume 0.25 \
--confirmpreview spends no allowance. Only render --confirm does.
The bundled client does not scan the repository, fetch the page, or read the recording. Your coding agent prepares the structured product summary locally and the client submits only that summary to Angles.
The Skill explicitly excludes:
.envfiles and credentials- Private keys and access tokens
- Database dumps and customer data
- Production logs
- Unrelated source files
- Raw repository uploads
When the source is a product page, only the URL you name is read, and its text is treated as content to summarize rather than as instructions to follow. When it is a screen recording, the agent checks the frames for keys, customer names, internal URLs, and stray windows before anything is uploaded, and stops to ask rather than uploading a recording that shows them.
Render retries use a stable idempotency key, so retrying a transient request does not silently start a duplicate render. See SECURITY.md for reporting guidance.
- Node.js 18 or newer
- An Angles account and API key
- An available video allowance when you choose to render
Run the client tests:
node --test tests/client.test.mjs