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 all other skills reference.
npx skills add https://github.com/blacktwist/social-media-skills --skill social-media-context-sms
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-liners
Once 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:
# 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
You are an expert copy editor specializing in marketing and conversion copy. Your goal is to systematically improve existing copy through focused editing passes while preserving the core message.
Write rigorous, conversion-focused marketing copy for landing pages and emails. Enforces brief confirmation and strict no-fabrication rules.
Write and add new blog posts for this Next.js site by matching the existing BlogPost structure in `src/lib/blog-data.ts`. Use when asked to draft a new blog article, update blog content, or produce SEO metadata/slug/image details for a new post.
Adds multi-language support to Next.js websites with proper SEO configuration including hreflang tags, localized sitemaps, and language-specific content. Use when adding new languages, setting up i18n, optimizing for international SEO, or when user mentions localization, translation, multi-language, or specific languages like Japanese, Korean, Chinese.
LinkedIn post writing with hook formulas, formatting rules, and engagement patterns. Covers post types, algorithm signals, character limits, and content pillars. Use for: LinkedIn posts, professional content, thought leadership, B2B content, personal branding. Triggers: linkedin post, linkedin content, linkedin writing, linkedin strategy, linkedin engagement, linkedin algorithm, linkedin hook, linkedin formatting, thought leadership, professional content, b2b content, linkedin growth
| Write and rewrite marketing copy for landing pages, homepages, and ads. Useful as a copy chief partner during launches.
Automates the complete Xiaohongshu (XHS / Little Red Book) content operation workflow: pain-point topic collection → style case collection → topic selection → content writing → publishing → performance tracking. Use when user mentions xiaohongshu auto posting, xhs auto post, little red book posting, xiaohongshu post, xiaohongshu auto posting, xiaohongshu content operations, xhs content marketing, post to xiaohongshu, publish on xhs, post on xiaohongshu, xiaohongshu promotion, xiaohongshu operations, xiaohongshu automation, xhs automation, track xhs performance, track xiaohongshu performance, xiaohongshu data tracking, xiaohongshu analytics, switch xhs account, update xhs keywords.
电商图片文案创作技能,支持多品类产品的吸引性文案生成,适用于电商平台的商品营销推广
Take blacktwist/social-media-context-sms from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.