{"id":39847,"plugin_id":"plugin_asdk_app_6a9fb9b1df58819183cf46812fc795df","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-10-24T12:49:41.923Z","digest":"6b1c9ce4e1560d1c85a47f689751c1567220d4e7e01939681321986b8d8706ef","against":null,"payload":{"description":"Use when the user wants to create an image, edit an image, or generate a video in the conversation, without explicitly requesting a Canvas. Deliver the result card and save the creation context in a personal Board.","included_files":[{"relative_path":"agents/openai.yaml","size_in_bytes":507}],"name":"direct-creation","skill_md_contents":"---\nname: direct-creation\ndescription: Use when the user wants to create an image, edit an image, or generate a video in the conversation, without explicitly requesting a Canvas. Deliver the result card and save the creation context in a personal Board.\n---\n\n# Direct image and video creation\n\nOrdinary image/video requests use standalone creation tasks. No Canvas, project\nselection, or Board selection is required. The server assigns the personal\nCodex Creations Board across conversations. Only send boardId when the user\nexplicitly chooses another Board.\n\n1. Preserve the requested deliverable and verbatim prompts when requested.\n2. Discover current model configuration with topview_get_generation_config. Use\n   the model ID and supported ratio, resolution, duration and reference inputs.\n   Do not invent support or silently switch to a text-only task when references\n   are required. This creation contract currently supports text_to_image,\n   image_edit, text_to_video and image_to_video.\n3. Resolve reference media to authorized durable Topview references. Do not submit\n   local file paths, guessed IDs or expiring preview links. If import is needed,\n   call topview_prepare_creation_upload, PUT the file bytes to its uploadUrl, then use its storageKey with topview_import_board_asset. For image references, pass that storageKey as inputImageS3Path. The server rejects arbitrary storage paths. Do not use the general OpenAPI upload endpoint for this scoped upload contract.\n4. Call topview_quote_creation. The quote is authoritative for current credits,\n   free generation count and shortfall. It creates no generation or Canvas.\n5. If canSubmit is false, show requiredCredits, availableCredits and\n   shortfallCredits, with the returned nontransactional entitlement information\n   link. Do not substitute checkout, purchase or upgrade URLs. Offer changes to\n   specifications only as options; never silently reduce the user's request.\n6. Submit with topview_submit_creation when the concrete quoted scope is\n   authorized. Respect an already approved budget; ask only when the quote\n   exceeds it or payment scope is unresolved. Reuse the same idempotencyKey for\n   transport retries. Never manufacture a new key to bypass an uncertain result.\n7. Poll topview_show_creation using creationId. Preserve every batch item,\n   including failures and uncertain submissions. Show the native result card;\n   a one-output result needs no batch selector.\n8. Report completion only for confirmed successful outputs. The card provides\n   Recreate, Download and Open in Topview. Recreate requests a fresh quote and\n   creates a new version; it does not overwrite the original.\n\nSave only creation prompts, parameters, references and result relationships.\nNever upload the entire conversation. Filenames and Board bindings are assigned\nby the server; do not invent or reserve them through model text.\n\n## Mixed and multi-prompt batches\n\nFor several deliverables with different prompts, including mixed images and\nvideos, call topview_quote_creation_batch with one item per independently\nspecified prompt/type/model. A batch supports up to 12 items; split larger\nrequests into bounded batches without dropping any item. Use count only for\nmultiple variations of the same prompt and settings.\n\nReview every returned quote and its credit requirement. Shared credits and free\nallowances are not reserved by quotes; do not promise that free quota applies\nindependently to every item. Submit the approved quotes using\ntopview_submit_creation_batch, retaining each quoteId/idempotencyKey pair.\nA transport error or submission_unknown is not proof of failure: retry only the\nsame pair, never manufacture replacement quotes or keys. Report quote changes,\nshortfalls and failures per item; no automatic paid upgrade or replacement.\n\nDeliver all creation IDs together through topview_show_creations, including\npending and failed creations. This read-only tool returns a mixed inline gallery\nwith every result, prompt, model and status. Use it to redisplay existing batches\nwithout generating. Preserve the IDs of unavailable items for later refresh.\nNever replace successful native gallery delivery with a table of Board links.\nBoard links are optional management actions, not the primary delivery. Only use\nlink fallback when the host explicitly cannot render MCP Apps; explain that\nlimitation rather than silently redirecting the user.\n\n## Concise result delivery\n\nAfter a successful native result card, finish with one short sentence in the\nuser's language, such as \"已生成，见上方结果卡片。\" For batches, optionally include\nthe completed/failed counts. Do not repeat the prompt, model, dimensions,\ncreative description, filename, Board URL, or action links already in the card.\nThis applies equally to images, edited images, videos and mixed batches.\nDo not append Markdown image embeds, HTML media tags, image attachments,\nplaceholder previews or duplicate result cards after successful native delivery.\nInspection is not a second delivery channel. If you inspect a generated image\nin a browser or screenshot, do not append that image, screenshot or its URL to\nthe final reply. Never recover or reconstruct media URLs from previous tool\noutputs to bypass native-card-only delivery. A compact model summary without\nmedia URLs is intentional: the native component receives its private payload.\nDo not call internal feedback/reporting tools as a routine delivery step.\nOnly supply one ordinary Board link when native cards are explicitly unavailable\nor when the user asks for that link. A reconnect or uncertain rendering is not\npermission to generate again or repeatedly append alternative previews.\nFailed or pending results must remain accurate; retain failure/refund details in\nthe card and use a short status sentence instead of claiming completion.\n\n## Video delivery\n\nFor both newly generated and previously created videos, use\ntopview_show_creation to deliver the native result card. The card is the only\ninline video presentation; its player and Download action deliver the media.\nDo not append a duplicate media preview in commentary or the final response.\nNever put a video URL (including MP4, WebM, MOV, signed URLs or URLs without an\nextension) inside Markdown image syntax (an exclamation mark followed by a bracketed label and parenthesized URL), an HTML image tag, or\nan image-content block. A video URL is not an image or a thumbnail. Do not\ninvent a cover image, download the video, or generate another asset to work\naround rendering. Image creations also use only the native card when available.\n\nAfter a successful video card, reply with a short text confirmation only,\nfor example: \"视频已生成，见上方结果卡片。\" Do not repeat its media URL.\nIf the host cannot render MCP Apps, explain that inline video preview is\nunavailable and provide an ordinary authorized Board link as the fallback;\nnever use a video URL as an image fallback. For failed or pending videos,\nshow the current card and accurate status without a media placeholder.\n\n## Canvas and library routing\n\nUse topview_open_library to show the minimal library launcher. The user opens\ntheir Board on the Topview website. Do not build an embedded Board workspace.\n\nFor explicit Canvas requests, use operate-topview-canvas and\ncanvas-agent-workflows. For timeline editing, reusable scene assets or other\nwork requiring Canvas, recommend it and obtain acceptance before creating it.\nOpen Canvas through get_topview_canvas_web_link in the browser. Preserve the\nrequested narrative coverage; do not reduce a complex deliverable to a single\nclip merely to fit the standalone route.\n\nIf a host does not render MCP Apps, deliver authorized Board links with a\nconcise status summary. Use ordinary clickable links only, never Markdown image embeds. Never claim a UI was displayed when\nonly a link was returned.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}