Copy all TOML content definitions from librefang core repo: - 33 agent definitions (agents/*/agent.toml) - 14 hand definitions with docs (hands/*/HAND.toml + SKILL.md) - 25 integration templates (integrations/*.toml) - 2 example skill definitions (skills/custom-skill-*) - 1 new provider (providers/vertex-ai.toml) Part of the framework-vs-content registry split (RFC v0.7).
7.9 KiB
name, version, description, runtime
| name | version | description | runtime |
|---|---|---|---|
| reddit-hand-skill | 1.0.0 | Expert knowledge for AI Reddit management -- API reference, community engagement, content strategy, and moderation best practices | prompt_only |
Reddit Management Expert Knowledge
Reddit API Reference
Authentication (OAuth2 Script App)
Reddit API requires OAuth2 authentication for all endpoints.
Step 1: Get access token:
curl -s -X POST "https://www.reddit.com/api/v1/access_token" \
-u "$REDDIT_CLIENT_ID:$REDDIT_CLIENT_SECRET" \
-d "grant_type=password&username=$REDDIT_USERNAME&password=$REDDIT_PASSWORD" \
-A "LibreFang Reddit Hand/1.0"
Response: {"access_token": "...", "token_type": "bearer", "expires_in": 86400, "scope": "*"}
All subsequent requests must include:
Authorization: Bearer $ACCESS_TOKEN
User-Agent: LibreFang Reddit Hand/1.0
Core Endpoints
Get subreddit posts (hot):
curl -s -H "Authorization: Bearer $ACCESS_TOKEN" \
-A "LibreFang Reddit Hand/1.0" \
"https://oauth.reddit.com/r/SUBREDDIT/hot?limit=25"
Get subreddit posts (new):
curl -s -H "Authorization: Bearer $ACCESS_TOKEN" \
-A "LibreFang Reddit Hand/1.0" \
"https://oauth.reddit.com/r/SUBREDDIT/new?limit=25"
Get subreddit posts (rising):
curl -s -H "Authorization: Bearer $ACCESS_TOKEN" \
-A "LibreFang Reddit Hand/1.0" \
"https://oauth.reddit.com/r/SUBREDDIT/rising?limit=25"
Submit a new post (self/text):
curl -s -X POST -H "Authorization: Bearer $ACCESS_TOKEN" \
-A "LibreFang Reddit Hand/1.0" \
-d "sr=SUBREDDIT&kind=self&title=TITLE&text=BODY" \
"https://oauth.reddit.com/api/submit"
Submit a link post:
curl -s -X POST -H "Authorization: Bearer $ACCESS_TOKEN" \
-A "LibreFang Reddit Hand/1.0" \
-d "sr=SUBREDDIT&kind=link&title=TITLE&url=URL" \
"https://oauth.reddit.com/api/submit"
Post a comment:
curl -s -X POST -H "Authorization: Bearer $ACCESS_TOKEN" \
-A "LibreFang Reddit Hand/1.0" \
-d "thing_id=FULLNAME&text=COMMENT_TEXT" \
"https://oauth.reddit.com/api/comment"
Note: thing_id is the fullname of the parent (e.g., t3_abc123 for a post, t1_def456 for a comment).
Get comments on a post:
curl -s -H "Authorization: Bearer $ACCESS_TOKEN" \
-A "LibreFang Reddit Hand/1.0" \
"https://oauth.reddit.com/r/SUBREDDIT/comments/POST_ID?limit=50"
Get user info (self):
curl -s -H "Authorization: Bearer $ACCESS_TOKEN" \
-A "LibreFang Reddit Hand/1.0" \
"https://oauth.reddit.com/api/v1/me"
Search within a subreddit:
curl -s -H "Authorization: Bearer $ACCESS_TOKEN" \
-A "LibreFang Reddit Hand/1.0" \
"https://oauth.reddit.com/r/SUBREDDIT/search?q=QUERY&restrict_sr=on&limit=25"
Rate Limits
| Type | Limit | Window |
|---|---|---|
| OAuth authenticated | 10 requests | 1 minute |
| With user-level auth | 30 requests | 1 minute |
| Posting | ~1 post | 10 minutes (varies by karma) |
| Commenting | ~1 comment | varies by karma |
Always check response headers:
x-ratelimit-remaining: Requests remainingx-ratelimit-reset: Seconds until resetx-ratelimit-used: Requests used this window
Reddit Content Strategy
Understanding Subreddit Culture
Before posting in any subreddit:
- Read the subreddit rules (sidebar/about page)
- Observe top posts of the past month for style cues
- Note common formatting (titles, flair usage, post length)
- Understand what gets upvoted vs downvoted
- Check if the subreddit allows self-promotion or links
Common Subreddit Rule Patterns
Different subreddits enforce very different rules. Here are real examples:
r/python — Strict self-promotion rules:
- 10:1 ratio: For every self-promotional post, you must have 10 non-promotional contributions
- No link-only posts — must include discussion or explanation
- Required flair for post type (Help, Discussion, News, etc.)
r/AskReddit — Strict formatting:
- Title must be a question ending with "?"
- No text body allowed (title only)
- No yes/no questions — must invite discussion
r/science — Academic rigor:
- Links must go to peer-reviewed research or reputable news covering research
- No anecdotal claims, personal opinions, or speculation
- Comments that don't cite sources may be removed
r/programming — Anti-spam:
- No "What language should I learn?" posts
- No job postings or hiring threads
- Blog posts must have substantial technical content, not marketing
Key rule categories to parse from any subreddit:
1. Post format: title-only? text required? link required? flair required?
2. Self-promotion: allowed? ratio requirement? disclosure needed?
3. Content restrictions: banned topics? required sources? minimum quality?
4. Account requirements: minimum age? minimum karma? approved submitters only?
5. Engagement rules: must respond to comments? no drive-by posting?
Toxicity & Moderation Signals
Before posting or replying, scan for these red flags:
- Thread locked or removed — moderators already intervened, do NOT engage
- Controversial marker (†) on comments — indicates divisive topic, tread carefully
- OP deleted account — thread may be abandoned or toxic
- Heavily downvoted parent — replying to a -10 comment rarely goes well
- Personal attacks in thread — disengage entirely, do not escalate
When generating replies, NEVER:
- Take sides in heated debates — provide balanced perspectives
- Use sarcasm or irony — easily misread in text
- Correct grammar/spelling unless directly relevant to the discussion
- Reply to comments that are clearly trolling or bad-faith
Post Types That Perform Well
| Type | Best For | Example |
|---|---|---|
| Question posts | Engagement | "What's your approach to X?" |
| How-to guides | Authority | "Step-by-step guide to X" |
| Data/Analysis | Credibility | "I analyzed 1000 X, here's what I found" |
| Story/Experience | Connection | "After 5 years of X, here's what I learned" |
| Resource lists | Utility | "Curated list of the best X resources" |
| Discussion starters | Community | "Unpopular opinion: X is better than Y" |
Title Writing Best Practices
- Be specific: "How I reduced build times by 80% with Cargo caching" beats "Build optimization tip"
- Use numbers when possible: "5 things I wish I knew..."
- Ask genuine questions: "Has anyone tried X for Y?"
- Avoid clickbait -- Redditors penalize it
- Match the subreddit's tone (formal for r/science, casual for r/programming)
Comment Engagement
Good replies:
- Answer the question directly, then add context
- Share personal experience with specifics
- Provide sources for claims
- Ask thoughtful follow-up questions
- Acknowledge when someone makes a good point
Bad replies (avoid):
- Generic "Great post!" or "This!"
- Unsolicited self-promotion
- Pedantic corrections without substance
- Sarcasm that could be misread
- Argumentative tone
Reddit Etiquette (Reddiquette)
Do
- Vote based on quality, not opinion
- Read the full post before replying
- Consider the subreddit's purpose
- Use appropriate flair
- Be constructive in criticism
- Credit original sources
Don't
- Spam the same content across subreddits
- Use alt accounts to upvote yourself
- Post personal information (doxxing)
- Harass or bully other users
- Engage in vote manipulation
- Post low-effort content repeatedly
Safety & Compliance
Content Guidelines
NEVER post:
- Personal information about anyone (doxxing)
- Harassment or bullying content
- Spam or repetitive self-promotion
- Misleading claims presented as fact
- Content that violates subreddit-specific rules
- Illegal content or content encouraging illegal activity
Account Health
Monitor account standing:
- Keep post-to-comment ratio healthy (more comments than posts)
- Build karma organically through genuine engagement
- Avoid posting too frequently (triggers spam filters)
- Diversify activity across multiple subreddits