{"id":89060,"plugin_id":"plugin_asdk_app_6ae20d28f30c81919992b6b198b05d2b","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-11-10T12:09:58.030Z","digest":"be9c100d731da7921780cf2f461a414b5df87135fa1fbe902f17cce06d537a5c","against":null,"payload":{"description":"Publish or schedule social media posts through WoopSocial to Facebook, Instagram, Threads, LinkedIn, Bluesky, X/Twitter, Pinterest, TikTok and YouTube. Use when the user asks to post, publish, schedule, cross-post or queue content to their social accounts, or asks whether a post went out.","included_files":[],"name":"publish-posts","skill_md_contents":"---\nname: publish-posts\ndescription: Publish or schedule social media posts through WoopSocial to Facebook, Instagram, Threads, LinkedIn, Bluesky, X/Twitter, Pinterest, TikTok and YouTube. Use when the user asks to post, publish, schedule, cross-post or queue content to their social accounts, or asks whether a post went out.\n---\n\n# Publish posts with WoopSocial\n\nThe WoopSocial connector must be connected. If its tools are missing, ask the user to connect WoopSocial in the app's plugin or connector settings.\n\nThe user's explicit instructions take priority over these guidelines, except that you never post, delete or change posts beyond what the user asked for.\n\n## Posting workflow\n\n1. Use `projects_list` to identify the project.\n2. Use `social_accounts_list` to resolve the requested accounts. Only accounts with `status: CONNECTED` can publish, and all accounts in one post must belong to the same project. If a requested platform isn't connected, say so plainly; never skip it silently.\n3. Use `social_accounts_get_platform_inputs` when a platform needs account-specific options, such as a Pinterest board or a TikTok privacy setting.\n4. Reuse media returned by `media_list` when it fits. For new media, use the `media_uploads_*` session tools: upload every returned part exactly as instructed, complete the session, and wait until the media is ready.\n5. Build the post from the user's content, accounts, platform-specific fields and schedule.\n6. When the user wants to review the post first, or you are unsure the content fits a platform's rules, call `posts_validate` with the same request and fix every error it reports.\n7. Call `posts_create` only after the target accounts, content and schedule are unambiguous.\n8. Return the post ID and the requested schedule. For delivery results, use `posts_get` or `social_account_posts_list`, and distinguish pending, scheduled, published and failed states.\n\n## Uploading media from chat\n\nUploads go to presigned URLs on `r2.cloudflarestorage.com`. If uploading a part is blocked, tell the user to add `*.r2.cloudflarestorage.com` to the app's network allowlist (in its code execution or sandbox settings) and try again.\n\n## Action boundaries\n\nTreat an explicit request to publish or schedule as authorization for that action. Ask before creating the post only when its target accounts, content, schedule, or publish-versus-draft intent is ambiguous.\n\nRequire explicit user intent before calling a delete tool for posts, account posts, projects, social accounts, media or webhooks.\n\nNever claim that a post was published merely because creation succeeded. Report the delivery state WoopSocial returns.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}