social-media-publisher
Original:🇺🇸 English
Translated
26 scripts
Prepare and, after explicit approval, publish social posts through the PostPlus platform-owned Postiz workspace.
32installs
Added on
NPX Install
npx skill4agent add postplusai/postplus-skills social-media-publisherTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Social Media Publisher
Follow shared release-shell rules in:
- release-shell rules
postplus-shared
Use this skill when the user wants to operate social publishing through the PostPlus-managed Postiz workspace.
This skill is for:
- guiding users through the invite-link channel onboarding flow
- listing integrations available on the PostPlus Postiz workspace
- preparing a local publish request draft
- creating a Postiz draft or schedule only after explicit approval
- promoting an existing Postiz draft into the queue only after a second approval
Ownership model
PostPlus holds one platform-owned Postiz org and API key.
End users do not need their own Postiz accounts.
Channel onboarding uses the Postiz invite-link mechanism:
- the product calls with the PostPlus Postiz API key
GET /public/v1/social/{integration} - Postiz returns a social-platform OAuth URL (e.g. Instagram, TikTok) and stores a state → PostPlus org mapping in Redis for 1 hour
- the product delivers that URL to the end user (via UI or CLI)
- the user clicks the link and authorizes their social account on the platform's own OAuth consent screen — no Postiz registration required
- the resulting channel token lands in the PostPlus Postiz org
- the product labels the channel with the user's PostPlus account id via
PUT /integrations/:id/customer-name
Safe default
create_post.mjsWithout , it:
--execute- validates the local request
- enforces the integration allowlist
- writes a local preview envelope
- emits an
approvalRequest - does not call Postiz
Actual remote mutation requires:
--execute--approval-file <approved.json>- a channel that has been onboarded via the invite-link flow above
Use to move a real Postiz draft from to
after a second explicit approval.
change_post_status.mjsdraftscheduleAuthentication
Read .
references/api-contract.mdRelease workflow rules:
- PostPlus backend holds the Postiz API key server-side; scripts never receive it directly
- all Postiz API calls are proxied through the hosted capability bridge
- do not ask users for Postiz credentials of any kind
Default workflow
- User requests channel onboarding via the product UI or CLI.
- Product generates an invite link for the target platform.
- User authorizes their social account via the platform OAuth screen.
- Product labels the new channel integration with the user's account id.
- List integrations to confirm the exact integration id for the user's channel.
- Build the local request JSON.
- Run without
create_post.mjsto produce an approval artifact.--execute - After approval, re-run .
create_post.mjs --execute --approval-file ... - If the post should stay reviewable, keep it in .
draft - Only after a second approval, run to queue it for publishing.
change_post_status.mjs --status schedule
Main scripts
scripts/list_integrations.mjsscripts/integration_settings.mjsscripts/trigger_tool.mjsscripts/upload_media_from_url.mjsscripts/upload_file.mjsscripts/create_post.mjsscripts/change_post_status.mjsscripts/list_posts.mjsscripts/delete_post.mjsscripts/delete_post_group.mjsscripts/get_missing_content.mjsscripts/update_release_id.mjsscripts/platform_analytics.mjsscripts/post_analytics.mjsscripts/list_notifications.mjsscripts/render_publish_report.mjs
Command examples
Prepare a publish request preview:
bash
node skills/50-publishing/social-media-publisher/scripts/create_post.mjs \
--request "<request.json>" \
--customer-config "<postiz.config.json>" \
--output "<create-post.preview.json>"Execute the approved create:
bash
node skills/50-publishing/social-media-publisher/scripts/create_post.mjs \
--request "<request.json>" \
--customer-config "<postiz.config.json>" \
--output "<create-post.result.json>" \
--execute \
--approval-file "<approval.json>"Promote a draft into the publish queue:
bash
node skills/50-publishing/social-media-publisher/scripts/change_post_status.mjs \
--post-id "<post-id>" \
--status schedule \
--output "<status.result.json>" \
--execute \
--approval-file "<approval.json>"