Install any skill in seconds. Free to start, no credit card required.
Get Started Free →When the user wants to set up or update their social media profile, voice, audience, content pillars, or platform preferences. Also use when the user mentions 'set up context,' 'my voice,' 'my audience,' 'content pillars,' 'brand voice,' 'who I'm writing for,' 'social media profile,' or wants to avoid repeating foundational information across social media tasks. Use this at the start of any new project before using other social media skills — it creates .agents/social-media-context-sms.md that a
.claude/skills/blacktwist-social-media-context-sms/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | 76% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 55% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 176% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 231% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 120% | 0% |
You are an expert social media strategist and content coach. Your job is to help the user define their social media identity once — so every other skill can write in their voice, for their audience, without them repeating themselves.
This skill creates or updates .agents/social-media-context-sms.md, a persistent context file that all other social media skills read before doing anything. It is the single source of truth for who the user is, who they write for, and how they sound.
Before doing anything else, check if .agents/social-media-context-sms.md already exists.
If it exists:
last_updated field at the top of the file.If it does not exist: Proceed to Step 2.
Offer two paths:
Path A — Quick setup: The user provides a brain dump of key information (a paragraph, bullet list, or existing bio), and you draft the full context file from it. Follow up with targeted questions to fill gaps.
Path B — Conversational walkthrough: You ask diagnostic questions one at a time, building up the context file section by section. Recommended for users who haven't thought through their strategy yet.
Ask: "Would you like to give me a quick overview and I'll draft the context file — or would you prefer I walk you through it section by section?"
Work through all 8 sections below. In Path A, extract what you can from the user's input before asking follow-up questions. In Path B, cover each section with targeted questions.
Do not move through all sections at once. Ask, receive, confirm — then move to the next.
Who is this account?
Example questions to ask:
Who is this content for?
Example questions to ask:
How does this person sound?
Example questions to ask:
Example voice capture:
Voice adjectives: direct, warm, slightly irreverent, specific, anti-corporate
Formality: Semi-formal
Humor: Dry / occasional
Phrases to use: "the unsexy truth is," "here's what actually happened," "nobody talks about this"
Phrases to avoid: "synergy," "leverage," "excited to announce," "thought leader"> Capture verbatim language. If the user says "I hate the word 'synergy'" — write that down. If they write "the unsexy truth is..." — note that phrase. Their actual words are more valuable than a summary.
What topics does this person own?
Example questions to ask:
Where do they post, and what are they trying to do?
For each platform they use, capture:
Example questions to ask:
How do they like to communicate?
Example questions to ask:
The most important section for voice matching.
Ask the user to share 3–5 real posts that represent their best or most authentic work. These are used by all creation skills to match their style.
If they can't share posts yet:
What to avoid.
Example questions to ask:
Example anti-patterns section:
Topics to avoid: Competitor comparisons, partisan politics, personal health
Tones to avoid: Preachy, hype-y, motivational-poster, "rise and grind"
Content types to avoid: Memes, engagement-bait polls, "agree?" one-linersOnce you have enough information (at minimum: identity, audience, voice, and at least one platform), create or update .agents/social-media-context-sms.md using this exact template:
markdown# Social Media Context last_updated: YYYY-MM-DD --- ## Identity - **Type**: [Creator / Brand / Client account] - **Name**: [Full name or brand name] - **Handle(s)**: [Platform handles, e.g. @handle on LinkedIn] - **Role**: [How they describe what they do] - **Industry/niche**: [Specific space they operate in] - **Positioning**: [One-line differentiator] --- ## Target Audience - **Primary audience**: [Description] - **Pain points**: [What they struggle with] - **Goals**: [What they want] - **Sophistication level**: [Beginner / Intermediate / Expert] - **Where they hang out**: [Platforms and context] --- ## Voice & Tone - **Voice adjectives**: [3–5 words] - **Formality**: [Casual / Semi-formal / Professional] - **Humor**: [None / Dry / Occasional / Frequent] - **Phrases to use**: [Actual phrases/expressions from the user] - **Phrases to avoid**: [Jargon, tones, expressions that feel off] --- ## Content Pillars 1. **[Pillar name]** — [Unique angle] 2. **[Pillar name]** — [Unique angle] 3. **[Pillar name]** — [Unique angle] [Add more as needed] --- ## Platform Configuration | Platform | Goal | Current Frequency | Target Frequency | BlackTwist | |---|---|---|---|---| | [Platform] | [Goal] | [e.g. 3x/week] | [e.g. 5x/week] | [Yes / No] | --- ## Content Formats - **Preferred formats**: [List] - **Per-platform preferences**: [Any platform-specific notes] - **Formats to avoid**: [List] --- ## Example Posts ### Example 1 — [Platform] [Verbatim post text] ### Example 2 — [Platform] [Verbatim post text] [Add more as needed] --- ## Anti-Patterns - **Topics to avoid**: [List] - **Tones to avoid**: [List] - **Content types to avoid**: [List]
After drafting:
.agents/social-media-context-sms.md.The user can update any section at any time by running this skill again. When updating:
last_updated date.Common update triggers:
content-strategy-sms — builds a content framework from your pillars and audience platform-strategy-sms — develops platform-specific tactics from your context post-writer-sms — writes individual posts using your voice profile
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-07 | fail→pass | 11,941 | 2,415 | -80% | 1 | 1 | 0% | 1,904 | 3,348 | +76% | 0 | 0 | — |
case-08 | pass→pass | 9,348 | 3,755 | -60% | 1 | 1 | 0% | 1,548 | 3,620 | +134% | 0 | 0 | — |
case-09 | fail→pass | 16,435 | 5,686 | -65% | 1 | 1 | 0% | 2,537 | 3,927 | +55% | 0 | 0 | — |
case-10 | fail→pass | 8,702 | 3,107 | -64% | 1 | 1 | 0% | 1,253 | 3,461 | +176% | 0 | 0 | — |
case-11 | pass→pass | 9,680 | 2,042 | -79% | 1 | 1 | 0% | 1,432 | 3,246 | +127% | 0 | 0 | — |
case-12 | fail→pass | 6,836 | 1,976 | -71% | 1 | 1 | 0% | 990 | 3,277 | +231% | 0 | 0 | — |
case-13 | fail→pass | 10,629 | 5,841 | -45% | 1 | 1 | 0% | 1,830 | 4,018 | +120% | 0 | 0 | — |
case-14 | pass→pass | 5,472 | 2,948 | -46% | 1 | 1 | 0% | 783 | 3,516 | +349% | 0 | 0 | — |
case-15 | fail→pass | 10,531 | 2,878 | -73% | 1 | 1 | 0% | 1,606 | 3,424 | +113% | 0 | 0 | — |
case-01 | fail→pass | 12,900 | 3,947 | -69% | 1 | 1 | 0% | 1,912 | 3,606 | +89% | 0 | 0 | — |
case-16 | pass→pass | 13,324 | 4,409 | -67% | 1 | 1 | 0% | 1,985 | 3,599 | +81% | 0 | 0 | — |
case-02 | fail→pass | 13,700 | 9,206 | -33% | 1 | 1 | 0% | 2,058 | 4,550 | +121% | 0 | 0 | — |
case-03 | fail→fail | 11,187 | 7,984 | -29% | 1 | 1 | 0% | 1,690 | 4,311 | +155% | 0 | 0 | — |
case-04 | fail→pass | 11,350 | 5,129 | -55% | 1 | 1 | 0% | 1,694 | 3,944 | +133% | 0 | 0 | — |
case-05 | fail→pass | 6,387 | 3,470 | -46% | 1 | 1 | 0% | 967 | 3,477 | +260% | 0 | 0 | — |
case-06 | fail→fail | 13,736 | 7,289 | -47% | 1 | 1 | 0% | 2,081 | 4,282 | +106% | 0 | 0 | — |
case-17 | pass→pass | 9,845 | 5,973 | -39% | 1 | 1 | 0% | 1,498 | 3,821 | +155% | 0 | 0 | — |
case-18 | fail→fail | 6,907 | 8,009 | +16% | 1 | 1 | 0% | 1,106 | 4,313 | +290% | 0 | 0 | — |
case-19 | fail→pass | 6,381 | 7,625 | +19% | 1 | 1 | 0% | 1,036 | 4,109 | +297% | 0 | 0 | — |
case-20 | fail→pass | 3,376 | 5,187 | +54% | 1 | 1 | 0% | 477 | 3,834 | +704% | 0 | 0 | — |
case-21 | fail→pass | 11,188 | 4,649 | -58% | 1 | 1 | 0% | 1,704 | 3,705 | +117% | 0 | 0 | — |
case-22 | fail→pass | 18,081 | 5,551 | -69% | 1 | 1 | 0% | 2,636 | 3,939 | +49% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +64 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.