Passed 16 of 21 test cases with the skill, and 3 of 21 without it.
Without skill14%
With skill77%
Checks it passed that the model alone missed
Recommends 4 to 6 hashtags for TikTok.
Recommends 2 to 3 hashtags for Twitter/X.
Recommends 15 to 20 hashtags for Instagram.
and 17 more in the full report
14 fixed3 passed either way5 still failing0 broke
Pass-rate lift
+64 pp
Tokens
+95%
Agent turns
0%
Response time
-35%
Model gemini-3.6-flashMeasured 8/17/2026v2 · latest is v317 of 22 cases passed with skill · 21 comparable
Tokens, turns and time describe resource use, not a dollar price.
This benchmark measured an earlier version of the skill.
See it in action
One of 14 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 14
Prompt
After a scheduled post successfully goes live on LinkedIn via the MCP server, what command must be called to update the status of approval entry ID `app-9876` for brand 'acme'?
What was checked, without and with the skill
Checked
Without skill
With skill
Includes --action mark-executed in the approval-manager.py command.
Missed
Passed
Passes --id app-9876 to identify the approval record.
Missed
Passed
case-12 · gemini-3.6-flash · 8/17/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md75 linessingle file
/digital-marketing-pro:schedule-social
Script location. If your host does not set ${CLAUDE_PLUGIN_ROOT}, the scripts are in this plugin's scripts/ folder, next to skills/. Run them with Python 3.10 or newer: python, or python3 where python is not found (macOS, many Linux systems).
Purpose
Schedule social media posts to one or more platforms with platform-specific formatting, optimized posting times, hashtag strategy, and engagement monitoring setup. Handles multi-platform distribution from a single content brief by generating tailored variations that respect each platform's character limits, media specs, and audience conventions while preserving the core message across all channels.
Execution gate (MANDATORY — cannot be skipped)
Present the full preview — recipients / spend / changes / compliance — as an Execution Summary before touching any live system.
The user must type yes (or an equivalent explicit approval). ANY other input — ambiguous, implied, partial, or absent approval — cancels the run.
Never proceed on ambiguous input. Never auto-retry a failed execution; a failure needs human review before any re-run.
Only after the user types yes, record it: python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action create-approval --data '{"type":"schedule-social","platform":"<platform>","content_summary":"<one line from the Execution Summary>","risk_level":"<tier>"}', then python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action approve --id {approval_id}. If either command errors, stop and report the error; never work around it with another tool. The record proves the approval step ran for this action; it cannot prove who typed yes.
Execute. A write sent through connector_executor.py needs --approval-id and fires only against a matching, unused, unexpired record (see /digital-marketing-pro:execute-action). A write through a connected MCP server tool is outside that code check: it relies on this typed yes and on your host's permission prompt. Afterwards run python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action mark-executed --id {approval_id} --data '{"execution_result":"success"}' (or failure).
Input Required
The user must provide (or will be prompted for):
Post content: Core message text, along with any images, video, carousel assets, or links to include — can be a single unified draft or pre-written per-platform variants
Target platforms: Which platforms to post on — Twitter/X, Instagram (feed, Stories, Reels), LinkedIn (post or article), TikTok, YouTube (Shorts or Community), or Pinterest — must have corresponding MCP servers connected
Posting date and time: Specific date and time per platform with timezone, or "optimal" to use data-driven timing recommendations based on audience engagement patterns
Hashtags: Specific hashtags to use, a topic for auto-suggestion, or "auto" to generate hashtags based on content analysis, trending tags, and brand hashtag strategy
Platform-specific variations: Any per-platform tweaks — different copy length, different images or aspect ratios, different CTAs, tone adjustments, or platform-native features (Instagram polls, LinkedIn document carousels, Twitter/X threads)
Link and UTM parameters: URL to include with UTM tracking parameters (source, medium, campaign, content) for attribution, or auto-generate UTMs based on campaign naming conventions from brand profile
Media assets: Image files or URLs with aspect ratio preferences per platform, video files with duration compliance, or carousel image sets in posting order
Engagement instructions: Whether to set up reply monitoring, comment response guidelines, engagement boost triggers (promote if engagement exceeds threshold), or cross-posting rules
Content calendar context: Optional — campaign name or content pillar this post belongs to, for calendar tracking and thematic consistency across the publishing schedule
Accessibility requirements: Alt text for images, video captions or subtitle files, and any accessibility-specific formatting (plain language, high contrast text overlays)
First comment or thread: Optional — follow-up comment to post immediately after the main post (Instagram first comment for hashtags, Twitter/X thread continuation, LinkedIn engagement prompt)
Geo-targeting: Optional — restrict post visibility to specific regions or languages where supported by the platform (LinkedIn geo-targeting, Facebook location targeting)
Cross-promotion references: Optional — references to related content on other platforms to include in the post (e.g., "Watch the full video on YouTube" or "Read the full article on our blog")
Mentions and tags: Optional — accounts to @mention or tag in the post (partners, collaborators, influencers, featured customers) per platform tagging conventions
Process
Load brand context: Read ~/.claude-marketing/brands/_active-brand.json for the active slug, then load ~/.claude-marketing/brands/{slug}/profile.json. Apply brand voice, compliance rules for target markets (skills/context-engine/compliance-rules.md), and industry context. Also check for guidelines at ~/.claude-marketing/brands/{slug}/guidelines/_manifest.json — if present, load restrictions. Check for agency SOPs at ~/.claude-marketing/sops/. If no brand exists, ask: "Set up a brand first (/digital-marketing-pro:brand-setup)?" — or proceed with defaults.
Verify connected social MCPs: Check which social media platform MCP servers are connected and confirm they cover all the user's target platforms. List any missing connections with setup instructions. Verify API permissions include scheduling capability for each platform.
Format content per platform specs: Adapt the content for each platform's requirements — consult skills/context-engine/platform-publishing-specs.md for character limits (Twitter/X: 280, LinkedIn: 3,000, Instagram: 2,200, TikTok: 2,200, Pinterest: 500), image dimensions (1:1, 4:5, 9:16, 16:9), video length caps, carousel slide limits, and link preview behavior. Create distinct variations where content cannot be shared identically across platforms.