diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index b678be4..d7f2ec3 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -4,19 +4,19 @@ "version": "1.0.0", "description": "Social media skills for AI agents — content strategy, creation, and analysis for LinkedIn, Twitter/X, Threads, and Bluesky", "skills": [ - "social-media-context", - "content-strategy", - "content-calendar", - "platform-strategy", - "post-writer", - "thread-writer", - "carousel-writer", - "content-repurposer", - "hook-writer", - "performance-analyzer", - "audience-growth-tracker", - "content-pattern-analyzer", - "optimization-advisor" + "social-media-context-sms", + "content-strategy-sms", + "content-calendar-sms", + "platform-strategy-sms", + "post-writer-sms", + "thread-writer-sms", + "carousel-writer-sms", + "content-repurposer-sms", + "hook-writer-sms", + "performance-analyzer-sms", + "audience-growth-tracker-sms", + "content-pattern-analyzer-sms", + "optimization-advisor-sms" ], "strict": false } diff --git a/AGENTS.md b/AGENTS.md index ea29239..b12edd3 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -9,9 +9,9 @@ social-media-skills/ ├── .claude-plugin/ │ └── marketplace.json # Plugin manifest ├── skills/ -│ ├── social-media-context/ +│ ├── social-media-context-sms/ │ │ └── SKILL.md -│ ├── content-strategy/ +│ ├── content-strategy-sms/ │ │ └── SKILL.md │ └── / │ └── SKILL.md @@ -53,7 +53,7 @@ Field constraints: - **Lowercase only** — no uppercase letters anywhere in skill names or directory names - **Alphanumeric and hyphens only** — no spaces, underscores, dots, or special characters -- **Kebab-case** — words separated by single hyphens (e.g. `hook-writer`, not `hookwriter` or `hook_writer`) +- **Kebab-case** — words separated by single hyphens (e.g. `hook-writer-sms`, not `hookwriter` or `hook_writer`) - The `name` field in frontmatter must match the directory name exactly ### File Size @@ -86,9 +86,9 @@ Use **conventional commits** for all changes to this repository: | `chore:` | Tooling, config, or maintenance changes | Example commit messages: -- `feat: add hook-writer skill` -- `update: expand platform-strategy with Bluesky guidance` -- `fix: correct frontmatter version field in post-writer` +- `feat: add hook-writer-sms skill` +- `update: expand platform-strategy-sms with Bluesky guidance` +- `fix: correct frontmatter version field in post-writer-sms` - `chore: update validate-skills.sh to check metadata.version` ## Validation diff --git a/CLAUDE.md b/CLAUDE.md index 6442e48..0921516 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -11,25 +11,25 @@ Each skill lives in `skills//SKILL.md` and provides structured guidance fo Skills are organized into four layers, each building on the previous. ### Foundation -- **social-media-context** — establishes shared context, platform knowledge, and user preferences used by all other skills +- **social-media-context-sms** — establishes shared context, platform knowledge, and user preferences used by all other skills ### Strategy -- **content-strategy** — defines content pillars, audience targeting, and positioning -- **content-calendar** — plans publishing cadence, themes, and scheduling across platforms -- **platform-strategy** — tailors approach per platform based on audience and format strengths +- **content-strategy-sms** — defines content pillars, audience targeting, and positioning +- **content-calendar-sms** — plans publishing cadence, themes, and scheduling across platforms +- **platform-strategy-sms** — tailors approach per platform based on audience and format strengths ### Creation -- **post-writer** — writes single standalone posts optimized per platform -- **thread-writer** — writes multi-post threads with narrative arc and strong hooks -- **carousel-writer** — writes slide-by-slide carousel scripts for LinkedIn and similar formats -- **content-repurposer** — transforms existing content into new formats and platforms -- **hook-writer** — crafts high-performing opening lines to maximize engagement +- **post-writer-sms** — writes single standalone posts optimized per platform +- **thread-writer-sms** — writes multi-post threads with narrative arc and strong hooks +- **carousel-writer-sms** — writes slide-by-slide carousel scripts for LinkedIn and similar formats +- **content-repurposer-sms** — transforms existing content into new formats and platforms +- **hook-writer-sms** — crafts high-performing opening lines to maximize engagement ### Analysis -- **performance-analyzer** — interprets post and account metrics to surface insights -- **audience-growth-tracker** — tracks follower trends and identifies growth drivers -- **content-pattern-analyzer** — identifies what content types and topics perform best -- **optimization-advisor** — recommends specific improvements based on data patterns +- **performance-analyzer-sms** — interprets post and account metrics to surface insights +- **audience-growth-tracker-sms** — tracks follower trends and identifies growth drivers +- **content-pattern-analyzer-sms** — identifies what content types and topics perform best +- **optimization-advisor-sms** — recommends specific improvements based on data patterns ## Key Conventions @@ -56,9 +56,9 @@ Every `SKILL.md` must open with YAML frontmatter containing: ## Foundation Dependency -All skills (except `social-media-context` itself) **check for `.agents/social-media-context.md` first** before proceeding. This file contains user-specific context: platforms used, audience description, content pillars, tone preferences, and account handles. +All skills (except `social-media-context-sms` itself) **check for `.agents/social-media-context-sms.md` first** before proceeding. This file contains user-specific context: platforms used, audience description, content pillars, tone preferences, and account handles. -If `.agents/social-media-context.md` is not present, the skill should prompt the agent to run `social-media-context` first, or proceed with reasonable defaults while noting the limitation. +If `.agents/social-media-context-sms.md` is not present, the skill should prompt the agent to run `social-media-context-sms` first, or proceed with reasonable defaults while noting the limitation. ## BlackTwist MCP Integration @@ -76,14 +76,14 @@ See `tools/REGISTRY.md` for the full list of available BlackTwist tools. Skills should reference related skills where relevant. Use the format: ``` -See also: **thread-writer**, **hook-writer** +See also: **thread-writer-sms**, **hook-writer-sms** ``` Common cross-reference patterns: -- Creation skills reference **hook-writer** for opening lines -- Creation skills reference **content-strategy** for pillar alignment -- Analysis skills reference **optimization-advisor** for next steps -- **content-repurposer** references all creation skills as output targets +- Creation skills reference **hook-writer-sms** for opening lines +- Creation skills reference **content-strategy-sms** for pillar alignment +- Analysis skills reference **optimization-advisor-sms** for next steps +- **content-repurposer-sms** references all creation skills as output targets ## Validation diff --git a/README.md b/README.md index 24a943b..c77c02e 100644 --- a/README.md +++ b/README.md @@ -8,34 +8,34 @@ AI agent skills for social media content strategy, creation, and analysis across | Skill | Description | | ---------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | -| [social-media-context](skills/social-media-context/) | Captures platform context, audience details, content pillars, and tone preferences used by all other skills | +| [social-media-context-sms](skills/social-media-context-sms/) | Captures platform context, audience details, content pillars, and tone preferences used by all other skills | ### Strategy | Skill | Description | | ---------------------------------------------- | --------------------------------------------------------------------------------------- | -| [content-strategy](skills/content-strategy/) | Defines content pillars, audience targeting, and positioning for consistent brand voice | -| [content-calendar](skills/content-calendar/) | Plans publishing cadence, themes, and scheduling across platforms | -| [platform-strategy](skills/platform-strategy/) | Tailors content approach per platform based on audience and format strengths | +| [content-strategy-sms](skills/content-strategy-sms/) | Defines content pillars, audience targeting, and positioning for consistent brand voice | +| [content-calendar-sms](skills/content-calendar-sms/) | Plans publishing cadence, themes, and scheduling across platforms | +| [platform-strategy-sms](skills/platform-strategy-sms/) | Tailors content approach per platform based on audience and format strengths | ### Creation | Skill | Description | | ------------------------------------------------ | -------------------------------------------------------------------------------- | -| [post-writer](skills/post-writer/) | Writes single standalone posts optimized for each platform's format and audience | -| [thread-writer](skills/thread-writer/) | Writes multi-post threads with a clear narrative arc and strong opening hook | -| [carousel-writer](skills/carousel-writer/) | Writes slide-by-slide carousel scripts for LinkedIn and similar visual formats | -| [content-repurposer](skills/content-repurposer/) | Transforms existing content into new formats and adapts it across platforms | -| [hook-writer](skills/hook-writer/) | Crafts high-performing opening lines to maximize engagement and stop-the-scroll | +| [post-writer-sms](skills/post-writer-sms/) | Writes single standalone posts optimized for each platform's format and audience | +| [thread-writer-sms](skills/thread-writer-sms/) | Writes multi-post threads with a clear narrative arc and strong opening hook | +| [carousel-writer-sms](skills/carousel-writer-sms/) | Writes slide-by-slide carousel scripts for LinkedIn and similar visual formats | +| [content-repurposer-sms](skills/content-repurposer-sms/) | Transforms existing content into new formats and adapts it across platforms | +| [hook-writer-sms](skills/hook-writer-sms/) | Crafts high-performing opening lines to maximize engagement and stop-the-scroll | ### Analysis | Skill | Description | | ------------------------------------------------------------ | ----------------------------------------------------------------------- | -| [performance-analyzer](skills/performance-analyzer/) | Interprets post and account metrics to surface actionable insights | -| [audience-growth-tracker](skills/audience-growth-tracker/) | Tracks follower trends and identifies the content driving growth | -| [content-pattern-analyzer](skills/content-pattern-analyzer/) | Identifies which content types, topics, and formats perform best | -| [optimization-advisor](skills/optimization-advisor/) | Recommends specific improvements based on performance data and patterns | +| [performance-analyzer-sms](skills/performance-analyzer-sms/) | Interprets post and account metrics to surface actionable insights | +| [audience-growth-tracker-sms](skills/audience-growth-tracker-sms/) | Tracks follower trends and identifies the content driving growth | +| [content-pattern-analyzer-sms](skills/content-pattern-analyzer-sms/) | Identifies which content types, topics, and formats perform best | +| [optimization-advisor-sms](skills/optimization-advisor-sms/) | Recommends specific improvements based on performance data and patterns | ## Installation @@ -48,7 +48,7 @@ Use [npx skills](https://github.com/vercel-labs/skills) to install skills direct npx skills add blacktwist/social-media-skills # Install specific skills -npx skills add blacktwist/social-media-skills --skill post-writer hook-writer +npx skills add blacktwist/social-media-skills --skill post-writer-sms hook-writer-sms # List available skills npx skills add blacktwist/social-media-skills --list @@ -90,7 +90,7 @@ Use [SkillKit](https://github.com/rohitg00/skillkit) to install skills across mu npx skillkit install blacktwist/social-media-skills # Install specific skills -npx skillkit install blacktwist/social-media-skills --skill post-writer hook-writer +npx skillkit install blacktwist/social-media-skills --skill post-writer-sms hook-writer-sms # List available skills npx skillkit install blacktwist/social-media-skills --list diff --git a/skills/audience-growth-tracker/SKILL.md b/skills/audience-growth-tracker-sms/SKILL.md similarity index 93% rename from skills/audience-growth-tracker/SKILL.md rename to skills/audience-growth-tracker-sms/SKILL.md index 8ea7bda..51fb7d4 100644 --- a/skills/audience-growth-tracker/SKILL.md +++ b/skills/audience-growth-tracker-sms/SKILL.md @@ -1,6 +1,6 @@ --- -name: audience-growth-tracker -description: "When the user wants to track follower growth, understand what drives new followers, or analyze audience development. Also use when the user mentions 'follower growth,' 'followers,' 'audience growth,' 'gaining followers,' 'losing followers,' 'who follows me,' or 'grow my audience.' Uses BlackTwist follower data when available. For post-level metrics, see performance-analyzer. For content patterns, see content-pattern-analyzer." +name: audience-growth-tracker-sms +description: "When the user wants to track follower growth, understand what drives new followers, or analyze audience development. Also use when the user mentions 'follower growth,' 'followers,' 'audience growth,' 'gaining followers,' 'losing followers,' 'who follows me,' or 'grow my audience.' Uses BlackTwist follower data when available. For post-level metrics, see performance-analyzer-sms. For content patterns, see content-pattern-analyzer-sms." metadata: version: 1.0.0 --- @@ -23,7 +23,7 @@ You are an expert audience growth analyst. Your job is to turn follower data int ## Context Check -Before analyzing anything, read `.agents/social-media-context.md` (if it exists). This file contains the user's niche, platforms, goals, and growth targets. Use it to make every insight specific to their situation — including their milestone goals if captured. +Before analyzing anything, read `.agents/social-media-context-sms.md` (if it exists). This file contains the user's niche, platforms, goals, and growth targets. Use it to make every insight specific to their situation — including their milestone goals if captured. --- @@ -163,7 +163,7 @@ Identify which pattern the user currently has, and whether it matches their goal ## Platform-Specific Growth Dynamics -Apply platform context from `.agents/social-media-context.md`. Focus analysis on the platforms the user actually uses. +Apply platform context from `.agents/social-media-context-sms.md`. Focus analysis on the platforms the user actually uses. ### LinkedIn @@ -264,15 +264,15 @@ Write in active voice throughout. Bold key terms. Keep the report scannable — ## Boundaries -- Does not write or draft social media posts — see **post-writer** for that -- Does not analyze individual post metrics — see **performance-analyzer** for per-post breakdowns -- Does not identify content patterns across topics or formats — see **content-pattern-analyzer** for pattern detection -- Does not generate a content strategy or recommendations plan — see **optimization-advisor** for action plans +- Does not write or draft social media posts — see **post-writer-sms** for that +- Does not analyze individual post metrics — see **performance-analyzer-sms** for per-post breakdowns +- Does not identify content patterns across topics or formats — see **content-pattern-analyzer-sms** for pattern detection +- Does not generate a content strategy or recommendations plan — see **optimization-advisor-sms** for action plans - Does not execute code or access external APIs unless BlackTwist MCP is connected - Does not provide vanity metric comparisons against industry benchmarks — all analysis uses the user's own data as the baseline ## Related Skills -- **social-media-context** — establish niche, platforms, and growth goals before analyzing -- **performance-analyzer** — analyze post-level metrics (impressions, engagement rate, saves) -- **optimization-advisor** — translate growth findings into a concrete improvement plan +- **social-media-context-sms** — establish niche, platforms, and growth goals before analyzing +- **performance-analyzer-sms** — analyze post-level metrics (impressions, engagement rate, saves) +- **optimization-advisor-sms** — translate growth findings into a concrete improvement plan diff --git a/skills/audience-growth-tracker/evals/.gitkeep b/skills/audience-growth-tracker-sms/evals/.gitkeep similarity index 100% rename from skills/audience-growth-tracker/evals/.gitkeep rename to skills/audience-growth-tracker-sms/evals/.gitkeep diff --git a/skills/carousel-writer/SKILL.md b/skills/carousel-writer-sms/SKILL.md similarity index 91% rename from skills/carousel-writer/SKILL.md rename to skills/carousel-writer-sms/SKILL.md index 4d0e237..89d288c 100644 --- a/skills/carousel-writer/SKILL.md +++ b/skills/carousel-writer-sms/SKILL.md @@ -1,6 +1,6 @@ --- -name: carousel-writer -description: "When the user wants to write content for a LinkedIn carousel, slide deck, or swipeable multi-slide format. Also use when the user mentions 'carousel,' 'slides,' 'LinkedIn carousel,' 'swipe post,' 'slide deck,' or 'visual content.' Outputs slide-by-slide text content (not visual design). For single posts, see post-writer. For threads, see thread-writer." +name: carousel-writer-sms +description: "When the user wants to write content for a LinkedIn carousel, slide deck, or swipeable multi-slide format. Also use when the user mentions 'carousel,' 'slides,' 'LinkedIn carousel,' 'swipe post,' 'slide deck,' or 'visual content.' Outputs slide-by-slide text content (not visual design). For single posts, see post-writer-sms. For threads, see thread-writer-sms." metadata: version: 1.0.0 --- @@ -24,11 +24,11 @@ You output text content only, not visual design. Each slide is a unit of clear, ## Context Check -Before writing, read `.agents/social-media-context.md` to understand the user's voice, tone, content pillars, and platform preferences. Match vocabulary, sentence structure, and emotional register. +Before writing, read `.agents/social-media-context-sms.md` to understand the user's voice, tone, content pillars, and platform preferences. Match vocabulary, sentence structure, and emotional register. If the file does not exist, say: -> "I don't see a social media context file yet. Run the `social-media-context` skill first to capture your voice — it makes every carousel I write sound like you." +> "I don't see a social media context file yet. Run the `social-media-context-sms` skill first to capture your voice — it makes every carousel I write sound like you." --- @@ -289,14 +289,14 @@ CTA: Save this framework. Use it on your next post. Follow for one writing tip e ## Boundaries - Does not produce visual design, images, or PDF files — output is **text content only** for each slide -- Does not write single standalone posts — see **post-writer** for that -- Does not write multi-part threads — see **thread-writer** for threaded content -- Does not analyze post performance or metrics — see **performance-analyzer** for analytics +- Does not write single standalone posts — see **post-writer-sms** for that +- Does not write multi-part threads — see **thread-writer-sms** for threaded content +- Does not analyze post performance or metrics — see **performance-analyzer-sms** for analytics - Does not execute code or access external APIs unless BlackTwist MCP is connected -- Does not handle scheduling or calendar planning — see **content-calendar** for posting schedules +- Does not handle scheduling or calendar planning — see **content-calendar-sms** for posting schedules ## Related Skills -- **social-media-context** — establish voice and platform preferences before writing slides -- **hook-writer** — craft a high-converting cover slide headline before building the carousel -- **content-repurposer** — turn an existing post, thread, or article into a carousel +- **social-media-context-sms** — establish voice and platform preferences before writing slides +- **hook-writer-sms** — craft a high-converting cover slide headline before building the carousel +- **content-repurposer-sms** — turn an existing post, thread, or article into a carousel diff --git a/skills/carousel-writer/evals/.gitkeep b/skills/carousel-writer-sms/evals/.gitkeep similarity index 100% rename from skills/carousel-writer/evals/.gitkeep rename to skills/carousel-writer-sms/evals/.gitkeep diff --git a/skills/content-calendar/SKILL.md b/skills/content-calendar-sms/SKILL.md similarity index 91% rename from skills/content-calendar/SKILL.md rename to skills/content-calendar-sms/SKILL.md index f8a7808..270315e 100644 --- a/skills/content-calendar/SKILL.md +++ b/skills/content-calendar-sms/SKILL.md @@ -1,6 +1,6 @@ --- -name: content-calendar -description: "When the user wants to plan a posting schedule, create a content calendar, or organize when and what to post. Also use when the user mentions 'content calendar,' 'posting schedule,' 'when should I post,' 'weekly plan,' 'monthly plan,' 'batch content,' 'scheduling,' 'how often should I post,' or 'content cadence.' For deciding what topics to cover, see content-strategy. For writing the actual posts, see post-writer." +name: content-calendar-sms +description: "When the user wants to plan a posting schedule, create a content calendar, or organize when and what to post. Also use when the user mentions 'content calendar,' 'posting schedule,' 'when should I post,' 'weekly plan,' 'monthly plan,' 'batch content,' 'scheduling,' 'how often should I post,' or 'content cadence.' For deciding what topics to cover, see content-strategy-sms. For writing the actual posts, see post-writer-sms." metadata: version: 1.0.0 --- @@ -24,7 +24,7 @@ This skill produces a **content calendar** the user can follow, schedule in adva ## Step 1 — Check for existing context -Before asking any questions, check if `.agents/social-media-context.md` exists. +Before asking any questions, check if `.agents/social-media-context-sms.md` exists. **If it exists:** 1. Read the file in full. @@ -33,7 +33,7 @@ Before asking any questions, check if `.agents/social-media-context.md` exists. 4. Skip any discovery questions already answered. **If it does not exist:** -Tell the user: "I don't have your social media context yet. Run the **social-media-context** skill first — it takes 5–10 minutes and makes scheduling much faster. Or answer a few quick questions and I'll build your calendar now." +Tell the user: "I don't have your social media context yet. Run the **social-media-context-sms** skill first — it takes 5–10 minutes and makes scheduling much faster. Or answer a few quick questions and I'll build your calendar now." --- @@ -234,22 +234,22 @@ Present the final calendar in this format: [List of flexible slots and their purpose] ``` -After presenting: "Ready to start filling in post drafts? Use **post-writer** to write content for any of these slots. Or connect BlackTwist to schedule directly." +After presenting: "Ready to start filling in post drafts? Use **post-writer-sms** to write content for any of these slots. Or connect BlackTwist to schedule directly." --- ## Boundaries -- Does not write the actual post content — see **post-writer** for drafting posts -- Does not define content pillars or strategy from scratch — see **content-strategy** for that -- Does not analyze past post performance — see **performance-analyzer** for analytics -- Does not provide platform-specific algorithm tactics — see **platform-strategy** for platform guidance +- Does not write the actual post content — see **post-writer-sms** for drafting posts +- Does not define content pillars or strategy from scratch — see **content-strategy-sms** for that +- Does not analyze past post performance — see **performance-analyzer-sms** for analytics +- Does not provide platform-specific algorithm tactics — see **platform-strategy-sms** for platform guidance - Does not execute code or access external APIs unless BlackTwist MCP is connected -- Does not manage cross-posting or content adaptation — see **content-repurposer** for reformatting across platforms +- Does not manage cross-posting or content adaptation — see **content-repurposer-sms** for reformatting across platforms ## See also -**content-strategy** — defines your pillars and content mix before building the calendar -**social-media-context** — foundational profile this skill reads from -**post-writer** — writes the actual posts for each calendar slot -**platform-strategy** — informs platform-specific frequency and format decisions +**content-strategy-sms** — defines your pillars and content mix before building the calendar +**social-media-context-sms** — foundational profile this skill reads from +**post-writer-sms** — writes the actual posts for each calendar slot +**platform-strategy-sms** — informs platform-specific frequency and format decisions diff --git a/skills/content-calendar/evals/.gitkeep b/skills/content-calendar-sms/evals/.gitkeep similarity index 100% rename from skills/content-calendar/evals/.gitkeep rename to skills/content-calendar-sms/evals/.gitkeep diff --git a/skills/content-pattern-analyzer/SKILL.md b/skills/content-pattern-analyzer-sms/SKILL.md similarity index 91% rename from skills/content-pattern-analyzer/SKILL.md rename to skills/content-pattern-analyzer-sms/SKILL.md index 93a0c45..80fb8a7 100644 --- a/skills/content-pattern-analyzer/SKILL.md +++ b/skills/content-pattern-analyzer-sms/SKILL.md @@ -1,6 +1,6 @@ --- -name: content-pattern-analyzer -description: "When the user wants to find patterns in what content works and what doesn't. Also use when the user mentions 'what's working,' 'content patterns,' 'best topics,' 'best format,' 'best time to post,' 'analyze my content,' 'do more of,' 'do less of,' or 'what should I change.' For raw metrics, see performance-analyzer. For audience-specific analysis, see audience-growth-tracker. For actionable recommendations, see optimization-advisor." +name: content-pattern-analyzer-sms +description: "When the user wants to find patterns in what content works and what doesn't. Also use when the user mentions 'what's working,' 'content patterns,' 'best topics,' 'best format,' 'best time to post,' 'analyze my content,' 'do more of,' 'do less of,' or 'what should I change.' For raw metrics, see performance-analyzer-sms. For audience-specific analysis, see audience-growth-tracker-sms. For actionable recommendations, see optimization-advisor-sms." metadata: version: 1.0.0 --- @@ -23,7 +23,7 @@ You are an expert at finding patterns in social media performance data. Your job ## Context Check -Before analyzing anything, read `.agents/social-media-context.md` (if it exists). This file contains the user's niche, voice, platforms, and goals. Use it to make every pattern finding relevant to their specific situation — not generic content advice. +Before analyzing anything, read `.agents/social-media-context-sms.md` (if it exists). This file contains the user's niche, voice, platforms, and goals. Use it to make every pattern finding relevant to their specific situation — not generic content advice. --- @@ -231,15 +231,15 @@ Use **bold for key terms**. Write in active voice. Keep each pattern description ## Boundaries -- Does not provide per-post metric breakdowns — see **performance-analyzer** for individual post analysis -- Does not track follower growth or audience demographics — see **audience-growth-tracker** for growth data -- Does not generate a prioritized action plan — see **optimization-advisor** for concrete next steps -- Does not write or draft new content — see **post-writer**, **thread-writer**, or **carousel-writer** for creation +- Does not provide per-post metric breakdowns — see **performance-analyzer-sms** for individual post analysis +- Does not track follower growth or audience demographics — see **audience-growth-tracker-sms** for growth data +- Does not generate a prioritized action plan — see **optimization-advisor-sms** for concrete next steps +- Does not write or draft new content — see **post-writer-sms**, **thread-writer-sms**, or **carousel-writer-sms** for creation - Does not execute code or access external APIs unless BlackTwist MCP is connected - Does not work reliably with fewer than 10 posts — the skill requires a minimum sample size for pattern detection ## Related Skills -- **social-media-context** — establish niche, voice, and goals before pattern analysis -- **performance-analyzer** — get raw post metrics and individual post diagnoses -- **optimization-advisor** — translate pattern findings into a concrete improvement plan +- **social-media-context-sms** — establish niche, voice, and goals before pattern analysis +- **performance-analyzer-sms** — get raw post metrics and individual post diagnoses +- **optimization-advisor-sms** — translate pattern findings into a concrete improvement plan diff --git a/skills/content-pattern-analyzer/evals/.gitkeep b/skills/content-pattern-analyzer-sms/evals/.gitkeep similarity index 100% rename from skills/content-pattern-analyzer/evals/.gitkeep rename to skills/content-pattern-analyzer-sms/evals/.gitkeep diff --git a/skills/content-repurposer/SKILL.md b/skills/content-repurposer-sms/SKILL.md similarity index 91% rename from skills/content-repurposer/SKILL.md rename to skills/content-repurposer-sms/SKILL.md index f85461a..dbab549 100644 --- a/skills/content-repurposer/SKILL.md +++ b/skills/content-repurposer-sms/SKILL.md @@ -1,6 +1,6 @@ --- -name: content-repurposer -description: "When the user wants to turn one piece of content into multiple formats or adapt content across platforms. Also use when the user mentions 'repurpose,' 'turn this into,' 'adapt this for,' 'cross-post,' 'reformat,' 'blog to social,' 'newsletter to posts,' or 'get more from this content.' For writing original posts, see post-writer. For threads, see thread-writer. For carousels, see carousel-writer." +name: content-repurposer-sms +description: "When the user wants to turn one piece of content into multiple formats or adapt content across platforms. Also use when the user mentions 'repurpose,' 'turn this into,' 'adapt this for,' 'cross-post,' 'reformat,' 'blog to social,' 'newsletter to posts,' or 'get more from this content.' For writing original posts, see post-writer-sms. For threads, see thread-writer-sms. For carousels, see carousel-writer-sms." metadata: version: 1.0.0 --- @@ -22,11 +22,11 @@ You are an expert content repurposing strategist. You help creators extract maxi ## Context Check -Before repurposing anything, read `.agents/social-media-context.md` to understand the user's voice, tone, content pillars, and platform mix. +Before repurposing anything, read `.agents/social-media-context-sms.md` to understand the user's voice, tone, content pillars, and platform mix. If the file does not exist, say: -> "I don't see a social media context file yet. Run the `social-media-context` skill first to capture your voice and platform preferences — it makes every derivative sound like you, not a bot." +> "I don't see a social media context file yet. Run the `social-media-context-sms` skill first to capture your voice and platform preferences — it makes every derivative sound like you, not a bot." --- @@ -222,17 +222,17 @@ Deliver repurposed content in this structure: ## Boundaries -- Does not write original content from scratch — see **post-writer** for original posts -- Does not analyze post performance or metrics — see **performance-analyzer** for analytics -- Does not define content strategy or pillars — see **content-strategy** for strategic planning +- Does not write original content from scratch — see **post-writer-sms** for original posts +- Does not analyze post performance or metrics — see **performance-analyzer-sms** for analytics +- Does not define content strategy or pillars — see **content-strategy-sms** for strategic planning - Does not produce visual design or images — output is text-based derivatives only - Does not execute code or access external APIs unless BlackTwist MCP is connected -- Does not plan a full content calendar — see **content-calendar** for scheduling across weeks +- Does not plan a full content calendar — see **content-calendar-sms** for scheduling across weeks ## Related Skills -- **social-media-context** — establish voice, pillars, and platform mix before repurposing -- **platform-strategy** — decide which platforms to prioritize and why -- **post-writer** — write a single original post from scratch -- **thread-writer** — write a full multi-part thread -- **carousel-writer** — write and structure a carousel post +- **social-media-context-sms** — establish voice, pillars, and platform mix before repurposing +- **platform-strategy-sms** — decide which platforms to prioritize and why +- **post-writer-sms** — write a single original post from scratch +- **thread-writer-sms** — write a full multi-part thread +- **carousel-writer-sms** — write and structure a carousel post diff --git a/skills/content-repurposer/evals/.gitkeep b/skills/content-repurposer-sms/evals/.gitkeep similarity index 100% rename from skills/content-repurposer/evals/.gitkeep rename to skills/content-repurposer-sms/evals/.gitkeep diff --git a/skills/content-strategy/SKILL.md b/skills/content-strategy-sms/SKILL.md similarity index 90% rename from skills/content-strategy/SKILL.md rename to skills/content-strategy-sms/SKILL.md index b06bced..b4eefa2 100644 --- a/skills/content-strategy/SKILL.md +++ b/skills/content-strategy-sms/SKILL.md @@ -1,6 +1,6 @@ --- -name: content-strategy -description: "When the user wants to plan a social media content strategy, decide what to post, or figure out topic clusters and content mix. Also use when the user mentions 'content strategy,' 'what should I post,' 'content ideas,' 'topic clusters,' 'content pillars,' 'content planning,' 'content mix,' 'I don't know what to post,' or 'social media strategy.' Use this to define the what and why of posting. For writing actual posts, see post-writer. For scheduling, see content-calendar. For platform-specific tactics, see platform-strategy." +name: content-strategy-sms +description: "When the user wants to plan a social media content strategy, decide what to post, or figure out topic clusters and content mix. Also use when the user mentions 'content strategy,' 'what should I post,' 'content ideas,' 'topic clusters,' 'content pillars,' 'content planning,' 'content mix,' 'I don't know what to post,' or 'social media strategy.' Use this to define the what and why of posting. For writing actual posts, see post-writer-sms. For scheduling, see content-calendar-sms. For platform-specific tactics, see platform-strategy-sms." metadata: version: 1.0.0 --- @@ -24,7 +24,7 @@ This skill produces a **content strategy document** the user can reference when ## Step 1 — Check for existing context -Before asking any questions, check if `.agents/social-media-context.md` exists. +Before asking any questions, check if `.agents/social-media-context-sms.md` exists. **If it exists:** 1. Read the file in full. @@ -33,7 +33,7 @@ Before asking any questions, check if `.agents/social-media-context.md` exists. 4. Proceed to Step 2 with that information pre-loaded. **If it does not exist:** -Tell the user: "I don't have your social media context yet. Run the **social-media-context** skill first to set up your profile — it takes 5–10 minutes and makes every other skill much faster. Or, answer a few quick questions and I'll build your strategy from scratch." +Tell the user: "I don't have your social media context yet. Run the **social-media-context-sms** skill first to set up your profile — it takes 5–10 minutes and makes every other skill much faster. Or, answer a few quick questions and I'll build your strategy from scratch." If they want to proceed without context, collect the minimum needed: identity, audience, platforms, and rough content areas. @@ -235,21 +235,21 @@ Compile everything into a structured document the user can save and reference. U After presenting the document, ask: "Does this match your direction? Any pillars to rename, ratios to adjust, or gaps you want to explore further?" -Apply revisions, then confirm: "Strategy saved. Use **content-calendar** to turn this into a posting schedule, or **post-writer** to start creating content from these pillars." +Apply revisions, then confirm: "Strategy saved. Use **content-calendar-sms** to turn this into a posting schedule, or **post-writer-sms** to start creating content from these pillars." --- ## Boundaries -- Does not write individual posts or threads — see **post-writer** or **thread-writer** for content creation -- Does not build a posting schedule or calendar — see **content-calendar** for scheduling -- Does not analyze past post performance — see **performance-analyzer** or **content-pattern-analyzer** for analytics -- Does not provide platform-specific algorithm tactics — see **platform-strategy** for platform guidance +- Does not write individual posts or threads — see **post-writer-sms** or **thread-writer-sms** for content creation +- Does not build a posting schedule or calendar — see **content-calendar-sms** for scheduling +- Does not analyze past post performance — see **performance-analyzer-sms** or **content-pattern-analyzer-sms** for analytics +- Does not provide platform-specific algorithm tactics — see **platform-strategy-sms** for platform guidance - Does not execute code or access external APIs unless BlackTwist MCP is connected -- Does not set up the user's voice profile or identity — see **social-media-context** for foundational setup +- Does not set up the user's voice profile or identity — see **social-media-context-sms** for foundational setup ## See also -**social-media-context** — establishes the foundational profile this skill reads from -**platform-strategy** — develops platform-specific tactics from your content pillars -**content-calendar** — turns your strategy into a scheduled posting plan +**social-media-context-sms** — establishes the foundational profile this skill reads from +**platform-strategy-sms** — develops platform-specific tactics from your content pillars +**content-calendar-sms** — turns your strategy into a scheduled posting plan diff --git a/skills/content-strategy/evals/.gitkeep b/skills/content-strategy-sms/evals/.gitkeep similarity index 100% rename from skills/content-strategy/evals/.gitkeep rename to skills/content-strategy-sms/evals/.gitkeep diff --git a/skills/hook-writer/SKILL.md b/skills/hook-writer-sms/SKILL.md similarity index 92% rename from skills/hook-writer/SKILL.md rename to skills/hook-writer-sms/SKILL.md index 5ba17e2..1b5e633 100644 --- a/skills/hook-writer/SKILL.md +++ b/skills/hook-writer-sms/SKILL.md @@ -1,6 +1,6 @@ --- -name: hook-writer -description: "When the user wants help writing opening lines, hooks, or first sentences that grab attention. Also use when the user mentions 'hook,' 'opening line,' 'first line,' 'scroll stopper,' 'attention grabber,' 'headline,' 'how to start my post,' or 'nobody reads past my first line.' Can be used standalone or invoked by other creation skills. For writing full posts, see post-writer. For threads, see thread-writer." +name: hook-writer-sms +description: "When the user wants help writing opening lines, hooks, or first sentences that grab attention. Also use when the user mentions 'hook,' 'opening line,' 'first line,' 'scroll stopper,' 'attention grabber,' 'headline,' 'how to start my post,' or 'nobody reads past my first line.' Can be used standalone or invoked by other creation skills. For writing full posts, see post-writer-sms. For threads, see thread-writer-sms." metadata: version: 1.0.0 --- @@ -22,7 +22,7 @@ You are an expert social media copywriter specializing in hooks — the opening ## Context Check -Before generating hooks, read `.agents/social-media-context.md` (if it exists) to understand the user's voice, tone, niche, and platform preferences. Adapt all output to match their established style. +Before generating hooks, read `.agents/social-media-context-sms.md` (if it exists) to understand the user's voice, tone, niche, and platform preferences. Adapt all output to match their established style. --- @@ -251,17 +251,17 @@ Winner: Hook B — confession pattern drove 3x more comments on this topic ## Boundaries -- Does not write full posts, threads, or carousels — see **post-writer**, **thread-writer**, or **carousel-writer** for complete content -- Does not analyze post performance or metrics — see **performance-analyzer** for analytics -- Does not define content strategy or pillars — see **content-strategy** for strategic planning -- Does not provide platform algorithm tactics — see **platform-strategy** for platform-specific guidance +- Does not write full posts, threads, or carousels — see **post-writer-sms**, **thread-writer-sms**, or **carousel-writer-sms** for complete content +- Does not analyze post performance or metrics — see **performance-analyzer-sms** for analytics +- Does not define content strategy or pillars — see **content-strategy-sms** for strategic planning +- Does not provide platform algorithm tactics — see **platform-strategy-sms** for platform-specific guidance - Does not execute code or access external APIs unless BlackTwist MCP is connected - Does not generate visual content or images — output is text-based hook copy only ## Related Skills -- **social-media-context** — establish voice and platform preferences before generating hooks -- **platform-strategy** — understand where your audience lives before optimizing hook style -- **post-writer** — turn a strong hook into a full post -- **thread-writer** — expand a hook into a multi-post thread -- **carousel-writer** — adapt a hook as the cover slide of a carousel +- **social-media-context-sms** — establish voice and platform preferences before generating hooks +- **platform-strategy-sms** — understand where your audience lives before optimizing hook style +- **post-writer-sms** — turn a strong hook into a full post +- **thread-writer-sms** — expand a hook into a multi-post thread +- **carousel-writer-sms** — adapt a hook as the cover slide of a carousel diff --git a/skills/hook-writer/evals/.gitkeep b/skills/hook-writer-sms/evals/.gitkeep similarity index 100% rename from skills/hook-writer/evals/.gitkeep rename to skills/hook-writer-sms/evals/.gitkeep diff --git a/skills/optimization-advisor/SKILL.md b/skills/optimization-advisor-sms/SKILL.md similarity index 84% rename from skills/optimization-advisor/SKILL.md rename to skills/optimization-advisor-sms/SKILL.md index 2b36643..8479f91 100644 --- a/skills/optimization-advisor/SKILL.md +++ b/skills/optimization-advisor-sms/SKILL.md @@ -1,6 +1,6 @@ --- -name: optimization-advisor -description: "When the user wants concrete recommendations on how to improve their social media performance. Also use when the user mentions 'what should I do next,' 'how do I improve,' 'optimize my social media,' 'recommendations,' 'suggestions,' 'next steps,' 'what's my biggest opportunity,' or 'help me grow.' Synthesizes insights from performance, audience, and pattern analysis into prioritized actions. For raw analytics, see performance-analyzer. For growth tracking, see audience-growth-tracker. For pattern detection, see content-pattern-analyzer." +name: optimization-advisor-sms +description: "When the user wants concrete recommendations on how to improve their social media performance. Also use when the user mentions 'what should I do next,' 'how do I improve,' 'optimize my social media,' 'recommendations,' 'suggestions,' 'next steps,' 'what's my biggest opportunity,' or 'help me grow.' Synthesizes insights from performance, audience, and pattern analysis into prioritized actions. For raw analytics, see performance-analyzer-sms. For growth tracking, see audience-growth-tracker-sms. For pattern detection, see content-pattern-analyzer-sms." metadata: version: 1.0.0 --- @@ -22,9 +22,9 @@ You are an expert social media optimization advisor. Your job is to synthesize e ## Context Check -Before generating any recommendations, read `.agents/social-media-context.md` (if it exists). This file contains the user's niche, voice, platforms, goals, and audience. Use it to filter every recommendation through their specific situation — a recommendation that is correct for a B2B SaaS founder is wrong for a personal finance creator. +Before generating any recommendations, read `.agents/social-media-context-sms.md` (if it exists). This file contains the user's niche, voice, platforms, goals, and audience. Use it to filter every recommendation through their specific situation — a recommendation that is correct for a B2B SaaS founder is wrong for a personal finance creator. -Also check whether any recent analysis exists from sibling skills. If the user has already run performance-analyzer, audience-growth-tracker, or content-pattern-analyzer in this session, incorporate those findings directly rather than re-pulling data. +Also check whether any recent analysis exists from sibling skills. If the user has already run performance-analyzer-sms, audience-growth-tracker-sms, or content-pattern-analyzer-sms in this session, incorporate those findings directly rather than re-pulling data. --- @@ -34,11 +34,11 @@ Also check whether any recent analysis exists from sibling skills. If the user h If the user has already completed one or more of the following, build on those findings: -- **performance-analyzer findings** — top and bottom posts, engagement trends, posting patterns -- **audience-growth-tracker findings** — growth rate, growth drivers, spike correlations, milestone progress -- **content-pattern-analyzer findings** — Do More / Do Less patterns, untested combinations, format and topic performance +- **performance-analyzer-sms findings** — top and bottom posts, engagement trends, posting patterns +- **audience-growth-tracker-sms findings** — growth rate, growth drivers, spike correlations, milestone progress +- **content-pattern-analyzer-sms findings** — Do More / Do Less patterns, untested combinations, format and topic performance -Pull these together into a unified picture. Look for convergence: if performance-analyzer says Tuesday educational threads win AND content-pattern-analyzer confirms the list format outperforms, that is a high-confidence signal worth a top-priority recommendation. +Pull these together into a unified picture. Look for convergence: if performance-analyzer-sms says Tuesday educational threads win AND content-pattern-analyzer-sms confirms the list format outperforms, that is a high-confidence signal worth a top-priority recommendation. ### Path B — No Prior Analysis @@ -243,16 +243,16 @@ Do not manufacture confidence. A calibrated "this looks promising, test it" is m ## Boundaries -- Does not pull raw metrics or build analytics dashboards — see **performance-analyzer** for data collection -- Does not track follower growth or audience demographics — see **audience-growth-tracker** for growth data -- Does not detect content patterns from scratch — see **content-pattern-analyzer** for pattern analysis -- Does not write or draft content — see **post-writer**, **thread-writer**, or **carousel-writer** for creation +- Does not pull raw metrics or build analytics dashboards — see **performance-analyzer-sms** for data collection +- Does not track follower growth or audience demographics — see **audience-growth-tracker-sms** for growth data +- Does not detect content patterns from scratch — see **content-pattern-analyzer-sms** for pattern analysis +- Does not write or draft content — see **post-writer-sms**, **thread-writer-sms**, or **carousel-writer-sms** for creation - Does not execute code or access external APIs unless BlackTwist MCP is connected - Does not provide generic advice — every recommendation must reference the user's own data or stated context ## Related Skills -- **performance-analyzer** — get raw post metrics and per-post diagnoses before advising -- **audience-growth-tracker** — understand follower growth patterns before advising on growth tactics -- **content-pattern-analyzer** — identify Do More / Do Less patterns before advising on content mix -- **social-media-context** — establish niche, voice, and goals as the foundation for any recommendation +- **performance-analyzer-sms** — get raw post metrics and per-post diagnoses before advising +- **audience-growth-tracker-sms** — understand follower growth patterns before advising on growth tactics +- **content-pattern-analyzer-sms** — identify Do More / Do Less patterns before advising on content mix +- **social-media-context-sms** — establish niche, voice, and goals as the foundation for any recommendation diff --git a/skills/optimization-advisor/evals/.gitkeep b/skills/optimization-advisor-sms/evals/.gitkeep similarity index 100% rename from skills/optimization-advisor/evals/.gitkeep rename to skills/optimization-advisor-sms/evals/.gitkeep diff --git a/skills/performance-analyzer/SKILL.md b/skills/performance-analyzer-sms/SKILL.md similarity index 90% rename from skills/performance-analyzer/SKILL.md rename to skills/performance-analyzer-sms/SKILL.md index 3aed3e8..efe194b 100644 --- a/skills/performance-analyzer/SKILL.md +++ b/skills/performance-analyzer-sms/SKILL.md @@ -1,6 +1,6 @@ --- -name: performance-analyzer -description: "When the user wants to analyze how their social media posts are performing. Also use when the user mentions 'analytics,' 'performance,' 'how did my posts do,' 'engagement,' 'impressions,' 'what's working,' 'post metrics,' 'my best posts,' or 'why isn't this post performing.' Uses BlackTwist analytics when available, works from user-provided data otherwise. For audience growth specifically, see audience-growth-tracker. For pattern detection, see content-pattern-analyzer. For actionable next steps, see optimization-advisor." +name: performance-analyzer-sms +description: "When the user wants to analyze how their social media posts are performing. Also use when the user mentions 'analytics,' 'performance,' 'how did my posts do,' 'engagement,' 'impressions,' 'what's working,' 'post metrics,' 'my best posts,' or 'why isn't this post performing.' Uses BlackTwist analytics when available, works from user-provided data otherwise. For audience growth specifically, see audience-growth-tracker-sms. For pattern detection, see content-pattern-analyzer-sms. For actionable next steps, see optimization-advisor-sms." metadata: version: 1.0.0 --- @@ -22,7 +22,7 @@ You are an expert social media analytics advisor. Your job is to turn raw post d ## Context Check -Before analyzing anything, read `.agents/social-media-context.md` (if it exists). This file contains the user's niche, voice, platforms, and goals. Use it to make every insight relevant to their specific situation, not generic advice. +Before analyzing anything, read `.agents/social-media-context-sms.md` (if it exists). This file contains the user's niche, voice, platforms, and goals. Use it to make every insight relevant to their specific situation, not generic advice. --- @@ -216,15 +216,15 @@ Keep the report scannable. Use bold for key terms. Avoid tables with more than 5 ## Boundaries -- Does not track follower growth or audience demographics — see **audience-growth-tracker** for growth analysis -- Does not detect cross-post content patterns — see **content-pattern-analyzer** for pattern detection across many posts -- Does not generate a prioritized action plan — see **optimization-advisor** for concrete next steps -- Does not write or draft content — see **post-writer** for content creation +- Does not track follower growth or audience demographics — see **audience-growth-tracker-sms** for growth analysis +- Does not detect cross-post content patterns — see **content-pattern-analyzer-sms** for pattern detection across many posts +- Does not generate a prioritized action plan — see **optimization-advisor-sms** for concrete next steps +- Does not write or draft content — see **post-writer-sms** for content creation - Does not execute code or access external APIs unless BlackTwist MCP is connected - Does not cite industry benchmarks unless explicitly requested — all comparisons use the user's own averages ## Related Skills -- **social-media-context** — establish niche, voice, and goals before analyzing -- **content-pattern-analyzer** — go deeper on what content patterns drive performance -- **optimization-advisor** — translate analysis findings into a concrete improvement plan +- **social-media-context-sms** — establish niche, voice, and goals before analyzing +- **content-pattern-analyzer-sms** — go deeper on what content patterns drive performance +- **optimization-advisor-sms** — translate analysis findings into a concrete improvement plan diff --git a/skills/performance-analyzer/evals/.gitkeep b/skills/performance-analyzer-sms/evals/.gitkeep similarity index 100% rename from skills/performance-analyzer/evals/.gitkeep rename to skills/performance-analyzer-sms/evals/.gitkeep diff --git a/skills/platform-strategy/SKILL.md b/skills/platform-strategy-sms/SKILL.md similarity index 95% rename from skills/platform-strategy/SKILL.md rename to skills/platform-strategy-sms/SKILL.md index 536dddf..94ee921 100644 --- a/skills/platform-strategy/SKILL.md +++ b/skills/platform-strategy-sms/SKILL.md @@ -1,6 +1,6 @@ --- -name: platform-strategy -description: "When the user wants platform-specific tactical guidance for LinkedIn, Twitter/X, Threads, or Bluesky. Also use when the user mentions 'LinkedIn strategy,' 'Twitter strategy,' 'Threads strategy,' 'Bluesky strategy,' 'algorithm,' 'what works on LinkedIn,' 'cross-posting,' 'platform differences,' 'adapt my content,' or 'which platform should I focus on.' For overall content strategy, see content-strategy. For writing posts, see post-writer." +name: platform-strategy-sms +description: "When the user wants platform-specific tactical guidance for LinkedIn, Twitter/X, Threads, or Bluesky. Also use when the user mentions 'LinkedIn strategy,' 'Twitter strategy,' 'Threads strategy,' 'Bluesky strategy,' 'algorithm,' 'what works on LinkedIn,' 'cross-posting,' 'platform differences,' 'adapt my content,' or 'which platform should I focus on.' For overall content strategy, see content-strategy-sms. For writing posts, see post-writer-sms." metadata: version: 1.0.0 --- @@ -22,11 +22,11 @@ You are an expert social media platform strategist. Your job is to give the user ## Step 1 — Check for existing context -Before asking any questions, check if `.agents/social-media-context.md` exists. +Before asking any questions, check if `.agents/social-media-context-sms.md` exists. **If it exists:** Read the file. Note the user's platforms, goals, voice, and audience. Skip discovery questions already answered. -**If it does not exist:** Say — "I don't have your social media context yet. Run the **social-media-context** skill first for best results. Or tell me which platforms you're using and what you're trying to achieve, and I'll give you tactical guidance now." +**If it does not exist:** Say — "I don't have your social media context yet. Run the **social-media-context-sms** skill first for best results. Or tell me which platforms you're using and what you're trying to achieve, and I'll give you tactical guidance now." --- @@ -319,15 +319,15 @@ Same voice, different register. Use your authentic perspective everywhere — ad ## Boundaries -- Does not write posts, threads, or carousels — see **post-writer**, **thread-writer**, or **carousel-writer** for content creation -- Does not define overall content strategy or pillars — see **content-strategy** for strategic planning -- Does not analyze post performance or metrics — see **performance-analyzer** for analytics -- Does not schedule or plan a content calendar — see **content-calendar** for posting schedules +- Does not write posts, threads, or carousels — see **post-writer-sms**, **thread-writer-sms**, or **carousel-writer-sms** for content creation +- Does not define overall content strategy or pillars — see **content-strategy-sms** for strategic planning +- Does not analyze post performance or metrics — see **performance-analyzer-sms** for analytics +- Does not schedule or plan a content calendar — see **content-calendar-sms** for posting schedules - Does not execute code or access external APIs unless BlackTwist MCP is connected - Does not cover Instagram, TikTok, or YouTube — focuses on LinkedIn, Twitter/X, Threads, and Bluesky only ## See also -**social-media-context** — establishes the foundational profile this skill reads from -**content-strategy** — defines what to post and why across platforms -**post-writer** — writes platform-native posts from your strategy +**social-media-context-sms** — establishes the foundational profile this skill reads from +**content-strategy-sms** — defines what to post and why across platforms +**post-writer-sms** — writes platform-native posts from your strategy diff --git a/skills/platform-strategy/evals/.gitkeep b/skills/platform-strategy-sms/evals/.gitkeep similarity index 100% rename from skills/platform-strategy/evals/.gitkeep rename to skills/platform-strategy-sms/evals/.gitkeep diff --git a/skills/post-writer/SKILL.md b/skills/post-writer-sms/SKILL.md similarity index 84% rename from skills/post-writer/SKILL.md rename to skills/post-writer-sms/SKILL.md index fd4af6f..d9cab45 100644 --- a/skills/post-writer/SKILL.md +++ b/skills/post-writer-sms/SKILL.md @@ -1,6 +1,6 @@ --- -name: post-writer -description: "When the user wants to write a social media post for LinkedIn, Twitter/X, Threads, or Bluesky. Also use when the user mentions 'write a post,' 'draft a post,' 'LinkedIn post,' 'tweet,' 'Threads post,' 'Bluesky post,' 'social media post,' 'help me write,' or shares a topic and wants it turned into a post. For multi-part content, see thread-writer. For carousels, see carousel-writer. For opening lines specifically, see hook-writer." +name: post-writer-sms +description: "When the user wants to write a social media post for LinkedIn, Twitter/X, Threads, or Bluesky. Also use when the user mentions 'write a post,' 'draft a post,' 'LinkedIn post,' 'tweet,' 'Threads post,' 'Bluesky post,' 'social media post,' 'help me write,' or shares a topic and wants it turned into a post. For multi-part content, see thread-writer-sms. For carousels, see carousel-writer-sms. For opening lines specifically, see hook-writer-sms." metadata: version: 1.0.0 --- @@ -22,11 +22,11 @@ You are an expert social media writer who crafts platform-native posts that stop ## Context Check -Before writing, read `.agents/social-media-context.md` to understand the user's voice, tone, content pillars, platform preferences, and example posts. Use this file to match vocabulary, sentence structure, punctuation habits, and emotional register. +Before writing, read `.agents/social-media-context-sms.md` to understand the user's voice, tone, content pillars, platform preferences, and example posts. Use this file to match vocabulary, sentence structure, punctuation habits, and emotional register. If the file does not exist, say: -> "I don't see a social media context file yet. Run the `social-media-context` skill first to capture your voice and preferences — it takes about 5 minutes and makes every post I write sound like you." +> "I don't see a social media context file yet. Run the `social-media-context-sms` skill first to capture your voice and preferences — it takes about 5 minutes and makes every post I write sound like you." --- @@ -104,7 +104,7 @@ What's one thing you learned the hard way about visibility? **Format:** - Hook → Core message → CTA — all in one tight unit - Under 280 characters for single tweets -- Thread format if the idea needs more space (see thread-writer) +- Thread format if the idea needs more space (see thread-writer-sms) **Specs:** - 0-2 hashtags maximum — hashtag stuffing kills reach on X @@ -154,7 +154,7 @@ the people who win are the ones who post anyway. ## Writing Process -1. **Select or generate a hook** — use patterns from hook-writer (contrarian, question, story opener, statistic, list preview, bold claim, empathy, before/after, confession). Match the hook pattern to the platform and content type. +1. **Select or generate a hook** — use patterns from hook-writer-sms (contrarian, question, story opener, statistic, list preview, bold claim, empathy, before/after, confession). Match the hook pattern to the platform and content type. 2. **Draft the post body** — use the user's voice from the context file. Mirror their vocabulary, sentence rhythm, and punctuation habits. Do not impose a generic "expert" voice. @@ -213,16 +213,16 @@ Before delivering the final post, verify: ## Boundaries -- Does not write multi-part threads — see **thread-writer** for threaded content -- Does not write carousels or slide decks — see **carousel-writer** for slide-by-slide content -- Does not analyze post performance or metrics — see **performance-analyzer** for analytics -- Does not define content strategy or decide what to post — see **content-strategy** for planning +- Does not write multi-part threads — see **thread-writer-sms** for threaded content +- Does not write carousels or slide decks — see **carousel-writer-sms** for slide-by-slide content +- Does not analyze post performance or metrics — see **performance-analyzer-sms** for analytics +- Does not define content strategy or decide what to post — see **content-strategy-sms** for planning - Does not execute code or access external APIs unless BlackTwist MCP is connected - Does not produce visual design or images — output is text copy only, ready to paste ## Related Skills -- **social-media-context** — capture voice, pillars, and platform preferences before writing -- **hook-writer** — generate and test opening lines independently -- **platform-strategy** — decide which platform to prioritize before writing -- **content-repurposer** — adapt a finished post across multiple platforms +- **social-media-context-sms** — capture voice, pillars, and platform preferences before writing +- **hook-writer-sms** — generate and test opening lines independently +- **platform-strategy-sms** — decide which platform to prioritize before writing +- **content-repurposer-sms** — adapt a finished post across multiple platforms diff --git a/skills/post-writer/evals/.gitkeep b/skills/post-writer-sms/evals/.gitkeep similarity index 100% rename from skills/post-writer/evals/.gitkeep rename to skills/post-writer-sms/evals/.gitkeep diff --git a/skills/social-media-context/SKILL.md b/skills/social-media-context-sms/SKILL.md similarity index 92% rename from skills/social-media-context/SKILL.md rename to skills/social-media-context-sms/SKILL.md index 5667e62..4127512 100644 --- a/skills/social-media-context/SKILL.md +++ b/skills/social-media-context-sms/SKILL.md @@ -1,6 +1,6 @@ --- -name: social-media-context -description: "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.md that all other skills reference." +name: social-media-context-sms +description: "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." metadata: version: 1.0.0 --- @@ -18,13 +18,13 @@ metadata: 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.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. +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. --- ## Step 1 — Check for existing context -Before doing anything else, check if `.agents/social-media-context.md` already exists. +Before doing anything else, check if `.agents/social-media-context-sms.md` already exists. **If it exists:** 1. Read the file in full. @@ -204,7 +204,7 @@ Content types to avoid: Memes, engagement-bait polls, "agree?" one-liners ## Step 4 — Write the context file -Once you have enough information (at minimum: identity, audience, voice, and at least one platform), create or update `.agents/social-media-context.md` using this exact template: +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: ```markdown # Social Media Context @@ -297,7 +297,7 @@ After drafting: 1. Show the user the full file contents. 2. Ask: "Does this capture your context accurately? Any sections to adjust?" 3. Apply revisions. -4. Save to `.agents/social-media-context.md`. +4. Save to `.agents/social-media-context-sms.md`. 5. Confirm: "Context saved. All other social media skills will now read from this file." --- @@ -321,15 +321,15 @@ Common update triggers: ## Boundaries -- Does not write posts, threads, or carousels — see **post-writer**, **thread-writer**, or **carousel-writer** for content creation -- Does not build a content strategy or define topic clusters — see **content-strategy** for strategic planning -- Does not analyze performance or metrics — see **performance-analyzer** for analytics -- Does not schedule or plan a content calendar — see **content-calendar** for scheduling +- Does not write posts, threads, or carousels — see **post-writer-sms**, **thread-writer-sms**, or **carousel-writer-sms** for content creation +- Does not build a content strategy or define topic clusters — see **content-strategy-sms** for strategic planning +- Does not analyze performance or metrics — see **performance-analyzer-sms** for analytics +- Does not schedule or plan a content calendar — see **content-calendar-sms** for scheduling - Does not execute code or access external APIs unless BlackTwist MCP is connected - Does not make strategic recommendations — this skill captures identity and preferences only ## See also -**content-strategy** — builds a content framework from your pillars and audience -**platform-strategy** — develops platform-specific tactics from your context -**post-writer** — writes individual posts using your voice profile +**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 diff --git a/skills/social-media-context/evals/.gitkeep b/skills/social-media-context-sms/evals/.gitkeep similarity index 100% rename from skills/social-media-context/evals/.gitkeep rename to skills/social-media-context-sms/evals/.gitkeep diff --git a/skills/thread-writer/SKILL.md b/skills/thread-writer-sms/SKILL.md similarity index 90% rename from skills/thread-writer/SKILL.md rename to skills/thread-writer-sms/SKILL.md index 9cfdbe3..c3c4b6e 100644 --- a/skills/thread-writer/SKILL.md +++ b/skills/thread-writer-sms/SKILL.md @@ -1,6 +1,6 @@ --- -name: thread-writer -description: "When the user wants to write a multi-part thread for Twitter/X, LinkedIn, or other platforms. Also use when the user mentions 'thread,' 'Twitter thread,' 'tweetstorm,' 'multi-part post,' 'series of posts,' or has a long-form idea that needs breaking into parts. For single posts, see post-writer. For carousels, see carousel-writer." +name: thread-writer-sms +description: "When the user wants to write a multi-part thread for Twitter/X, LinkedIn, or other platforms. Also use when the user mentions 'thread,' 'Twitter thread,' 'tweetstorm,' 'multi-part post,' 'series of posts,' or has a long-form idea that needs breaking into parts. For single posts, see post-writer-sms. For carousels, see carousel-writer-sms." metadata: version: 1.0.0 --- @@ -22,11 +22,11 @@ You are an expert at writing social media threads — multi-part content sequenc ## Context Check -Before writing, read `.agents/social-media-context.md` to understand the user's voice, tone, content pillars, and platform preferences. Use this file to match vocabulary, sentence structure, punctuation habits, and emotional register. +Before writing, read `.agents/social-media-context-sms.md` to understand the user's voice, tone, content pillars, and platform preferences. Use this file to match vocabulary, sentence structure, punctuation habits, and emotional register. If the file does not exist, say: -> "I don't see a social media context file yet. Run the `social-media-context` skill first to capture your voice and preferences — it makes every thread I write sound like you." +> "I don't see a social media context file yet. Run the `social-media-context-sms` skill first to capture your voice and preferences — it makes every thread I write sound like you." --- @@ -51,7 +51,7 @@ Every thread has three distinct zones: the **hook**, the **body**, and the **clo The hook post must do two jobs simultaneously: stand alone as a compelling post and compel the reader to click through the entire thread. -- Apply hook-writer patterns (contrarian, question, story opener, statistic, bold claim, empathy, before/after, confession) +- Apply hook-writer-sms patterns (contrarian, question, story opener, statistic, bold claim, empathy, before/after, confession) - Make a promise — what will the reader know, feel, or be able to do after this thread? - On Twitter/X: include a thread signal ("A thread:" or "🧵") on the same line or immediately after the hook - The hook must be strong enough to perform as a standalone post — most readers decide here @@ -263,16 +263,16 @@ Before delivering the final thread, verify: ## Boundaries -- Does not write single standalone posts — see **post-writer** for short-form content -- Does not write carousels or slide decks — see **carousel-writer** for slide-by-slide content -- Does not analyze post performance or metrics — see **performance-analyzer** for analytics -- Does not define content strategy or decide what to post — see **content-strategy** for planning +- Does not write single standalone posts — see **post-writer-sms** for short-form content +- Does not write carousels or slide decks — see **carousel-writer-sms** for slide-by-slide content +- Does not analyze post performance or metrics — see **performance-analyzer-sms** for analytics +- Does not define content strategy or decide what to post — see **content-strategy-sms** for planning - Does not execute code or access external APIs unless BlackTwist MCP is connected - Does not produce visual design or images — output is text copy for each thread post only ## Related Skills -- **social-media-context** — establish voice, pillars, and platform preferences before writing -- **hook-writer** — generate and test opening lines before threading -- **platform-strategy** — decide which platform to prioritize and why -- **post-writer** — write a single post when the idea doesn't need a thread +- **social-media-context-sms** — establish voice, pillars, and platform preferences before writing +- **hook-writer-sms** — generate and test opening lines before threading +- **platform-strategy-sms** — decide which platform to prioritize and why +- **post-writer-sms** — write a single post when the idea doesn't need a thread diff --git a/skills/thread-writer/evals/.gitkeep b/skills/thread-writer-sms/evals/.gitkeep similarity index 100% rename from skills/thread-writer/evals/.gitkeep rename to skills/thread-writer-sms/evals/.gitkeep diff --git a/tools/REGISTRY.md b/tools/REGISTRY.md index f950c75..0444cc0 100644 --- a/tools/REGISTRY.md +++ b/tools/REGISTRY.md @@ -12,75 +12,51 @@ MCP server identifier: `mcp__blacktwist` Tools for creating, editing, retrieving, and deleting content. -| Tool | Description | -|---|---| -| `create_post` | Create and publish a new post or thread | -| `edit_post` | Edit a single post (standalone or within a thread) | -| `edit_thread` | Edit an entire thread, including post order and content | -| `get_thread` | Retrieve a thread by ID, including all posts and metadata | -| `delete_thread` | Delete a thread and all its posts | -| `list_posts` | List published posts with optional filters | -| `list_drafts` | List saved drafts pending review or scheduling | +| Tool | Description | +| --------------- | --------------------------------------------------------- | +| `create_post` | Create and publish a new post or thread | +| `edit_post` | Edit a single post (standalone or within a thread) | +| `edit_thread` | Edit an entire thread, including post order and content | +| `get_thread` | Retrieve a thread by ID, including all posts and metadata | +| `delete_thread` | Delete a thread and all its posts | +| `list_posts` | List published posts with optional filters | +| `list_drafts` | List saved drafts pending review or scheduling | ### Analytics Tools for fetching performance data, metrics, and growth insights. -| Tool | Description | -|---|---| -| `get_post_analytics` | Fetch engagement metrics for a specific post (views, likes, replies, reposts) | -| `get_live_metrics` | Fetch real-time metrics for recently published content | -| `get_metric_timeseries` | Retrieve metric data over a time range for trend analysis | -| `get_follower_growth` | Fetch follower count history and net growth over time | -| `get_consistency` | Check posting consistency score and streak data | -| `get_daily_recap` | Get a daily summary of account activity and performance | -| `get_recommendations` | Fetch AI-generated recommendations based on recent performance | +| Tool | Description | +| ----------------------- | ----------------------------------------------------------------------------- | +| `get_post_analytics` | Fetch engagement metrics for a specific post (views, likes, replies, reposts) | +| `get_live_metrics` | Fetch real-time metrics for recently published content | +| `get_metric_timeseries` | Retrieve metric data over a time range for trend analysis | +| `get_follower_growth` | Fetch follower count history and net growth over time | +| `get_consistency` | Check posting consistency score and streak data | +| `get_daily_recap` | Get a daily summary of account activity and performance | +| `get_recommendations` | Fetch AI-generated recommendations based on recent performance | ### Scheduling Tools for managing publish times and scheduled content. -| Tool | Description | -|---|---| -| `list_time_slots` | List optimal or available publishing time slots | -| `reschedule_thread` | Move a scheduled thread to a new publish time | -| `get_thread_follow_up` | Retrieve the follow-up action configured for a thread | +| Tool | Description | +| ---------------------- | ----------------------------------------------------------------------- | +| `list_time_slots` | List optimal or available publishing time slots | +| `reschedule_thread` | Move a scheduled thread to a new publish time | +| `get_thread_follow_up` | Retrieve the follow-up action configured for a thread | | `set_thread_follow_up` | Set a follow-up action (e.g. reply, repost) to trigger after publishing | ### Account Tools for account configuration, team, and subscription management. -| Tool | Description | -|---|---| -| `get_user_settings` | Retrieve user preferences and account configuration | -| `list_teams` | List teams and members associated with the account | -| `get_subscription` | Retrieve current subscription plan and limits | -| `list_providers` | List connected platform accounts (LinkedIn, Twitter/X, Threads, Bluesky) | - ---- - -## Third-Party Scheduling Tools (Reference Only) - -These tools are not directly integrated but may be relevant when BlackTwist is unavailable. - -### Buffer - -- **Website**: https://buffer.com -- **Capabilities**: Multi-platform scheduling, analytics, team collaboration -- **API**: REST API available for programmatic access - -### Hootsuite - -- **Website**: https://hootsuite.com -- **Capabilities**: Enterprise scheduling, monitoring, analytics dashboards -- **API**: REST API available; MCP integration not available - -### Later - -- **Website**: https://later.com -- **Capabilities**: Visual content calendar, link-in-bio, Instagram-focused -- **API**: REST API available for scheduling and media management +| Tool | Description | +| ------------------- | ------------------------------------------------------------------------ | +| `get_user_settings` | Retrieve user preferences and account configuration | +| `list_teams` | List teams and members associated with the account | +| `get_subscription` | Retrieve current subscription plan and limits | +| `list_providers` | List connected platform accounts (LinkedIn, Twitter/X, Threads, Bluesky) | --- @@ -88,11 +64,11 @@ These tools are not directly integrated but may be relevant when BlackTwist is u When no analytics tool is available, direct users to platform-native analytics: -| Platform | Analytics Location | -|---|---| -| **LinkedIn** | Profile > Analytics (for personal) or Page Admin > Analytics (for pages) | -| **Twitter/X** | Analytics.twitter.com or per-post analytics via the ellipsis menu | -| **Threads** | Profile > Insights (requires Creator account or 100+ followers) | -| **Bluesky** | Limited native analytics; use third-party tools like Clearsky or Bluesky Stats | +| Platform | Analytics Location | +| ------------- | ------------------------------------------------------------------------------ | +| **LinkedIn** | Profile > Analytics (for personal) or Page Admin > Analytics (for pages) | +| **Twitter/X** | Analytics.twitter.com or per-post analytics via the ellipsis menu | +| **Threads** | Profile > Insights (requires Creator account or 100+ followers) | +| **Bluesky** | Limited native analytics; use third-party tools like Clearsky or Bluesky Stats | Key metrics to collect manually: impressions/views, likes, replies, reposts/shares, profile visits, follower count change.