
Social Media Manager
The social-media department in a skill. Orchestrates a brand's whole social-ops loop — channel strategy, content calendar, trend scouting, posting cadence, reply mining, competition monitoring, review gate, cross-platform fan-out, and the performance→memory optimization loop — by composing the shipped Di-Atomic skills (post-writer, hook-generator, voice-builder, media- generator, copy-engine, distribution-launcher) + the OPVS content_calendar board + SpiderFlow + scrapecreators. Guidance-only: the agent's own LLM runs the loop following SKILL.md + 13 recipes; state persists via the OPVS coordination skills. Multilingual-ready, compliance-aware (REACH/CLP/biocides). v0.2.0 adds the strategy layer — channel selection (searcher-vs-scroller, compounding-vs-decaying, native-to-creator), a framework for building a playbook on ANY platform, Dream-100 targeting, and Instagram/Facebook/YouTube playbooks, every claim citation- verified. Backed by 61 real exemplars + 25 learnings + 6 scripts.
I kept seeing the same thing: teams treating "post more" as a social strategy, then drowning in a calendar nobody learns from. So I built social-media-manager to run the whole department as one AI you supervise. It recalls what actually won for your brand last cycle — the hook angle, the format, the posting time — then plans the week as cards on a shared content calendar and conducts the specialist skills that write the copy, sharpen the hook, and make the image. Then it stops. Nothing reaches a real account until you approve it in the review column. That human gate is the point, not a limitation. On your yes it publishes across every platform and writes the winner back to memory, so the next cycle plans smarter than the last. Under the hood it composes 11 peer skills, six of them Di-Atomic's own content skills and the rest the OPVS coordination layer, plus the content-calendar board and live trend data. It carries 13 ready-made playbooks and four platform playbooks. v0.2.1 leads with the decision that comes before all of it: which platforms you belong on at all, settled on three axes rather than taste. You don't configure any of it. You say "which platforms should this brand be on," and it returns a verdict with an explicit not-now list.
Features5
Recall, plan, create, review, publish, learn: one AI runs every lap.
Nothing publishes without your yes. The pause is the feature, not a limit.
Learns what won and plans next week from your own results, not generic best-practice.
Three axes settle where you belong before a calendar exists: search or scroll, compound or decay, native to the maker.
Channel strategy, weekly planning, trend posts, reply mining, competition watch, crisis pause.
Videos1 video
DemoSocial Media Manager · Demo video
Demo · SpiderMediaVideos1 video
DemoSocial Media Manager · Demo video
Demo · SpiderMediaSKILL.mdthe file your agent reads
SKILL.md loads when you open this tab.
What's new9 releases · newest first · from the package's CHANGELOG
v0.2.22026-11-10Latest
Marketplace listing update: added the launch explainer film (`media.demo_video_url`). No code, schema, copy or guidance changes; hero and screenshots unchanged from 0.2.1.
v0.2.12026-08-24
**Propagation patch. Card + copy only — no change to any reference, recipe, learning, registry item or script.** The bundle's behaviour at 0.2.1 is identical to 0.2.0. ### Changed — marketplace card media (SPEC-3) - `media.hero_image_url` + all three `screenshots` replaced with a v0.2.x asset kit that actually shows what this version does. The previous set was rendered for 0.1.5 and illustrated the loop, not the channel decision. New frames: the channel pick, the three axes, the acquisition-vs-home surface split, and the compounding-vs-decaying contrast. Dark-board chalk, reference-anchored (Mode B) against the house style, every frame viewed before shipping. ### Fixed — two inaccurate claims on the live card - **"Composes 11 shipped Di-Atomic skills"** was wrong. There are 11 peer dependencies, but only six are `@di-atomic/*`; the other five are the `@opvs-ai/*` coordination layer. The feature that carried this claim is replaced by one describing channel selection, and `long_description` now states the composition accurately. - **"12 ready playbooks"** was still live on the marketplace card despite being corrected in the 0.2.0 draft. It never reached a published manifest because 0.2.0 shipped before the fix was staged. This release carries it: 13. ### Note `^0.2` picks this up; `^0.1` does not, and never did — see the caret-range trap. Consumers pinned to a `0.1.x` caret still need a deliberate re-pin.
v0.2.02026-08-22
**Wave-4 enrichment from the book corpus. `change_class: additive` — no removals, no restructure, no rewrites.** The skill was strong operationally and thin strategically: 11 references of which one was strategic, exactly one platform playbook, no channel-selection guidance at all, and no way to check where any claim came from. This wave adds the strategy layer. ### Added — references (11 → 18) - `channel-strategy-selection.md` — which platforms this brand should be on, and why. Three axes (searcher vs scroller · compounding vs decaying asset · native to the creator), the depth-vs-width decision with its gate, and warm-before-cold. - `platform-framework.md` — how to build a playbook for **any** platform, including ones the corpus never covered. Goal/strategy/tactics, the six steps, the acquisition-vs-home meta-pattern, and the land-grab timing rule. - `dream-100-targeting.md` — finding where the audience already gathers: the congregation inventory, the submarket rule, honest yield numbers, the outreach sequence, and the social-proof cascade. - `platform-playbook-instagram.md`, `platform-playbook-facebook.md`, `platform-playbook-youtube.md` — at parity with the existing X playbook. Strategic layer only; perishable tactics are quarantined in a dated section. - `sources-and-further-reading.md` — citation notation, **evidence classes**, named further reading, and an explicit statement of what the corpus does *not* cover. ### Added — recipes (12 → 13) - `channel-selection.md` — the channel decision as a runnable workflow. Runs **before** a calendar exists; gates fan-out on an established primary channel. ### Added — learnings (21 → 25) - `evidence-class-practitioner-claims` — why nothing extracted from a practitioner book may enter the benchmark class, with the corpus's own self-contradiction as the worked example. - `platform-reward-decay-and-the-land-grab` — new surfaces are over-rewarded during adoption, then throttled. Test immediately; never assume today's free reach is permanent. - `fanout-distributes-it-does-not-grow` — fan-out is a distribution strategy, not a growth strategy. - `owned-list-is-the-ignition` — owned ignition → organic lift → paid amplification, in that order. ### Added — scripts (5 → 6) - `verify-citations.mjs` — every `cite:` resolves to a real page span whose distinctive terms actually appear there. Runs format+range validation standalone, and full claim/span verification against a corpus. **159/159 citations pass.** ### Appended to existing references (instruction-deltas — nothing rewritten) - `content-review-gate.md` — the boost test, the ABCDQ brand-fit check, and the mechanism that justifies the gate: engagement is account-level, so a weak post taxes everything else you publish. - `content-pillars-framework.md` — the JK5 rotation's two placement rules (no two same-category posts adjacent; people follow for one pillar and buy later). - `posting-cadence-by-platform.md` — the give-to-ask ratio with its anchors, the reason 3.5:1–4:1 is a monetisation *floor* rather than a growth target, integrated vs intermittent asks, and a stop condition. ### Changed - `SKILL.md` — routes to the new references and the new recipe (without them the additions are unreachable), two new hard rules (channel strategy precedes calendar work; nothing from the corpus is a benchmark), and refreshed layer counts. **No existing rule or branch altered.** ### Unchanged - The 61 registry exemplars, the 12 pre-existing recipes, the 5 pre-existing scripts, and every existing branch of the SKILL.md decision tree. **All 5 pre-existing scripts pass unchanged.** ### Notes - Sourced from *Traffic Secrets* (Brunson, 2020) and *$100M Leads* (Hormozi, 2023). No source text ships in the bundle — restatement plus citation only. - ⚠ Per [[feedback-caret-0x-range-trap]], a caret pin never picks up a 0.x minor: consumers pinning `^0.1` must be re-pinned deliberately to reach 0.2.x. - LinkedIn and TikTok playbooks are **deliberately not included** — the corpus has no material on either and says so explicitly. Use `platform-framework.md`; properly researched playbooks are separate work. All notable changes to this skill are documented here. Format: [Keep a Changelog](https://keepachangelog.com/). Semver.
v0.1.52026-07-20
Deeper AgentBoard symbiosis — the skill now uses the **full live 34-field `content_calendar` schema** and provisions its own board. Additive; no breaking change. ### Added - **`recipes/provision-content-calendar.md`** (recipe #12) — the first-run workflow: resolve the brand's `content_calendar` board, and if none exists, **create one** (`agentboard.createBoard(board_type:"content_calendar")` auto-seeds the 6 columns + the 34-field Blotato schema — never hand-rolled), resolve the Blotato `social_account` map via `vibe-publish.listAccounts`, then hand to weekly planning. Added to the SKILL.md router (🏗 "do this FIRST for a new brand"). - **Board-resolution step in Auto-start** — every run now resolves-or-provisions the board before routing. The board IS the plan; there is no planning without it. ### Changed - **SKILL.md now carries the full 34-field schema**, not the stale 6. Hard Rule 1 + the `/#agentboard` coordination block now name **`social_account`** (required — a brand has several Blotato accounts) and **`media_urls`** (a persisted `media.spideriq.ai` URL) plus the hidden per-platform publish group (`media_type · yt_* · pinterest_* · tiktok_* · fb_* · ig_* · li_page_id · threads_reply_control`). `createTask` ignores custom_fields → set via `updateTask(custom_fields_merge:true)`. - **`weekly-calendar-planning`** now resolves `social_account` per card and defers `media_urls` to Create (persisted URL only). ### Fixed - **BRIEF peer-chain drift** — listed the old `@spideriq/publish-skills`; the social publisher is `@opvs-ai/vibe-publish` (already correct in the manifest). BRIEF also gained the v2.5 `coordination_plan` (state/long_form/learning/handoff) + narrowed the `opvs-protocol` cross-ref (peer skills are composed same-agent, not messaged).
v0.1.42026-07-20
Marketplace-card metadata only — no change to the skill's guidance, recipes, or behavior. ### Added - **Marketplace asset kit (SPEC-3).** Top-level `media:` block with a hero image + 3 screenshots (dark-board chalk: #131313 board / white chalk / gold #EEBF01), produced via media-generator → SpiderGate `kie/nano-banana-2` and SpiderMedia-persisted. Concepts: the closed social-ops loop, the specialist-skill pipeline with its human checkpoint, and a scattered-tools vs one-conductor before/after. - **`marketing:` block** — first-person `long_description` + 5 verb-led feature bullets (the loop · human review gate · sharper every cycle · 11 skills one conductor · 11 playbooks). ### Note - Shipped as part of the di-atomic.com propagation pass (blog + changelog + listing page + this card).
v0.1.32026-07-19
Wave-3 enrichment — additive, no scope change. Grounded from a deployed agent's own social workflow (Lola @ VayaPin, `SOCIAL_MEDIA_WORKFLOW.md`, 2026-07-14). ### Added - **`recipes/social-ops-loop.md`** (recipe #11) — the canonical end-to-end orchestration order every other recipe is a slice of: `social-media-manager → content_calendar card(s) → voice-builder → copy-engine → hook-generator → post-writer → media-generator → Review gate → @opvs-ai/vibe-publish → agentmemory learnings`. Added to the SKILL.md router (🧭) and README recipe count (10 → 11). ### Changed - **SKILL.md — Publish invariant block appended** (after the 8 hard rules, decision tree untouched): (1) nothing publishes from Review without a **human** approval — `verify-review-gate-presence.mjs` only checks the gate *exists*; (2) **never put an expiring raw provider/temp URL (`kie.*`, `tempfile.*`) on a Review or publish card** — the SpiderGate `generate-media` path already returns a **stored** `media.spideriq.ai` URL (`stored=true`), so use that directly; only persist when all you hold is a raw provider URL; (3) publish only via `@opvs-ai/vibe-publish` with a `mediaUrls` array (reinforces Rule 2). Persist nuance grounded in the 2026-07-14 Lola harvest G2. ### Note - **Ref2 (content_calendar card anatomy)** and the **v2.2 Coordination cross-refs** from the Wave-3 directive were already fully present in 0.1.2 (`references/agentboard-content-calendar-anatomy.md` + the SKILL.md Coordination block) — verified, no duplicate authored. - Deferred (out of this pass, per directive): Lola BC1/BC2 → VayaPin workspace; cross-vendor G4/G5/D1/D2 → separate @spideriq / @opvs-ai asks.
v0.1.22026-07-12
### Added - **`@opvs-ai/vibe-publish` is now the named social publisher** (`createPost` → Blotato; brand key auto-resolved from OPVS Integrations — no raw Blotato key). Added as a `peer_dependency` (>=2.0.1). Replaces the "Vibe/Blotato" hand-wave across SKILL.md, DEPLOYMENT.md, and the anatomy/scheduling references. - **Card → `createPost` field map** in the anatomy reference + DEPLOYMENT. Full Blotato coverage: threads (`additionalPosts[]`), carousels (2–10 `mediaUrls`), reels/stories (`target.mediaType`), per-platform target extras. ### Changed - **Documented the Blotato-ready content_calendar board schema** OPVS shipped: `social_account` (Blotato accountId — required to pick 1 of a brand's several accounts), `media_urls` (public CDN URLs), `bluesky` added to the `platform` enum, and the hidden per-platform "publish" group (`media_type`, `yt_*`, `pinterest_*`, `tiktok_*`, `fb_*`, `ig_*`, `li_page_id`, `threads_reply_control`). - Hard Rule 2 reframed: publish + schedule via `vibe-publish` `createPost` (`scheduledTime`/`useNextFreeSlot`); SpiderFlow is now optional. ### Fixed - **`content.mediaUrls` must always be sent** (`[]` for text-only) — omitting it returns an opaque Blotato 400. Now a hard rule; root-caused live 2026-07-12 (agent omission, not the runtime). vibe-publish 2.0.1 also injects the default. - Documented that `createTask` ignores `custom_fields` — set them in a second `updateTask`/`bulkUpdateTasks` call. ### Note - Marketplace 0.1.1 (published 2026-06-22) predates the schema-fix work in [0.1.1] below; **0.1.2 is the first release to carry both the content_calendar schema fix and the vibe-publish integration.**
v0.1.12026-07-09
### Fixed - **content_calendar schema alignment.** v0.1.0 referenced `custom_fields` + column names that don't exist in the OPVS `content_calendar` board schema (`board_type_schemas.py`) and would be silently stripped at runtime (Pydantic). Corrected across SKILL.md, references/agentboard-content-calendar-anatomy.md, references/spiderflow-scheduling-catalog.md, instructions/DEPLOYMENT.md, and recipes (weekly-calendar-planning, cross-platform-fanout, crisis-response-pause, content-review-gate): - `status` → `publish_status` (draft|scheduled|published|failed|cancelled). - Dropped `pillar`, `language`, `variant_of`, `asset_url` from custom_fields → pillar/language now ride as **labels**, the repurpose source as a `spawned` task link, asset URLs as attachments. - Added the real schema fields `post_type`, `hashtags`, and `source_vibe_post_id` (the hidden link from a card to its published Vibe/Blotato post). - Column lifecycle corrected to the real **Ideas → Draft → Review → Scheduled → Published → Archived**; the **Review** column is the content-review gate (was a mislabeled "review stage"). - Publish callback flips the card to **Published** (`publish_status: published`), not a non-existent `posted`. - crisis-response-pause: no `paused` status exists — pull cards Scheduled → Draft or set `publish_status: cancelled`. - Corrected the `content-calendar-custom-fields-silently-stripped` learning, which had itself named the wrong persisting fields.
v0.1.02026-06-18
### Added
- Initial release. Guidance-only social-media orchestrator ("the social-media department in a skill").
- **SKILL.md** router (≤500 lines, 8 hard rules, 4 v2.2 coordination cross-references, 10-recipe intent table).
- **references/** (11): content-calendar anatomy · spiderflow scheduling · scrapecreators trend/reply/competition matrix · content-pillars framework · posting-cadence-by-platform · reply-mining playbook · social-health-metrics · content-review-gate · compliance-social-vocabulary · multilingual-cadence-shifts · platform-playbook-x (+ reddit/bluesky/linkedin/instagram).
- **recipes/** (10): weekly-calendar-planning (flagship) · trend-driven-post · reply-mining-engagement · competition-monitor · cross-platform-fanout · social-health-review · content-review-gate · compliance-social-cadence · multilingual-rollout · crisis-response-pause.
- **registry/** (55): 40 view-ranked SMM teardowns (live, metric-bearing) + 5 platform playbooks + 6 content-pillar frameworks + 5 cadence/benchmark tables + 4 SMM-process blueprints.
- **learnings/** (20): 15 patterns/gotchas/anti-patterns + 5 per-script gold-nuggets research entries.
- **scripts/** (5): verify-cadence-vs-platform · lint-vanity-metrics · verify-review-gate-presence · verify-cross-platform-fanout · verify-coordination.
- **instructions/**: AGENTS.md (non-Claude runtime rules) + DEPLOYMENT.md (handoff payload shapes + downstream consumers).
- Deep research backing: 60 curated registry seeds, 142 scrapecreators exemplars captured, 4 MIT upstreams consumed, plus a dedicated X-focus "posts that convert" deep dive.
### Scope
- **EN-only** in v0.1.0. DE/RU/FR/RO/HE/ES planned for v0.2.0.
- Compliance-aware (REACH/CLP/biocides) via post-writer's compliance gate.
- Distinct from `@di-atomic/community` (members/partnerships/champions).
### Peer chain
Composes 4 OPVS coordination skills + @spideriq/publish-skills + 6 @di-atomic skills (post-writer, hook-generator, voice-builder, distribution-launcher, media-generator, copy-engine).







