{"id":71759,"plugin_id":"plugin_asdk_app_6ace49615f6c8191a7640e5913689d23","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-10-30T00:05:56.013Z","digest":"f2393866e510da48bd1376f3181c28fd246ddb07e80004561d506b08c27ec512","against":null,"payload":{"description":"Create ReelsFarm Product Studio scenes from an approved avatar and product image. Use for product placement, product demonstration, lifestyle image, and iterative product-scene requests.","included_files":[],"name":"reelsfarm-product-scenes","skill_md_contents":"---\nname: reelsfarm-product-scenes\ndescription: Create ReelsFarm Product Studio scenes from an approved avatar and product image. Use for product placement, product demonstration, lifestyle image, and iterative product-scene requests.\n---\n\n# ReelsFarm product scenes\n\nCreate a Product Studio image from an exact avatar and product image. Protect product identity and maintain conversation continuity during revisions.\n\n## Tool discovery\n\nDiscover the ReelsFarm MCP tools before acting. Start with `reelsfarm_get_account` and `reelsfarm_get_generation_pricing`. Resolve owned inputs with `reelsfarm_list_avatars`, `reelsfarm_list_characters`, `reelsfarm_list_assets`, `reelsfarm_search_assets`, and `reelsfarm_list_gallery`. Use `reelsfarm_list_active_image_generation_jobs` to inspect unfinished image work.\n\nPrefer existing owned product assets. Do not invent a filename, identifier, source image, or public URL.\n\n## ChatGPT follow-ups\n\nIn ChatGPT, ReelsFarm app selection applies to one user message. A follow-up that needs another ReelsFarm tool call must select or `@mention` ReelsFarm again. If the current turn has no ReelsFarm tools, do not claim that ReelsFarm lacks the requested capability and do not substitute a native generator. Ask the user to select ReelsFarm and resend the action. Discussing an existing result without a new tool call does not require reselection.\n\n## Preparation\n\nConfirm the exact avatar, product image, scene instruction, and product handling constraints. Use `reelsfarm_prepare_generate_product_scene`. Use `dryRun: true` when the user wants a preview or when cost and inputs are not settled.\n\nFor a revision, use `reelsfarm_get_image_generation_conversation` and preserve `conversationId` and `parentGenerationId` from the selected prior turn.\n\nIf no product asset exists, use `reelsfarm_create_product_upload_sessions` only for product images and only when the client can perform the returned HTTPS upload. Never use product upload sessions for avatars, characters, or avatar-to-video handoff. Keep the upload order unchanged. Complete successful uploads with `reelsfarm_complete_product_upload_sessions`. Do not expose upload details outside the current client session.\n\n## Confirmation\n\nShow the prepared action, credit estimate, selected avatar, selected product, and scene instruction. Get explicit user approval before calling the operation-specific tool named in the prepared result's `confirmationTool` field. If the action already executed under the connection policy, do not confirm it again.\n\n## Job polling\n\nPoll the returned job with `reelsfarm_get_product_scene_job_status`. Use `reelsfarm_get_image_generation_job_status` for the normalized conversation turn. Increase the polling interval after unchanged responses. Stop at a complete, failed, or cancelled state.\n\n## Result integrity\n\nUse `executionState` as the authoritative mutation state. Treat `NOT_STARTED` and `PREPARED` as no execution. Treat `ENQUEUED` and `PROCESSING` as unfinished. Claim that ReelsFarm created a product scene only after the ReelsFarm job reports completion and returns the scene identifier and URL. Do not substitute or attribute a client-native image.\n\n## Idempotency\n\nUse one stable `idempotencyKey` for one logical upload reservation, scene preparation, or mutation. Reuse that key after a timeout or uncertain response. Create a new key only after the user changes an input or requests another result.\n\n## Error recovery\n\nIf a response includes an operation identifier but the result is unclear, call `reelsfarm_get_operation`. Do not repeat an upload reservation, preparation, or confirmation until the operation state is known. If an upload expires, request a new session only for the files that still need upload. If a confirmation expires, prepare again and request approval again.\n\n## Safe stopping\n\nStop when paid access is inactive, credits are insufficient, an image is unauthorized, the product or avatar is ambiguous, upload capability is unavailable, or the user does not approve. Do not replace a product image with a guessed URL. Do not publish from this skill.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}