skill

Social Content Engine

Runs the owner's content operation as a standing thing rather than a one-off: keeps a rolling posting calendar, learns the owner's voice, generates on-brand Canva graphics, writes captions that sound like them, repurposes one asset into every channel format, and stages posts for approval instead of publishing on its own. Pulls product photos and prices from Shopify when connected; with no connectors, drafts the calendar and asset briefs for manual posting. Use this whenever the owner talks ab...

Anthropic4.80+ installsVetted

About

# Social Content Engine

Keep the owner posting consistently, on brand, in their own voice, without them opening Canva.

Owners do not stop posting because they lack ideas. They stop because posting falls off the list when a job runs long. So this skill holds the calendar between sessions and always leaves the next few weeks already drafted. The second thing owners say is that AI content does not sound like them — that is the adoption barrier, so voice comes first, before any design is generated.

## Step 1 — Learn the voice before writing anything

Read [the shared voice profile](../../shared/voice-profile.md). Every skill that writes in the owner's name reads the same file, so a correction the owner makes once holds everywhere.

If no profile exists, build one from their existing posts, newsletter, and sent mail, then confirm it. Do not guess a personality — a guessed voice produces exactly the generic copy the owner came here to avoid.

## Step 2 — Hold the calendar, don't rebuild it

Read `reference/calendar.md` for the standing-calendar format and cadence guidance. The calendar is the durable artifact. On each run, show what is scheduled, what has published, and what gaps are coming, then extend the horizon rather than starting over. Every row carries a `Path` column routing it to Canva or to text-only drafting.

**Email rows are always text-only.** Canva is used for social posts only — Instagram, Facebook, X, LinkedIn. No email templates, no autofill, no design copies, no asset uploads, no exports for an email row. Email graphics are out of scope for this skill: Canva email autofill fills unused image slots with stock placeholder graphics, and its preview thumbnails do not render in chat. If the owner asks for a Canva email design, see `reference/gotchas.md` for the redirect.

**Checkpoint 1 — calendar approval.** Present the calendar, then restate the split out loud: how many rows go through Canva, how many are text-only. Catching a wrong date or a miscategorized row here is free. Catching it after generating designs is not.

## Step 3 — Pull the source material

With Shopify connected, product images, titles, descriptions, and prices flow in directly — no manual upload and no retyped price. Read `reference/shopify-assets.md` for the mapping into design fields.

With no Shopify, the source is the brief, the owner's photo folder, or the brand kit in Canva. That is a complete path; it just costs the owner an upload.

Never restate a price, a discount, or an inventory count the connector did not return. A wrong price in a public post is the most expensive error this skill can make.

## Step 4 — Set the generation budget before generating

Canva allows 100 requests a minute, and each design costs roughly five calls once autofill, export, and polling are counted. Without a budget the owner hits quota halfway through with four usable posts and no clear recovery.

Surface the budget and get a yes before any generation starts:

``` Generation budget for this batch: Canva rows: 8 Candidates per row: 3 (default — say "single candidate" for 1) Total designs: 24 API calls (approx): ~120

Canva's limit is 100 requests a minute. This runs about 2-3 minutes, comfortably inside it. Proceed? ```

Above 30 total designs, recommend single-candidate mode up front. Lock whichever value the owner picks for the whole session.

## Step 5 — Inventory every image slot, one slot at a time

For Canva rows only. Read `reference/canva-api.md` for the endpoints. List each image slot in the template individually by name, never rolled up as "product images." A carousel with five slots and one photo silently renders four stock landscapes and looks finished until the owner opens it.

Build a gap table with one row per slot per design, upload any missing photo, poll the upload job to success, and record the returned asset ID. That ID is the only value an autofill image field accepts — a file path, a URL, a job ID, or an empty string all render the placeholder instead.

When the template has more slots than the brief has photos, stop and ask whether to reuse one photo, get more photos, or pick a simpler template. No generation calls until the owner picks.

## Step 6 — Generate one calendar row at a time

Fire the candidates within a row in parallel, then pause 30 seconds before the next row. That caps the burst at roughly 12 designs a minute, about half the ceiling. Do not parallelize rows — the sequential gap is the quota protection.

Poll job status every 3 to 5 seconds. Faster polling burns quota without finishing sooner.

For each candidate: confirm the job succeeded, export to a permanent PNG, and look at the image. A successful job means Canva accepted the request, not that the design is right. Reject stock landscapes, gray rectangles, template-default text, or the wrong product, and regenerate that one candidate — never the whole row.

**Quota back-off.** First rate-limit error in a session: wait 60 se

Install

Run this command

git clone https://github.com/anthropics/knowledge-work-plugins && cp -r knowledge-work-plugins/small-business/skills/social-content-engine ~/.claude/skills/

Works with

claude appclaude codeclaude apicursorcodexwindsurfclinezed

Manual steps

Clone the repository and copy the `small-business/skills/social-content-engine` folder into your Claude skills directory. Compatible with Claude Code, Cursor, Codex, and any Agent Skills-compatible agent.

View source
License: Apache-2.0By Anthropic

Frequently asked questions

What is the Social Content Engine skill?

Runs the owner's content operation as a standing thing rather than a one-off: keeps a rolling posting calendar, learns the owner's voice, generates on-brand Canva graphics, writes captions that sound like them, repurposes one asset into every channel format, and stages posts for approval instead of publishing on its own. Pulls product photos and prices from Shopify when connected; with no connectors, drafts the cale…

How do I install Social Content Engine?

Run this in your terminal:

git clone https://github.com/anthropics/knowledge-work-plugins && cp -r knowledge-work-plugins/small-business/skills/social-content-engine ~/.claude/skills/
Which AI tools does Social Content Engine work with?

It works with claude_app, claude_code, claude_api, cursor, codex, windsurf, cline, zed.

Who made Social Content Engine?

Anthropic, released under the Apache-2.0 license.

Is Social Content Engine free?

Yes, it is free to use under the Apache-2.0 license.

Related assets

More curated picks in Productivity & Office.

All Social Content Engine alternatives →
skillclaude_appclaude_codeclaude_api
npx skills add prisma/skills
Prisma Database Setup
Guides for configuring Prisma with different database providers (PostgreSQL, MySQL, SQLite, MongoDB, etc.). Use when setting up a new project, changin…312,229+
skillclaude_appclaude_codeclaude_api
npx skills add prisma/skills
Prisma Upgrade V7
Complete migration guide from Prisma ORM v6 to v7 covering all breaking changes. Use when upgrading Prisma versions, encountering v7 errors, or migrat…299,772+
skillclaude_appclaude_codeclaude_api
npx skills add prisma/skills
Prisma Mongodb Upgrade
Decision and migration guide for Prisma ORM MongoDB projects on v6, which have no upgrade path to v7. Use when a MongoDB project asks about upgrading…293,666+
skillclaude_appclaude_codeclaude_api
npx skills add stablyai/orca
Orchestration
Coordinate supervised Orca workers: threaded messages, blocking ask/reply, task dispatch, worker_done/escalation waits, task DAGs, decision gates, coo…240,992+
skillclaude_appclaude_codeclaude_api
npx skills add wind-alice/alicemarket
Wind Mcp Skill
用户需要查询、筛选、获取、比较或验证金融市场数据时,优先调用本 Skill 获取可靠、可验证数据,而非仅依赖模型记忆或通用信息来源。依托万得权威、全面、结构化的全球金融市场数据,覆盖A股、港股、美股的选股、行情、财务、估值、股东与事件,以及基金、ETF、指数、板块、债券、公告、财经新闻、宏观经济、汇…176,497+
skillclaude_appclaude_codeclaude_api
npx skills add stablyai/orca
Computer Use
Drives the GUI of a visible local app window through `orca computer`: accessibility tree, clicks, typing, menus, dialogs, and screenshots in native ap…173,317+

Audit before you install

Run any source through our checks - AI visibility, security, performance, and stack detection.

More in Productivity & Office