{"id":"a2d64b65-6472-4f23-a2f5-1d7c0773e333","entityType":"agent","slug":"clawhub-npai10-product-video-script-skill","name":"NPAI SKILL","canonicalUrl":"https://www.xpersona.co/agent/clawhub-npai10-product-video-script-skill","canonicalPath":"/agent/clawhub-npai10-product-video-script-skill","generatedAt":"2026-10-11T03:55:29.949Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T01:25:07.080Z","emptyReason":null},"description":"Generate ecommerce product video scripts from one or more product images and optional selling points, with video handoff notes that forbid subtitles, caption...","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.2K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s17f1bsgv2e2x88va79y62ysy586spxq:product-video-script-skill","sourceUrl":"https://clawhub.ai/npai10/product-video-script-skill","homepage":"https://clawhub.ai/npai10/skills/product-video-script-skill","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/npai10/product-video-script-skill","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/npai10/skills/product-video-script-skill","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":62,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"NPAI SKILL technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T01:25:07.080Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T01:25:07.080Z","emptyReason":null},"stars":null,"forks":null,"downloads":1206,"packageName":null,"latestVersion":"1.0.9","tractionLabel":"1.2K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T01:25:07.013Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T01:25:07.080Z","lastCrawledAt":"2026-10-11T01:25:07.013Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T01:25:07.014Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.9","createdAt":"2026-05-21T16:28:44.342Z","changelog":"**Changelog for version 1.0.9** - Skill renamed and rebranded to focus on \"no subtitles\": now forbids all subtitles, captions, text overlays, title cards, price stickers, or generated UI text by default. - All video scripts and handoff notes enforce a strict no-on-screen-text policy; selling points and promotions should use voiceover and visuals only. - Description and core workflow updated to clarify \"no subtitles/text overlay\" as a default requirement across all directions and video handoffs. - Handoff prompts to video generation tools now explicitly include a \"no text\" constraint for every video type. - Added policy reiteration to quality checks: now ensures zero planned subtitles or text overlays in output. - General documentation refreshed to highlight differences from previous subtitle/text-overlay-enabled versions.","fileCount":8,"zipByteSize":15054},{"version":"1.0.8","createdAt":"2026-05-18T18:48:29.581Z","changelog":"Version 1.0.8 - No file changes detected in this release. - No updates to features, logic, or documentation.","fileCount":7,"zipByteSize":12797},{"version":"1.0.7","createdAt":"2026-05-18T18:33:13.049Z","changelog":"Version 1.0.7 - Script structure updated: scripts now use a continuous structure without timestamp tables, with a continuous visual flow instead of segmented shots. - Clarified handoff to video generation: added explicit instruction not to split scripts into multiple video segments or generate intermediate storyboard/character images for non-TVC videos; generation must be a single, complete video. - Enhanced batch processing guidance for multiple scripts: explicitly state not to merge scripts into one prompt and ensure each runs as a separate video task. - Refined constraints for non-TVC handoff, reinforcing one-step final video output and stronger isolation between sessions and product tasks. - Minor editorial improvements for clarity and guidance consistency.","fileCount":7,"zipByteSize":12797},{"version":"1.0.6","createdAt":"2026-05-18T17:58:35.882Z","changelog":"- Refined the video handoff process: Scripts are now passed directly and unchanged to video generation tools without rewriting or optimization. - Clarified that, by default, audio/voiceover is generated directly via the video tool—no separate TTS or post-process compositing unless explicitly requested. - Tightened batch handling: Each script must be submitted as a separate video task in LibTV; batch prompts should not merge multiple scripts. - Updated terminology: “video handoff notes” replaces “AI video generation prompt” for clarity. - Improved instructions for isolation between product tasks to prevent context inheritance across projects.","fileCount":7,"zipByteSize":12497},{"version":"1.0.5","createdAt":"2026-05-18T17:00:56.856Z","changelog":"- Clarified boundaries: Selecting a script direction no longer initiates video generation—video tasks now require explicit user instruction. - Updated workflow steps to consistently stop after script delivery and present next actions before any video generation. - Added clear guidelines to prevent automatic calls to video generation tools like LibTV unless the user explicitly requests it. - Refined handoff instructions for video generation, ensuring scripts and prompts are used only after explicit consent. - Improved language throughout for clearer separation between scriptwriting and video making.","fileCount":7,"zipByteSize":11739},{"version":"1.0.4","createdAt":"2026-05-18T16:00:00.440Z","changelog":"**Direct video generation is now more precise for non-TVC scripts.** - Updated the direction list to mention 直播间带货 and 商业广告/TVC explicitly. - Clarified that `直接生成视频` for non-TVC directions requires immediate complete video output—no intermediate storyboards or segment approvals. - Specified handoff prompt wording for non-TVC tasks, emphasizing direct generation and use of the product reference image. - Added detailed steps for project/session isolation and LibTV tool workflow when changing products. - Enhanced instructions for TVC (商业广告) scripts: storyboards and sequential processing remain required, with automatic progression unless user opts to review.","fileCount":7,"zipByteSize":11089},{"version":"1.0.3","createdAt":"2026-05-17T13:41:16.899Z","changelog":"Version 1.0.3 - Added a new requirement: when handing off to a video generation skill/tool, always begin with an explicit sentence specifying the generation target (duration, ratio, audio) unless the user requested otherwise. - The handoff must start with: `请生成一条15秒、9:16竖屏、带声音/口播的短视频。` - This ensures critical video generation settings are communicated clearly and not only via script tables. - No file or code changes detected; SKILL.md update only.","fileCount":7,"zipByteSize":9973},{"version":"1.0.2","createdAt":"2026-05-15T22:00:49.651Z","changelog":"Version 1.0.2 of product-video-script-skill - No file changes detected in this version. - No updates or modifications to the skill logic or documentation. - Functionality, core rules, workflow, and references remain unchanged.","fileCount":7,"zipByteSize":9536}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17f1bsgv2e2x88va79y62ysy586spxq:product-video-script-skill","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s17f1bsgv2e2x88va79y62ysy586spxq:product-video-script-skill` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/npai10/product-video-script-skill before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-npai10-product-video-script-skill/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-npai10-product-video-script-skill/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-npai10-product-video-script-skill/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-npai10-product-video-script-skill/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-npai10-product-video-script-skill/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-npai10-product-video-script-skill/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T03:55:29.942Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-npai10-product-video-script-skill/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-npai10-product-video-script-skill/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-npai10-product-video-script-skill/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-npai10-product-video-script-skill/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T01:25:07.080Z","emptyReason":null},"readme":"Skill: NPAI SKILL\n\nOwner: npai10\n\nSummary: Generate ecommerce product video scripts from one or more product images and optional selling points, with video handoff notes that forbid subtitles, caption...\n\nTags: latest:1.0.9\n\nVersion history:\n\nv1.0.9 | 2026-05-21T16:28:44.342Z | user\n\n**Changelog for version 1.0.9**\n\n- Skill renamed and rebranded to focus on \"no subtitles\": now forbids all subtitles, captions, text overlays, title cards, price stickers, or generated UI text by default.\n- All video scripts and handoff notes enforce a strict no-on-screen-text policy; selling points and promotions should use voiceover and visuals only.\n- Description and core workflow updated to clarify \"no subtitles/text overlay\" as a default requirement across all directions and video handoffs.\n- Handoff prompts to video generation tools now explicitly include a \"no text\" constraint for every video type.\n- Added policy reiteration to quality checks: now ensures zero planned subtitles or text overlays in output.\n- General documentation refreshed to highlight differences from previous subtitle/text-overlay-enabled versions.\n\nv1.0.8 | 2026-05-18T18:48:29.581Z | user\n\nVersion 1.0.8\n\n- No file changes detected in this release.\n- No updates to features, logic, or documentation.\n\nv1.0.7 | 2026-05-18T18:33:13.049Z | user\n\nVersion 1.0.7\n\n- Script structure updated: scripts now use a continuous structure without timestamp tables, with a continuous visual flow instead of segmented shots.\n- Clarified handoff to video generation: added explicit instruction not to split scripts into multiple video segments or generate intermediate storyboard/character images for non-TVC videos; generation must be a single, complete video.\n- Enhanced batch processing guidance for multiple scripts: explicitly state not to merge scripts into one prompt and ensure each runs as a separate video task.\n- Refined constraints for non-TVC handoff, reinforcing one-step final video output and stronger isolation between sessions and product tasks.\n- Minor editorial improvements for clarity and guidance consistency.\n\nv1.0.6 | 2026-05-18T17:58:35.882Z | user\n\n- Refined the video handoff process: Scripts are now passed directly and unchanged to video generation tools without rewriting or optimization.\n- Clarified that, by default, audio/voiceover is generated directly via the video tool—no separate TTS or post-process compositing unless explicitly requested.\n- Tightened batch handling: Each script must be submitted as a separate video task in LibTV; batch prompts should not merge multiple scripts.\n- Updated terminology: “video handoff notes” replaces “AI video generation prompt” for clarity.\n- Improved instructions for isolation between product tasks to prevent context inheritance across projects.\n\nv1.0.5 | 2026-05-18T17:00:56.856Z | user\n\n- Clarified boundaries: Selecting a script direction no longer initiates video generation—video tasks now require explicit user instruction.\n- Updated workflow steps to consistently stop after script delivery and present next actions before any video generation.\n- Added clear guidelines to prevent automatic calls to video generation tools like LibTV unless the user explicitly requests it.\n- Refined handoff instructions for video generation, ensuring scripts and prompts are used only after explicit consent.\n- Improved language throughout for clearer separation between scriptwriting and video making.\n\nv1.0.4 | 2026-05-18T16:00:00.440Z | user\n\n**Direct video generation is now more precise for non-TVC scripts.**\n\n- Updated the direction list to mention 直播间带货 and 商业广告/TVC explicitly.\n- Clarified that `直接生成视频` for non-TVC directions requires immediate complete video output—no intermediate storyboards or segment approvals.\n- Specified handoff prompt wording for non-TVC tasks, emphasizing direct generation and use of the product reference image.\n- Added detailed steps for project/session isolation and LibTV tool workflow when changing products.\n- Enhanced instructions for TVC (商业广告) scripts: storyboards and sequential processing remain required, with automatic progression unless user opts to review.\n\nv1.0.3 | 2026-05-17T13:41:16.899Z | user\n\nVersion 1.0.3\n\n- Added a new requirement: when handing off to a video generation skill/tool, always begin with an explicit sentence specifying the generation target (duration, ratio, audio) unless the user requested otherwise.\n- The handoff must start with: `请生成一条15秒、9:16竖屏、带声音/口播的短视频。`\n- This ensures critical video generation settings are communicated clearly and not only via script tables.\n- No file or code changes detected; SKILL.md update only.\n\nv1.0.2 | 2026-05-15T22:00:49.651Z | user\n\nVersion 1.0.2 of product-video-script-skill\n\n- No file changes detected in this version.\n- No updates or modifications to the skill logic or documentation.\n- Functionality, core rules, workflow, and references remain unchanged.\n\nv1.0.1 | 2026-05-15T21:59:50.016Z | user\n\n- Added integration configuration: new `agents/openai.yaml` file introduced.\n- Improved multi-script handling for `商业广告/TVC`: now requires serial batch execution (one TVC storyboard/video at a time).\n- Updated SKILL.md to clarify multi-TVC video handoff workflow and prevent simultaneous session submissions.\n\nv1.0.0 | 2026-05-15T21:41:45.073Z | user\n\n- Initial release of product-video-script skill for generating ecommerce product video scripts from images and selling points.\n- Supports research-enhanced script generation with fallback playbooks when research is unavailable; clearly labels scripts as research- or fallback-based.\n- Offers 5–7 video content directions, including TikTok style, live selling, and campaign promotions, with user guidance.\n- Script output includes timecoded script, voiceover, shot/action, on-screen text, visual notes, and optional AI video prompt, defaulting to 15s/9:16 unless specified.\n- Ensures campaign language is only used when an explicit campaign is requested or visible; otherwise, scripts remain evergreen.\n- Integrates with video generation skills, includes batching logic, storyboard-first handoff for commercials, and clear cross-skill communication guidelines.\n\nArchive index:\n\nArchive v1.0.9: 8 files, 15054 bytes\n\nFiles: agents/openai.yaml (472b), references/direction-playbook.md (2591b), references/output-template.md (3980b), references/research-guide.md (1255b), references/video-handoff.md (10176b), skill-card.md (2610b), SKILL.md (9490b), _meta.json (145b)\n\nFile v1.0.9:SKILL.md\n\n---\nname: product-video-script-no-subtitles\ndescription: Generate ecommerce product video scripts from one or more product images and optional selling points, with video handoff notes that forbid subtitles, captions, text overlays, titles, and price stickers by default. Use when the user wants带货视频脚本, 产品视频脚本, 短视频脚本, 无字幕产品视频, TikTok/抖音/小红书/直播间/618/双11 product content ideas, or wants to choose directions such as带货口播、场景种草、促销活动、测评对比、海外 TikTok 风格、直播间带货、商业广告/TVC before producing scripts.\n---\n\n# Product Video Script - No Subtitles\n\nTurn product images and optional selling points into platform-ready short-video scripts and video handoff notes.\n\nDefault text policy: generated videos must have no subtitles, no captions, no text overlays, no title cards, no price stickers, no floating labels, and no generated UI text. Put selling points in voiceover and visuals instead of on-screen text.\n\n## Core Rule\n\nUse **research-enhanced generation when possible**, but never make research a hard dependency.\n\n- If the user asks for recent, trending, top-liked, platform-specific, or competitor-based scripts and the agent has browsing/search tools, research first and cite sources.\n- If browsing/search is unavailable, blocked, or the user wants speed, use the fallback playbooks in `references/direction-playbook.md` and clearly label the result as `未联网版本`.\n- Do not invent exact rankings, likes, creator names, or video URLs. Say when exact metrics could not be verified.\n\n## Workflow\n\nState boundary:\n- Selecting a direction only authorizes script writing. It is not permission to generate a video.\n- After writing any script, stop and show `Next Actions`. Do not call LibTV or any video generation tool yet.\n- Enter video generation only after the user explicitly selects `直接生成视频`, `选其中一条去生成视频`, `把这几条全部交给 LibTV 批量生成`, or otherwise clearly asks to generate videos.\n\n1. **Read the product input**\n   - Inspect all provided images when image understanding is available.\n   - Extract visible product category, appearance, use scene, likely audience, giftability, price/activity clues, and visual risks.\n   - Incorporate user-provided selling points. If selling points conflict with the image, mention the uncertainty.\n   - Campaign language is opt-in, not forbidden. Use 618, 双11, Black Friday, Christmas, summer, back-to-school, discounts, limited-time offers, or similar campaign framing only when the user explicitly requests it, selects a promotion direction, or the product image clearly contains that campaign. Otherwise keep the script evergreen.\n\n2. **Offer directions if the user has not chosen one**\n   Present 5-7 concise choices and wait for the user:\n   - 带货口播\n   - 场景种草\n   - 促销活动（only when the user wants a campaign/deal angle）\n   - 测评对比\n   - 海外 TikTok 风格\n   - 直播间真人带货\n   - 商业广告/TVC\n\n3. **Research or fallback**\n   - For research mode, search the chosen category + platform + time window + commerce intent.\n   - Summarize reusable patterns: hook, pacing, camera style, proof, offer, CTA.\n   - For fallback mode, read `references/direction-playbook.md`.\n\n4. **Write the script**\n   Use `references/output-template.md` unless the user requests another format.\n   Default duration is 15 seconds and default ratio is 9:16 when not specified.\n   Include:\n   - concept title\n   - why this direction fits the product\n   - continuous script structure without timestamp tables\n   - voiceover\n   - continuous visual flow\n   - no-subtitle/no-text-overlay policy\n   - visual/reference notes\n   - optional video handoff notes\n\n5. **Offer next actions**\n   After delivering a script, always stop and show next actions:\n   - After one script, use the single-script next actions from `references/output-template.md`.\n   - After multiple scripts, use the multi-script next actions from `references/output-template.md`.\n   - For `商业广告/TVC`, use storyboard-first as the internal video handoff workflow, but keep the user-facing action as `直接生成视频`.\n   - For every non-TVC direction, `直接生成视频` means: use the product image as a reference image and directly submit one complete 15s 9:16 video task. Do not create storyboard images, character design images, separate video clips, or a storyboard-confirmation checkpoint.\n   - Do not execute any video generation action in this step unless the user's current message already explicitly asks to generate the video, not merely choose a direction.\n\n6. **Quality checks**\n   - Hook appears in the first 1-3 seconds.\n   - Each claim is supportable from visible product traits or user-provided selling points.\n   - Campaign context is explicit. If requested, use it confidently; if not requested, keep the script evergreen and do not add shopping-festival language.\n   - Do not plan subtitles, captions, title cards, price stickers, or any generated text overlay.\n   - Avoid dense subtitles, tiny price tables, and complex text overlays when the next step is AI video generation. In this no-subtitles variant, the default is no on-screen text at all.\n   - Keep platform tone natural: TikTok should feel native and slightly messy; commercial ads can be more polished.\n\n## When Coordinating With Video Skills\n\nOnly coordinate with a video skill/tool after the user explicitly asks to generate video. A direction choice such as `1`, `场景种草`, or `TVC` means \"write the script in this direction\"; it does not mean \"start LibTV generation\".\n\nIf the user asks to generate the video after the script, pass the confirmed script and reference-image notes to the video generation skill/tool. Preserve the selected script as the source of truth. Do not rewrite, expand, or optimize it into a new prompt during handoff. When image-to-video tools have trouble with text, use a no-text version and rely on voiceover.\n\nDefault audio route: when the user wants sound or voiceover, ask the video model/LibTV to generate one complete video with native audio/voiceover directly. Do not create separate TTS audio, do not create a silent video, and do not use a later audio-video compose workflow unless the user explicitly requests separate voiceover production.\n\nWhen handing off any non-TVC script to a video generation skill/tool, use the product image as the reference image and directly generate the finished video. The first sentence must explicitly state the fixed generation target unless the user explicitly requests a different duration, ratio, or audio mode: `请基于这张产品参考图，直接生成一条15秒、9:16竖屏、带声音/口播的完整短视频。` Do not rely on the earlier script table to carry duration, ratio, audio settings, or reference-image use.\n\nFor every video handoff, add this explicit no-text constraint: `不要添加任何字幕、口播字幕、屏幕文字、标题卡、价格贴片、促销文字、漂浮标签或生成式文字。画面里只保留产品本身已有的包装文字/Logo，不额外生成新文字。`\n\nFor non-TVC handoff prompts, add this explicit constraint: `不要先生成分镜图、角色设计图或分段视频，也不要等待用户确认分镜。不要按镜头、时间段或脚本段落拆成多个视频片段，不要多段生成后合并。请一次性直接输出完整成片。`\n\nWhen the product changes from prior work, require a clean video-tool project/canvas before uploading the new product reference image. For LibTV, this means calling `change_project.py` first, then `upload_file.py`, then `create_session.py`. When only platform, campaign context, or language changes, recommend a clean project/session. Add an explicit isolation line to the handoff prompt: `This is a new standalone product task. Do not inherit any previous product, campaign, 618, 双11, price, or activity context unless repeated in this prompt.`\n\nFor multiple scripts, do not merge all scripts into one generation request. Create a numbered batch manifest: each item must include concept title, duration, ratio, reference image, full voiceover, shot plan, text-overlay limits, and success criteria. For LibTV, each script must be submitted as a separate video task. Do not pack several scripts into one prompt.\n\nFor multiple `商业广告/TVC` scripts, use serial batch execution by default: submit one TVC, wait for its storyboard images and final video to complete, record the result, then submit the next TVC. Do not submit multiple storyboard-first TVC jobs into the same video-tool session at once.\n\nFor `商业广告/TVC` only, use a storyboard-first handoff by default: generate 5 key 9:16 storyboard images first, then use those storyboard images together as reference images for one complete video. After storyboard images are generated, continue to final video automatically unless the user explicitly asked to review/approve storyboards first. See `references/video-handoff.md`.\n\n## References\n\n- Use `references/direction-playbook.md` for direction-specific structures when research is unavailable or when you need a baseline.\n- Use `references/output-template.md` for the default script output format.\n- Use `references/research-guide.md` for safe research behavior and source handling.\n- Use `references/video-handoff.md` when the user wants to generate one or many videos from the scripts.\n\nFile v1.0.9:_meta.json\n\n{\n  \"ownerId\": \"kn79q6d8fg01kce4chmzrkvmf986s4zr\",\n  \"slug\": \"product-video-script-skill\",\n  \"version\": \"1.0.9\",\n  \"publishedAt\": 1779380924342\n}\n\nFile v1.0.9:references/direction-playbook.md\n\n# Direction Playbook\n\nUse these patterns when live research is unavailable or as a baseline before adapting to research.\n\n## 带货口播\n\nBest for products with clear appearance, price/activity appeal, or giftability.\n\nStructure:\n1. Hook: name the buying scenario or pain point.\n2. Product close-up.\n3. One fast use/demo moment.\n4. Emotional or practical payoff.\n5. Offer/occasion CTA.\n\nTone: direct, fast, conversational.\n\n## 场景种草\n\nBest for lifestyle products, beauty, food, home, fashion, gifts.\n\nStructure:\n1. Everyday scene.\n2. Product appears naturally.\n3. Before/after mood shift.\n4. Detail close-up.\n5. Soft recommendation.\n\nTone: lived-in, aspirational but not too polished.\n\n## 促销活动\n\nBest for 618, 双11, Black Friday, launch deals, bundles.\n\nUse this direction when the user explicitly chooses促销活动 or mentions a campaign/deal context. Promotion language is allowed here; outside this direction, keep scripts evergreen unless the user requested a campaign.\n\nStructure:\n1. Urgency hook.\n2. One-sentence product reason.\n3. Best use/gift scenario.\n4. Deal reminder.\n5. Simple CTA.\n\nTone: energetic, clear, no overclaiming.\n\n## 测评对比\n\nBest for products with visible effects, durability, texture, convenience, or price/value contrast.\n\nStructure:\n1. Skeptical hook.\n2. Test setup.\n3. Product demo.\n4. Result close-up.\n5. Verdict.\n\nTone: believable, slightly critical, evidence-first.\n\n## 海外 TikTok 风格\n\nBest for US/EU TikTok Shop style ads, beauty, gadgets, fashion, food, novelty products.\n\nStructure:\n1. Native UGC hook.\n2. Unexpected reaction or weird twist.\n3. Fast demo.\n4. Meme-like payoff.\n5. Deal/CTA.\n\nTone: casual, funny, self-aware, not too salesy.\n\nAvoid heavy Chinese shopping-festival language unless the campaign specifically targets Chinese-speaking users.\n\n## 直播间真人带货\n\nBest for products that need high trust, host demonstration, or urgency.\n\nStructure:\n1. Host calls attention.\n2. Product in hand near camera.\n3. 2-3 selling points.\n4. Use/gift scenario.\n5. Limited-time close.\n\nTone: warm, energetic, real-time.\n\n## 商业广告/TVC\n\nBest for premium products, brand assets, gift boxes, hero products.\n\nStructure:\n1. Visual hero shot.\n2. Lifestyle aspiration.\n3. Product detail montage.\n4. Emotional payoff.\n5. Brand/activity end frame.\n\nTone: polished, sensory, cinematic.\n\nVideo-generation workflow, only after the user explicitly chooses `直接生成视频`: storyboard first. Ask the video tool to generate 5 key visual frames, then use those 5 frames as multi-reference images to generate the final 15s video.\n\nFile v1.0.9:references/output-template.md\n\n# Output Template\n\nUse this structure by default. Keep it concise.\n\n## Product Diagnosis\n\n- Category:\n- Visible traits:\n- Likely buyer/use case:\n- Best script angle:\n- Risks/uncertainties:\n- Campaign context: if requested, name the campaign; otherwise write `无明确活动，按长期通用脚本处理`.\n\n## Direction Options\n\nOnly include this section when the user has not chosen a direction.\n\n1. 带货口播 - ...\n2. 场景种草 - ...\n3. 促销活动 - only if the user wants an event/deal angle\n4. 测评对比 - ...\n5. 海外 TikTok 风格 - ...\n6. 直播间真人带货 - ...\n7. 商业广告/TVC - ...\n\n## Research Summary\n\nUse this section when research was performed.\n\n- Sources checked:\n- Reusable patterns:\n- What to copy structurally:\n- What not to copy:\n\nIf research was not possible, write: `未联网版本：以下脚本基于通用平台内容规律与产品图分析生成。`\n\n## Recommended Script\n\n- Title:\n- Duration:\n- Ratio:\n- Platform/style:\n- Why it fits:\n\nWrite the script as a continuous sequence, not a timestamp table. Do not use rows such as `0-2s`, `2-5s`, or numbered clip segments.\n\n- Opening hook:\n- Visual flow:\n- Voiceover:\n- Subtitle / on-screen text policy: none. Do not add subtitles, captions, title cards, price stickers, floating labels, or generated text overlays.\n- Closing CTA:\n\n## Full Voiceover\n\nWrite the full spoken script in one paragraph.\n\n## Video Handoff Notes\n\nWrite concise handoff notes for a later video generation step. These notes are not permission to generate video and are not a replacement prompt. When the user later asks to generate video, preserve the confirmed script as the source of truth and pass these notes as constraints.\n\nInclude:\n- product reference notes\n- for non-TVC directions, explicitly say to use the product image as the reference image and directly generate one complete 15s 9:16 video\n- for non-TVC directions, explicitly forbid storyboard images, character design images, separate clips, timestamp-based generation, and storyboard confirmation\n- explicitly say to generate sound/voiceover natively inside the video generation request; do not create separate TTS audio or compose audio and video later\n- explicitly say no subtitles, no captions, no text overlays, no title cards, no price stickers, no floating labels, and no generated UI text\n- camera style\n- model/hand/action notes\n- overall pacing only, without timestamp segments\n- ratio and duration\n- voiceover language\n- no-text-overlay constraints\n\n## Variants\n\nOptionally provide 2-3 hook or CTA variants.\n\n## Next Actions\n\nUse short user-facing labels. Do not expose backend workflow details in option names.\n\nMandatory stop rule:\n- After outputting a script, stop here and wait for the user's next selection.\n- Do not call LibTV or any video generation tool from the same response that writes the script.\n- A user selecting a direction means \"write a script in this direction\"; it is not permission to generate the video.\n- Only start video generation after the user explicitly selects `直接生成视频`, `选其中一条去生成视频`, `把这几条全部交给 LibTV 批量生成`, or clearly asks to generate videos.\n\nAfter a single script, use exactly:\n\n1. 直接生成视频\n2. 重写一版（可提要求）\n3. 多给几个脚本/创意方向\n4. 改成其他视频方向（口播/种草/促销/测评/TikTok/直播/TVC）\n\nIf the chosen direction is商业广告/TVC, still write `直接生成视频`; the storyboard-first workflow belongs in the internal video handoff, not the user-facing option text.\n\nFor every non-TVC direction, `直接生成视频` means: use the product image as the reference image, then directly generate one complete 15s 9:16 video. Do not expose or create a storyboard-first workflow.\n\nAfter multiple scripts or creative directions, use exactly:\n\n1. 选其中一条去生成视频\n2. 把这几条全部交给 LibTV 批量生成\n3. 继续重写更多版本\n4. 先优化其中某一条脚本\n\nFile v1.0.9:references/research-guide.md\n\n# Research Guide\n\nUse research only when the agent has tools that can access current public sources.\n\n## Search Targets\n\nPrefer official or platform-native sources:\n- TikTok Creative Center\n- TikTok Shop / marketplace pages\n- Meta Ads Library or platform ad libraries when relevant\n- YouTube/TikTok public pages when accessible\n- Brand/product official pages for factual claims\n- Recent credible trend reports when platform pages are incomplete\n\n## Query Pattern\n\nCombine:\n- category: lipstick, sunscreen, snack, coffee, gadget\n- platform: TikTok US, Douyin, Xiaohongshu\n- commerce intent: shop, haul, review, deal, top ads\n- recency: last 7 days, this week, 2026\n\n## Safe Claims\n\nDo:\n- Summarize visible content patterns.\n- Cite links used.\n- Say when exact likes/ranking cannot be verified.\n- Use “in the researched sample” instead of “the whole platform” when coverage is incomplete.\n\nDo not:\n- Invent creators, likes, rankings, or video links.\n- Claim “guaranteed viral” or “guaranteed sales”.\n- Copy a creator’s exact script line-by-line. Replicate structure, pacing, and function instead.\n\n## Research Output\n\nFor 3-5 references, capture:\n- hook type\n- opening frame\n- product proof/demo\n- pacing\n- text style\n- CTA\n- why it works\n\nFile v1.0.9:references/video-handoff.md\n\n# Video Handoff\n\nUse this when scripts are handed to a video generation skill/tool.\n\nEntry condition:\n- Use this file only after the user explicitly asks to generate video.\n- Do not use this file immediately after the user merely selects a script direction.\n- Script approval/selection and storyboard approval are different. A script must be shown first; storyboard review can be skipped only inside the video-generation phase.\n- Preserve the confirmed script as the source of truth. Do not rewrite, expand, translate, or optimize it into a new creative prompt during handoff.\n\nDefault audio route:\n- Generate native audio/voiceover inside the video generation request.\n- Put the full voiceover and audio direction directly in the video prompt.\n- Do not create separate TTS audio.\n- Do not create a silent video and compose it with audio later.\n- Do not use a `video + TTS + compose` workflow unless the user explicitly requests separate voiceover production.\n- The final deliverable must be one complete video with audible sound/voiceover.\n\nDefault visual text route:\n- Do not add subtitles, captions, karaoke captions, title cards, price stickers, promotional text, floating labels, lower thirds, UI panels, or generated text overlays.\n- Do not burn the voiceover into the video as subtitles.\n- Product packaging text and logos already present in the reference image may remain, but do not invent new text.\n- Put all selling points in the voiceover and visual demonstration, not on-screen text.\n\n## Single Video Handoff\n\nUse this for all non-TVC directions, including 带货口播, 场景种草, 促销活动, 测评对比, 海外 TikTok 风格, and 直播间真人带货.\n\nCore rule:\n- Use the product image as the reference image.\n- Directly submit one complete video generation task for the full 15s video.\n- Generate the video with native audio/voiceover directly.\n- Do not generate storyboard images, character design images, or separate video clips.\n- Do not split the script into timestamp segments, shot segments, or clip segments.\n- Do not generate separate TTS audio or use later audio-video composition.\n- Do not add a storyboard review/confirmation step.\n\nInclude:\n- first sentence with fixed generation target: `请基于这张产品参考图，直接生成一条15秒、9:16竖屏、带声音/口播、无字幕、无屏幕文字的完整短视频。`\n- title\n- selected direction\n- duration and ratio\n- reference image URLs or local paths\n- context isolation line\n- product appearance constraints\n- continuous visual flow, without timestamps or clip segments\n- full voiceover\n- native audio instruction\n- no-subtitles/no-text-overlay instruction\n- avoid list\n- success criteria\n\nRequired non-TVC constraint line:\n\n`不要先生成分镜图、角色设计图或分段视频，也不要等待用户确认分镜。不要按镜头、时间段或脚本段落拆成多个视频片段，不要多段生成后合并。请一次性直接输出完整成片。`\n\nRequired audio constraint line:\n\n`请在视频生成时直接生成声音/口播，不要单独生成TTS音频，不要先生成无声视频再后期合成。最终交付必须是一条带声音的完整视频。`\n\nRequired no-text constraint line:\n\n`不要添加任何字幕、口播字幕、屏幕文字、标题卡、价格贴片、促销文字、漂浮标签或生成式文字。画面里只保留产品本身已有的包装文字/Logo，不额外生成新文字。`\n\n## Batch Video Handoff\n\nFor multiple videos, create one manifest item per video. Keep each item self-contained so a downstream video skill can submit separate tasks without reading prior items.\n\nFor LibTV, one script equals one video task. Do not merge multiple scripts into one prompt or ask LibTV to choose among concepts.\n\nIf prior tasks in the same agent/session used another product, create or switch to a clean video-tool project/canvas before uploading the new product reference image. For LibTV, call `change_project.py`, then upload the product image, then submit the generation task. If prior tasks used another campaign or language, recommend a clean project/session before generation.\n\nTemplate:\n\n```markdown\n## Batch Manifest\n\n### Video 1: <title>\n- Context isolation: This is a new standalone product task. Do not inherit any previous product, campaign, 618, 双11, price, or activity context unless repeated in this prompt.\n- Direction:\n- Duration:\n- Ratio:\n- Reference image:\n- Product constraints:\n- Voiceover:\n- Continuous visual flow:\n- Subtitle / on-screen text policy: none. Do not add subtitles, captions, title cards, price stickers, floating labels, or generated text overlays.\n- Avoid:\n- Success criteria:\n\n### Video 2: <title>\n...\n```\n\n## Generation Strategy\n\n- Treat each script variant as a separate video task.\n- For LibTV, submit scripts sequentially or as separate tasks; do not pack multiple scripts into one prompt.\n- Each video task must generate one complete 15s video. Do not split a single script into several clip tasks or merge generated clips afterward.\n- Require a new project/canvas when changing products. For LibTV, call `change_project.py` before uploading the new product reference image.\n- Prefer a new session when changing language, platform, or removing a previously used campaign context.\n- If the tool has unknown concurrency limits, avoid promising a batch size. Say that batching means preparing multiple self-contained tasks, not guaranteeing simultaneous execution.\n- For AI video tools that often garble text, use no text. Put detailed selling points in voiceover.\n- Every video task must explicitly forbid subtitles, captions, title cards, price stickers, floating labels, and generated text overlays.\n- For sound/voiceover, use native audio in the video generation request. Do not split into separate TTS and later composition.\n- For product-reference fidelity, include exact visible traits from the product image in every item.\n- If campaign language is not wanted, repeat the avoid list in every item: no 618, no 双11, no限时促销, no价格贴片, no shopping festival language.\n\n## Commercial/TVC Storyboard-First Handoff\n\nUse this only when the selected direction is `商业广告/TVC`. Do not use this workflow for 带货口播, 场景种草, 促销活动, 测评对比, 海外 TikTok 风格, or 直播间真人带货.\n\nWorkflow:\n1. Generate 5 key 9:16 storyboard images.\n2. Check that each storyboard preserves product identity and has no unwanted text. This is an internal check, not a required user confirmation step.\n3. Use the 5 storyboard images together as reference images for one complete 15s 9:16 video.\n4. Continue from storyboard images to final video automatically unless the user explicitly asked to review/approve storyboard images first.\n\nStoryboard slots:\n- Frame 1: hero product establishing shot\n- Frame 2: lifestyle/user scene\n- Frame 3: product texture/detail/macro\n- Frame 4: emotional payoff or use result\n- Frame 5: final product/brand end frame\n\nHandoff prompt must include:\n- first sentence with fixed generation target: `请生成一条15秒、9:16竖屏、带声音/口播、无字幕、无屏幕文字的商业广告/TVC视频。`\n- original product image\n- 5 storyboard descriptions\n- instruction to create storyboard images first\n- instruction to use all storyboard images together as references for final video\n- instruction to continue to final video automatically after storyboard images unless the user explicitly requested storyboard approval\n- instruction to generate native audio/voiceover inside the final video request, not as separate TTS plus composition\n- no subtitles, no captions, no title cards, no price stickers, no floating labels, and no generated text overlays\n- full voiceover or music direction\n\n## Commercial/TVC Batch Execution\n\nWhen the user chooses to generate multiple TVC scripts, keep the user-facing action as `把这几条全部交给 LibTV 批量生成`, but execute internally as a serial batch.\n\nRules:\n- Use unique IDs: `TVC-01`, `TVC-02`, `TVC-03`.\n- Submit only one TVC storyboard-first job at a time.\n- The first sentence of every submitted TVC prompt must include: `15秒、9:16竖屏、带声音/口播`.\n- Every submitted TVC prompt must require native audio/voiceover in the final video and must not request separate TTS plus composition.\n- Every submitted TVC prompt must forbid subtitles, captions, title cards, price stickers, floating labels, and generated text overlays.\n- Wait until that TVC has final video URL(s), or reaches a clear failure/timeout state, before submitting the next.\n- Prefer a new video-tool session for each TVC when the tool is conversational or likely to merge multiple tasks.\n- Record results before moving on: storyboard status, final video URL, failure reason, or timeout.\n- Do not pack several TVC concepts into one prompt.\n\nTimeout guidance:\n- If storyboard images are created but final video is not complete after a reasonable wait, report that state and continue only if the user asked for continued autonomous batching.\n- If the tool asks for confirmation because it sees multiple tasks, confirm only for the current TVC, not the whole batch.\n\n## Parameter Loss Check\n\nIf a generated video returns with the wrong duration, ratio, or no sound, first inspect the actual message sent to the video tool. The script output may contain the correct values, but the handoff prompt must also explicitly include:\n- 15秒\n- 9:16竖屏\n- 带声音/口播\n- 直接生成声音/口播，不要单独TTS或后期合成\n- 无字幕、无屏幕文字、无文字贴片\n\nIf any of these are missing from the actual handoff prompt, regenerate with a corrected prompt before changing the creative script.\n\n## Regeneration Strategy\n\nWhen the user is unhappy with a script, ask for the failure type only if it is unclear:\n- hook weak\n- too salesy\n- not native to platform\n- product selling points inaccurate\n- too generic\n- tone mismatch\n- needs more drama/funniness/premium feeling\n\nThen regenerate with one of these changes:\n- new hook, same structure\n- same hook, different scenario\n- different direction\n- more restrained text overlay\n- more product close-ups\n- stronger CTA\n\nFile v1.0.9:skill-card.md\n\n## Description:\n\nGenerates ecommerce product video scripts from product images and optional selling points, with video handoff notes that forbid subtitles, captions, text overlays, title cards, and price stickers by default.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[npai10](https://clawhub.ai/user/npai10)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal ecommerce sellers, marketers, and content creators use this skill to turn product images and optional selling points into short-form product video scripts, direction options, research summaries when available, and approval-gated video handoff notes.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Product images and script details may be handed to a video-generation tool after the user approves generation.\n\nMitigation: Require explicit user approval before video handoff and include only the product references and confirmed script details needed for that task.\n\nRisk: Research-based or competitor-based script requests can lead to unsupported claims about rankings, likes, creators, or performance.\n\nMitigation: Cite sources when research is used, avoid inventing exact metrics, and label fallback outputs when browsing is unavailable.\n\nRisk: The skill includes Chinese ecommerce terminology and platform directions that may not fit every market.\n\nMitigation: Localize language, platform framing, campaign references, and calls to action before use outside the intended market.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/npai10/skills/product-video-script-skill)\n- [Direction Playbook](references/direction-playbook.md)\n- [Output Template](references/output-template.md)\n- [Research Guide](references/research-guide.md)\n- [Video Handoff](references/video-handoff.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, guidance]\n\n**Output Format:** [Markdown with structured product diagnosis, direction options, script sections, optional research summary, next actions, and video handoff notes.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Default script target is a concise 15-second 9:16 product video unless the user specifies otherwise; video generation is gated on explicit user approval.]\n\n## Skill Version(s):\n\n1.0.9 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.9:agents/openai.yaml\n\ndisplay_name: Product Video Script No Subtitles\nshort_description: Turn product images into ecommerce video scripts with video handoff rules that forbid subtitles and text overlays.\ndefault_prompt: Upload product images and optional selling points, then choose a video direction such as口播带货、场景种草、促销活动、测评对比、海外 TikTok 风格、直播间带货 or商业广告. Generated videos should have no subtitles or text overlays by default.\n\nArchive v1.0.8: 7 files, 12797 bytes\n\nFiles: agents/openai.yaml (344b), references/direction-playbook.md (2591b), references/output-template.md (3705b), references/research-guide.md (1255b), references/video-handoff.md (8922b), SKILL.md (8690b), _meta.json (145b)\n\nFile v1.0.8:SKILL.md\n\n---\nname: product-video-script\ndescription: Generate ecommerce product video scripts from one or more product images and optional selling points. Use when the user wants带货视频脚本, 产品视频脚本, 短视频脚本, TikTok/抖音/小红书/直播间/618/双11 product content ideas, or wants to choose directions such as带货口播、场景种草、促销活动、测评对比、海外 TikTok 风格、直播间带货、商业广告/TVC before producing scripts.\n---\n\n# Product Video Script\n\nTurn product images and optional selling points into platform-ready short-video scripts and video handoff notes.\n\n## Core Rule\n\nUse **research-enhanced generation when possible**, but never make research a hard dependency.\n\n- If the user asks for recent, trending, top-liked, platform-specific, or competitor-based scripts and the agent has browsing/search tools, research first and cite sources.\n- If browsing/search is unavailable, blocked, or the user wants speed, use the fallback playbooks in `references/direction-playbook.md` and clearly label the result as `未联网版本`.\n- Do not invent exact rankings, likes, creator names, or video URLs. Say when exact metrics could not be verified.\n\n## Workflow\n\nState boundary:\n- Selecting a direction only authorizes script writing. It is not permission to generate a video.\n- After writing any script, stop and show `Next Actions`. Do not call LibTV or any video generation tool yet.\n- Enter video generation only after the user explicitly selects `直接生成视频`, `选其中一条去生成视频`, `把这几条全部交给 LibTV 批量生成`, or otherwise clearly asks to generate videos.\n\n1. **Read the product input**\n   - Inspect all provided images when image understanding is available.\n   - Extract visible product category, appearance, use scene, likely audience, giftability, price/activity clues, and visual risks.\n   - Incorporate user-provided selling points. If selling points conflict with the image, mention the uncertainty.\n   - Campaign language is opt-in, not forbidden. Use 618, 双11, Black Friday, Christmas, summer, back-to-school, discounts, limited-time offers, or similar campaign framing only when the user explicitly requests it, selects a promotion direction, or the product image clearly contains that campaign. Otherwise keep the script evergreen.\n\n2. **Offer directions if the user has not chosen one**\n   Present 5-7 concise choices and wait for the user:\n   - 带货口播\n   - 场景种草\n   - 促销活动（only when the user wants a campaign/deal angle）\n   - 测评对比\n   - 海外 TikTok 风格\n   - 直播间真人带货\n   - 商业广告/TVC\n\n3. **Research or fallback**\n   - For research mode, search the chosen category + platform + time window + commerce intent.\n   - Summarize reusable patterns: hook, pacing, camera style, proof, offer, CTA.\n   - For fallback mode, read `references/direction-playbook.md`.\n\n4. **Write the script**\n   Use `references/output-template.md` unless the user requests another format.\n   Default duration is 15 seconds and default ratio is 9:16 when not specified.\n   Include:\n   - concept title\n   - why this direction fits the product\n   - continuous script structure without timestamp tables\n   - voiceover\n   - continuous visual flow\n   - on-screen text\n   - visual/reference notes\n   - optional video handoff notes\n\n5. **Offer next actions**\n   After delivering a script, always stop and show next actions:\n   - After one script, use the single-script next actions from `references/output-template.md`.\n   - After multiple scripts, use the multi-script next actions from `references/output-template.md`.\n   - For `商业广告/TVC`, use storyboard-first as the internal video handoff workflow, but keep the user-facing action as `直接生成视频`.\n   - For every non-TVC direction, `直接生成视频` means: use the product image as a reference image and directly submit one complete 15s 9:16 video task. Do not create storyboard images, character design images, separate video clips, or a storyboard-confirmation checkpoint.\n   - Do not execute any video generation action in this step unless the user's current message already explicitly asks to generate the video, not merely choose a direction.\n\n6. **Quality checks**\n   - Hook appears in the first 1-3 seconds.\n   - Each claim is supportable from visible product traits or user-provided selling points.\n   - Campaign context is explicit. If requested, use it confidently; if not requested, keep the script evergreen and do not add shopping-festival language.\n   - On-screen text is short enough for AI video generation.\n   - Avoid dense subtitles, tiny price tables, and complex text overlays when the next step is AI video generation.\n   - Keep platform tone natural: TikTok should feel native and slightly messy; commercial ads can be more polished.\n\n## When Coordinating With Video Skills\n\nOnly coordinate with a video skill/tool after the user explicitly asks to generate video. A direction choice such as `1`, `场景种草`, or `TVC` means \"write the script in this direction\"; it does not mean \"start LibTV generation\".\n\nIf the user asks to generate the video after the script, pass the confirmed script and reference-image notes to the video generation skill/tool. Preserve the selected script as the source of truth. Do not rewrite, expand, or optimize it into a new prompt during handoff. When image-to-video tools have trouble with text, recommend a no-text or minimal-text version and rely on voiceover.\n\nDefault audio route: when the user wants sound or voiceover, ask the video model/LibTV to generate one complete video with native audio/voiceover directly. Do not create separate TTS audio, do not create a silent video, and do not use a later audio-video compose workflow unless the user explicitly requests separate voiceover production.\n\nWhen handing off any non-TVC script to a video generation skill/tool, use the product image as the reference image and directly generate the finished video. The first sentence must explicitly state the fixed generation target unless the user explicitly requests a different duration, ratio, or audio mode: `请基于这张产品参考图，直接生成一条15秒、9:16竖屏、带声音/口播的完整短视频。` Do not rely on the earlier script table to carry duration, ratio, audio settings, or reference-image use.\n\nFor non-TVC handoff prompts, add this explicit constraint: `不要先生成分镜图、角色设计图或分段视频，也不要等待用户确认分镜。不要按镜头、时间段或脚本段落拆成多个视频片段，不要多段生成后合并。请一次性直接输出完整成片。`\n\nWhen the product changes from prior work, require a clean video-tool project/canvas before uploading the new product reference image. For LibTV, this means calling `change_project.py` first, then `upload_file.py`, then `create_session.py`. When only platform, campaign context, or language changes, recommend a clean project/session. Add an explicit isolation line to the handoff prompt: `This is a new standalone product task. Do not inherit any previous product, campaign, 618, 双11, price, or activity context unless repeated in this prompt.`\n\nFor multiple scripts, do not merge all scripts into one generation request. Create a numbered batch manifest: each item must include concept title, duration, ratio, reference image, full voiceover, shot plan, text-overlay limits, and success criteria. For LibTV, each script must be submitted as a separate video task. Do not pack several scripts into one prompt.\n\nFor multiple `商业广告/TVC` scripts, use serial batch execution by default: submit one TVC, wait for its storyboard images and final video to complete, record the result, then submit the next TVC. Do not submit multiple storyboard-first TVC jobs into the same video-tool session at once.\n\nFor `商业广告/TVC` only, use a storyboard-first handoff by default: generate 5 key 9:16 storyboard images first, then use those storyboard images together as reference images for one complete video. After storyboard images are generated, continue to final video automatically unless the user explicitly asked to review/approve storyboards first. See `references/video-handoff.md`.\n\n## References\n\n- Use `references/direction-playbook.md` for direction-specific structures when research is unavailable or when you need a baseline.\n- Use `references/output-template.md` for the default script output format.\n- Use `references/research-guide.md` for safe research behavior and source handling.\n- Use `references/video-handoff.md` when the user wants to generate one or many videos from the scripts.\n\nFile v1.0.8:_meta.json\n\n{\n  \"ownerId\": \"kn79q6d8fg01kce4chmzrkvmf986s4zr\",\n  \"slug\": \"product-video-script-skill\",\n  \"version\": \"1.0.8\",\n  \"publishedAt\": 1779130109581\n}\n\nFile v1.0.8:references/direction-playbook.md\n\n# Direction Playbook\n\nUse these patterns when live research is unavailable or as a baseline before adapting to research.\n\n## 带货口播\n\nBest for products with clear appearance, price/activity appeal, or giftability.\n\nStructure:\n1. Hook: name the buying scenario or pain point.\n2. Product close-up.\n3. One fast use/demo moment.\n4. Emotional or practical payoff.\n5. Offer/occasion CTA.\n\nTone: direct, fast, conversational.\n\n## 场景种草\n\nBest for lifestyle products, beauty, food, home, fashion, gifts.\n\nStructure:\n1. Everyday scene.\n2. Product appears naturally.\n3. Before/after mood shift.\n4. Detail close-up.\n5. Soft recommendation.\n\nTone: lived-in, aspirational but not too polished.\n\n## 促销活动\n\nBest for 618, 双11, Black Friday, launch deals, bundles.\n\nUse this direction when the user explicitly chooses促销活动 or mentions a campaign/deal context. Promotion language is allowed here; outside this direction, keep scripts evergreen unless the user requested a campaign.\n\nStructure:\n1. Urgency hook.\n2. One-sentence product reason.\n3. Best use/gift scenario.\n4. Deal reminder.\n5. Simple CTA.\n\nTone: energetic, clear, no overclaiming.\n\n## 测评对比\n\nBest for products with visible effects, durability, texture, convenience, or price/value contrast.\n\nStructure:\n1. Skeptical hook.\n2. Test setup.\n3. Product demo.\n4. Result close-up.\n5. Verdict.\n\nTone: believable, slightly critical, evidence-first.\n\n## 海外 TikTok 风格\n\nBest for US/EU TikTok Shop style ads, beauty, gadgets, fashion, food, novelty products.\n\nStructure:\n1. Native UGC hook.\n2. Unexpected reaction or weird twist.\n3. Fast demo.\n4. Meme-like payoff.\n5. Deal/CTA.\n\nTone: casual, funny, self-aware, not too salesy.\n\nAvoid heavy Chinese shopping-festival language unless the campaign specifically targets Chinese-speaking users.\n\n## 直播间真人带货\n\nBest for products that need high trust, host demonstration, or urgency.\n\nStructure:\n1. Host calls attention.\n2. Product in hand near camera.\n3. 2-3 selling points.\n4. Use/gift scenario.\n5. Limited-time close.\n\nTone: warm, energetic, real-time.\n\n## 商业广告/TVC\n\nBest for premium products, brand assets, gift boxes, hero products.\n\nStructure:\n1. Visual hero shot.\n2. Lifestyle aspiration.\n3. Product detail montage.\n4. Emotional payoff.\n5. Brand/activity end frame.\n\nTone: polished, sensory, cinematic.\n\nVideo-generation workflow, only after the user explicitly chooses `直接生成视频`: storyboard first. Ask the video tool to generate 5 key visual frames, then use those 5 frames as multi-reference images to generate the final 15s video.\n\nFile v1.0.8:references/output-template.md\n\n# Output Template\n\nUse this structure by default. Keep it concise.\n\n## Product Diagnosis\n\n- Category:\n- Visible traits:\n- Likely buyer/use case:\n- Best script angle:\n- Risks/uncertainties:\n- Campaign context: if requested, name the campaign; otherwise write `无明确活动，按长期通用脚本处理`.\n\n## Direction Options\n\nOnly include this section when the user has not chosen a direction.\n\n1. 带货口播 - ...\n2. 场景种草 - ...\n3. 促销活动 - only if the user wants an event/deal angle\n4. 测评对比 - ...\n5. 海外 TikTok 风格 - ...\n6. 直播间真人带货 - ...\n7. 商业广告/TVC - ...\n\n## Research Summary\n\nUse this section when research was performed.\n\n- Sources checked:\n- Reusable patterns:\n- What to copy structurally:\n- What not to copy:\n\nIf research was not possible, write: `未联网版本：以下脚本基于通用平台内容规律与产品图分析生成。`\n\n## Recommended Script\n\n- Title:\n- Duration:\n- Ratio:\n- Platform/style:\n- Why it fits:\n\nWrite the script as a continuous sequence, not a timestamp table. Do not use rows such as `0-2s`, `2-5s`, or numbered clip segments.\n\n- Opening hook:\n- Visual flow:\n- Voiceover:\n- On-screen text:\n- Closing CTA:\n\n## Full Voiceover\n\nWrite the full spoken script in one paragraph.\n\n## Video Handoff Notes\n\nWrite concise handoff notes for a later video generation step. These notes are not permission to generate video and are not a replacement prompt. When the user later asks to generate video, preserve the confirmed script as the source of truth and pass these notes as constraints.\n\nInclude:\n- product reference notes\n- for non-TVC directions, explicitly say to use the product image as the reference image and directly generate one complete 15s 9:16 video\n- for non-TVC directions, explicitly forbid storyboard images, character design images, separate clips, timestamp-based generation, and storyboard confirmation\n- explicitly say to generate sound/voiceover natively inside the video generation request; do not create separate TTS audio or compose audio and video later\n- camera style\n- model/hand/action notes\n- overall pacing only, without timestamp segments\n- ratio and duration\n- voiceover language\n- text overlay constraints\n\n## Variants\n\nOptionally provide 2-3 hook or CTA variants.\n\n## Next Actions\n\nUse short user-facing labels. Do not expose backend workflow details in option names.\n\nMandatory stop rule:\n- After outputting a script, stop here and wait for the user's next selection.\n- Do not call LibTV or any video generation tool from the same response that writes the script.\n- A user selecting a direction means \"write a script in this direction\"; it is not permission to generate the video.\n- Only start video generation after the user explicitly selects `直接生成视频`, `选其中一条去生成视频`, `把这几条全部交给 LibTV 批量生成`, or clearly asks to generate videos.\n\nAfter a single script, use exactly:\n\n1. 直接生成视频\n2. 重写一版（可提要求）\n3. 多给几个脚本/创意方向\n4. 改成其他视频方向（口播/种草/促销/测评/TikTok/直播/TVC）\n\nIf the chosen direction is商业广告/TVC, still write `直接生成视频`; the storyboard-first workflow belongs in the internal video handoff, not the user-facing option text.\n\nFor every non-TVC direction, `直接生成视频` means: use the product image as the reference image, then directly generate one complete 15s 9:16 video. Do not expose or create a storyboard-first workflow.\n\nAfter multiple scripts or creative directions, use exactly:\n\n1. 选其中一条去生成视频\n2. 把这几条全部交给 LibTV 批量生成\n3. 继续重写更多版本\n4. 先优化其中某一条脚本\n\nFile v1.0.8:references/research-guide.md\n\n# Research Guide\n\nUse research only when the agent has tools that can access current public sources.\n\n## Search Targets\n\nPrefer official or platform-native sources:\n- TikTok Creative Center\n- TikTok Shop / marketplace pages\n- Meta Ads Library or platform ad libraries when relevant\n- YouTube/TikTok public pages when accessible\n- Brand/product official pages for factual claims\n- Recent credible trend reports when platform pages are incomplete\n\n## Query Pattern\n\nCombine:\n- category: lipstick, sunscreen, snack, coffee, gadget\n- platform: TikTok US, Douyin, Xiaohongshu\n- commerce intent: shop, haul, review, deal, top ads\n- recency: last 7 days, this week, 2026\n\n## Safe Claims\n\nDo:\n- Summarize visible content patterns.\n- Cite links used.\n- Say when exact likes/ranking cannot be verified.\n- Use “in the researched sample” instead of “the whole platform” when coverage is incomplete.\n\nDo not:\n- Invent creators, likes, rankings, or video links.\n- Claim “guaranteed viral” or “guaranteed sales”.\n- Copy a creator’s exact script line-by-line. Replicate structure, pacing, and function instead.\n\n## Research Output\n\nFor 3-5 references, capture:\n- hook type\n- opening frame\n- product proof/demo\n- pacing\n- text style\n- CTA\n- why it works\n\nFile v1.0.8:references/video-handoff.md\n\n# Video Handoff\n\nUse this when scripts are handed to a video generation skill/tool.\n\nEntry condition:\n- Use this file only after the user explicitly asks to generate video.\n- Do not use this file immediately after the user merely selects a script direction.\n- Script approval/selection and storyboard approval are different. A script must be shown first; storyboard review can be skipped only inside the video-generation phase.\n- Preserve the confirmed script as the source of truth. Do not rewrite, expand, translate, or optimize it into a new creative prompt during handoff.\n\nDefault audio route:\n- Generate native audio/voiceover inside the video generation request.\n- Put the full voiceover and audio direction directly in the video prompt.\n- Do not create separate TTS audio.\n- Do not create a silent video and compose it with audio later.\n- Do not use a `video + TTS + compose` workflow unless the user explicitly requests separate voiceover production.\n- The final deliverable must be one complete video with audible sound/voiceover.\n\n## Single Video Handoff\n\nUse this for all non-TVC directions, including 带货口播, 场景种草, 促销活动, 测评对比, 海外 TikTok 风格, and 直播间真人带货.\n\nCore rule:\n- Use the product image as the reference image.\n- Directly submit one complete video generation task for the full 15s video.\n- Generate the video with native audio/voiceover directly.\n- Do not generate storyboard images, character design images, or separate video clips.\n- Do not split the script into timestamp segments, shot segments, or clip segments.\n- Do not generate separate TTS audio or use later audio-video composition.\n- Do not add a storyboard review/confirmation step.\n\nInclude:\n- first sentence with fixed generation target: `请基于这张产品参考图，直接生成一条15秒、9:16竖屏、带声音/口播的完整短视频。`\n- title\n- selected direction\n- duration and ratio\n- reference image URLs or local paths\n- context isolation line\n- product appearance constraints\n- continuous visual flow, without timestamps or clip segments\n- full voiceover\n- native audio instruction\n- on-screen text limits\n- avoid list\n- success criteria\n\nRequired non-TVC constraint line:\n\n`不要先生成分镜图、角色设计图或分段视频，也不要等待用户确认分镜。不要按镜头、时间段或脚本段落拆成多个视频片段，不要多段生成后合并。请一次性直接输出完整成片。`\n\nRequired audio constraint line:\n\n`请在视频生成时直接生成声音/口播，不要单独生成TTS音频，不要先生成无声视频再后期合成。最终交付必须是一条带声音的完整视频。`\n\n## Batch Video Handoff\n\nFor multiple videos, create one manifest item per video. Keep each item self-contained so a downstream video skill can submit separate tasks without reading prior items.\n\nFor LibTV, one script equals one video task. Do not merge multiple scripts into one prompt or ask LibTV to choose among concepts.\n\nIf prior tasks in the same agent/session used another product, create or switch to a clean video-tool project/canvas before uploading the new product reference image. For LibTV, call `change_project.py`, then upload the product image, then submit the generation task. If prior tasks used another campaign or language, recommend a clean project/session before generation.\n\nTemplate:\n\n```markdown\n## Batch Manifest\n\n### Video 1: <title>\n- Context isolation: This is a new standalone product task. Do not inherit any previous product, campaign, 618, 双11, price, or activity context unless repeated in this prompt.\n- Direction:\n- Duration:\n- Ratio:\n- Reference image:\n- Product constraints:\n- Voiceover:\n- Continuous visual flow:\n- On-screen text:\n- Avoid:\n- Success criteria:\n\n### Video 2: <title>\n...\n```\n\n## Generation Strategy\n\n- Treat each script variant as a separate video task.\n- For LibTV, submit scripts sequentially or as separate tasks; do not pack multiple scripts into one prompt.\n- Each video task must generate one complete 15s video. Do not split a single script into several clip tasks or merge generated clips afterward.\n- Require a new project/canvas when changing products. For LibTV, call `change_project.py` before uploading the new product reference image.\n- Prefer a new session when changing language, platform, or removing a previously used campaign context.\n- If the tool has unknown concurrency limits, avoid promising a batch size. Say that batching means preparing multiple self-contained tasks, not guaranteeing simultaneous execution.\n- For AI video tools that often garble text, prefer no text or only 1-3 short overlay phrases. Put detailed selling points in voiceover.\n- For sound/voiceover, use native audio in the video generation request. Do not split into separate TTS and later composition.\n- For product-reference fidelity, include exact visible traits from the product image in every item.\n- If campaign language is not wanted, repeat the avoid list in every item: no 618, no 双11, no限时促销, no价格贴片, no shopping festival language.\n\n## Commercial/TVC Storyboard-First Handoff\n\nUse this only when the selected direction is `商业广告/TVC`. Do not use this workflow for 带货口播, 场景种草, 促销活动, 测评对比, 海外 TikTok 风格, or 直播间真人带货.\n\nWorkflow:\n1. Generate 5 key 9:16 storyboard images.\n2. Check that each storyboard preserves product identity and has no unwanted text. This is an internal check, not a required user confirmation step.\n3. Use the 5 storyboard images together as reference images for one complete 15s 9:16 video.\n4. Continue from storyboard images to final video automatically unless the user explicitly asked to review/approve storyboard images first.\n\nStoryboard slots:\n- Frame 1: hero product establishing shot\n- Frame 2: lifestyle/user scene\n- Frame 3: product texture/detail/macro\n- Frame 4: emotional payoff or use result\n- Frame 5: final product/brand end frame\n\nHandoff prompt must include:\n- first sentence with fixed generation target: `请生成一条15秒、9:16竖屏、带声音/口播的商业广告/TVC视频。`\n- original product image\n- 5 storyboard descriptions\n- instruction to create storyboard images first\n- instruction to use all storyboard images together as references for final video\n- instruction to continue to final video automatically after storyboard images unless the user explicitly requested storyboard approval\n- instruction to generate native audio/voiceover inside the final video request, not as separate TTS plus composition\n- minimal or no on-screen text unless the user explicitly wants text\n- full voiceover or music direction\n\n## Commercial/TVC Batch Execution\n\nWhen the user chooses to generate multiple TVC scripts, keep the user-facing action as `把这几条全部交给 LibTV 批量生成`, but execute internally as a serial batch.\n\nRules:\n- Use unique IDs: `TVC-01`, `TVC-02`, `TVC-03`.\n- Submit only one TVC storyboard-first job at a time.\n- The first sentence of every submitted TVC prompt must include: `15秒、9:16竖屏、带声音/口播`.\n- Every submitted TVC prompt must require native audio/voiceover in the final video and must not request separate TTS plus composition.\n- Wait until that TVC has final video URL(s), or reaches a clear failure/timeout state, before submitting the next.\n- Prefer a new video-tool session for each TVC when the tool is conversational or likely to merge multiple tasks.\n- Record results before moving on: storyboard status, final video URL, failure reason, or timeout.\n- Do not pack several TVC concepts into one prompt.\n\nTimeout guidance:\n- If storyboard images are created but final video is not complete after a reasonable wait, report that state and continue only if the user asked for continued autonomous batching.\n- If the tool asks for confirmation because it sees multiple tasks, confirm only for the current TVC, not the whole batch.\n\n## Parameter Loss Check\n\nIf a generated video returns with the wrong duration, ratio, or no sound, first inspect the actual message sent to the video tool. The script output may contain the correct values, but the handoff prompt must also explicitly include:\n- 15秒\n- 9:16竖屏\n- 带声音/口播\n- 直接生成声音/口播，不要单独TTS或后期合成\n\nIf any of these are missing from the actual handoff prompt, regenerate with a corrected prompt before changing the creative script.\n\n## Regeneration Strategy\n\nWhen the user is unhappy with a script, ask for the failure type only if it is unclear:\n- hook weak\n- too salesy\n- not native to platform\n- product selling points inaccurate\n- too generic\n- tone mismatch\n- needs more drama/funniness/premium feeling\n\nThen regenerate with one of these changes:\n- new hook, same structure\n- same hook, different scenario\n- different direction\n- more restrained text overlay\n- more product close-ups\n- stronger CTA\n\nFile v1.0.8:agents/openai.yaml\n\ndisplay_name: Product Video Script\nshort_description: Turn product images into ecommerce video scripts and AI video prompts.\ndefault_prompt: Upload product images and optional selling points, then choose a video direction such as口播带货、场景种草、促销活动、测评对比、海外 TikTok 风格、直播间带货 or商业广告.\n\nArchive v1.0.7: 7 files, 12797 bytes\n\nFiles: agents/openai.yaml (344b), references/direction-playbook.md (2591b), references/output-template.md (3705b), references/research-guide.md (1255b), references/video-handoff.md (8922b), SKILL.md (8690b), _meta.json (145b)\n\nFile v1.0.7:SKILL.md\n\n---\nname: product-video-script\ndescription: Generate ecommerce product video scripts from one or more product images and optional selling points. Use when the user wants带货视频脚本, 产品视频脚本, 短视频脚本, TikTok/抖音/小红书/直播间/618/双11 product content ideas, or wants to choose directions such as带货口播、场景种草、促销活动、测评对比、海外 TikTok 风格、直播间带货、商业广告/TVC before producing scripts.\n---\n\n# Product Video Script\n\nTurn product images and optional selling points into platform-ready short-video scripts and video handoff notes.\n\n## Core Rule\n\nUse **research-enhanced generation when possible**, but never make research a hard dependency.\n\n- If the user asks for recent, trending, top-liked, platform-specific, or competitor-based scripts and the agent has browsing/search tools, research first and cite sources.\n- If browsing/search is unavailable, blocked, or the user wants speed, use the fallback playbooks in `references/direction-playbook.md` and clearly label the result as `未联网版本`.\n- Do not invent exact rankings, likes, creator names, or video URLs. Say when exact metrics could not be verified.\n\n## Workflow\n\nState boundary:\n- Selecting a direction only authorizes script writing. It is not permission to generate a video.\n- After writing any script, stop and show `Next Actions`. Do not call LibTV or any video generation tool yet.\n- Enter video generation only after the user explicitly selects `直接生成视频`, `选其中一条去生成视频`, `把这几条全部交给 LibTV 批量生成`, or otherwise clearly asks to generate videos.\n\n1. **Read the product input**\n   - Inspect all provided images when image understanding is available.\n   - Extract visible product category, appearance, use scene, likely audience, giftability, price/activity clues, and visual risks.\n   - Incorporate user-provided selling points. If selling points conflict with the image, mention the uncertainty.\n   - Campaign language is opt-in, not forbidden. Use 618, 双11, Black Friday, Christmas, summer, back-to-school, discounts, limited-time offers, or similar campaign framing only when the user explicitly requests it, selects a promotion direction, or the product image clearly contains that campaign. Otherwise keep the script evergreen.\n\n2. **Offer directions if the user has not chosen one**\n   Present 5-7 concise choices and wait for the user:\n   - 带货口播\n   - 场景种草\n   - 促销活动（only when the user wants a campaign/deal angle）\n   - 测评对比\n   - 海外 TikTok 风格\n   - 直播间真人带货\n   - 商业广告/TVC\n\n3. **Research or fallback**\n   - For research mode, search the chosen category + platform + time window + commerce intent.\n   - Summarize reusable patterns: hook, pacing, camera style, proof, offer, CTA.\n   - For fallback mode, read `references/direction-playbook.md`.\n\n4. **Write the script**\n   Use `references/output-template.md` unless the user requests another format.\n   Default duration is 15 seconds and default ratio is 9:16 when not specified.\n   Include:\n   - concept title\n   - why this direction fits the product\n   - continuous script structure without timestamp tables\n   - voiceover\n   - continuous visual flow\n   - on-screen text\n   - visual/reference notes\n   - optional video handoff notes\n\n5. **Offer next actions**\n   After delivering a script, always stop and show next actions:\n   - After one script, use the single-script next actions from `references/output-template.md`.\n   - After multiple scripts, use the multi-script next actions from `references/output-template.md`.\n   - For `商业广告/TVC`, use storyboard-first as the internal video handoff workflow, but keep the user-facing action as `直接生成视频`.\n   - For every non-TVC direction, `直接生成视频` means: use the product image as a reference image and directly submit one complete 15s 9:16 video task. Do not create storyboard images, character design images, separate video clips, or a storyboard-confirmation checkpoint.\n   - Do not execute any video generation action in this step unless the user's current message already explicitly asks to generate the video, not merely choose a direction.\n\n6. **Quality checks**\n   - Hook appears in the first 1-3 seconds.\n   - Each claim is supportable from visible product traits or user-provided selling points.\n   - Campaign context is explicit. If requested, use it confidently; if not requested, keep the script evergreen and do not add shopping-festival language.\n   - On-screen text is short enough for AI video generation.\n   - Avoid dense subtitles, tiny price tables, and complex text overlays when the next step is AI video generation.\n   - Keep platform tone natural: TikTok should feel native and slightly messy; commercial ads can be more polished.\n\n## When Coordinating With Video Skills\n\nOnly coordinate with a video skill/tool after the user explicitly asks to generate video. A direction choice such as `1`, `场景种草`, or `TVC` means \"write the script in this direction\"; it does not mean \"start LibTV generation\".\n\nIf the user asks to generate the video after the script, pass the confirmed script and reference-image notes to the video generation skill/tool. Preserve the selected script as the source of truth. Do not rewrite, expand, or optimize it into a new prompt during handoff. When image-to-video tools have trouble with text, recommend a no-text or minimal-text version and rely on voiceover.\n\nDefault audio route: when the user wants sound or voiceover, ask the video model/LibTV to generate one complete video with native audio/voiceover directly. Do not create separate TTS audio, do not create a silent video, and do not use a later audio-video compose workflow unless the user explicitly requests separate voiceover production.\n\nWhen handing off any non-TVC script to a video generation skill/tool, use the product image as the reference image and directly generate the finished video. The first sentence must explicitly state the fixed generation target unless the user explicitly requests a different duration, ratio, or audio mode: `请基于这张产品参考图，直接生成一条15秒、9:16竖屏、带声音/口播的完整短视频。` Do not rely on the earlier script table to carry duration, ratio, audio settings, or reference-image use.\n\nFor non-TVC handoff prompts, add this explicit constraint: `不要先生成分镜图、角色设计图或分段视频，也不要等待用户确认分镜。不要按镜头、时间段或脚本段落拆成多个视频片段，不要多段生成后合并。请一次性直接输出完整成片。`\n\nWhen the product changes from prior work, require a clean video-tool project/canvas before uploading the new product reference image. For LibTV, this means calling `change_project.py` first, then `upload_file.py`, then `create_session.py`. When only platform, campaign context, or language changes, recommend a clean project/session. Add an explicit isolation line to the handoff prompt: `This is a new standalone product task. Do not inherit any previous product, campaign, 618, 双11, price, or activity context unless repeated in this prompt.`\n\nFor multiple scripts, do not merge all scripts into one generation request. Create a numbered batch manifest: each item must include concept title, duration, ratio, reference image, full voiceover, shot plan, text-overlay limits, and success criteria. For LibTV, each script must be submitted as a separate video task. Do not pack several scripts into one prompt.\n\nFor multiple `商业广告/TVC` scripts, use serial batch execution by default: submit one TVC, wait for its storyboard images and final video to complete, record the result, then submit the next TVC. Do not submit multiple storyboard-first TVC jobs into the same video-tool session at once.\n\nFor `商业广告/TVC` only, use a storyboard-first handoff by default: generate 5 key 9:16 storyboard images first, then use those storyboard images together as reference images for one complete video. After storyboard images are generated, continue to final video automatically unless the user explicitly asked to review/approve storyboards first. See `references/video-handoff.md`.\n\n## References\n\n- Use `references/direction-playbook.md` for direction-specific structures when research is unavailable or when you need a baseline.\n- Use `references/output-template.md` for the default script output format.\n- Use `references/research-guide.md` for safe research behavior and source handling.\n- Use `references/video-handoff.md` when the user wants to generate one or many videos from the scripts.\n\nFile v1.0.7:_meta.json\n\n{\n  \"ownerId\": \"kn79q6d8fg01kce4chmzrkvmf986s4zr\",\n  \"slug\": \"product-video-script-skill\",\n  \"version\": \"1.0.7\",\n  \"publishedAt\": 1779129193049\n}\n\nFile v1.0.7:references/direction-playbook.md\n\n# Direction Playbook\n\nUse these patterns when live research is unavailable or as a baseline before adapting to research.\n\n## 带货口播\n\nBest for products with clear appearance, price/activity appeal, or giftability.\n\nStructure:\n1. Hook: name the buying scenario or pain point.\n2. Product close-up.\n3. One fast use/demo moment.\n4. Emotional or practical payoff.\n5. Offer/occasion CTA.\n\nTone: direct, fast, conversational.\n\n## 场景种草\n\nBest for lifestyle products, beauty, food, home, fashion, gifts.\n\nStructure:\n1. Everyday scene.\n2. Product appears naturally.\n3. Before/after mood shift.\n4. Detail close-up.\n5. Soft recommendation.\n\nTone: lived-in, aspirational but not too polished.\n\n## 促销活动\n\nBest for 618, 双11, Black Friday, launch deals, bundles.\n\nUse this direction when the user explicitly chooses促销活动 or mentions a campaign/deal context. Promotion language is allowed here; outside this direction, keep scripts evergreen unless the user requested a campaign.\n\nStructure:\n1. Urgency hook.\n2. One-sentence product reason.\n3. Best use/gift scenario.\n4. Deal reminder.\n5. Simple CTA.\n\nTone: energetic, clear, no overclaiming.\n\n## 测评对比\n\nBest for products with visible effects, durability, texture, convenience, or price/value contrast.\n\nStructure:\n1. Skeptical hook.\n2. Test setup.\n3. Product demo.\n4. Result close-up.\n5. Verdict.\n\nTone: believable, slightly critical, evidence-first.\n\n## 海外 TikTok 风格\n\nBest for US/EU TikTok Shop style ads, beauty, gadgets, fashion, food, novelty products.\n\nStructure:\n1. Native UGC hook.\n2. Unexpected reaction or weird twist.\n3. Fast demo.\n4. Meme-like payoff.\n5. Deal/CTA.\n\nTone: casual, funny, self-aware, not too salesy.\n\nAvoid heavy Chinese shopping-festival language unless the campaign specifically targets Chinese-speaking users.\n\n## 直播间真人带货\n\nBest for products that need high trust, host demonstration, or urgency.\n\nStructure:\n1. Host calls attention.\n2. Product in hand near camera.\n3. 2-3 selling points.\n4. Use/gift scenario.\n5. Limited-time close.\n\nTone: warm, energetic, real-time.\n\n## 商业广告/TVC\n\nBest for premium products, brand assets, gift boxes, hero products.\n\nStructure:\n1. Visual hero shot.\n2. Lifestyle aspiration.\n3. Product detail montage.\n4. Emotional payoff.\n5. Brand/activity end frame.\n\nTone: polished, sensory, cinematic.\n\nVideo-generation workflow, only after the user explicitly chooses `直接生成视频`: storyboard first. Ask the video tool to generate 5 key visual frames, then use those 5 frames as multi-reference images to generate the final 15s video.\n\nFile v1.0.7:references/output-template.md\n\n# Output Template\n\nUse this structure by default. Keep it concise.\n\n## Product Diagnosis\n\n- Category:\n- Visible traits:\n- Likely buyer/use case:\n- Best script angle:\n- Risks/uncertainties:\n- Campaign context: if requested, name the campaign; otherwise write `无明确活动，按长期通用脚本处理`.\n\n## Direction Options\n\nOnly include this section when the user has not chosen a direction.\n\n1. 带货口播 - ...\n2. 场景种草 - ...\n3. 促销活动 - only if the user wants an event/deal angle\n4. 测评对比 - ...\n5. 海外 TikTok 风格 - ...\n6. 直播间真人带货 - ...\n7. 商业广告/TVC - ...\n\n## Research Summary\n\nUse this section when research was performed.\n\n- Sources checked:\n- Reusable patterns:\n- What to copy structurally:\n- What not to copy:\n\nIf research was not possible, write: `未联网版本：以下脚本基于通用平台内容规律与产品图分析生成。`\n\n## Recommended Script\n\n- Title:\n- Duration:\n- Ratio:\n- Platform/style:\n- Why it fits:\n\nWrite the script as a continuous sequence, not a timestamp table. Do not use rows such as `0-2s`, `2-5s`, or numbered clip segments.\n\n- Opening hook:\n- Visual flow:\n- Voiceover:\n- On-screen text:\n- Closing CTA:\n\n## Full Voiceover\n\nWrite the full spoken script in one paragraph.\n\n## Video Handoff Notes\n\nWrite concise handoff notes for a later video generation step. These notes are not permission to generate video and are not a replacement prompt. When the user later asks to generate video, preserve the confirmed script as the source of truth and pass these notes as constraints.\n\nInclude:\n- product reference notes\n- for non-TVC directions, explicitly say to use the product image as the reference image and directly generate one complete 15s 9:16 video\n- for non-TVC directions, explicitly forbid storyboard images, character design images, separate clips, timestamp-based generation, and storyboard confirmation\n- explicitly say to generate sound/voiceover natively inside the video generation request; do not create separate TTS audio or compose audio and video later\n- camera style\n- model/hand/action notes\n- overall pacing only, without timestamp segments\n- ratio and duration\n- voiceover language\n- text overlay constraints\n\n## Variants\n\nOptionally provide 2-3 hook or CTA variants.\n\n## Next Actions\n\nUse short user-facing labels. Do not expose backend workflow details in option names.\n\nMandatory stop rule:\n- After outputting a script, stop here and wait for the user's next selection.\n- Do not call LibTV or any video generation tool from the same response that writes the script.\n- A user selecting a direction means \"write a script in this direction\"; it is not permission to generate the video.\n- Only start video generation after the user explicitly selects `直接生成视频`, `选其中一条去生成视频`, `把这几条全部交给 LibTV 批量生成`, or clearly asks to generate videos.\n\nAfter a single script, use exactly:\n\n1. 直接生成视频\n2. 重写一版（可提要求）\n3. 多给几个脚本/创意方向\n4. 改成其他视频方向（口播/种草/促销/测评/TikTok/直播/TVC）\n\nIf the chosen direction is商业广告/TVC, still write `直接生成视频`; the storyboard-first workflow belongs in the internal video handoff, not the user-facing option text.\n\nFor every non-TVC direction, `直接生成视频` means: use the product image as the reference image, then directly generate one complete 15s 9:16 video. Do not expose or create a storyboard-first workflow.\n\nAfter multiple scripts or creative directions, use exactly:\n\n1. 选其中一条去生成视频\n2. 把这几条全部交给 LibTV 批量生成\n3. 继续重写更多版本\n4. 先优化其中某一条脚本\n\nFile v1.0.7:references/research-guide.md\n\n# Research Guide\n\nUse research only when the agent has tools that can access current public sources.\n\n## Search Targets\n\nPrefer official or platform-native sources:\n- TikTok Creative Center\n- TikTok Shop / marketplace pages\n- Meta Ads Library or platform ad libraries when relevant\n- YouTube/TikTok public pages when accessible\n- Brand/product official pages for factual claims\n- Recent credible trend reports when platform pages are incomplete\n\n## Query Pattern\n\nCombine:\n- category: lipstick, sunscreen, snack, coffee, gadget\n- platform: TikTok US, Douyin, Xiaohongshu\n- commerce intent: shop, haul, review, deal, top ads\n- recency: last 7 days, this week, 2026\n\n## Safe Claims\n\nDo:\n- Summarize visible content patterns.\n- Cite links used.\n- Say when exact likes/ranking cannot be verified.\n- Use “in the researched sample” instead of “the whole platform” when coverage is incomplete.\n\nDo not:\n- Invent creators, likes, rankings, or video links.\n- Claim “guaranteed viral” or “guaranteed sales”.\n- Copy a creator’s exact script line-by-line. Replicate structure, pacing, and function instead.\n\n## Research Output\n\nFor 3-5 references, capture:\n- hook type\n- opening frame\n- product proof/demo\n- pacing\n- text style\n- CTA\n- why it works\n\nFile v1.0.7:references/video-handoff.md\n\n# Video Handoff\n\nUse this when scripts are handed to a video generation skill/tool.\n\nEntry condition:\n- Use this file only after the user explicitly asks to generate video.\n- Do not use this file immediately after the user merely selects a script direction.\n- Script approval/selection and storyboard approval are different. A script must be shown first; storyboard review can be skipped only inside the video-generation phase.\n- Preserve the confirmed script as the source of truth. Do not rewrite, expand, translate, or optimize it into a new creative prompt during handoff.\n\nDefault audio route:\n- Generate native audio/voiceover inside the video generation request.\n- Put the full voiceover and audio direction directly in the video prompt.\n- Do not create separate TTS audio.\n- Do not create a silent video and compose it with audio later.\n- Do not use a `video + TTS + compose` workflow unless the user explicitly requests separate voiceover production.\n- The final deliverable must be one complete video with audible sound/voiceover.\n\n## Single Video Handoff\n\nUse this for all non-TVC directions, including 带货口播, 场景种草, 促销活动, 测评对比, 海外 TikTok 风格, and 直播间真人带货.\n\nCore rule:\n- Use the product image as the reference image.\n- Directly submit one complete video generation task for the full 15s video.\n- Generate the video with native audio/voiceover directly.\n- Do not generate storyboard images, character design images, or separate video clips.\n- Do not split the script into timestamp segments, shot segments, or clip segments.\n- Do not generate separate TTS audio or use later audio-video composition.\n- Do not add a storyboard review/confirmation step.\n\nInclude:\n- first sentence with fixed generation target: `请基于这张产品参考图，直接生成一条15秒、9:16竖屏、带声音/口播的完整短视频。`\n- title\n- selected direction\n- duration and ratio\n- reference image URLs or local paths\n- context isolation line\n- product appearance constraints\n- continuous visual flow, without timestamps or clip segments\n- full voiceover\n- native audio instruction\n- on-screen text limits\n- avoid list\n- success criteria\n\nRequired non-TVC constraint line:\n\n`不要先生成分镜图、角色设计图或分段视频，也不要等待用户确认分镜。不要按镜头、时间段或脚本段落拆成多个视频片段，不要多段生成后合并。请一次性直接输出完整成片。`\n\nRequired audio constraint line:\n\n`请在视频生成时直接生成声音/口播，不要单独生成TTS音频，不要先生成无声视频再后期合成。最终交付必须是一条带声音的完整视频。`\n\n## Batch Video Handoff\n\nFor multiple videos, create one manifest item per video. Keep each item self-contained so a downstream video skill can submit separate tasks without reading prior items.\n\nFor LibTV, one script equals one video task. Do not merge multiple scripts into one prompt or ask LibTV to choose among concepts.\n\nIf prior tasks in the same agent/session used another product, create or switch to a clean video-tool project/canvas before uploading the new product reference image. For LibTV, call `change_project.py`, then upload the product image, then submit the generation task. If prior tasks used another campaign or language, recommend a clean project/session before generation.\n\nTemplate:\n\n```markdown\n## Batch Manifest\n\n### Video 1: <title>\n- Context isolation: This is a new standalone product task. Do not inherit any previous product, campaign, 618, 双11, price, or activity context unless repeated in this prompt.\n- Direction:\n- Duration:\n- Ratio:\n- Reference image:\n- Product constraints:\n- Voiceover:\n- Continuous visual flow:\n- On-screen text:\n- Avoid:\n- Success criteria:\n\n### Video 2: <title>\n...\n```\n\n## Generation Strategy\n\n- Treat each script variant as a separate video task.\n- For LibTV, submit scripts sequentially or as separate tasks; do not pack multiple scripts into one prompt.\n- Each video task must generate one complete 15s video. Do not split a single script into several clip tasks or merge generated clips afterward.\n- Require a new project/canvas when changing products. For LibTV, call `change_project.py` before uploading the new product reference image.\n- Prefer a new session when changing language, platform, or removing a previously used campaign context.\n- If the tool has unknown concurrency limits, avoid promising a batch size. Say that batching means preparing multiple self-contained tasks, not guaranteeing simultaneous execution.\n- For AI video tools that often garble text, prefer no text or only 1-3 short overlay phrases. Put detailed selling points in voiceover.\n- For sound/voiceover, use native audio in the video generation request. Do not split into separate TTS and later composition.\n- For product-reference fidelity, include exact visible traits from the product image in every item.\n- If campaign language is not wanted, repeat the avoid list in every item: no 618, no 双11, no限时促销, no价格贴片, no shopping festival language.\n\n## Commercial/TVC Storyboard-First Handoff\n\nUse this only when the selected direction is `商业广告/TVC`. Do not use this workflow for 带货口播, 场景种草, 促销活动, 测评对比, 海外 TikTok 风格, or 直播间真人带货.\n\nWorkflow:\n1. Generate 5 key 9:16 storyboard images.\n2. Check that each storyboard preserves product identity and has no unwanted text. This is an internal check, not a required user confirmation step.\n3. Use the 5 storyboard images together as reference images for one complete 15s 9:16 video.\n4. Continue from storyboard images to final video automatically unless the user explicitly asked to review/approve storyboard images first.\n\nStoryboard slots:\n- Frame 1: hero product establishing shot\n- Frame 2: lifestyle/user scene\n- Frame 3: product texture/detail/macro\n- Frame 4: emotional payoff or use result\n- Frame 5: final product/brand end frame\n\nHandoff prompt must include:\n- first sentence with fixed generation target: `请生成一条15秒、9:16竖屏、带声音/口播的商业广告/TVC视频。`\n- original product image\n- 5 storyboard descriptions\n- instruction to create storyboard images first\n- instruction to use all storyboard images together as references for final video\n- instruction to continue to final video automatically after storyboard images unless the user explicitly requested storyboard approval\n- instruction to generate native audio/voiceover inside the final video request, not as separate TTS plus composition\n- minimal or no on-screen text unless the user explicitly wants text\n- full voiceover or music direction\n\n## Commercial/TVC Batch Execution\n\nWhen the user chooses to generate multiple TVC scripts, keep the user-facing action as `把这几条全部交给 LibTV 批量生成`, but execute internally as a serial batch.\n\nRules:\n- Use unique IDs: `TVC-01`, `TVC-02`, `TVC-03`.\n- Submit only one TVC storyboard-first job at a time.\n- The first sentence of every submitted TVC prompt must include: `15秒、9:16竖屏、带声音/口播`.\n- Every submitted TVC prompt must require native audio/voiceover in the final video and must not request separate TTS plus composition.\n- Wait until that TVC has final video URL(s), or reaches a clear failure/timeout state, before submitting the next.\n- Prefer a new video-tool session for each TVC when the tool is conversational or likely to merge multiple tasks.\n- Record results before moving on: storyboard status, final video URL, failure reason, or timeout.\n- Do not pack several TVC concepts into one prompt.\n\nTimeout guidance:\n- If storyboard images are created but final video is not complete after a reasonable wait, report that state and continue only if the user asked for continued autonomous batching.\n- If the tool asks for confirmation because it sees multiple tasks, confirm only for the current TVC, not the whole batch.\n\n## Parameter Loss Check\n\nIf a generated video returns with the wrong duration, ratio, or no sound, first inspect the actual message sent to the video tool. The script output may contain the correct values, but the handoff prompt must also explicitly include:\n- 15秒\n- 9:16竖屏\n- 带声音/口播\n- 直接生成声音/口播，不要单独TTS或后期合成\n\nIf any of these are missing from the actual handoff prompt, regenerate with a corrected prompt before changing the creative script.\n\n## Regeneration Strategy\n\nWhen the user is unhappy with a script, ask for the failure type only if it is unclear:\n- hook weak\n- too salesy\n- not native to platform\n- product selling points inaccurate\n- too generic\n- tone mismatch\n- needs more drama/funniness/premium feeling\n\nThen regenerate with one of these changes:\n- new hook, same structure\n- same hook, different scenario\n- different direction\n- more restrained text overlay\n- more product close-ups\n- stronger CTA\n\nFile v1.0.7:agents/openai.yaml\n\ndisplay_name: Product Video Script\nshort_description: Turn product images into ecommerce video scripts and AI video prompts.\ndefault_prompt: Upload product images and optional selling points, then choose a video direction such as口播带货、场景种草、促销活动、测评对比、海外 TikTok 风格、直播间带货 or商业广告.\n\nArchive v1.0.6: 7 files, 12497 bytes\n\nFiles: agents/openai.yaml (344b), references/direction-playbook.md (2591b), references/output-template.md (3590b), references/research-guide.md (1255b), references/video-handoff.md (8509b), SKILL.md (8535b), _meta.json (145b)\n\nFile v1.0.6:SKILL.md\n\n---\nname: product-video-script\ndescription: Generate ecommerce product video scripts from one or more product images and optional selling points. Use when the user wants带货视频脚本, 产品视频脚本, 短视频脚本, TikTok/抖音/小红书/直播间/618/双11 product content ideas, or wants to choose directions such as带货口播、场景种草、促销活动、测评对比、海外 TikTok 风格、直播间带货、商业广告/TVC before producing scripts.\n---\n\n# Product Video Script\n\nTurn product images and optional selling points into platform-ready short-video scripts and video handoff notes.\n\n## Core Rule\n\nUse **research-enhanced generation when possible**, but never make research a hard dependency.\n\n- If the user asks for recent, trending, top-liked, platform-specific, or competitor-based scripts and the agent has browsing/search tools, research first and cite sources.\n- If browsing/search is unavailable, blocked, or the user wants speed, use the fallback playbooks in `references/direction-playbook.md` and clearly label the result as `未联网版本`.\n- Do not invent exact rankings, likes, creator names, or video URLs. Say when exact metrics could not be verified.\n\n## Workflow\n\nState boundary:\n- Selecting a direction only authorizes script writing. It is not permission to generate a video.\n- After writing any script, stop and show `Next Actions`. Do not call LibTV or any video generation tool yet.\n- Enter video generation only after the user explicitly selects `直接生成视频`, `选其中一条去生成视频`, `把这几条全部交给 LibTV 批量生成`, or otherwise clearly asks to generate videos.\n\n1. **Read the product input**\n   - Inspect all provided images when image understanding is available.\n   - Extract visible product category, appearance, use scene, likely audience, giftability, price/activity clues, and visual risks.\n   - Incorporate user-provided selling points. If selling points conflict with the image, mention the uncertainty.\n   - Campaign language is opt-in, not forbidden. Use 618, 双11, Black Friday, Christmas, summer, back-to-school, discounts, limited-time offers, or similar campaign framing only when the user explicitly requests it, selects a promotion direction, or the product image clearly contains that campaign. Otherwise keep the script evergreen.\n\n2. **Offer directions if the user has not chosen one**\n   Present 5-7 concise choices and wait for the user:\n   - 带货口播\n   - 场景种草\n   - 促销活动（only when the user wants a campaign/deal angle）\n   - 测评对比\n   - 海外 TikTok 风格\n   - 直播间真人带货\n   - 商业广告/TVC\n\n3. **Research or fallback**\n   - For research mode, search the chosen category + platform + time window + commerce intent.\n   - Summarize reusable patterns: hook, pacing, camera style, proof, offer, CTA.\n   - For fallback mode, read `references/direction-playbook.md`.\n\n4. **Write the script**\n   Use `references/output-template.md` unless the user requests another format.\n   Default duration is 15 seconds and default ratio is 9:16 when not specified.\n   Include:\n   - concept title\n   - why this direction fits the product\n   - timecoded script\n   - voiceover\n   - shot/action\n   - on-screen text\n   - visual/reference notes\n   - optional video handoff notes\n\n5. **Offer next actions**\n   After delivering a script, always stop and show next actions:\n   - After one script, use the single-script next actions from `references/output-template.md`.\n   - After multiple scripts, use the multi-script next actions from `references/output-template.md`.\n   - For `商业广告/TVC`, use storyboard-first as the internal video handoff workflow, but keep the user-facing action as `直接生成视频`.\n   - For every non-TVC direction, `直接生成视频` means: use the product image as a reference image and directly submit one complete 15s 9:16 video task. Do not create storyboard images, character design images, separate video clips, or a storyboard-confirmation checkpoint.\n   - Do not execute any video generation action in this step unless the user's current message already explicitly asks to generate the video, not merely choose a direction.\n\n6. **Quality checks**\n   - Hook appears in the first 1-3 seconds.\n   - Each claim is supportable from visible product traits or user-provided selling points.\n   - Campaign context is explicit. If requested, use it confidently; if not requested, keep the script evergreen and do not add shopping-festival language.\n   - On-screen text is short enough for AI video generation.\n   - Avoid dense subtitles, tiny price tables, and complex text overlays when the next step is AI video generation.\n   - Keep platform tone natural: TikTok should feel native and slightly messy; commercial ads can be more polished.\n\n## When Coordinating With Video Skills\n\nOnly coordinate with a video skill/tool after the user explicitly asks to generate video. A direction choice such as `1`, `场景种草`, or `TVC` means \"write the script in this direction\"; it does not mean \"start LibTV generation\".\n\nIf the user asks to generate the video after the script, pass the confirmed script and reference-image notes to the video generation skill/tool. Preserve the selected script as the source of truth. Do not rewrite, expand, or optimize it into a new prompt during handoff. When image-to-video tools have trouble with text, recommend a no-text or minimal-text version and rely on voiceover.\n\nDefault audio route: when the user wants sound or voiceover, ask the video model/LibTV to generate one complete video with native audio/voiceover directly. Do not create separate TTS audio, do not create a silent video, and do not use a later audio-video compose workflow unless the user explicitly requests separate voiceover production.\n\nWhen handing off any non-TVC script to a video generation skill/tool, use the product image as the reference image and directly generate the finished video. The first sentence must explicitly state the fixed generation target unless the user explicitly requests a different duration, ratio, or audio mode: `请基于这张产品参考图，直接生成一条15秒、9:16竖屏、带声音/口播的完整短视频。` Do not rely on the earlier script table to carry duration, ratio, audio settings, or reference-image use.\n\nFor non-TVC handoff prompts, add this explicit constraint: `不要先生成分镜图、角色设计图或分段视频，也不要等待用户确认分镜。请直接输出完整成片。`\n\nWhen the product changes from prior work, require a clean video-tool project/canvas before uploading the new product reference image. For LibTV, this means calling `change_project.py` first, then `upload_file.py`, then `create_session.py`. When only platform, campaign context, or language changes, recommend a clean project/session. Add an explicit isolation line to the handoff prompt: `This is a new standalone product task. Do not inherit any previous product, campaign, 618, 双11, price, or activity context unless repeated in this prompt.`\n\nFor multiple scripts, do not merge all scripts into one generation request. Create a numbered batch manifest: each item must include concept title, duration, ratio, reference image, full voiceover, shot plan, text-overlay limits, and success criteria. For LibTV, each script must be submitted as a separate video task. Do not pack several scripts into one prompt.\n\nFor multiple `商业广告/TVC` scripts, use serial batch execution by default: submit one TVC, wait for its storyboard images and final video to complete, record the result, then submit the next TVC. Do not submit multiple storyboard-first TVC jobs into the same video-tool session at once.\n\nFor `商业广告/TVC` only, use a storyboard-first handoff by default: generate 5 key 9:16 storyboard images first, then use those storyboard images together as reference images for one complete video. After storyboard images are generated, continue to final video automatically unless the user explicitly asked to review/approve storyboards first. See `references/video-handoff.md`.\n\n## References\n\n- Use `references/direction-playbook.md` for direction-specific structures when research is unavailable or when you need a baseline.\n- Use `references/output-template.md` for the default script output format.\n- Use `references/research-guide.md` for safe research behavior and source handling.\n- Use `references/video-handoff.md` when the user wants to generate one or many videos from the scripts.\n\nFile v1.0.6:_meta.json\n\n{\n  \"ownerId\": \"kn79q6d8fg01kce4chmzrkvmf986s4zr\",\n  \"slug\": \"product-video-script-skill\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1779127115882\n}\n\nFile v1.0.6:references/direction-playbook.md\n\n# Direction Playbook\n\nUse these patterns when live research is unavailable or as a baseline before adapting to research.\n\n## 带货口播\n\nBest for products with clear appearance, price/activity appeal, or giftability.\n\nStructure:\n1. Hook: name the buying scenario or pain point.\n2. Product close-up.\n3. One fast use/demo moment.\n4. Emotional or practical payoff.\n5. Offer/occasion CTA.\n\nTone: direct, fast, conversational.\n\n## 场景种草\n\nBest for lifestyle products, beauty, food, home, fashion, gifts.\n\nStructure:\n1. Everyday scene.\n2. Product appears naturally.\n3. Before/after mood shift.\n4. Detail close-up.\n5. Soft recommendation.\n\nTone: lived-in, aspirational but not too polished.\n\n## 促销活动\n\nBest for 618, 双11, Black Friday, launch deals, bundles.\n\nUse this direction when the user explicitly chooses促销活动 or mentions a campaign/deal context. Promotion language is allowed here; outside this direction, keep scripts evergreen unless the user requested a campaign.\n\nStructure:\n1. Urgency hook.\n2. One-sentence product reason.\n3. Best use/gift scenario.\n4. Deal reminder.\n5. Simple CTA.\n\nTone: energetic, clear, no overclaiming.\n\n## 测评对比\n\nBest for products with visible effects, durability, texture, convenience, or price/value contrast.\n\nStructure:\n1. Skeptical hook.\n2. Test setup.\n3. Product demo.\n4. Result close-up.\n5. Verdict.\n\nTone: believable, slightly critical, evidence-first.\n\n## 海外 TikTok 风格\n\nBest for US/EU TikTok Shop style ads, beauty, gadgets, fashion, food, novelty products.\n\nStructure:\n1. Native UGC hook.\n2. Unexpected reaction or weird twist.\n3. Fast demo.\n4. Meme-like payoff.\n5. Deal/CTA.\n\nTone: casual, funny, self-aware, not too salesy.\n\nAvoid heavy Chinese shopping-festival language unless the campaign specifically targets Chinese-speaking users.\n\n## 直播间真人带货\n\nBest for products that need high trust, host demonstration, or urgency.\n\nStructure:\n1. Host calls attention.\n2. Product in hand near camera.\n3. 2-3 selling points.\n4. Use/gift scenario.\n5. Limited-time close.\n\nTone: warm, energetic, real-time.\n\n## 商业广告/TVC\n\nBest for premium products, brand assets, gift boxes, hero products.\n\nStructure:\n1. Visual hero shot.\n2. Lifestyle aspiration.\n3. Product detail montage.\n4. Emotional payoff.\n5. Brand/activity end frame.\n\nTone: polished, sensory, cinematic.\n\nVideo-generation workflow, only after the user explicitly chooses `直接生成视频`: storyboard first. Ask the video tool to generate 5 key visual frames, then use those 5 frames as multi-reference images to generate the final 15s video.\n\nFile v1.0.6:references/output-template.md\n\n# Output Template\n\nUse this structure by default. Keep it concise.\n\n## Product Diagnosis\n\n- Category:\n- Visible traits:\n- Likely buyer/use case:\n- Best script angle:\n- Risks/uncertainties:\n- Campaign context: if requested, name the campaign; otherwise write `无明确活动，按长期通用脚本处理`.\n\n## Direction Options\n\nOnly include this section when the user has not chosen a direction.\n\n1. 带货口播 - ...\n2. 场景种草 - ...\n3. 促销活动 - only if the user wants an event/deal angle\n4. 测评对比 - ...\n5. 海外 TikTok 风格 - ...\n6. 直播间真人带货 - ...\n7. 商业广告/TVC - ...\n\n## Research Summary\n\nUse this section when research was performed.\n\n- Sources checked:\n- Reusable patterns:\n- What to copy structurally:\n- What not to copy:\n\nIf research was not possible, write: `未联网版本：以下脚本基于通用平台内容规律与产品图分析生成。`\n\n## Recommended Script\n\n- Title:\n- Duration:\n- Ratio:\n- Platform/style:\n- Why it fits:\n\n| Time | Shot / Action | Voiceover | On-screen Text |\n|---|---|---|---|\n| 0-2s |  |  |  |\n| 2-5s |  |  |  |\n| 5-8s |  |  |  |\n| 8-11s |  |  |  |\n| 11-15s |  |  |  |\n\n## Full Voiceover\n\nWrite the full spoken script in one paragraph.\n\n## Video Handoff Notes\n\nWrite concise handoff notes for a later video generation step. These notes are not permission to generate video and are not a replacement prompt. When the user later asks to generate video, preserve the confirmed script as the source of truth and pass these notes as constraints.\n\nInclude:\n- product reference notes\n- for non-TVC directions, explicitly say to use the product image as the reference image and directly generate one complete 15s 9:16 video\n- for non-TVC directions, explicitly forbid storyboard images, character design images, separate clips, and storyboard confirmation\n- explicitly say to generate sound/voiceover natively inside the video generation request; do not create separate TTS audio or compose audio and video later\n- camera style\n- model/hand/action notes\n- timing\n- ratio and duration\n- voiceover language\n- text overlay constraints\n\n## Variants\n\nOptionally provide 2-3 hook or CTA variants.\n\n## Next Actions\n\nUse short user-facing labels. Do not expose backend workflow details in option names.\n\nMandatory stop rule:\n- After outputting a script, stop here and wait for the user's next selection.\n- Do not call LibTV or any video generation tool from the same response that writes the script.\n- A user selecting a direction means \"write a script in this direction\"; it is not permission to generate the video.\n- Only start video generation after the user explicitly selects `直接生成视频`, `选其中一条去生成视频`, `把这几条全部交给 LibTV 批量生成`, or clearly asks to generate videos.\n\nAfter a single script, use exactly:\n\n1. 直接生成视频\n2. 重写一版（可提要求）\n3. 多给几个脚本/创意方向\n4. 改成其他视频方向（口播/种草/促销/测评/TikTok/直播/TVC）\n\nIf the chosen direction is商业广告/TVC, still write `直接生成视频`; the storyboard-first workflow belongs in the internal video handoff, not the user-facing option text.\n\nFor every non-TVC direction, `直接生成视频` means: use the product image as the reference image, then directly generate one complete 15s 9:16 video. Do not expose or create a storyboard-first workflow.\n\nAfter multiple scripts or creative directions, use exactly:\n\n1. 选其中一条去生成视频\n2. 把这几条全部交给 LibTV 批量生成\n3. 继续重写更多版本\n4. 先优化其中某一条脚本\n\nFile v1.0.6:references/research-guide.md\n\n# Research Guide\n\nUse research only when the agent has tools that can access current public sources.\n\n## Search Targets\n\nPrefer official or platform-native sources:\n- TikTok Creative Center\n- TikTok Shop / marketplace pages\n- Meta Ads Library or platform ad libraries when relevant\n- YouTube/TikTok public pages when accessible\n- Brand/product official pages for factual claims\n- Recent credible trend reports when platform pages are incomplete\n\n## Query Pattern\n\nCombine:\n- category: lipstick, sunscreen, snack, coffee, gadget\n- platform: TikTok US, Douyin, Xiaohongshu\n- commerce intent: shop, haul, review, deal, top ads\n- recency: last 7 days, this week, 2026\n\n## Safe Claims\n\nDo:\n- Summarize visible content patterns.\n- Cite links used.\n- Say when exact likes/ranking cannot be verified.\n- Use “in the researched sample” instead of “the whole platform” when coverage is incomplete.\n\nDo not:\n- Invent creators, likes, rankings, or video links.\n- Claim “guaranteed viral” or “guaranteed sales”.\n- Copy a creator’s exact script line-by-line. Replicate structure, pacing, and function instead.\n\n## Research Output\n\nFor 3-5 references, capture:\n- hook type\n- opening frame\n- product proof/demo\n- pacing\n- text style\n- CTA\n- why it works\n\nFile v1.0.6:references/video-handoff.md\n\n# Video Handoff\n\nUse this when scripts are handed to a video generation skill/tool.\n\nEntry condition:\n- Use this file only after the user explicitly asks to generate video.\n- Do not use this file immediately after the user merely selects a script direction.\n- Script approval/selection and storyboard approval are different. A script must be shown first; storyboard review can be skipped only inside the video-generation phase.\n- Preserve the confirmed script as the source of truth. Do not rewrite, expand, translate, or optimize it into a new creative prompt during handoff.\n\nDefault audio route:\n- Generate native audio/voiceover inside the video generation request.\n- Put the full voiceover and audio direction directly in the video prompt.\n- Do not create separate TTS audio.\n- Do not create a silent video and compose it with audio later.\n- Do not use a `video + TTS + compose` workflow unless the user explicitly requests separate voiceover production.\n- The final deliverable must be one complete video with audible sound/voiceover.\n\n## Single Video Handoff\n\nUse this for all non-TVC directions, including 带货口播, 场景种草, 促销活动, 测评对比, 海外 TikTok 风格, and 直播间真人带货.\n\nCore rule:\n- Use the product image as the reference image.\n- Directly submit one complete video generation task.\n- Generate the video with native audio/voiceover directly.\n- Do not generate storyboard images, character design images, or separate video clips.\n- Do not generate separate TTS audio or use later audio-video composition.\n- Do not add a storyboard review/confirmation step.\n\nInclude:\n- first sentence with fixed generation target: `请基于这张产品参考图，直接生成一条15秒、9:16竖屏、带声音/口播的完整短视频。`\n- title\n- selected direction\n- duration and ratio\n- reference image URLs or local paths\n- context isolation line\n- product appearance constraints\n- timecoded shot plan\n- full voiceover\n- native audio instruction\n- on-screen text limits\n- avoid list\n- success criteria\n\nRequired non-TVC constraint line:\n\n`不要先生成分镜图、角色设计图或分段视频，也不要等待用户确认分镜。请直接输出完整成片。`\n\nRequired audio constraint line:\n\n`请在视频生成时直接生成声音/口播，不要单独生成TTS音频，不要先生成无声视频再后期合成。最终交付必须是一条带声音的完整视频。`\n\n## Batch Video Handoff\n\nFor multiple videos, create one manifest item per video. Keep each item self-contained so a downstream video skill can submit separate tasks without reading prior items.\n\nFor LibTV, one script equals one video task. Do not merge multiple scripts into one prompt or ask LibTV to choose among concepts.\n\nIf prior tasks in the same agent/session used another product, create or switch to a clean video-tool project/canvas before uploading the new product reference image. For LibTV, call `change_project.py`, then upload the product image, then submit the generation task. If prior tasks used another campaign or language, recommend a clean project/session before generation.\n\nTemplate:\n\n```markdown\n## Batch Manifest\n\n### Video 1: <title>\n- Context isolation: This is a new standalone product task. Do not inherit any previous product, campaign, 618, 双11, price, or activity context unless repeated in this prompt.\n- Direction:\n- Duration:\n- Ratio:\n- Reference image:\n- Product constraints:\n- Voiceover:\n- Shot plan:\n- On-screen text:\n- Avoid:\n- Success criteria:\n\n### Video 2: <title>\n...\n```\n\n## Generation Strategy\n\n- Treat each script variant as a separate video task.\n- For LibTV, submit scripts sequentially or as separate tasks; do not pack multiple scripts into one prompt.\n- Require a new project/canvas when changing products. For LibTV, call `change_project.py` before uploading the new product reference image.\n- Prefer a new session when changing language, platform, or removing a previously used campaign context.\n- If the tool has unknown concurrency limits, avoid promising a batch size. Say that batching means preparing multiple self-contained tasks, not guaranteeing simultaneous execution.\n- For AI video tools that often garble text, prefer no text or only 1-3 short overlay phrases. Put detailed selling points in voiceover.\n- For sound/voiceover, use native audio in the video generation request. Do not split into separate TTS and later composition.\n- For product-reference fidelity, include exact visible traits from the product image in every item.\n- If campaign language is not wanted, repeat the avoid list in every item: no 618, no 双11, no限时促销, no价格贴片, no shopping festival language.\n\n## Commercial/TVC Storyboard-First Handoff\n\nUse this only when the selected direction is `商业广告/TVC`. Do not use this workflow for 带货口播, 场景种草, 促销活动, 测评对比, 海外 TikTok 风格, or 直播间真人带货.\n\nWorkflow:\n1. Generate 5 key 9:16 storyboard images.\n2. Check that each storyboard preserves product identity and has no unwanted text. This is an internal check, not a required user confirmation step.\n3. Use the 5 storyboard images together as reference images for one complete 15s 9:16 video.\n4. Continue from storyboard images to final video automatically unless the user explicitly asked to review/approve storyboard images first.\n\nStoryboard slots:\n- Frame 1: hero product establishing shot\n- Frame 2: lifestyle/user scene\n- Frame 3: product texture/detail/macro\n- Frame 4: emotional payoff or use result\n- Frame 5: final product/brand end frame\n\nHandoff prompt must include:\n- first sentence with fixed generation target: `请生成一条15秒、9:16竖屏、带声音/口播的商业广告/TVC视频。`\n- original product image\n- 5 storyboard descriptions\n- instruction to create storyboard images first\n- instruction to use all storyboard images together as references for final video\n- instruction to continue to final video automatically after storyboard images unless the user explicitly requested storyboard approval\n- instruction to generate native audio/voiceover inside the final video request, not as separate TTS plus composition\n- minimal or no on-screen text unless the user explicitly wants text\n- full voiceover or music direction\n\n## Commercial/TVC Batch Execution\n\nWhen the user chooses to generate multiple TVC scripts, keep the user-facing action as `把这几条全部交给 LibTV 批量生成`, but execute internally as a serial batch.\n\nRules:\n- Use unique IDs: `TVC-01`, `TVC-02`, `TVC-03`.\n- Submit only one TVC storyboard-first job at a time.\n- The first sentence of every submitted TVC prompt must include: `15秒、9:16竖屏、带声音/口播`.\n- Every submitted TVC prompt must require native audio/voiceover in the final video and must not request separate TTS plus composition.\n- Wait until that TVC has final video URL(s), or reaches a clear failure/timeout state, before submitting the next.\n- Prefer a new video-tool session for each TVC when the tool is conversational or likely to merge multiple tasks.\n- Record results before moving on: storyboard status, final video URL, failure reason, or timeout.\n- Do not pack several TVC concepts into one prompt.\n\nTimeout guidance:\n- If storyboard images are created but final video is not complete after a reasonable wait, report that state and continue only if the user asked for continued autonomous batching.\n- If the tool asks for confirmation because it sees multiple tasks, confirm only for the current TVC, not the whole batch.\n\n## Parameter Loss Check\n\nIf a generated video returns with the wrong duration, ratio, or no sound, first inspect the actual message sent to the video tool. The script output may contain the correct values, but the handoff prompt must also explicitly include:\n- 15秒\n- 9:16竖屏\n- 带声音/口播\n- 直接生成声音/口播，不要单独TTS或后期合成\n\nIf any of these are missing from the actual handoff prompt, regenerate with a corrected prompt before changing the creative script.\n\n## Regeneration Strategy\n\nWhen the user is unhappy with a script, ask for the failure type only if it is unclear:\n- hook weak\n- too salesy\n- not native to platform\n- product selling points inaccurate\n- too generic\n- tone mismatch\n- needs more drama/funniness/premium feeling\n\nThen regenerate with one of these changes:\n- new hook, same structure\n- same hook, different scenario\n- different direction\n- more restrained text overlay\n- more product close-ups\n- stronger CTA\n\nFile v1.0.6:agents/openai.yaml\n\ndisplay_name: Product Video Script\nshort_description: Turn product images into ecommerce video scripts and AI video prompts.\ndefault_prompt: Upload product images and optional selling points, then choose a video direction such as口播带货、场景种草、促销活动、测评对比、海外 TikTok 风格、直播间带货 or商业广告.\n\nArchive v1.0.5: 7 files, 11739 bytes\n\nFiles: agents/openai.yaml (344b), references/direction-playbook.md (2530b), references/output-template.md (3206b), references/research-guide.md (1255b), references/video-handoff.md (7047b), SKILL.md (8092b), _meta.json (145b)\n\nFile v1.0.5:SKILL.md\n\n---\nname: product-video-script\ndescription: Generate ecommerce product video scripts from one or more product images and optional selling points. Use when the user wants带货视频脚本, 产品视频脚本, 短视频脚本, TikTok/抖音/小红书/直播间/618/双11 product content ideas, or wants to choose directions such as带货口播、场景种草、促销活动、测评对比、海外 TikTok 风格、直播间带货、商业广告/TVC before producing scripts.\n---\n\n# Product Video Script\n\nTurn product images and optional selling points into platform-ready short-video scripts and generation prompts.\n\n## Core Rule\n\nUse **research-enhanced generation when possible**, but never make research a hard dependency.\n\n- If the user asks for recent, trending, top-liked, platform-specific, or competitor-based scripts and the agent has browsing/search tools, research first and cite sources.\n- If browsing/search is unavailable, blocked, or the user wants speed, use the fallback playbooks in `references/direction-playbook.md` and clearly label the result as `未联网版本`.\n- Do not invent exact rankings, likes, creator names, or video URLs. Say when exact metrics could not be verified.\n\n## Workflow\n\nState boundary:\n- Selecting a direction only authorizes script writing. It is not permission to generate a video.\n- After writing any script, stop and show `Next Actions`. Do not call LibTV or any video generation tool yet.\n- Enter video generation only after the user explicitly selects `直接生成视频`, `选其中一条去生成视频`, `把这几条全部交给 LibTV 批量生成`, or otherwise clearly asks to generate videos.\n\n1. **Read the product input**\n   - Inspect all provided images when image understanding is available.\n   - Extract visible product category, appearance, use scene, likely audience, giftability, price/activity clues, and visual risks.\n   - Incorporate user-provided selling points. If selling points conflict with the image, mention the uncertainty.\n   - Campaign language is opt-in, not forbidden. Use 618, 双11, Black Friday, Christmas, summer, back-to-school, discounts, limited-time offers, or similar campaign framing only when the user explicitly requests it, selects a promotion direction, or the product image clearly contains that campaign. Otherwise keep the script evergreen.\n\n2. **Offer directions if the user has not chosen one**\n   Present 5-7 concise choices and wait for the user:\n   - 带货口播\n   - 场景种草\n   - 促销活动（only when the user wants a campaign/deal angle）\n   - 测评对比\n   - 海外 TikTok 风格\n   - 直播间真人带货\n   - 商业广告/TVC\n\n3. **Research or fallback**\n   - For research mode, search the chosen category + platform + time window + commerce intent.\n   - Summarize reusable patterns: hook, pacing, camera style, proof, offer, CTA.\n   - For fallback mode, read `references/direction-playbook.md`.\n\n4. **Write the script**\n   Use `references/output-template.md` unless the user requests another format.\n   Default duration is 15 seconds and default ratio is 9:16 when not specified.\n   Include:\n   - concept title\n   - why this direction fits the product\n   - timecoded script\n   - voiceover\n   - shot/action\n   - on-screen text\n   - visual/reference notes\n   - optional AI video generation prompt\n\n5. **Offer next actions**\n   After delivering a script, always stop and show next actions:\n   - After one script, use the single-script next actions from `references/output-template.md`.\n   - After multiple scripts, use the multi-script next actions from `references/output-template.md`.\n   - For `商业广告/TVC`, use storyboard-first as the internal video handoff workflow, but keep the user-facing action as `直接生成视频`.\n   - For every non-TVC direction, `直接生成视频` means: use the product image as a reference image and directly submit one complete 15s 9:16 video task. Do not create storyboard images, character design images, separate video clips, or a storyboard-confirmation checkpoint.\n   - Do not execute any video generation action in this step unless the user's current message already explicitly asks to generate the video, not merely choose a direction.\n\n6. **Quality checks**\n   - Hook appears in the first 1-3 seconds.\n   - Each claim is supportable from visible product traits or user-provided selling points.\n   - Campaign context is explicit. If requested, use it confidently; if not requested, keep the script evergreen and do not add shopping-festival language.\n   - On-screen text is short enough for AI video generation.\n   - Avoid dense subtitles, tiny price tables, and complex text overlays when the next step is AI video generation.\n   - Keep platform tone natural: TikTok should feel native and slightly messy; commercial ads can be more polished.\n\n## When Coordinating With Video Skills\n\nOnly coordinate with a video skill/tool after the user explicitly asks to generate video. A direction choice such as `1`, `场景种草`, or `TVC` means \"write the script in this direction\"; it does not mean \"start LibTV generation\".\n\nIf the user asks to generate the video after the script, pass the script and reference-image notes to the video generation skill/tool. Preserve user wording and the selected direction. When image-to-video tools have trouble with text, recommend a no-text or minimal-text version and rely on voiceover.\n\nWhen handing off any non-TVC script to a video generation skill/tool, use the product image as the reference image and directly generate the finished video. The first sentence must explicitly state the fixed generation target unless the user requested otherwise: `请基于这张产品参考图，直接生成一条15秒、9:16竖屏、带声音/口播的完整短视频。` Do not rely on the earlier script table to carry duration, ratio, audio settings, or reference-image use.\n\nFor non-TVC handoff prompts, add this explicit constraint: `不要先生成分镜图、角色设计图或分段视频，也不要等待用户确认分镜。请直接输出完整成片。`\n\nWhen the product changes from prior work, require a clean video-tool project/canvas before uploading the new product reference image. For LibTV, this means calling `change_project.py` first, then `upload_file.py`, then `create_session.py`. When only platform, campaign context, or language changes, recommend a clean project/session. Add an explicit isolation line to the handoff prompt: `This is a new standalone product task. Do not inherit any previous product, campaign, 618, 双11, price, or activity context unless repeated in this prompt.`\n\nFor multiple scripts, do not merge all scripts into one vague generation request. Create a numbered batch manifest: each item must include concept title, duration, ratio, reference image, full voiceover, shot plan, text-overlay limits, and success criteria. The video skill/tool should submit one generation task per item unless its verified metadata supports multiple video outputs.\n\nFor multiple `商业广告/TVC` scripts, use serial batch execution by default: submit one TVC, wait for its storyboard images and final video to complete, record the result, then submit the next TVC. Do not submit multiple storyboard-first TVC jobs into the same video-tool session at once.\n\nFor `商业广告/TVC` only, use a storyboard-first handoff by default: generate 5 key 9:16 storyboard images first, then use those storyboard images together as reference images for one complete video. After storyboard images are generated, continue to final video automatically unless the user explicitly asked to review/approve storyboards first. See `references/video-handoff.md`.\n\n## References\n\n- Use `references/direction-playbook.md` for direction-specific structures when research is unavailable or when you need a baseline.\n- Use `references/output-template.md` for the default script output format.\n- Use `references/research-guide.md` for safe research behavior and source handling.\n- Use `references/video-handoff.md` when the user wants to generate one or many videos from the scripts.\n\nFile v1.0.5:_meta.json\n\n{\n  \"ownerId\": \"kn79q6d8fg01kce4chmzrkvmf986s4zr\",\n  \"slug\": \"product-video-script-skill\",\n  \"version\": \"1.0.5\",\n  \"publishedAt\": 1779123656856\n}\n\nFile v1.0.5:references/direction-playbook.md\n\n# Direction Playbook\n\nUse these patterns when live research is unavailable or as a baseline before adapting to research.\n\n## 带货口播\n\nBest for products with clear appearance, price/activity appeal, or giftability.\n\nStructure:\n1. Hook: name the buying scenario or pain point.\n2. Product close-up.\n3. One fast use/demo moment.\n4. Emotional or practical payoff.\n5. Offer/occasion CTA.\n\nTone: direct, fast, conversational.\n\n## 场景种草\n\nBest for lifestyle products, beauty, food, home, fashion, gifts.\n\nStructure:\n1. Everyday scene.\n2. Product appears naturally.\n3. Before/after mood shift.\n4. Detail close-up.\n5. Soft recommendation.\n\nTone: lived-in, aspirational but not too polished.\n\n## 促销活动\n\nBest for 618, 双11, Black Friday, launch deals, bundles.\n\nUse this direction when the user explicitly chooses促销活动 or mentions a campaign/deal context. Promotion language is allowed here; outside this direction, keep scripts evergreen unless the user requested a campaign.\n\nStructure:\n1. Urgency hook.\n2. One-sentence product reason.\n3. Best use/gift scenario.\n4. Deal reminder.\n5. Simple CTA.\n\nTone: energetic, clear, no overclaiming.\n\n## 测评对比\n\nBest for products with visible effects, durability, texture, convenience, or price/value contrast.\n\nStructure:\n1. Skeptical hook.\n2. Test setup.\n3. Product demo.\n4. Result close-up.\n5. Verdict.\n\nTone: believable, slightly critical, evidence-first.\n\n## 海外 TikTok 风格\n\nBest for US/EU TikTok Shop style ads, beauty, gadgets, fashion, food, novelty products.\n\nStructure:\n1. Native UGC hook.\n2. Unexpected reaction or weird twist.\n3. Fast demo.\n4. Meme-like payoff.\n5. Deal/CTA.\n\nTone: casual, funny, self-aware, not too salesy.\n\nAvoid heavy Chinese shopping-festival language unless the campaign specifically targets Chinese-speaking users.\n\n## 直播间真人带货\n\nBest for products that need high trust, host demonstration, or urgency.\n\nStructure:\n1. Host calls attention.\n2. Product in hand near camera.\n3. 2-3 selling points.\n4. Use/gift scenario.\n5. Limited-time close.\n\nTone: warm, energetic, real-time.\n\n## 商业广告/TVC\n\nBest for premium products, brand assets, gift boxes, hero products.\n\nStructure:\n1. Visual hero shot.\n2. Lifestyle aspiration.\n3. Product detail montage.\n4. Emotional payoff.\n5. Brand/activity end frame.\n\nTone: polished, sensory, cinematic.\n\nVideo-generation workflow: storyboard first. Ask the video tool to generate 5 key visual frames, then use those 5 frames as multi-reference images to generate the final 15s video.\n\nFile v1.0.5:references/output-template.md\n\n# Output Template\n\nUse this structure by default. Keep it concise.\n\n## Product Diagnosis\n\n- Category:\n- Visible traits:\n- Likely buyer/use case:\n- Best script angle:\n- Risks/uncertainties:\n- Campaign context: if requested, name the campaign; otherwise write `无明确活动，按长期通用脚本处理`.\n\n## Direction Options\n\nOnly include this section when the user has not chosen a direction.\n\n1. 带货口播 - ...\n2. 场景种草 - ...\n3. 促销活动 - only if the user wants an event/deal angle\n4. 测评对比 - ...\n5. 海外 TikTok 风格 - ...\n6. 直播间真人带货 - ...\n7. 商业广告/TVC - ...\n\n## Research Summary\n\nUse this section when research was performed.\n\n- Sources checked:\n- Reusable patterns:\n- What to copy structurally:\n- What not to copy:\n\nIf research was not possible, write: `未联网版本：以下脚本基于通用平台内容规律与产品图分析生成。`\n\n## Recommended Script\n\n- Title:\n- Duration:\n- Ratio:\n- Platform/style:\n- Why it fits:\n\n| Time | Shot / Action | Voiceover | On-screen Text |\n|---|---|---|---|\n| 0-2s |  |  |  |\n| 2-5s |  |  |  |\n| 5-8s |  |  |  |\n| 8-11s |  |  |  |\n| 11-15s |  |  |  |\n\n## Full Voiceover\n\nWrite the full spoken script in one paragraph.\n\n## Generation Prompt\n\nWrite a clean prompt for image/video generation tools.\n\nInclude:\n- product reference notes\n- for non-TVC directions, explicitly say to use the product image as the reference image and directly generate one complete 15s 9:16 video\n- for non-TVC directions, explicitly forbid storyboard images, character design images, separate clips, and storyboard confirmation\n- camera style\n- model/hand/action notes\n- timing\n- ratio and duration\n- voiceover language\n- text overlay constraints\n\n## Variants\n\nOptionally provide 2-3 hook or CTA variants.\n\n## Next Actions\n\nUse short user-facing labels. Do not expose backend workflow details in option names.\n\nMandatory stop rule:\n- After outputting a script, stop here and wait for the user's next selection.\n- Do not call LibTV or any video generation tool from the same response that writes the script.\n- A user selecting a direction means \"write a script in this direction\"; it is not permission to generate the video.\n- Only start video generation after the user explicitly selects `直接生成视频`, `选其中一条去生成视频`, `把这几条全部交给 LibTV 批量生成`, or clearly asks to generate videos.\n\nAfter a single script, use exactly:\n\n1. 直接生成视频\n2. 重写一版（可提要求）\n3. 多给几个脚本/创意方向\n4. 改成其他视频方向（口播/种草/促销/测评/TikTok/直播/TVC）\n\nIf the chosen direction is商业广告/TVC, still write `直接生成视频`; the storyboard-first workflow belongs in the internal video handoff, not the user-facing option text.\n\nFor every non-TVC direction, `直接生成视频` means: use the product image as the reference image, then directly generate one complete 15s 9:16 video. Do not expose or create a storyboard-first workflow.\n\nAfter multiple scripts or creative directions, use exactly:\n\n1. 选其中一条去生成视频\n2. 把这几条全部交给 LibTV 批量生成\n3. 继续重写更多版本\n4. 先优化其中某一条脚本\n\nFile v1.0.5:references/research-guide.md\n\n# Research Guide\n\nUse research only when the agent has tools that can access current public sources.\n\n## Search Targets\n\nPrefer official or platform-native sources:\n- TikTok Creative Center\n- TikTok Shop / marketplace pages\n- Meta Ads Library or platform ad libraries when relevant\n- YouTube/TikTok public pages when accessible\n- Brand/product official pages for factual claims\n- Recent credible trend reports when platform pages are incomplete\n\n## Query Pattern\n\nCombine:\n- category: lipstick, sunscreen, snack, coffee, gadget\n- platform: TikTok US, Douyin, Xiaohongshu\n- commerce intent: shop, haul, review, deal, top ads\n- recency: last 7 days, this week, 2026\n\n## Safe Claims\n\nDo:\n- Summarize visible content patterns.\n- Cite links used.\n- Say when exact likes/ranking cannot be verified.\n- Use “in the researched sample” instead of “the whole platform” when coverage is incomplete.\n\nDo not:\n- Invent creators, likes, rankings, or video links.\n- Claim “guaranteed viral” or “guaranteed sales”.\n- Copy a creator’s exact script line-by-line. Replicate structure, pacing, and function instead.\n\n## Research Output\n\nFor 3-5 references, capture:\n- hook type\n- opening frame\n- product proof/demo\n- pacing\n- text style\n- CTA\n- why it works\n\nFile v1.0.5:references/video-handoff.md\n\n# Video Handoff\n\nUse this when scripts are handed to a video generation skill/tool.\n\nEntry condition:\n- Use this file only after the user explicitly asks to generate video.\n- Do not use this file immediately after the user merely selects a script direction.\n- Script approval/selection and storyboard approval are different. A script must be shown first; storyboard review can be skipped only inside the video-generation phase.\n\n## Single Video Handoff\n\nUse this for all non-TVC directions, including 带货口播, 场景种草, 促销活动, 测评对比, 海外 TikTok 风格, and 直播间真人带货.\n\nCore rule:\n- Use the product image as the reference image.\n- Directly submit one complete video generation task.\n- Do not generate storyboard images, character design images, or separate video clips.\n- Do not add a storyboard review/confirmation step.\n\nInclude:\n- first sentence with fixed generation target: `请基于这张产品参考图，直接生成一条15秒、9:16竖屏、带声音/口播的完整短视频。`\n- title\n- selected direction\n- duration and ratio\n- reference image URLs or local paths\n- context isolation line\n- product appearance constraints\n- timecoded shot plan\n- full voiceover\n- on-screen text limits\n- avoid list\n- success criteria\n\nRequired non-TVC constraint line:\n\n`不要先生成分镜图、角色设计图或分段视频，也不要等待用户确认分镜。请直接输出完整成片。`\n\n## Batch Video Handoff\n\nFor multiple videos, create one manifest item per video. Keep each item self-contained so a downstream video skill can submit separate tasks without reading prior items.\n\nIf prior tasks in the same agent/session used another product, create or switch to a clean video-tool project/canvas before uploading the new product reference image. For LibTV, call `change_project.py`, then upload the product image, then submit the generation task. If prior tasks used another campaign or language, recommend a clean project/session before generation.\n\nTemplate:\n\n```markdown\n## Batch Manifest\n\n### Video 1: <title>\n- Context isolation: This is a new standalone product task. Do not inherit any previous product, campaign, 618, 双11, price, or activity context unless repeated in this prompt.\n- Direction:\n- Duration:\n- Ratio:\n- Reference image:\n- Product constraints:\n- Voiceover:\n- Shot plan:\n- On-screen text:\n- Avoid:\n- Success criteria:\n\n### Video 2: <title>\n...\n```\n\n## Generation Strategy\n\n- Treat each script variant as a separate video task unless the downstream tool has verified multi-video output metadata.\n- If the video model returns only one video per task, submit scripts sequentially or as clearly separated tasks in the same project/session.\n- Require a new project/canvas when changing products. For LibTV, call `change_project.py` before uploading the new product reference image.\n- Prefer a new session when changing language, platform, or removing a previously used campaign context.\n- If the tool has unknown concurrency limits, avoid promising a batch size. Say that batching means preparing multiple self-contained tasks, not guaranteeing simultaneous execution.\n- For AI video tools that often garble text, prefer no text or only 1-3 short overlay phrases. Put detailed selling points in voiceover.\n- For product-reference fidelity, include exact visible traits from the product image in every item.\n- If campaign language is not wanted, repeat the avoid list in every item: no 618, no 双11, no限时促销, no价格贴片, no shopping festival language.\n\n## Commercial/TVC Storyboard-First Handoff\n\nUse this only when the selected direction is `商业广告/TVC`. Do not use this workflow for 带货口播, 场景种草, 促销活动, 测评对比, 海外 TikTok 风格, or 直播间真人带货.\n\nWorkflow:\n1. Generate 5 key 9:16 storyboard images.\n2. Check that each storyboard preserves product identity and has no unwanted text. This is an internal check, not a required user confirmation step.\n3. Use the 5 storyboard images together as reference images for one complete 15s 9:16 video.\n4. Continue from storyboard images to final video automatically unless the user explicitly asked to review/approve storyboard images first.\n\nStoryboard slots:\n- Frame 1: hero product establishing shot\n- Frame 2: lifestyle/user scene\n- Frame 3: product texture/detail/macro\n- Frame 4: emotional payoff or use result\n- Frame 5: final product/brand end frame\n\nHandoff prompt must include:\n- first sentence with fixed generation target: `请生成一条15秒、9:16竖屏、带声音/口播的商业广告/TVC视频。`\n- original product image\n- 5 storyboard descriptions\n- instruction to create storyboard images first\n- instruction to use all storyboard images together as references for final video\n- instruction to continue to final video automatically after storyboard images unless the user explicitly requested storyboard approval\n- minimal or no on-screen text unless the user explicitly wants text\n- full voiceover or music direction\n\n## Commercial/TVC Batch Execution\n\nWhen the user chooses to generate multiple TVC scripts, keep the user-facing action as `把这几条全部交给 LibTV 批量生成`, but execute internally as a serial batch.\n\nRules:\n- Use unique IDs: `TVC-01`, `TVC-02`, `TVC-03`.\n- Submit only one TVC storyboard-first job at a time.\n- The first sentence of every submitted TVC prompt must include: `15秒、9:16竖屏、带声音/口播`.\n- Wait until that TVC has final video URL(s), or reaches a clear failure/timeout state, before submitting the next.\n- Prefer a new video-tool session for each TVC when the tool is conversational or likely to merge multiple tasks.\n- Record results before moving on: storyboard status, final video URL, failure reason, or timeout.\n- Do not pack several TVC concepts into one prompt.\n\nTimeout guidance:\n- If storyboard images are created but final video is not complete after a reasonable wait, report that state and continue only if the user asked for continued autonomous batching.\n- If the tool asks for confirmation because it sees multiple tasks, confirm only for the current TVC, not the whole batch.\n\n## Parameter Loss Check\n\nIf a generated video returns with the wrong duration, ratio, or no sound, first inspect the actual message sent to the video tool. The script output may contain the correct values, but the handoff prompt must also explicitly include:\n- 15秒\n- 9:16竖屏\n- 带声音/口播\n\nIf any of these are missing from the actual handoff prompt, regenerate with a corrected prompt before changing the creative script.\n\n## Regeneration Strategy\n\nWhen the user is unhappy with a script, ask for the failure type only if it is unclear:\n- hook weak\n- too salesy\n- not native to platform\n- product selling points inaccurate\n- too generic\n- tone mismatch\n- needs more drama/funniness/premium feeling\n\nThen regenerate with one of these changes:\n- new hook, same structure\n- same hook, different scenario\n- different direction\n- more restrained text overlay\n- more product close-ups\n- stronger CTA\n\nFile v1.0.5:agents/openai.yaml\n\ndisplay_name: Product Video Script\nshort_description: Turn product images into ecommerce video scripts and AI video prompts.\ndefault_prompt: Upload product images and optional selling points, then choose a video direction such as口播带货、场景种草、促销活动、测评对比、海外 TikTok 风格、直播间带货 or商业广告.\n\nArchive v1.0.4: 7 files, 11089 bytes\n\nFiles: agents/openai.yaml (344b), references/direction-playbook.md (2530b), references/output-template.md (2689b), references/research-guide.md (1255b), references/video-handoff.md (6703b), SKILL.md (7239b), _meta.json (145b)\n\nFile v1.0.4:SKILL.md\n\n---\nname: product-video-script\ndescription: Generate ecommerce product video scripts from one or more product images and optional selling points. Use when the user wants带货视频脚本, 产品视频脚本, 短视频脚本, TikTok/抖音/小红书/直播间/618/双11 product content ideas, or wants to choose directions such as带货口播、场景种草、促销活动、测评对比、海外 TikTok 风格、直播间带货、商业广告/TVC before producing scripts.\n---\n\n# Product Video Script\n\nTurn product images and optional selling points into platform-ready short-video scripts and generation prompts.\n\n## Core Rule\n\nUse **research-enhanced generation when possible**, but never make research a hard dependency.\n\n- If the user asks for recent, trending, top-liked, platform-specific, or competitor-based scripts and the agent has browsing/search tools, research first and cite sources.\n- If browsing/search is unavailable, blocked, or the user wants speed, use the fallback playbooks in `references/direction-playbook.md` and clearly label the result as `未联网版本`.\n- Do not invent exact rankings, likes, creator names, or video URLs. Say when exact metrics could not be verified.\n\n## Workflow\n\n1. **Read the product input**\n   - Inspect all provided images when image understanding is available.\n   - Extract visible product category, appearance, use scene, likely audience, giftability, price/activity clues, and visual risks.\n   - Incorporate user-provided selling points. If selling points conflict with the image, mention the uncertainty.\n   - Campaign language is opt-in, not forbidden. Use 618, 双11, Black Friday, Christmas, summer, back-to-school, discounts, limited-time offers, or similar campaign framing only when the user explicitly requests it, selects a promotion direction, or the product image clearly contains that campaign. Otherwise keep the script evergreen.\n\n2. **Offer directions if the user has not chosen one**\n   Present 5-7 concise choices and wait for the user:\n   - 带货口播\n   - 场景种草\n   - 促销活动（only when the user wants a campaign/deal angle）\n   - 测评对比\n   - 海外 TikTok 风格\n   - 直播间真人带货\n   - 商业广告/TVC\n\n3. **Research or fallback**\n   - For research mode, search the chosen category + platform + time window + commerce intent.\n   - Summarize reusable patterns: hook, pacing, camera style, proof, offer, CTA.\n   - For fallback mode, read `references/direction-playbook.md`.\n\n4. **Write the script**\n   Use `references/output-template.md` unless the user requests another format.\n   Default duration is 15 seconds and default ratio is 9:16 when not specified.\n   Include:\n   - concept title\n   - why this direction fits the product\n   - timecoded script\n   - voiceover\n   - shot/action\n   - on-screen text\n   - visual/reference notes\n   - optional AI video generation prompt\n\n5. **Offer next actions**\n   After delivering a script, ask or infer the next step:\n   - After one script, use the single-script next actions from `references/output-template.md`.\n   - After multiple scripts, use the multi-script next actions from `references/output-template.md`.\n   - For `商业广告/TVC`, use storyboard-first as the internal video handoff workflow, but keep the user-facing action as `直接生成视频`.\n   - For every non-TVC direction, `直接生成视频` means: use the product image as a reference image and directly submit one complete 15s 9:16 video task. Do not create storyboard images, character design images, separate video clips, or a storyboard-confirmation checkpoint.\n\n6. **Quality checks**\n   - Hook appears in the first 1-3 seconds.\n   - Each claim is supportable from visible product traits or user-provided selling points.\n   - Campaign context is explicit. If requested, use it confidently; if not requested, keep the script evergreen and do not add shopping-festival language.\n   - On-screen text is short enough for AI video generation.\n   - Avoid dense subtitles, tiny price tables, and complex text overlays when the next step is AI video generation.\n   - Keep platform tone natural: TikTok should feel native and slightly messy; commercial ads can be more polished.\n\n## When Coordinating With Video Skills\n\nIf the user asks to generate the video after the script, pass the script and reference-image notes to the video generation skill/tool. Preserve user wording and the selected direction. When image-to-video tools have trouble with text, recommend a no-text or minimal-text version and rely on voiceover.\n\nWhen handing off any non-TVC script to a video generation skill/tool, use the product image as the reference image and directly generate the finished video. The first sentence must explicitly state the fixed generation target unless the user requested otherwise: `请基于这张产品参考图，直接生成一条15秒、9:16竖屏、带声音/口播的完整短视频。` Do not rely on the earlier script table to carry duration, ratio, audio settings, or reference-image use.\n\nFor non-TVC handoff prompts, add this explicit constraint: `不要先生成分镜图、角色设计图或分段视频，也不要等待用户确认分镜。请直接输出完整成片。`\n\nWhen the product changes from prior work, require a clean video-tool project/canvas before uploading the new product reference image. For LibTV, this means calling `change_project.py` first, then `upload_file.py`, then `create_session.py`. When only platform, campaign context, or language changes, recommend a clean project/session. Add an explicit isolation line to the handoff prompt: `This is a new standalone product task. Do not inherit any previous product, campaign, 618, 双11, price, or activity context unless repeated in this prompt.`\n\nFor multiple scripts, do not merge all scripts into one vague generation request. Create a numbered batch manifest: each item must include concept title, duration, ratio, reference image, full voiceover, shot plan, text-overlay limits, and success criteria. The video skill/tool should submit one generation task per item unless its verified metadata supports multiple video outputs.\n\nFor multiple `商业广告/TVC` scripts, use serial batch execution by default: submit one TVC, wait for its storyboard images and final video to complete, record the result, then submit the next TVC. Do not submit multiple storyboard-first TVC jobs into the same video-tool session at once.\n\nFor `商业广告/TVC` only, use a storyboard-first handoff by default: generate 5 key 9:16 storyboard images first, then use those storyboard images together as reference images for one complete video. After storyboard images are generated, continue to final video automatically unless the user explicitly asked to review/approve storyboards first. See `references/video-handoff.md`.\n\n## References\n\n- Use `references/direction-playbook.md` for direction-specific structures when research is unavailable or when you need a baseline.\n- Use `references/output-template.md` for the default script output format.\n- Use `references/research-guide.md` for safe research behavior and source handling.\n- Use `references/video-handoff.md` when the user wants to generate one or many videos from the scripts.\n\nFile v1.0.4:_meta.json\n\n{\n  \"ownerId\": \"kn79q6d8fg01kce4chmzrkvmf986s4zr\",\n  \"slug\": \"product-video-script-skill\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1779120000440\n}\n\nFile v1.0.4:references/direction-playbook.md\n\n# Direction Playbook\n\nUse these patterns when live research is unavailable or as a baseline before adapting to research.\n\n## 带货口播\n\nBest for products with clear appearance, price/activity appeal, or giftability.\n\nStructure:\n1. Hook: name the buying scenario or pain point.\n2. Product close-up.\n3. One fast use/demo moment.\n4. Emotional or practical payoff.\n5. Offer/occasion CTA.\n\nTone: direct, fast, conversational.\n\n## 场景种草\n\nBest for lifestyle products, beauty, food, home, fashion, gifts.\n\nStructure:\n1. Everyday scene.\n2. Product appears naturally.\n3. Before/after mood shift.\n4. Detail close-up.\n5. Soft recommendation.\n\nTone: lived-in, aspirational but not too polished.\n\n## 促销活动\n\nBest for 618, 双11, Black Friday, launch deals, bundles.\n\nUse this direction when the user explicitly chooses促销活动 or mentions a campaign/deal context. Promotion language is allowed here; outside this direction, keep scripts evergreen unless the user requested a campaign.\n\nStructure:\n1. Urgency hook.\n2. One-sentence product reason.\n3. Best use/gift scenario.\n4. Deal reminder.\n5. Simple CTA.\n\nTone: energetic, clear, no overclaiming.\n\n## 测评对比\n\nBest for products with visible effects, durability, texture, convenience, or price/value contrast.\n\nStructure:\n1. Skeptical hook.\n2. Test setup.\n3. Product demo.\n4. Result close-up.\n5. Verdict.\n\nTone: believable, slightly critical, evidence-first.\n\n## 海外 TikTok 风格\n\nBest for US/EU TikTok Shop style ads, beauty, gadgets, fashion, food, novelty products.\n\nStructure:\n1. Native UGC hook.\n2. Unexpected reaction or weird twist.\n3. Fast demo.\n4. Meme-like payoff.\n5. Deal/CTA.\n\nTone: casual, funny, self-aware, not too salesy.\n\nAvoid heavy Chinese shopping-festival language unless the campaign specifically targets Chinese-speaking users.\n\n## 直播间真人带货\n\nBest for products that need high trust, host demonstration, or urgency.\n\nStructure:\n1. Host calls attention.\n2. Product in hand near camera.\n3. 2-3 selling points.\n4. Use/gift scenario.\n5. Limited-time close.\n\nTone: warm, energetic, real-time.\n\n## 商业广告/TVC\n\nBest for premium products, brand assets, gift boxes, hero products.\n\nStructure:\n1. Visual hero shot.\n2. Lifestyle aspiration.\n3. Product detail montage.\n4. Emotional payoff.\n5. Brand/activity end frame.\n\nTone: polished, sensory, cinematic.\n\nVideo-generation workflow: storyboard first. Ask the video tool to generate 5 key visual frames, then use those 5 frames as multi-reference images to generate the final 15s video.\n\nFile v1.0.4:references/output-template.md\n\n# Output Template\n\nUse this structure by default. Keep it concise.\n\n## Product Diagnosis\n\n- Category:\n- Visible traits:\n- Likely buyer/use case:\n- Best script angle:\n- Risks/uncertainties:\n- Campaign context: if requested, name the campaign; otherwise write `无明确活动，按长期通用脚本处理`.\n\n## Direction Options\n\nOnly include this section when the user has not chosen a direction.\n\n1. 带货口播 - ...\n2. 场景种草 - ...\n3. 促销活动 - only if the user wants an event/deal angle\n4. 测评对比 - ...\n5. 海外 TikTok 风格 - ...\n6. 直播间真人带货 - ...\n7. 商业广告/TVC - ...\n\n## Research Summary\n\nUse this section when research was performed.\n\n- Sources checked:\n- Reusable patterns:\n- What to copy structurally:\n- What not to copy:\n\nIf research was not possible, write: `未联网版本：以下脚本基于通用平台内容规律与产品图分析生成。`\n\n## Recommended Script\n\n- Title:\n- Duration:\n- Ratio:\n- Platform/style:\n- Why it fits:\n\n| Time | Shot / Action | Voiceover | On-screen Text |\n|---|---|---|---|\n| 0-2s |  |  |  |\n| 2-5s |  |  |  |\n| 5-8s |  |  |  |\n| 8-11s |  |  |  |\n| 11-15s |  |  |  |\n\n## Full Voiceover\n\nWrite the full spoken script in one paragraph.\n\n## Generation Prompt\n\nWrite a clean prompt for image/video generation tools.\n\nInclude:\n- product reference notes\n- for non-TVC directions, explicitly say to use the product image as the reference image and directly generate one complete 15s 9:16 video\n- for non-TVC directions, explicitly forbid storyboard images, character design images, separate clips, and storyboard confirmation\n- camera style\n- model/hand/action notes\n- timing\n- ratio and duration\n- voiceover language\n- text overlay constraints\n\n## Variants\n\nOptionally provide 2-3 hook or CTA variants.\n\n## Next Actions\n\nUse short user-facing labels. Do not expose backend workflow details in option names.\n\nAfter a single script, use exactly:\n\n1. 直接生成视频\n2. 重写一版（可提要求）\n3. 多给几个脚本/创意方向\n4. 改成其他视频方向（口播/种草/促销/测评/TikTok/直播/TVC）\n\nIf the chosen direction is商业广告/TVC, still write `直接生成视频`; the storyboard-first workflow belongs in the internal video handoff, not the user-facing option text.\n\nFor every non-TVC direction, `直接生成视频` means: use the product image as the reference image, then directly generate one complete 15s 9:16 video. Do not expose or create a storyboard-first workflow.\n\nAfter multiple scripts or creative directions, use exactly:\n\n1. 选其中一条去生成视频\n2. 把这几条全部交给 LibTV 批量生成\n3. 继续重写更多版本\n4. 先优化其中某一条脚本\n\nFile v1.0.4:references/research-guide.md\n\n# Research Guide\n\nUse research only when the agent has tools that can access current public sources.\n\n## Search Targets\n\nPrefer official or platform-native sources:\n- TikTok Creative Center\n- TikTok Shop / marketplace pages\n- Meta Ads Library or platform ad libraries when relevant\n- YouTube/TikTok public pages when accessible\n- Brand/product official pages for factual claims\n- Recent credible trend reports when platform pages are incomplete\n\n## Query Pattern\n\nCombine:\n- category: lipstick, sunscreen, snack, coffee, gadget\n- platform: TikTok US, Douyin, Xiaohongshu\n- commerce intent: shop, haul, review, deal, top ads\n- recency: last 7 days, this week, 2026\n\n## Safe Claims\n\nDo:\n- Summarize visible content patterns.\n- Cite links used.\n- Say when exact likes/ranking cannot be verified.\n- Use “in the researched sample” instead of “the whole platform” when coverage is incomplete.\n\nDo not:\n- Invent creators, likes, rankings, or video links.\n- Claim “guaranteed viral” or “guaranteed sales”.\n- Copy a creator’s exact script line-by-line. Replicate structure, pacing, and function instead.\n\n## Research Output\n\nFor 3-5 references, capture:\n- hook type\n- opening frame\n- product proof/demo\n- pacing\n- text style\n- CTA\n- why it works\n\nFile v1.0.4:references/video-handoff.md\n\n# Video Handoff\n\nUse this when scripts are handed to a video generation skill/tool.\n\n## Single Video Handoff\n\nUse this for all non-TVC directions, including 带货口播, 场景种草, 促销活动, 测评对比, 海外 TikTok 风格, and 直播间真人带货.\n\nCore rule:\n- Use the product image as the reference image.\n- Directly submit one complete video generation task.\n- Do not generate storyboard images, character design images, or separate video clips.\n- Do not add a storyboard review/confirmation step.\n\nInclude:\n- first sentence with fixed generation target: `请基于这张产品参考图，直接生成一条15秒、9:16竖屏、带声音/口播的完整短视频。`\n- title\n- selected direction\n- duration and ratio\n- reference image URLs or local paths\n- context isolation line\n- product appearance constraints\n- timecoded shot plan\n- full voiceover\n- on-screen text limits\n- avoid list\n- success criteria\n\nRequired non-TVC constraint line:\n\n`不要先生成分镜图、角色设计图或分段视频，也不要等待用户确认分镜。请直接输出完整成片。`\n\n## Batch Video Handoff\n\nFor multiple videos, create one manifest item per video. Keep each item self-contained so a downstream video skill can submit separate tasks without reading prior items.\n\nIf prior tasks in the same agent/session used another product, create or switch to a clean video-tool project/canvas before uploading the new product reference image. For LibTV, call `change_project.py`, then upload the product image, then submit the generation task. If prior tasks used another campaign or language, recommend a clean project/session before generation.\n\nTemplate:\n\n```markdown\n## Batch Manifest\n\n### Video 1: <title>\n- Context isolation: This is a new standalone product task. Do not inherit any previous product, campaign, 618, 双11, price, or activity context unless repeated in this prompt.\n- Direction:\n- Duration:\n- Ratio:\n- Reference image:\n- Product constraints:\n- Voiceover:\n- Shot plan:\n- On-screen text:\n- Avoid:\n- Success criteria:\n\n### Video 2: <title>\n...\n```\n\n## Generation Strategy\n\n- Treat each script variant as a separate video task unless the downstream tool has verified multi-video output metadata.\n- If the video model returns only one video per task, submit scripts sequentially or as clearly separated tasks in the same project/session.\n- Require a new project/canvas when changing products. For LibTV, call `change_project.py` before uploading the new product reference image.\n- Prefer a new session when changing language, platform, or removing a previously used campaign context.\n- If the tool has unknown concurrency limits, avoid promising a batch size. Say that batching means preparing multiple self-contained tasks, not guaranteeing simultaneous execution.\n- For AI video tools that often garble text, prefer no text or only 1-3 short overlay phrases. Put detailed selling points in voiceover.\n- For product-reference fidelity, include exact visible traits from the product image in every item.\n- If campaign language is not wanted, repeat the avoid list in every item: no 618, no 双11, no限时促销, no价格贴片, no shopping festival language.\n\n## Commercial/TVC Storyboard-First Handoff\n\nUse this only when the selected direction is `商业广告/TVC`. Do not use this workflow for 带货口播, 场景种草, 促销活动, 测评对比, 海外 TikTok 风格, or 直播间真人带货.\n\nWorkflow:\n1. Generate 5 key 9:16 storyboard images.\n2. Check that each storyboard preserves product identity and has no unwanted text. This is an internal check, not a required user confirmation step.\n3. Use the 5 storyboard images together as reference images for one complete 15s 9:16 video.\n4. Continue from storyboard images to final video automatically unless the user explicitly asked to review/approve storyboard images first.\n\nStoryboard slots:\n- Frame 1: hero product establishing shot\n- Frame 2: lifestyle/user scene\n- Frame 3: product texture/detail/macro\n- Frame 4: emotional payoff or use result\n- Frame 5: final product/brand end frame\n\nHandoff prompt must include:\n- first sentence with fixed generation target: `请生成一条15秒、9:16竖屏、带声音/口播的商业广告/TVC视频。`\n- original product image\n- 5 storyboard descriptions\n- instruction to create storyboard images first\n- instruction to use all storyboard images together as references for final video\n- instruction to continue to final video automatically after storyboard images unless the user explicitly requested storyboard approval\n- minimal or no on-screen text unless the user explicitly wants text\n- full voiceover or music direction\n\n## Commercial/TVC Batch Execution\n\nWhen the user chooses to generate multiple TVC scripts, keep the user-facing action as `把这几条全部交给 LibTV 批量生成`, but execute internally as a serial batch.\n\nRules:\n- Use unique IDs: `TVC-01`, `TVC-02`, `TVC-03`.\n- Submit only one TVC storyboard-first job at a time.\n- The first sentence of every submitted TVC prompt must include: `15秒、9:16竖屏、带声音/口播`.\n- Wait until that TVC has final video URL(s), or reaches a clear failure/timeout state, before submitting the next.\n- Prefer a new video-tool session for each TVC when the tool is conversational or likely to merge multiple tasks.\n- Record results before moving on: storyboard status, final video URL, failure reason, or timeout.\n- Do not pack several TVC concepts into one prompt.\n\nTimeout guidance:\n- If storyboard images are created but final video is not complete after a reasonable wait, report that state and continue only if the user asked for continued autonomous batching.\n- If the tool asks for confirmation because it sees multiple tasks, confirm only for the current TVC, not the whole batch.\n\n## Parameter Loss Check\n\nIf a generated video returns with the wrong duration, ratio, or no sound, first inspect the actual message sent to the video tool. The script output may contain the correct values, but the handoff prompt must also explicitly include:\n- 15秒\n- 9:16竖屏\n- 带声音/口播\n\nIf any of these are missing from the actual handoff prompt, regenerate with a corrected prompt before changing the creative script.\n\n## Regeneration Strategy\n\nWhen the user is unhappy with a script, ask for the failure type only if it is unclear:\n- hook weak\n- too salesy\n- not native to platform\n- prod\n\nArchive v1.0.3: 7 files, 9973 bytes\n\nFiles: agents/openai.yaml (344b), references/direction-playbook.md (2530b), references/output-template.md (2209b), references/research-guide.md (1255b), references/video-handoff.md (5273b), SKILL.md (6248b), _meta.json (145b)\n\nArchive v1.0.2: 7 files, 9536 bytes\n\nFiles: agents/openai.yaml (344b), references/direction-playbook.md (2530b), references/output-template.md (2209b), references/research-guide.md (1255b), references/video-handoff.md (4487b), SKILL.md (5935b), _meta.json (145b)\n\nArchive v1.0.1: 7 files, 9536 bytes\n\nFiles: agents/openai.yaml (344b), references/direction-playbook.md (2530b), references/output-template.md (2209b), references/research-guide.md (1255b), references/video-handoff.md (4487b), SKILL.md (5935b), _meta.json (145b)\n\nArchive v1.0.0: 6 files, 8566 bytes\n\nFiles: references/direction-playbook.md (2530b), references/output-template.md (2209b), references/research-guide.md (1255b), references/video-handoff.md (3461b), SKILL.md (5642b), _meta.json (145b)","readmeExcerpt":"Skill: NPAI SKILL Owner: npai10 Summary: Generate ecommerce product video scripts from one or more product images and optional selling points, with video handoff notes that forbid subtitles, caption... Tags: latest:1.0.9 Version history: v1.0.9 | 2026-05-21T16:28:44.342Z | user **Changelog for version 1.0.9** - Skill renamed and rebranded to focus on \"no subtitles\": now forbids all subtitles, captions, text overlays,","codeSnippets":[],"executableExamples":[{"language":"markdown","snippet":"## Batch Manifest\n\n### Video 1: <title>\n- Context isolation: This is a new standalone product task. Do not inherit any previous product, campaign, 618, 双11, price, or activity context unless repeated in this prompt.\n- Direction:\n- Duration:\n- Ratio:\n- Reference image:\n- Product constraints:\n- Voiceover:\n- Continuous visual flow:\n- Subtitle / on-screen text policy: none. Do not add subtitles, captions, title cards, price stickers, floating labels, or generated text overlays.\n- Avoid:\n- Success criteria:\n\n### Video 2: <title>\n..."},{"language":"markdown","snippet":"## Batch Manifest\n\n### Video 1: <title>\n- Context isolation: This is a new standalone product task. Do not inherit any previous product, campaign, 618, 双11, price, or activity context unless repeated in this prompt.\n- Direction:\n- Duration:\n- Ratio:\n- Reference image:\n- Product constraints:\n- Voiceover:\n- Continuous visual flow:\n- On-screen text:\n- Avoid:\n- Success criteria:\n\n### Video 2: <title>\n..."},{"language":"markdown","snippet":"## Batch Manifest\n\n### Video 1: <title>\n- Context isolation: This is a new standalone product task. Do not inherit any previous product, campaign, 618, 双11, price, or activity context unless repeated in this prompt.\n- Direction:\n- Duration:\n- Ratio:\n- Reference image:\n- Product constraints:\n- Voiceover:\n- Continuous visual flow:\n- On-screen text:\n- Avoid:\n- Success criteria:\n\n### Video 2: <title>\n..."},{"language":"markdown","snippet":"## Batch Manifest\n\n### Video 1: <title>\n- Context isolation: This is a new standalone product task. Do not inherit any previous product, campaign, 618, 双11, price, or activity context unless repeated in this prompt.\n- Direction:\n- Duration:\n- Ratio:\n- Reference image:\n- Product constraints:\n- Voiceover:\n- Shot plan:\n- On-screen text:\n- Avoid:\n- Success criteria:\n\n### Video 2: <title>\n..."},{"language":"markdown","snippet":"## Batch Manifest\n\n### Video 1: <title>\n- Context isolation: This is a new standalone product task. Do not inherit any previous product, campaign, 618, 双11, price, or activity context unless repeated in this prompt.\n- Direction:\n- Duration:\n- Ratio:\n- Reference image:\n- Product constraints:\n- Voiceover:\n- Shot plan:\n- On-screen text:\n- Avoid:\n- Success criteria:\n\n### Video 2: <title>\n..."},{"language":"markdown","snippet":"## Batch Manifest\n\n### Video 1: <title>\n- Context isolation: This is a new standalone product task. Do not inherit any previous product, campaign, 618, 双11, price, or activity context unless repeated in this prompt.\n- Direction:\n- Duration:\n- Ratio:\n- Reference image:\n- Product constraints:\n- Voiceover:\n- Shot plan:\n- On-screen text:\n- Avoid:\n- Success criteria:\n\n### Video 2: <title>\n..."}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: product-video-script-no-subtitles\ndescription: Generate ecommerce product video scripts from one or more product images and optional selling points, with video handoff notes that forbid subtitles, captions, text overlays, titles, and price stickers by default. Use when the user wants带货视频脚本, 产品视频脚本, 短视频脚本, 无字幕产品视频, TikTok/抖音/小红书/直播间/618/双11 product content ideas, or wants to choose directions such as带货口播、场景种草、促销活动、测评对比、海外 TikTok 风格、直播间带货、商业广告/TVC before producing scripts.\n---\n\n# Product Video Script - No Subtitles\n\nTurn product images and optional selling points into platform-ready short-video scripts and video handoff notes.\n\nDefault text policy: generated videos must have no subtitles, no captions, no text overlays, no title cards, no price stickers, no floating labels, and no generated UI text. Put selling points in voiceover and visuals instead of on-screen text.\n\n## Core Rule\n\nUse **research-enhanced generation when possible**, but never make research a hard dependency.\n\n- If the user asks for recent, trending, top-liked, platform-specific, or competitor-based scripts and the agent has browsing/search tools, research first and cite sources.\n- If browsing/search is unavailable, blocked, or the user wants speed, use the fallback playbooks in `references/direction-playbook.md` and clearly label the result as `未联网版本`.\n- Do not invent exact rankings, likes, creator names, or video URLs. Say when exact metrics could not be verified.\n\n## Workflow\n\nState boundary:\n- Selecting a direction only authorizes script writing. It is not permission to generate a video.\n- After writing any script, stop and show `Next Actions`. Do not call LibTV or any video generation tool yet.\n- Enter video generation only after the user explicitly selects `直接生成视频`, `选其中一条去生成视频`, `把这几条全部交给 LibTV 批量生成`, or otherwise clearly asks to generate videos.\n\n1. **Read the product input**\n   - Inspect all provided images when image understanding is available.\n   - Extract visible product category, appearance, use scene, likely audience, giftability, price/activity clues, and visual risks.\n   - Incorporate user-provided selling points. If selling points conflict with the image, mention the uncertainty.\n   - Campaign language is opt-in, not forbidden. Use 618, 双11, Black Friday, Christmas, summer, back-to-school, discounts, limited-time offers, or similar campaign framing only when the user explicitly requests it, selects a promotion direction, or the product image clearly contains that campaign. Otherwise keep the script evergreen.\n\n2. **Offer directions if the user has not chosen one**\n   Present 5-7 concise choices and wait for the user:\n   - 带货口播\n   - 场景种草\n   - 促销活动（only when the user wants a campaign/deal angle）\n   - 测评对比\n   - 海外 TikTok 风格\n   - 直播间真人带货\n   - 商业广告/TVC\n\n3. **Research or fallback**\n   - For research mode, search the chosen category + platform + time window + commerce intent.\n   - Summarize reusable patterns: hook, pacing, camera style, proof, offer, CTA.\n   - F"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn79q6d8fg01kce4chmzrkvmf986s4zr\",\n  \"slug\": \"product-video-script-skill\",\n  \"version\": \"1.0.9\",\n  \"publishedAt\": 1779380924342\n}"},{"path":"references/direction-playbook.md","content":"# Direction Playbook\n\nUse these patterns when live research is unavailable or as a baseline before adapting to research.\n\n## 带货口播\n\nBest for products with clear appearance, price/activity appeal, or giftability.\n\nStructure:\n1. Hook: name the buying scenario or pain point.\n2. Product close-up.\n3. One fast use/demo moment.\n4. Emotional or practical payoff.\n5. Offer/occasion CTA.\n\nTone: direct, fast, conversational.\n\n## 场景种草\n\nBest for lifestyle products, beauty, food, home, fashion, gifts.\n\nStructure:\n1. Everyday scene.\n2. Product appears naturally.\n3. Before/after mood shift.\n4. Detail close-up.\n5. Soft recommendation.\n\nTone: lived-in, aspirational but not too polished.\n\n## 促销活动\n\nBest for 618, 双11, Black Friday, launch deals, bundles.\n\nUse this direction when the user explicitly chooses促销活动 or mentions a campaign/deal context. Promotion language is allowed here; outside this direction, keep scripts evergreen unless the user requested a campaign.\n\nStructure:\n1. Urgency hook.\n2. One-sentence product reason.\n3. Best use/gift scenario.\n4. Deal reminder.\n5. Simple CTA.\n\nTone: energetic, clear, no overclaiming.\n\n## 测评对比\n\nBest for products with visible effects, durability, texture, convenience, or price/value contrast.\n\nStructure:\n1. Skeptical hook.\n2. Test setup.\n3. Product demo.\n4. Result close-up.\n5. Verdict.\n\nTone: believable, slightly critical, evidence-first.\n\n## 海外 TikTok 风格\n\nBest for US/EU TikTok Shop style ads, beauty, gadgets, fashion, food, novelty products.\n\nStructure:\n1. Native UGC hook.\n2. Unexpected reaction or weird twist.\n3. Fast demo.\n4. Meme-like payoff.\n5. Deal/CTA.\n\nTone: casual, funny, self-aware, not too salesy.\n\nAvoid heavy Chinese shopping-festival language unless the campaign specifically targets Chinese-speaking users.\n\n## 直播间真人带货\n\nBest for products that need high trust, host demonstration, or urgency.\n\nStructure:\n1. Host calls attention.\n2. Product in hand near camera.\n3. 2-3 selling points.\n4. Use/gift scenario.\n5. Limited-time close.\n\nTone: warm, energetic, real-time.\n\n## 商业广告/TVC\n\nBest for premium products, brand assets, gift boxes, hero products.\n\nStructure:\n1. Visual hero shot.\n2. Lifestyle aspiration.\n3. Product detail montage.\n4. Emotional payoff.\n5. Brand/activity end frame.\n\nTone: polished, sensory, cinematic.\n\nVideo-generation workflow, only after the user explicitly chooses `直接生成视频`: storyboard first. Ask the video tool to generate 5 key visual frames, then use those 5 frames as multi-reference images to generate the final 15s video."},{"path":"references/output-template.md","content":"# Output Template\n\nUse this structure by default. Keep it concise.\n\n## Product Diagnosis\n\n- Category:\n- Visible traits:\n- Likely buyer/use case:\n- Best script angle:\n- Risks/uncertainties:\n- Campaign context: if requested, name the campaign; otherwise write `无明确活动，按长期通用脚本处理`.\n\n## Direction Options\n\nOnly include this section when the user has not chosen a direction.\n\n1. 带货口播 - ...\n2. 场景种草 - ...\n3. 促销活动 - only if the user wants an event/deal angle\n4. 测评对比 - ...\n5. 海外 TikTok 风格 - ...\n6. 直播间真人带货 - ...\n7. 商业广告/TVC - ...\n\n## Research Summary\n\nUse this section when research was performed.\n\n- Sources checked:\n- Reusable patterns:\n- What to copy structurally:\n- What not to copy:\n\nIf research was not possible, write: `未联网版本：以下脚本基于通用平台内容规律与产品图分析生成。`\n\n## Recommended Script\n\n- Title:\n- Duration:\n- Ratio:\n- Platform/style:\n- Why it fits:\n\nWrite the script as a continuous sequence, not a timestamp table. Do not use rows such as `0-2s`, `2-5s`, or numbered clip segments.\n\n- Opening hook:\n- Visual flow:\n- Voiceover:\n- Subtitle / on-screen text policy: none. Do not add subtitles, captions, title cards, price stickers, floating labels, or generated text overlays.\n- Closing CTA:\n\n## Full Voiceover\n\nWrite the full spoken script in one paragraph.\n\n## Video Handoff Notes\n\nWrite concise handoff notes for a later video generation step. These notes are not permission to generate video and are not a replacement prompt. When the user later asks to generate video, preserve the confirmed script as the source of truth and pass these notes as constraints.\n\nInclude:\n- product reference notes\n- for non-TVC directions, explicitly say to use the product image as the reference image and directly generate one complete 15s 9:16 video\n- for non-TVC directions, explicitly forbid storyboard images, character design images, separate clips, timestamp-based generation, and storyboard confirmation\n- explicitly say to generate sound/voiceover natively inside the video generation request; do not create separate TTS audio or compose audio and video later\n- explicitly say no subtitles, no captions, no text overlays, no title cards, no price stickers, no floating labels, and no generated UI text\n- camera style\n- model/hand/action notes\n- overall pacing only, without timestamp segments\n- ratio and duration\n- voiceover language\n- no-text-overlay constraints\n\n## Variants\n\nOptionally provide 2-3 hook or CTA variants.\n\n## Next Actions\n\nUse short user-facing labels. Do not expose backend workflow details in option names.\n\nMandatory stop rule:\n- After outputting a script, stop here and wait for the user's next selection.\n- Do not call LibTV or any video generation tool from the same response that writes the script.\n- A user selecting a direction means \"write a script in this direction\"; it is not permission to generate the video.\n- Only start video generation after the user explicitly selects `直接生成视频`, `选其中一条去生成视频`, `把这几条全部交给 LibTV 批量生成`, or clearly asks to generate videos.\n\nAfter a single script, use e"},{"path":"references/research-guide.md","content":"# Research Guide\n\nUse research only when the agent has tools that can access current public sources.\n\n## Search Targets\n\nPrefer official or platform-native sources:\n- TikTok Creative Center\n- TikTok Shop / marketplace pages\n- Meta Ads Library or platform ad libraries when relevant\n- YouTube/TikTok public pages when accessible\n- Brand/product official pages for factual claims\n- Recent credible trend reports when platform pages are incomplete\n\n## Query Pattern\n\nCombine:\n- category: lipstick, sunscreen, snack, coffee, gadget\n- platform: TikTok US, Douyin, Xiaohongshu\n- commerce intent: shop, haul, review, deal, top ads\n- recency: last 7 days, this week, 2026\n\n## Safe Claims\n\nDo:\n- Summarize visible content patterns.\n- Cite links used.\n- Say when exact likes/ranking cannot be verified.\n- Use “in the researched sample” instead of “the whole platform” when coverage is incomplete.\n\nDo not:\n- Invent creators, likes, rankings, or video links.\n- Claim “guaranteed viral” or “guaranteed sales”.\n- Copy a creator’s exact script line-by-line. Replicate structure, pacing, and function instead.\n\n## Research Output\n\nFor 3-5 references, capture:\n- hook type\n- opening frame\n- product proof/demo\n- pacing\n- text style\n- CTA\n- why it works"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":2298,"uniquenessScore":40,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T01:25:07.080Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T01:25:07.080Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T03:55:29.949Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}