Skip to main content
skill CX Codex

platform-specs-and-validation — Claude Code skill: setup

Validates social media post payloads before publishing via WoopSocial. It prevents rejected multi-platform broadcasts by catching field and media errors.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add social-media-skills/skills --skill platform-specs-and-validation -a claude-code
Open on GitHub

What platform-specs-and-validation does

This skill enforces OpenAPI schemas and media constraints for publishing across networks via WoopSocial. It hydrates required fields such as YouTube privacy, TikTok parameters, and Pinterest boards, fetching account details from GET /social-accounts/{id}/platform-inputs. It also blocks invalid payload combinations, such as mixed photos and videos for Facebook or missing media on Instagram Stories.

The workflow follows the CHECK framework and calls POST /posts/validate before triggering atomic creation. Because WoopSocial lacks an update endpoint, an error on a single social target rejects the whole batch. Changing a published post requires deleting and recreating it while it remains in NOT_STARTED status. Compliance flags like madeForKids or isBrandedContent are strictly human choices and are never toggled automatically to silence validation errors.

What it helps with

  • verify social post payloads against WoopSocial API rules before publishing
  • map target-specific required fields for multi-network broadcasts
  • catch media mismatch errors for Pinterest, Facebook, TikTok, and Instagram
  • resolve payload validation failures without falsifying compliance disclosures

Example prompts for the agent

  • Run POST /posts/validate on this draft for TikTok and Pinterest
  • Check the required fields for YouTube and Instagram before publishing
  • Fetch platform-inputs for the Pinterest board and validate media constraints

How to install platform-specs-and-validation

1Skills CLI (Vercel)

npx skills add social-media-skills/skills --skill platform-specs-and-validation -a claude-code

2Manually: put the files in place

~/.claude/skills/platform-specs-and-validation/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/platform-specs-and-validation/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about platform-specs-and-validation

How do I install platform-specs-and-validation in Claude Code?

Run npx skills add social-media-skills/skills --skill platform-specs-and-validation -a claude-code in your terminal. This creates the skill file at ~/.claude/skills/platform-specs-and-validation/SKILL.md.

What does the platform-specs-and-validation skill do?

It inspects multi-platform post payloads and runs POST /posts/validate before sending them to WoopSocial. It ensures target-specific fields, media rules, and text limits match the API spec.

Can this skill edit a post that has already been published?

No. WoopSocial does not provide an update endpoint, so any modification requires deleting and recreating the post while its status is NOT_STARTED.

Source text

SKILL.md · MIT
---
name: platform-specs-and-validation
description: >-
  Platform specs and publish validation — per-platform requirements and the validate-before-publish
  step for multi-platform fan-out. Use when fanning a post out to multiple platforms, when a post is
  getting rejected, when mapping per-platform postType/required fields, or to run the
  validate-before-publish step. Encodes the per-platform postType enums, required-field matrices,
  and media rules from the OpenAPI spec, and runs POST /posts/validate so a post lands correctly on
  every target. Uses the CHECK framework. The keystone the per-platform format skills point to.
  WoopSocial validates + publishes atomically and has no update endpoint; the agent maps fields and
  fixes spec violations, but human-judgment calls (disclosure truthfulness, privacy intent) stay
  with the person; metrics never fabricated. Distinct from the per-platform format skills (one
  platform's content) and scheduling-and-queue (timing).
version: 1.0.0
---

# platform-specs-and-validation

The **cross-cutting publish-readiness skill** — make a post correct on **every** target (required fields,
media rules, limits) and run the **validate-before-publish** loop. It's the **keystone the format skills
point to.** The agent **maps fields + fixes spec violations + validates**; **WoopSocial validates and
publishes**; **content craft and human-judgment calls stay elsewhere.**

## The POV: publish-ready, atomically, the first time
WoopSocial **validates and publishes atomically** — `POST /posts` checks every target together, and **if
any one fails, nothing is created.** There's **no update endpoint**, so a post that publishes wrong can't
be patched (edit = **delete + recreate**). That makes **getting every target's fields right *before*
publish** the whole game: the right `postType`, the required per-platform fields, the media rules, and
account-specific values (Pinterest board, TikTok privacy) resolved from `platform-inputs` — then
`POST /posts/validate` to catch what's left. This skill is where the format skills come to **make sure it
will actually go through.**

## The framework: CHECK
(Depth: `references/the-check-framework.md`.)
- **C — Collect the targets + project:** list the social accounts; confirm they're in the **same project**;
  note each platform's field set.
- **H — Hydrate per-platform required fields:** fill each target's required fields (FB/IG `postType`;
  TikTok's eight; YouTube `title`+`privacy`; Pinterest `pinterestBoardId`); **resolve account values** from
  `GET /social-accounts/{id}/platform-inputs`.
- **E — Enforce media + content rules:** FB no image+video mix; IG Stories need media; **Pinterest single
  media**; TikTok PHOTO/VIDEO field applicability; use `contentOverride` or separate posts where fan-out
  conflicts; respect text limits.
- **C — Confirm truthful declarations:** `isBrandedContent`/`isYourBrand`/`madeForKids` are **truthful
  declarations, not validation knobs** — never flip them to clear an error; these stay with the person.
- **K — Knock it through validation:** `POST /posts/validate` → fix all errors, review warnings → create
  (atomic). **No update** → delete + recreate (only while `NOT_STARTED`).

## The spec (ground truth — verify-quarterly)
Per-platform postType enums + required-field matrices + media rules + the platform-inputs discovery
endpoint + lifecycle facts (atomic create, no update, delivery status, schedule types):
`references/woopsocial-publish-spec.md`. The validate-then-create loop, the full `ValidationField` code
table + `CreatePostErrorCode` list + worked examples: `references/validation-reference-and-recipes.md`.
(The live OpenAPI spec / `tools/integrations/woopsocial.md` are the source of truth; enums and limits move.)

## Honest scope (never violate)
- **This skill ensures publish-READINESS** (fields/media/spec correct + validated) — it **doesn't write or
  improve the creative** (the format/content skills do) and **can't guarantee performance.**
- **WoopSocial validates + publishes atomically; one failing target fails the whole post.** **No update** →
  delete + recreate (only while `NOT_STARTED`).
- **Disclosure/compliance declarations stay truthful** (`isBrandedContent`/`isYourBrand`/`madeForKids`) —
  **never flipped to pass validation**; privacy intent + disclosure truthfulness stay with the **person**.
- **Resolve account values** (board, privacy) from `platform-inputs` — don't guess. **Never fabricate
  metrics** — native analytics only. (Scope, distinctions + connections: `references/scope-and-connections.md`.)

## Distinct from its siblings (route correctly)
**platform-specs-and-validation (this)** = the cross-platform field/media/validation layer that makes a post
publish-ready on every target · **the per-platform format skills** (`tiktok-photo-mode`,
`tiktok-video-publishing`, `threads-post`, `youtube-publishing-and-metadata`, `carousel-writer`, …) =
**craft one platform's content** and point here for validation · **scheduling-and-queue** = timing/cadence,
not correctness · `tools/integrations/woopsocial.md` = the shared integration guide this applies post-level.

## Where this connects
Receives from: every **format skill** (crafted content + chosen postType) and **content-calendar** (the
plan). Resolves with: `GET /social-accounts/{id}/platform-inputs` (boards, privacy options) + the
**integration guide**. Hands to: **scheduling-and-queue → WoopSocial** (`POST /posts` after `isValid`),
then **webhooks/delivery status** for confirmation. Supports: **cross-platform-repurposing** (per-target
`contentOverride`), **analytics-and-reporting** (native delivery readout), **experimentation** (valid
variants). Content craft + truthful declarations stay with the format skills + the person.

## Definition of done
Every target collected and confirmed in one project; each target's required fields hydrated (postType /
privacy / board / disclosure / title as applicable) with account-specific values resolved from
platform-inputs; media + content rules enforced (no FB mix, IG-Story media, single Pinterest media, TikTok
field applicability) with contentOverride or separate posts where fan-out conflicts; disclosure/madeForKids
declarations left truthful (never flipped to pass); `POST /posts/validate` run with all errors resolved and
warnings reviewed before an atomic create; edits handled via delete+recreate, nothing fabricated and no
promised performance; correctly distinguished from the per-platform format skills and scheduling-and-queue.

© social-media-skills · MIT · social-media-skills/skills

Similar skills

Everything for Marketing and content →

From the same set106

instagram-reels-publishing Takes a finished Reel through the publish step: 9:16 specs, safe zone, grid-safe cover and post settings. Useful when the edit is done and you need it to go out uncropped. CX Codex +1 672installs content-audit Retrospective social media audit tool that triages past posts, catches voice drift, and builds a roadmap from signal metrics instead of vanity likes. CX Codex +1 658installs idea-generation-and-ideation Runs an audience-driven content ideation system using the SPARK framework. Builds a scored bank of 100+ ideas from raw customer signals instead of generic AI brainstorming. CX Codex +1 654installs story-writer Writes Instagram and Facebook Story sequences using the FRAME method. Drafts frame copy and interactive sticker placements. CX Codex +1 653installs youtube-publishing-and-metadata Writes the title, description with chapters and tags for a YouTube video, then sets category, privacy and the madeForKids flag. Useful right before you publish. CX Codex +1 660installs goals-and-kpis Translates vague social media ambitions into measurable KPI cascades using the NORTH framework with a single North Star metric per channel. CX Codex +1 649installs talking-head-and-piece-to-camera Coaches the shoot itself: phone setup, light, audio, beat maps and retakes. Useful if you record talking-head videos on your own. CX Codex +1 648installs reply-and-comment-writer This skill drafts replies to comments, DMs and other people's posts in your brand voice. A human reviews and posts them. CX Codex +1 657installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor