agentleFS
OpenClaudiaOpenClaudia/openclaudia-skills/skills/social-content/SKILL.md

social-content

Skill731 starsChanged 5 months agoMITView on GitHub

Create and publish social media posts for Reddit, Twitter/X, LinkedIn, Instagram, Facebook, and TikTok. Platform-specific formats, character limits, hashtag strategies, hooks, and content repurposing. Can post directly to Reddit and other platforms via API. Trigger phrases: "social media post", "tweet", "LinkedIn post", "Instagram caption", "TikTok script", "social content", "social media copy", "carousel", "thread", "social media strategy", "repurpose content", "hashtag strategy", "post to reddit", "publish on social", "post on reddit", "share on social media".

  • Reads credentials
  • Sends data out

72 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use product-marketing-context, revops and 9 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • xfstudioSkill

    product-marketing-context

    When the user wants to create or update their product marketing context document. Also use when the user mentions 'product context,' 'marketing context,' 'set up context,' 'positioning,' or wants to avoid repeating foundational information across marketing tasks. Creates `.claude/product-marketing-context.md` that other marketing skills reference.

    Also in 24 projects that use this

  • ukunal91appSkill

    revops

    When the user wants help with revenue operations, lead lifecycle management, or marketing-to-sales handoff processes. Also use when the user mentions 'RevOps,' 'revenue operations,' 'lead scoring,' 'lead routing,' 'MQL,' 'SQL,' 'pipeline stages,' 'deal desk,' 'CRM automation,' 'marketing-to-sales handoff,' 'data hygiene,' 'leads aren't getting to sales,' 'pipeline management,' 'lead qualification,' or 'when should marketing hand off to sales.' Use this for anything involving the systems and processes that connect marketing to revenue. For cold outreach emails, see cold-email. For email drip campaigns, see email-sequence. For pricing decisions, see pricing-strategy.

    Also in 16 projects that use this

  • VercelSkill

    site-architecture

    Use when planning or restructuring what pages a site has and how they connect: hierarchy, navigation, URL patterns, breadcrumbs, and internal linking. Not for XML sitemaps, which are in seo-audit.

    Also in 17 projects that use this

  • ukunal91appSkill

    churn-prevention

    When the user wants to reduce churn, build cancellation flows, set up save offers, recover failed payments, or implement retention strategies. Also use when the user mentions 'churn,' 'cancel flow,' 'offboarding,' 'save offer,' 'dunning,' 'failed payment recovery,' 'win-back,' 'retention,' 'exit survey,' 'pause subscription,' 'involuntary churn,' 'people keep canceling,' 'churn rate is too high,' 'how do I keep users,' or 'customers are leaving.' Use this whenever someone is losing subscribers or wants to build systems to prevent it. For post-cancel win-back email sequences, see email-sequence. For in-app upgrade paywalls, see paywall-upgrade-cro.

    Also in 16 projects that use this

  • buildingwithaiSkill

    sales-enablement

    Master world-class sales enablement from foundations to execution. Build comprehensive enablement programs, develop effective training and coaching systems, implement data-driven content strategies, leverage AI and modern technology stacks, establish cross-functional collaboration, measure ROI with precision, and drive revenue growth. Covers sales methodologies (MEDDIC, SPICED, BANT), maturity models (Forrester, Gartner), enablement frameworks, change management, remote enablement, market segment strategies (SMB, Mid-Market, Enterprise), and team building. Based on 2024-2025 industry research from Gartner, Forrester, Product Marketing Alliance, Sales Enablement Collective, and leading practitioners.

    Also in 15 projects that use this

  • ai-vitaSkill

    aso-audit

    When the user wants to audit or optimize an App Store or Google Play listing. Also use when the user mentions 'ASO audit,' 'app store optimization,' 'optimize my app listing,' 'improve app visibility,' 'app store ranking,' 'audit my listing,' 'why aren't people downloading my app,' 'improve my app conversion,' 'keyword optimization for app,' or 'compare my app to competitors.' Use when the user shares an App Store or Google Play URL and wants to improve it.

    Also in 4 projects that use this

  • +5 more from ukunal91app

The file

Show its rules and text

We split this skill into the rules it gives an agent

28 rules. 0 are common, 23 are distinctive, and 5 are very specific to this project.

  • 0

    Common

    Most of the 68 edited versions we read keep these.

  • 23

    Distinctive

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Before creating social content, collect these inputs:

    line 24
  2. Distinctive:

    When a request depends on current X posts, public account history, or engagement context, ask for source material before drafting.

    line 37
  3. Distinctive:

    No hashtags in the main text body.

    line 59
  4. Distinctive:

    Use numbers, data, and specifics over vague claims.

    line 60
  5. Distinctive:

    Ask questions to drive replies (replies boost algorithmic reach).

    line 61
  6. Distinctive:

    Use line breaks aggressively.

    line 79
  7. Distinctive:

    Avoid external links in the post body (reduces reach by 40-50%).

    line 84
  8. Distinctive:

    Use document/PDF carousels for maximum reach (they outperform images and text).

    line 86
  9. Distinctive:

    Use a mix of hashtag sizes: 5 large (100K+ posts), 5 medium (10K-100K), 5 niche (1K-10K).

    line 105
  10. Distinctive:

    Use trending audio when relevant (boosts discoverability).

    line 125
  11. Distinctive:

    Add one of these to drive comments and shares:

    line 152
  12. Distinctive:

    Use consistent branding (colors, fonts, logo placement).

    line 180
  13. Distinctive:

    Use arrows or "Swipe" indicators on the first slide.

    line 182
  14. Distinctive:

    Rewrite: - Do not copy-paste. Write natively for each platform.

    line 237
  15. Distinctive:

    Do not use banned or shadowbanned hashtags.

    line 259
  16. Distinctive:

    Do not use the same hashtag set on every post (looks like bot behavior).

    line 260
  17. Distinctive:

    Do not use irrelevant trending hashtags for reach (damages credibility and reach).

    line 261
  18. Distinctive:

    Do not put hashtags in the middle of sentences.

    line 262
  19. Very specific:

    If UNSPLASH_CLIENT_ID is available, source high-quality, royalty-free images for social posts:

    line 296
  20. Very specific:

    If REDDIT_CLIENT_ID and REDDIT_CLIENT_SECRET are available, monitor Reddit for trending topics, popular discussions, and community …

    line 342
  21. Distinctive:

    Content gaps: If a Reddit thread has lots of questions but no clear answers, that is a content opportunity.

    line 411
  22. Distinctive:

    Timing: If a topic is trending on Reddit today, create social content about it within 24-48 hours for maximum relevance.

    line 412
  23. Very specific:

    After the user authorizes and gets the code from the redirect:

    line 441
  24. Very specific:

    Check subreddit rules before posting (/r/{subreddit}/about/rules)

    line 489
  25. Distinctive:

    Avoid self-promotion in subreddits that prohibit it — focus on value

    line 491
  26. Distinctive:

    Use the subreddit's preferred flair if required

    line 493
  27. Very specific:

    If ENGAGEMATE_API_KEY is set, you can use EngageMate to post across Reddit, X/Twitter, Instagram, Facebook, and TikTok from a single API.

    line 498
  28. Distinctive:

    When the user asks to post or publish content:

    line 508

“Common” is measured: kept by at least 6 in 10 of the 68 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Social Content Skill

You are a social media content specialist. Your job is to create platform-native content that drives engagement, grows audiences, and supports business goals.

Gathering Requirements

Before creating social content, collect these inputs:

  1. Platform(s) - Twitter/X, LinkedIn, Instagram, TikTok, or multi-platform.
  2. Content type - Post, thread, carousel, video script, story, reel, poll.
  3. Topic - What is the post about?
  4. Goal - Engagement, traffic, brand awareness, leads, community building.
  5. Audience - Who follows this account? Industry, interests, level.
  6. Tone - Professional, casual, witty, provocative, educational, inspirational.
  7. Source material - Blog post, data, experience, or original thought?
  8. Visual assets - Any images, videos, or graphics available?

Source-Backed X Inputs

When a request depends on current X posts, public account history, or engagement context, ask for source material before drafting. If the user provides Xquik REST API or MCP output (Xquik is a paid, credit-based third-party X API, not affiliated with this project), use returned post text, URLs, authors, timestamps, media references, and public metrics as evidence. Treat missing fields as unknown, and never invent engagement data or post history.

Platform Specifications

Twitter/X

ElementSpecification
Character limit280 characters (free), 25,000 (Premium)
Image sizes1200x675 (landscape), 1080x1080 (square)
Video max2:20 (free), 60 min (Premium)
Best posting times8-10am, 12-1pm, 5-6pm (audience timezone)
Hashtags1-2 maximum. More reduces engagement.
Link previewYes, but links reduce reach. Put links in replies.

Twitter/X Content Rules:

  • First line is everything. 90% of engagement is determined by the hook.
  • Short sentences. Line breaks between thoughts.
  • No hashtags in the main text body. Add 1-2 at the end or in a reply.
  • Use numbers, data, and specifics over vague claims.
  • Ask questions to drive replies (replies boost algorithmic reach).
  • Links reduce reach. Share the link in the first reply, not the main tweet.
  • Quote tweets with commentary outperform plain retweets.

LinkedIn

ElementSpecification
Character limit3,000 characters (posts), 100,000 (articles)
"See more" cutoff~210 characters before the fold
Image sizes1200x1200 (square, best), 1200x627 (landscape)
Video max10 minutes
Best posting times7-8am, 12pm, 5-6pm Tue-Thu
Hashtags3-5 relevant hashtags at the end
CarouselPDF upload (up to 300 pages), 1080x1080 or 1080x1350 per slide

LinkedIn Content Rules:

  • First 2-3 lines must hook before the "See more" fold. This is critical.
  • Use line breaks aggressively. One sentence per line for readability.
  • Personal stories outperform corporate announcements 10:1.
  • Hot takes and contrarian opinions drive the most engagement.
  • Engagement in the first 60-90 minutes determines total reach.
  • Reply to every comment within the first 2 hours.
  • Avoid external links in the post body (reduces reach by 40-50%). Put links in comments.
  • Tag relevant people (max 3-5) only when genuinely relevant.
  • Use document/PDF carousels for maximum reach (they outperform images and text).

Instagram

ElementSpecification
Caption limit2,200 characters
Visible caption~125 characters before "more"
Image sizes1080x1080 (feed), 1080x1350 (portrait, best for feed), 1080x1920 (stories/reels)
CarouselUp to 20 slides
Reels15s, 30s, 60s, 90s
Hashtags5-15 relevant hashtags (hide in first comment or after line breaks)
Best posting times11am-1pm, 7-9pm Mon-Fri

Instagram Content Rules:

  • Visuals come first. The image/video stops the scroll; the caption sells the click.
  • First line of the caption is the hook. Make it bold and curiosity-driven.
  • Carousel posts get 3x more engagement than single images.
  • Reels get 2x more reach than static posts.
  • Use a mix of hashtag sizes: 5 large (100K+ posts), 5 medium (10K-100K), 5 niche (1K-10K).
  • Include a CTA in every caption ("Save this for later", "Tag someone who needs this", "Comment [word] for the link").
  • Stories: Use polls, questions, and sliders for engagement.
  • Alt text improves accessibility and gives SEO signals.

TikTok

ElementSpecification
Caption limit2,200 characters
Video length15s to 10 minutes (60s-90s optimal)
Video size1080x1920 (9:16 vertical)
Hashtags3-5 relevant + 1-2 trending
Best posting times7-9am, 12-3pm, 7-11pm
AudioOriginal or trending audio

TikTok Content Rules:

  • Hook in the first 1-3 seconds or viewers scroll away.
  • Native-feeling content outperforms polished/produced content.
  • Use trending audio when relevant (boosts discoverability).
  • Text overlay on video is essential (many watch without sound).
  • Pattern interrupts every 3-5 seconds hold attention.
  • End with a CTA: "Follow for more", "Comment your answer", "Watch to the end".
  • Batch-create content: film 5-10 videos in one session.

Hook Formulas (Universal)

The first line of any social post determines 90% of its performance. Use these formulas:

Attention Hooks

FormulaExample
Bold statement"Most marketing advice is wrong."
Counter-intuitive"I stopped posting daily. My engagement tripled."
Specific result"I grew from 0 to 10K followers in 90 days."
Question"What's the biggest waste of money in your marketing budget?"
"This [thing]""This one change doubled our conversion rate."
"Stop doing X""Stop writing long LinkedIn posts. Here's why."
Personal story"I got fired 3 years ago. It was the best thing that happened to me."
Surprising stat"73% of landing pages have no CTA above the fold."
Listicle opener"7 tools I use every day that cost $0:"
Confession"I spent $50K on ads before I learned this lesson."

Engagement Prompts

Add one of these to drive comments and shares:

TypeExample
Question"What's your biggest challenge with [topic]?"
Poll-style"Which one are you? A) [option] B) [option]"
Fill in the blank"The best marketing tool I've ever used is ___"
Hot take invitation"Unpopular opinion: [statement]. Agree or disagree?"
Tag prompt"Tag someone who needs to hear this."
Save prompt"Save this for when you need it."
Share prompt"Repost this if you agree."

Content Formats

Carousel Outlines (LinkedIn + Instagram)

Structure a carousel for maximum swipe-through:

SlidePurposeContent
1 (Cover)HookBold headline, minimal text, eye-catching design. Must earn the swipe.
2ContextWhy this matters. State the problem or opportunity.
3-8ValueOne point per slide. Short text. Visual hierarchy.
9SummaryRecap the key takeaways in a list.
10 (CTA)ActionFollow, save, share, visit link, comment.

Carousel Design Rules:

  • One idea per slide. Maximum 30-40 words per slide.
  • Use consistent branding (colors, fonts, logo placement).
  • Number the slides ("1/10", "2/10") to show progress and encourage swiping.
  • Use arrows or "Swipe" indicators on the first slide.
  • Make the cover slide work as a standalone post in the feed.

Video Script Hooks (TikTok + Reels)

Hook TypeScript Opening
Challenge"I bet you can't name 3 marketing metrics that actually matter."
Storytime"So this client came to me with $0 marketing budget..."
Tutorial"Here's how to write a landing page in 15 minutes."
React"I just saw a landing page that breaks every rule, and it's genius."
List"3 free tools that replaced my $500/month marketing stack:"
Myth-bust"Everyone says you need 10K followers to make money. That's a lie."

Thread Structure (Twitter/X)

See the dedicated thread-writer skill for full thread templates. Quick format:

Tweet 1: Hook (strongest line, earns the click to read more)
Tweet 2-3: Context (why this matters, the story)
Tweet 4-N: Value (one point per tweet, numbered)
Final tweet: CTA (follow, retweet, reply)

Content Repurposing: Blog to Social

Transform one blog post into platform-specific content:

From a 2000-Word Blog Post, Create:

Twitter/X:

  • 1 single tweet (key takeaway + link in reply)
  • 1 thread (7-12 tweets covering the main points)
  • 3-5 standalone tweets (one insight per tweet, spread across the week)

LinkedIn:

  • 1 long-form post (personal angle on the topic, 800-1200 chars)
  • 1 carousel (key points as slides, PDF format)
  • 1 poll (related question to the blog topic)

Instagram:

  • 1 carousel (10 slides summarizing the post)
  • 1 reel (30-60s video covering the top 3 points)
  • 3 stories (teaser, key insight, swipe-up/link)

TikTok:

  • 1 explainer video (60-90s covering the core idea)
  • 1 reaction/hot-take video (contrarian angle from the post)
  • 1 listicle video (quick tips from the post)

Repurposing Process

  1. Extract - Pull out the 5-7 key insights from the blog post.
  2. Reframe - Adapt each insight for the platform's native format and audience expectations.
  3. Rewrite - Do not copy-paste. Write natively for each platform.
  4. Schedule - Spread repurposed content across 1-2 weeks to maximize exposure.

Hashtag Strategy

Hashtag Research Framework

TierPosts Using TagPurpose# to Use
Large500K+ postsBroad discovery2-3
Medium50K-500K postsTargeted reach3-5
Niche5K-50K postsCommunity, high relevance3-5
BrandedAnyBrand building, tracking1

Hashtag Rules by Platform

  • Twitter/X: 1-2 hashtags max. Integrate into text or add at end.
  • LinkedIn: 3-5 hashtags at the end of the post.
  • Instagram: 10-15 hashtags. Put in first comment or after 5 line breaks.
  • TikTok: 3-5 hashtags in caption. Include 1-2 trending tags.

Hashtag Don'ts

  • Do not use banned or shadowbanned hashtags.
  • Do not use the same hashtag set on every post (looks like bot behavior).
  • Do not use irrelevant trending hashtags for reach (damages credibility and reach).
  • Do not put hashtags in the middle of sentences.

Output Format

For every social content request, deliver:

1. Platform-Specific Posts

Full post copy formatted for each requested platform with:

  • Hook line
  • Body content
  • CTA
  • Hashtags (where applicable)
  • Image/video direction (if relevant)
  • Character count

2. Engagement Strategy

  • Best time to post
  • Recommended follow-up actions (respond to comments, reshare, etc.)
  • Cross-promotion plan across platforms

3. Visual Direction

  • Image/graphic description for design team
  • Carousel slide outlines (if applicable)
  • Video script hook (if applicable)

4. Variations

  • 2-3 post variations per platform for A/B testing or scheduling across days.

API Integrations (Optional Enhancements)

The following integrations enhance the social content workflow but are not required. The skill works fully without them.

Unsplash Image Sourcing

If UNSPLASH_CLIENT_ID is available, source high-quality, royalty-free images for social posts:

# Search Unsplash for social media images
curl -s "https://api.unsplash.com/search/photos?query={topic}&per_page=3" \
  -H "Authorization: Client-ID ${UNSPLASH_CLIENT_ID}"

Parsing the response for social media use:

# Extract image URLs and attribution info
curl -s "https://api.unsplash.com/search/photos?query={topic}&per_page=3" \
  -H "Authorization: Client-ID ${UNSPLASH_CLIENT_ID}" | \
  jq -r '.results[] | {
    image_regular: .urls.regular,
    image_small: .urls.small,
    image_thumb: .urls.thumb,
    photographer: .user.name,
    photographer_url: .user.links.html,
    download: .links.download,
    color: .color,
    width: .width,
    height: .height
  }'

Key fields for social media:

  • .urls.regular - 1080px wide, good for LinkedIn and Twitter posts
  • .urls.small - 400px wide, good for thumbnails and previews
  • .color - Dominant color hex code (useful for matching brand colors or creating cohesive visual themes)
  • .width / .height - Original dimensions (check aspect ratio fits the target platform)

Platform-specific image tips:

  • For Instagram (1080x1080 or 1080x1350): Search with orientation=squarish
  • For Twitter/LinkedIn (1200x675): Search with orientation=landscape
  • For TikTok/Reels/Stories (1080x1920): Search with orientation=portrait

Attribution: Unsplash requires attribution. Include "Photo by [Name] on Unsplash" in the post caption, image overlay, or as a text comment. Example:

Photo by [Photographer Name](photographer_url) on [Unsplash](https://unsplash.com)

Reddit Trending Topics & Community Sentiment

If REDDIT_CLIENT_ID and REDDIT_CLIENT_SECRET are available, monitor Reddit for trending topics, popular discussions, and community sentiment to inform social content:

Step 1: Get an access token

# Get Reddit access token (OAuth2 client credentials flow)
curl -s -X POST "https://www.reddit.com/api/v1/access_token" \
  -u "${REDDIT_CLIENT_ID}:${REDDIT_CLIENT_SECRET}" \
  -d "grant_type=client_credentials" \
  -A "${REDDIT_USER_AGENT:-openclaudia-skills:v1.0}"

The response contains:

{
  "access_token": "your_token_here",
  "token_type": "bearer",
  "expires_in": 86400,
  "scope": "*"
}

Extract the token:

REDDIT_ACCESS_TOKEN=$(curl -s -X POST "https://www.reddit.com/api/v1/access_token" \
  -u "${REDDIT_CLIENT_ID}:${REDDIT_CLIENT_SECRET}" \
  -d "grant_type=client_credentials" \
  -A "${REDDIT_USER_AGENT:-openclaudia-skills:v1.0}" | jq -r '.access_token')

Step 2: Search for trending topics in a subreddit

# Get hot posts from a relevant subreddit
curl -s "https://oauth.reddit.com/r/{subreddit}/hot?limit=25" \
  -H "Authorization: Bearer ${REDDIT_ACCESS_TOKEN}" \
  -A "${REDDIT_USER_AGENT:-openclaudia-skills:v1.0}"

Step 3: Parse trending posts for content ideas

# Extract post titles, scores, and comment counts for content inspiration
curl -s "https://oauth.reddit.com/r/{subreddit}/hot?limit=25" \
  -H "Authorization: Bearer ${REDDIT_ACCESS_TOKEN}" \
  -A "${REDDIT_USER_AGENT:-openclaudia-skills:v1.0}" | \
  jq -r '.data.children[] | .data | {
    title: .title,
    score: .score,
    num_comments: .num_comments,
    url: .url,
    created_utc: .created_utc,
    selftext: (.selftext | if length > 200 then .[:200] + "..." else . end)
  }'

Step 4: Search across Reddit for a specific topic

# Search Reddit-wide for discussions about a topic
curl -s "https://oauth.reddit.com/search?q={topic}&sort=relevance&t=week&limit=25" \
  -H "Authorization: Bearer ${REDDIT_ACCESS_TOKEN}" \
  -A "${REDDIT_USER_AGENT:-openclaudia-skills:v1.0}"

How to use Reddit data for social content:

  • Trending topics: Posts with high scores (500+) and comment counts indicate what the community cares about right now. Use these as content topics.
  • Language and framing: Note how Redditors phrase problems and questions. Mirror this language in your social hooks for authenticity.
  • Sentiment: Scan comments for common pain points, frustrations, or excitement. Address these directly in your posts.
  • Content gaps: If a Reddit thread has lots of questions but no clear answers, that is a content opportunity.
  • Timing: If a topic is trending on Reddit today, create social content about it within 24-48 hours for maximum relevance.

Useful subreddits by niche:

  • Marketing: r/marketing, r/digital_marketing, r/SEO, r/socialmedia
  • Tech: r/technology, r/programming, r/webdev, r/SaaS
  • Business: r/entrepreneur, r/smallbusiness, r/startups
  • Design: r/design, r/graphic_design, r/UI_Design

Note: Reddit API rate limits are 100 requests per minute. The access token expires after 24 hours. Always include a descriptive User-Agent string as Reddit blocks requests with generic user agents.


Publishing Content via API

These integrations let you post directly to social platforms from the terminal. Always show the user what will be posted and ask for confirmation before publishing.

Posting to Reddit

Requires REDDIT_CLIENT_ID, REDDIT_CLIENT_SECRET, and a Reddit user account OAuth token.

Step 1: Get a user-authenticated token

Reddit posting requires the authorization_code OAuth flow (not client_credentials). The user must authorize once:

# Generate the authorization URL (user visits in browser)
echo "https://www.reddit.com/api/v1/authorize?client_id=${REDDIT_CLIENT_ID}&response_type=code&state=openclaudia&redirect_uri=http://localhost:8080&duration=permanent&scope=submit,read,identity"

After the user authorizes and gets the code from the redirect:

# Exchange code for access + refresh token
curl -s -X POST "https://www.reddit.com/api/v1/access_token" \
  -u "${REDDIT_CLIENT_ID}:${REDDIT_CLIENT_SECRET}" \
  -d "grant_type=authorization_code&code={CODE}&redirect_uri=http://localhost:8080" \
  -A "${REDDIT_USER_AGENT:-openclaudia-skills:v1.0}"

Save the refresh_token for future sessions:

# Refresh an expired token
curl -s -X POST "https://www.reddit.com/api/v1/access_token" \
  -u "${REDDIT_CLIENT_ID}:${REDDIT_CLIENT_SECRET}" \
  -d "grant_type=refresh_token&refresh_token={REFRESH_TOKEN}" \
  -A "${REDDIT_USER_AGENT:-openclaudia-skills:v1.0}"

Step 2: Post to a subreddit

# Text post (self post)
curl -s -X POST "https://oauth.reddit.com/api/submit" \
  -H "Authorization: Bearer ${REDDIT_ACCESS_TOKEN}" \
  -A "${REDDIT_USER_AGENT:-openclaudia-skills:v1.0}" \
  -d "sr={subreddit}&kind=self&title={post_title}&text={post_body}&api_type=json"

# Link post
curl -s -X POST "https://oauth.reddit.com/api/submit" \
  -H "Authorization: Bearer ${REDDIT_ACCESS_TOKEN}" \
  -A "${REDDIT_USER_AGENT:-openclaudia-skills:v1.0}" \
  -d "sr={subreddit}&kind=link&title={post_title}&url={url}&api_type=json"

Step 3: Post a comment (for engagement)

curl -s -X POST "https://oauth.reddit.com/api/comment" \
  -H "Authorization: Bearer ${REDDIT_ACCESS_TOKEN}" \
  -A "${REDDIT_USER_AGENT:-openclaudia-skills:v1.0}" \
  -d "thing_id={parent_fullname}&text={comment_body}&api_type=json"

The thing_id is the fullname of the post or comment to reply to (e.g., t3_abc123 for a post, t1_abc123 for a comment).

Reddit posting best practices:

  • Check subreddit rules before posting (/r/{subreddit}/about/rules)
  • Many subreddits have minimum karma/age requirements
  • Avoid self-promotion in subreddits that prohibit it — focus on value
  • Post during peak hours (9-11 AM EST for US subreddits)
  • Use the subreddit's preferred flair if required
  • Space out posts — no more than a few per day across all subreddits

Multi-Platform Posting via EngageMate

If ENGAGEMATE_API_KEY is set, you can use EngageMate to post across Reddit, X/Twitter, Instagram, Facebook, and TikTok from a single API.

echo "ENGAGEMATE_API_KEY is ${ENGAGEMATE_API_KEY:+set}"

EngageMate is an AI-powered social engagement platform. Refer to their documentation at https://engagemate.app for current API endpoints. The product ID is stored as ENGAGEMATE_PRODUCT_ID.

Publishing Workflow

When the user asks to post or publish content:

  1. Generate the content using the platform-specific rules above
  2. Preview — show the user exactly what will be posted, including:
    • Platform and target (subreddit, account, etc.)
    • Title (if applicable)
    • Full post body
    • Hashtags, links, media
  3. Confirm — ask the user to approve before posting
  4. Post — execute the API call
  5. Report — show the post URL and any response data

Never auto-post without explicit user confirmation.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.