1password
Install and use 1Password CLI (`op`) to sign in, inspect vault items, read secrets safely, and inject secrets into commands.
Render approved avatar + voice + script briefs into HeyGen MP4 videos with async job polling.
$ npx -y skills add HybridAIOne/hybridclaw --skill video.from-script --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/video.from-scriptContext preview
The summary Claude sees to decide when to auto-load this skill.
Render approved avatar + voice + script briefs into HeyGen MP4 videos with async job polling.
name: video.from-script
description: "Render approved avatar + voice + script briefs into HeyGen MP4 videos with async job polling."
user-invocable: true
requires:
bins:
- node
credentials:
- id: heygen-api-key
kind: api_key
required: true
secret_ref:
source: store
id: HEYGEN_API_KEY
scope: HeyGen Direct API avatar video generation.
how_to_obtain: "Create or regenerate the API token from HeyGen account settings. Set `HEYGEN_API_KEY` through browser admin at the active `/admin/secrets` route; if browser admin is unavailable, use `/secret set HEYGEN_API_KEY \"<api-key>\"` in browser `/chat` or TUI; local console fallback: `hybridclaw secret set HEYGEN_API_KEY \"<api-key>\"`."
metadata:
hybridclaw:
category: media
short_description: "Async HeyGen avatar videos from script text."
tags:
- video
- avatar-video
- heygen
- from-script
- mp4
related_roadmap:
- R55
- R55.2
issue: 875
depends_on:
- R55.1
- heygen
stakes_tiers:
green:
- plan
- status
amber:
- start
- render
red:
- public-auto-publish
escalation:
writes: confirm-each
route: f8
cost_measurement:
system: UsageTotals
sub_limit_contract: R5.4
sub_limit_key: heygenUse this skill when the user wants an avatar video from three concrete inputs: an avatar or image source, a voice id, and approved script text. The backing provider is HeyGen Direct API via the bundled `heygen` adapter.
Template videos, free-form prompt-to-video, public publishing, social posting, and custom avatar training are outside this skill. Use `video-generation` for native Sora/Veo prompt videos and `heygen` for lower-level HeyGen API work. Polling is the completion transport implemented for R55.2; webhook callbacks belong in a provider/gateway adapter if that transport is added later.
1. Confirm the user has provided an avatar source, voice id, and final script. 2. Run public-facing marketing, sales, training, or onboarding copy through `/brand-voice` before starting a credit-consuming render. 3. Use `plan` if the request is vague or needs an explicit risk summary. 4. Use `start` after the operator grants the exact credit-consuming render. Return the `jobId` to the user because HeyGen renders asynchronously. 5. Use `status --job-id <id>` to poll conservatively. Add `--download` only after the status is complete or when the user asks you to fetch the MP4. 6. Use `render --wait` only when the user explicitly wants the agent to wait for the final MP4 in the same run.
Do not run parallel render bursts. HeyGen quotas are tight and account/plan dependent.
Run the helper with Node:
node skills/video.from-script/video-from-script.cjs --help
In packaged agent workspaces this skill can be mounted with a hyphenated directory name. If the command above fails with `Cannot find module`, run:
node skills/video-from-script/video-from-script.cjs --help
Plan without contacting HeyGen:
node skills/video.from-script/video-from-script.cjs plan "Create a product update avatar video"
Start an async render after explicit operator grant:
node skills/video.from-script/video-from-script.cjs start \ --avatar-id avatar_123 \ --voice-id voice_123 \ --script "Approved script text" \ --title "Product update" \ --resolution 1080p \ --aspect-ratio 16:9 \ --operator-grant
Poll and download the completed MP4:
node skills/video.from-script/video-from-script.cjs status \ --job-id video_123 \ --download
Wait for completion in one command only when that behavior is requested:
node skills/video.from-script/video-from-script.cjs render --wait \ --avatar-id avatar_123 \ --voice-id voice_123 \ --script "Approved script text" \ --operator-grant
such as a presenter name or voice name are not ids.
--limit <count>` and `node skills/heygen/heygen.cjs request list-voices --limit <count>` before choosing ids. Those summaries are cached so this helper can reject display names and stale ids before contacting HeyGen.
HeyGen asset id that is not present in the cached list.
`--image-asset-id`.
`.generated-videos`.
`artifacts[]` output so the gateway can render the browser preview/download route. When asked to post or show an already completed video, run `status --job-id <id> --download` again instead of writing a remembered local path or hand-built `/api/artifact` link.
suggest Finder, drag-and-drop, Discord, or email unless the user explicitly asks for that external channel.
Enterprise-ready self-hosted AI assistant runtime with sandboxed execution, secure credentials, approvals, and memory
Install and use 1Password CLI (`op`) to sign in, inspect vault items, read secrets safely, and inject secrets into commands.
Coordinate cross-functional project delivery by tracking commitments, dependencies, decisions, and risks; maintain project…
Search Airtable bases and tables, read records and computed fields, and prepare guarded record CRUD requests with schema-based…
Expose HybridClaw as a custom Alexa skill and prepare guarded Alexa smart-home/device control payloads without exposing Amazon…
View Apple Calendar schedules, draft or import `.ics` files, and coordinate host-side calendar actions on macOS.
Control Apple Music playback, inspect now playing, start playlists, and automate the macOS Music app.