{"id":41388,"plugin_id":"plugin_asdk_app_6a6172c418e481918bf3817aa288e3f0","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-10-24T12:58:59.026Z","digest":"cd2a749483a5eb0d886c2fe5db164c51dab70b1d4a683f01ac315e85bb6a1957","against":null,"payload":{"description":"Add the user's own photos or videos to Dathent Media, choose saved uploads, or use original media and visual references in a requested post. Show the Media library and Add media picker for photo and video upload requests.","included_files":[],"name":"own-media","skill_md_contents":"---\nname: own-media\ndescription: Add the user's own photos or videos to Dathent Media, choose saved uploads, or use original media and visual references in a requested post. Show the Media library and Add media picker for photo and video upload requests.\n---\n\n# Add and use the user's media\n\nRespond in the user's language. Distinguish saving a file in Media, creating a draft, and publishing: each is a different action.\n\n## Open the upload workflow\n\nFor requests such as \"I want to add my photo\" or \"Can we add a video?\", open\n`open_workspace` with `view: \"media\"` when available, even without a chat\nattachment. It gives the user Add media, saved files and creation controls in\none place. If the connection exposes only compact widgets, call `list_media`\nwith `type: \"images\"`, `\"videos\"`, or `\"all\"` as appropriate. Choose one entry\nview, not both. Omit `brandProfileId` for the active brand; ask for the destination\nonly when it is genuinely ambiguous. After resolving a brand, continue to Media\nrather than stopping at the brand result.\n\nCheck `uploadAvailable` and `note`. When available, explain briefly that **Add media** saves the selected file to the library without making a post. Opening this card does not itself upload an attachment. Use the returned limits; the current picker supports images up to 5 MB and MP4/MOV videos up to 100 MB where video access is available.\n\nFor a supplied public HTTPS image URL, `add_media_from_url` can save the image directly. A chat image may take this route only if the host actually supplies a usable supported HTTPS download URL; never invent, reconstruct, or substitute a local/blob/attachment URL. This tool does not import videos. If no usable image URL is available for a library-only request, use **Add media** rather than creating a dummy draft.\n\n## Use the intended file\n\n- Match a named upload using returned `fileName`, media ID, type, and preview. Long names are still identifiers; do not infer which video is first from display order alone. Ask when the requested file cannot be identified safely.\n- After a successful upload, use the returned media ID. Do not claim the file was saved merely because the user attached it in chat or the library opened.\n- For an explicitly requested draft using original saved media, pass its IDs in `create_post_draft.mediaAssetIds`, together with the final `caption` and a `platforms` array. Write the requested caption first if needed, and preserve any text the user already finalized.\n- Supported attached photos can go directly into `create_post_draft.images`. File objects must use the host-provided `download_url` and `file_id` (with optional `mime_type`/`file_name`); do not fabricate these fields. This image field does not accept video.\n- For a new image inspired by a photo, use reference fields instead of original-media fields. `create_post_draft` needs `generateImage: true` and `confirmImageSpend: true` for this credit-spending path. The user's explicit request for that new image already provides authorization; do not ask for the same confirmation again. Do not regenerate or alter originals when the user asked to keep them unchanged.\n- To change media on an existing post when no suitable edit tool is exposed, open its returned `appUrl`; do not recreate and reschedule it as a workaround.\n\nAI video generation is not currently available to users. It is planned, with no announced date; video quota entries do not establish availability. Explain this for generation requests and offer existing-video upload, opening the picker when that upload is requested.\n\nFor standalone image creation, the Media panel exposes the actual prompt,\nbranding, style, aspect ratio and reference controls. Generation requires the\nuser's confirmation and uses the account's existing allowance. Do not create a\ndummy post to save a standalone library image. Do not promote plans or credit\npurchases when a feature is unavailable.\n\nFor a newly accepted draft batch, follow its returned `nextAction`: on a Workspace connection, open `view: \"posts\"` with the same `batchId` once, or its returned ready `postId`. Otherwise let the compact progress card update. Read the existing batch only when a requested continuation needs the result; do not create another batch after a timeout. Finish with the actual saved/uploading/failed state and the relevant returned link.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}