Community写作与编辑github.com

Reddit 帖子引擎

根据特定子版块的文化和规则撰写 Reddit 帖子,并可选择通过 Composio 发布。使用 90/10 规则起草标题、正文和第一条评论。

Reddit 帖子引擎 是什么?

这是一个专注于 Reddit 帖子撰写与发布的 AI 技能,旨在帮助用户在遵守各子版块特定社区规则的前提下,创建高价值、低推广风险的帖子。该技能深度集成了 Gemini 2.0 Flash 模型进行内容生成,并通过 Composio 的 Reddit MCP 工具实现可选的自动发布。其核心工作流程包括:首先检测必要的 API 密钥(GEMINI_API_KEY)和 Composio Reddit MCP 连接;然后收集目标子版块和分享内容等关键上下文;接着通过直接抓取 Reddit API 获取子版块的规则、近期热门帖子的风格和社区描述,以确定合适的发帖语气;之后利用 Gemini 生成符合 90/10 规则(90% 社区贡献,10% 产品推广)的帖子正文和第一条评论;最后,该技能会进行严格的自我质量检查,包括结构检查、Claude 式词汇检测(如“革命性”、“强大”等)、即时删除短语扫描(如广告语),并执行一个创新的“三角色对抗性审查”(怀疑论者、版主、目标读者),以确保内容真实、合规且吸引人。它支持 Claude Code、Cursor、Codex 等 AI Agent 平台,是一个高度智能且注重社区合规的 Reddit 营销与分享工具。

兼容平台✓Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/Varnan-Tech/opendirectory/tree/main/skills/reddit-post-engine

Installed? Explore more 写作与编辑 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Reddit 帖子引擎 是做什么的?

撰写一篇符合子版块文化的 Reddit 帖子。可选择通过 Composio 发布。


关键规则: 未经确认子版块规则,绝不发布。绝不在正文中包含产品链接:仅在适当的情况下将其放在第一条评论中。遵循 90/10 规则:你的帖子应独立于任何产品提及,为社区增添价值。

反垃圾规则: 主要具有推广性质的帖子将被删除,并可能导致帐户被封禁。目标是优先为社区做出贡献。产品提及应放在第一条评论中,且仅当子版块允许自我推广时。


步骤 1:环境检查

echo "GEMINI_API_KEY: ${GEMINI_API_KEY:+已设置}"
# 检查 Composio Reddit MCP 是否已连接
claude mcp list 2>/dev/null | grep -i reddit || echo "Composio Reddit MCP: 未连接"

如果缺少 GEMINI_API_KEY: 停止。告知用户:“需要 GEMINI_API_KEY。请从 aistudio.google.com 获取。将其添加到您的 .env 文件中。”

如果 Composio Reddit MCP 未连接: 继续。该技能将撰写帖子但跳过发布步骤。告知用户:“Composio Reddit MCP 未连接:我将为您起草一份帖子供您手动提交。要启用直接发布,请查看 README.md 中的设置说明。”


步骤 2:收集上下文

你需要:

  • 目标子版块(例如 r/devops、r/startups、r/SideProject)
  • 你正在分享的内容(项目、文章、问题、讨论、工具)
  • 一段话描述其功能
  • 为什么它与该特定子版块的社区相关
  • 你想要一个文本帖还是链接帖

如果缺少任何这些信息,请在一次消息中询问:

“要起草您的 Reddit 帖子,我需要:

  1. 哪个子版块?(例如 r/devops、r/startups)
  2. 您要分享什么?(项目、文章、工具、问题)
  3. 它的功能是什么?(一句话描述,技术上)
  4. 为什么这个子版块会特别关心它?”

步骤 3:获取子版块规则和文化

获取子版块的规则:

curl -s \
  -H "User-Agent: varnan-skills/1.0" \
  "https://www.reddit.com/r/{SUBREDDIT}/about/rules.json" \
  | python3 -c "
import sys, json
d = json.load(sys.stdin)
rules = d.get('rules', [])
for r in rules:
    print(f'规则: {r.get(\"short_name\", \"\")}')
    print(f'详情: {r.get(\"description\", \"\")[:200]}')
    print()
"

获取近期热门帖子以了解语气和风格:

curl -s \
  -H "User-Agent: varnan-skills/1.0" \
  "https://www.reddit.com/r/{SUBREDDIT}/top.json?t=week&limit=10" \
  | python3 -c "
import sys, json
d = json.load(sys.stdin)
for p in d['data']['children'][:10]:
    pd = p['data']
    print(f'分数: {pd[\"score\"]} | 标题: {pd[\"title\"][:100]}')
"

注意热门帖子的模式:

  • 标题是问题还是陈述?
  • 它们是以技术还是结果开头?
  • 它们是个人的(“我构建了...”)还是非个人的(“用于...的工具”)?
  • 哪种格式在该子版块中获得了最多的参与度?

检查子版块侧边栏以了解发帖规则:

curl -s \
  -H "User-Agent: varnan-skills/1.0" \
  "https://www.reddit.com/r/{SUBREDDIT}/about.json" \
  | python3 -c "
import sys, json
d = json.load(sys.stdin)
data = d.get('data', {})
print('公开描述:', data.get('public_description', '')[:300])
print('订阅者:', data.get('subscribers', 0))
"

确定子版块类型:

类型示例发帖风格
技术从业者r/devops, r/sysadmin, r/ExperiencedDevs技术细节,无废话,“我做了 X 并学到了 Y”
创业者/构建者r/startups, r/SideProject, r/indiehackers个人故事,指标,经验教训
通用技术r/programming, r/technology新闻角度,讨论钩子,有争议的观点
职业发展r/cscareerquestions, r/ITCareerQuestions问题格式,具体场景,征求经验
小众工具r/vim, r/rust, r/golang深入的技术内容,代码示例,基准测试

使用获取的规则和热门帖子来确定适用的风格。


步骤 4:使用 Gemini 起草帖子

将帖子内容写入临时文件并调用 Gemini:

cat > /tmp/reddit-post-request.json << 'ENDJSON'
{
  "system_instruction": {
    "parts": [{
      "text": "你是一个活跃在 {SUBREDDIT} 社区的开发者。写一篇符合此子版块文化的 Reddit 帖子。规则:(1) 如果是项目或经验帖,使用第一人称撰写。(2) 正文中绝对不要包含任何产品链接:链接只能放在第一条评论中。(3) 帖子必须独立于任何被分享的产品,为社区提供真正的价值。(4) 与此子版块中热门帖子的语气相匹配:{SUBREDDIT_TONE_NOTES}。(5) 标题最多 300 个字符。(6) 文本帖的正文 150-400 字。(7) 不使用营销语言:不要使用‘变革性的’、‘强大的’、‘稳健的’、‘无缝的’、‘创新的’。(8) 如果帖子是关于用户构建的工具,请使用‘我做了...’或‘我构建了...’作为开头:这在 Reddit 上效果最好。(9) 输出:第一行是标题,空一行,然后是正文。不要标签,不要评论。不要使用破折号。”
    }]
  },
  "contents": [{
    "parts": [{
      "text": "POST_DETAILS_HERE"
    }]
  }],
  "generationConfig": {
    "temperature": 0.7,
    "maxOutputTokens": 1024
  }
}
ENDJSON

curl -s -X POST \
  "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=$GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d @/tmp/reddit-post-request.json \
  | python3 -c "import sys,json; d=json.load(sys.stdin); print(d['candidates'][0]['content']['parts'][0]['text'])"

将 POST_DETAILS_HERE 替换为:

  • 子版块名称和类型
  • 观察到的热门帖子模式
  • 分享的内容及其相关原因
  • 关键技术细节
  • 构建者的真实动机

步骤 5:起草第一条评论

如果用户有产品链接或需要分享的额外上下文,请起草第一条评论,以便在帖子发布后立即发布。

第一条评论有两个目的:

  1. 提供链接(保持正文无链接,感觉不那么具有推广性)
  2. 添加在帖子正文中可能显得过于推广的上下文

第一条评论规则:

  • 在帖子发布后,立即将其作为对你自己的帖子的第一条回复发布
  • 保持在 100 字以内
  • 示例格式:“想查看的人请点链接:[URL];也很乐意回答关于 [帖子中提到的具体技术内容] 的问题。”
  • 仅当子版块允许在评论中自我推广时,才包含第一条评论
  • 如果子版块有“禁止自我推广”规则,则完全省略链接

步骤 6:自我质量检查

在呈现草稿之前进行检查:

结构:

  • 标题不超过 300 个字符
  • 帖子正文中不包含链接
  • 帖子以第一人称开头(适用于项目/经验帖)
  • 包含至少一个具体的技术细节或具体数字
  • 帖子语气与观察到的子版块热门帖子(在步骤 3 中记录)相匹配
  • 未违反步骤 3 中的子版块规则

Claude 风格词汇检测:扫描这些词汇类别并删除所有实例:

类别需删除的词汇
填充性强调词难以置信地,绝对地,确定地,本质上,根本地,字面上,特别地,相当,非常,真正地,显着地,简单地,真正地,终极地,非常
AI 模糊措辞我应该指出,值得指出,重要的是要注意,如前所述,正如我所提到的
炒作描述词变革性的,革命性的,强大的,稳健的,无缝的,创新的,同类最佳的,尖端,开创性的,非凡的
开场白结论是,总之,总结一下,总体而言,首先也是最重要的,最后但同样重要的是
不必要的连接词此外,而且,另外,然而(在句子开头),因此,因此,从而
AI 痕迹词这确保了,这允许了,这有助于,这使能够,深入探讨,利用,杠杆化,促进

如果出现任何此类词汇:用一个具体的名词、动词或数字替换。“非常快”变成“运行时间 12ms”。“强大的工具”变成它实际的功能。

即时删除短语检查:这些模式会触发 Reddit 垃圾邮件过滤器或版主删除:

  • 任何读起来像广告的句子(“立即试用 [产品]”、“立即注册”、“免费开始”)
  • 暗示你不是构建者的短语(“我偶然发现了这个很棒的工具”、“我发现了这个神奇的产品”)
  • 在未建立社区存在的子版块中使用第一人称提及用户(“我们的用户”、“我们的客户”)
  • “我做了 X,你可以用它来...”紧接着一个链接(推广结构)
  • 没有定语的最高级(“最好的方法是...”、“唯一的工具是...”)
  • 帖子正文中的外部链接(仅使用第一条评论)

如果出现任何即时删除短语:完全重写该句子,而不仅仅是替换词汇。


步骤 7:对抗性审查

在呈现最终草稿之前,运行一个 3 角色审查。每个角色阅读帖子并找到一个具体问题,引述触发该问题的确切文本。

角色 1:怀疑论从业者 此人在 r/{SUBREDDIT} 已有多年,见过数百次伪装成帖子的产品发布。他们的看法:

  • 即使不是明确销售,是否有任何句子感觉具有推广性?
  • 帖子是否显示了对社区问题的真正了解,还是仅仅在谈论产品?
  • 是否有任何从业者会翻白眼的说法?

说明他们会标记的具体一行及其原因。

角色 2:版主 此人执行在步骤 3 中获取的规则。他们的看法:

  • 帖子在技术上符合子版块规则吗?
  • 自我推广与社区贡献的比例是否可以接受?
  • 他们以前是否见过这种精确的帖子结构被删除?

说明有违规风险的一条具体规则,或确认其是干净的。

角色 3:目标读者 这是一位非构建者的社区成员,与子版块的人口统计特征相匹配。他们的看法:

  • 即使他们从不使用该产品,他们也会点赞这个帖子吗?
  • 即使他们跳过第一条评论中的链接,他们能否获得一些可应用的东西?
  • 开头句子是否让他们想继续阅读?

说明他们会停止阅读的一点,或确认帖子能保持他们的注意力。

在所有三个角色报告后:应用任何修复。如果没有角色发现问题,则说明“对抗性审查:干净。”


步骤 8:通过 Composio 发布(可选)

如果 Composio Reddit MCP 已连接且用户确认要发布:

使用 reddit-composio MCP 工具 REDDIT_CREATE_REDDIT_POST 并设置:
- subreddit: {去掉 r/ 的 SUBREDDIT}
- title: {标题}
- kind: "self"
- text: {正文}

在发布前,向用户确认: “准备在 r/{SUBREDDIT} 上发布。帖子标题:'{TITLE}'。要继续吗?”

仅在获得明确确认后继续。

发布后:

  1. 记录响应中的帖子 URL
  2. 如果起草了第一条评论,立即使用相同的 MCP 使用返回的帖子 ID 发布它

如果发布失败(403、429 或其他错误): 提供草稿供手动提交。告知用户:“直接发布失败([错误代码])。这是您的帖子,供手动提交。请在 reddit.com/r/{SUBREDDIT}/submit 复制粘贴标题和正文。”


步骤 9:呈现输出

## Reddit 帖子:r/{SUBREDDIT}

### 标题
{title}

### 正文
{body}

### 第一条评论(立即发布)
{first comment, if applicable}

---

### 提交备注
- 帖子类型:{self/link}
- 最佳发布时间:{该子版块的峰值时间:对于大多数技术子版块,美国工作日上午}
- 发布后:在第一个小时内回复每一条评论:早期参与向算法表明质量
- 因果报应注意:{If account is new, note that some subreddits require minimum karma before posting}

如果帖子已通过 Composio 提交,请将输出块替换为:

帖子已提交:{reddit_post_url}

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

Varnan-Tech/opendirectory

Use when the user asks to generate a blog cover image, thumbnail, or article header. Automatically uses modern typography, brand logos, and Google Search grounding to create beautiful 16:9 images with Gemini 3.1 Flash Image Preview.

Varnan-Tech/opendirectory

World-class brand strategist and naming expert. Uses an interrogation-led discovery phase to extract your brand's DNA, then applies scientific naming frameworks (Phonosemantics) and automated multi-TLD domain checking.

Varnan-Tech/opendirectory

Use when the user asks to generate or update a project's CLAUDE or AGENTS context file from a codebase scan. Writes a focused file under 100 lines containing only the non-obvious build commands, conventions, and gotchas Claude Code needs.

Varnan-Tech/opendirectory

Use when the user wants to verify cold emails, enrich a lead list, or autonomously guess email addresses from a CSV using ValidEmail.co or the open-source Reacher engine.

Varnan-Tech/opendirectory

Competitive intelligence orchestrator tracking companies across 8+ platforms (GitHub, Twitter, Reddit, HN, PH, YC Jobs) with heat scores and AI briefings.

Varnan-Tech/opendirectory

Give it your product URL or description. It finds your top 5 competitors, runs three-track PR research across all of them (editorial, podcasts, communities), identifies which channels appear most frequently, looks up the journalist or host for each, and returns a tiered outreach list with story angles and ready-to-send cold pitch drafts tailored to your product. Use when asked to find PR opportunities, discover where competitors got featured, build a media outreach list, find which journalists cover my space, or get pitch templates for press coverage.

Varnan-Tech/opendirectory

Generate high-converting, deep-dive growth case studies in MDX format. Use this skill when asked to write a case study or blog post about a company's growth, tech stack, or product-led strategy. It handles the full pipeline (researching the company via Tavily, generating a 16:9 cover image, quality checking the draft, uploading assets to cloud storage, and pushing directly to the target repository).

Varnan-Tech/opendirectory

Scans your project for outdated npm, pip, Cargo, Go, or Ruby packages. Runs a CVE security audit. Fetches changelogs, summarizes breaking changes with Gemini, and opens one PR per risk group (patch, minor, major). Includes Diagnosis Mode for install conflicts. Use when asked to update dependencies, check for outdated packages, open dependency PRs, scan for package updates, audit for CVEs, or flag breaking changes in upgrades. Trigger when a user says "check for outdated packages", "update my dependencies", "open PRs for dependency updates", "scan for CVEs", or "which packages need upgrading".

Varnan-Tech/opendirectory

Generates and updates README.md and API reference docs by reading your codebase's functions, routes, types, schemas, and architecture. Uses graphify to build a knowledge graph first, then writes accurate docs from it. Use when asked to write docs, generate a README, document an API, update stale docs, create an API reference from code, add an architecture section, or document a project in any language. Trigger when a user says their docs are missing, outdated, or wants to document their codebase without writing it manually.

Varnan-Tech/opendirectory

Evaluates expired domain candidates against a target niche, scores them by topical relevance, historical activity level, and history cleanliness, then outputs a ranked shortlist with explainable reasoning and risk flags.

Varnan-Tech/opendirectory

Brutally honest developer-experience audit for a GitHub repo. Scores 10 DX dimensions (time-to-first-success, README clarity, visual proof, install, quick-start, docs, examples, community, trust, marketing), writes a shareable roast in the requested tone (brutal/honest/kind), produces a prioritized action plan ranked by impact × effort, and sketches an ideal README. Trigger when user says "roast my repo", "audit my README", "dx audit", "developer experience review", "score my GitHub project", "before launch checklist", or "make my repo shareable".

Varnan-Tech/opendirectory

Drafts and designs a complete HTML email newsletter from a topic or content brief. Outputs paste-ready HTML for Loops, Mailchimp, Beehiiv, Resend, or any standard email platform. Includes subject line options and plain-text fallback. Trigger when a user says "write a newsletter", "draft an email newsletter", "create an HTML email", "design an email for my subscribers", or "write a newsletter about [topic]".

Varnan-Tech/opendirectory

Takes a GitHub PR URL or the current branch and writes a plain-English explanation of what it does and why, then posts it as a PR comment. Use when asked to explain a PR, summarize a pull request, write a plain-English description of a PR, add a summary comment to a PR, or understand what a PR changes. Trigger when a user says "explain this PR", "summarize this pull request", "what does this PR do", "add a comment explaining the PR", or shares a GitHub PR URL and asks what it does.

Varnan-Tech/opendirectory

Audit how often LLMs recommend your brand vs competitors and generate a GEO action plan.

Varnan-Tech/opendirectory

Takes a competitor's public GitHub repo URL, fetches their open issues via the GitHub REST API, filters noise locally, clusters issues into 6 demand categories, computes a demand score per issue and per cluster, and outputs a ranked demand gap report with a GTM messaging brief. Use when asked to scan a competitor's GitHub issues, find what their users are begging for, turn GitHub complaints into product positioning, identify competitor feature gaps, or generate messaging from real user demand. Trigger when a user says "scan competitor issues", "what are users asking for on X repo", "find demand gaps in Y", "turn GitHub issues into messaging", or "what should I build based on competitor complaints".

Varnan-Tech/opendirectory

Find recurring confusion in your repo's GitHub Discussions, rank it by urgency, and draft the actual docs fixes and content angles — with verbatim community quotes and source links as evidence.

Varnan-Tech/opendirectory

SEO keyword research workflow for blog generation using Google Trends data. Use when writing blog posts, planning content calendars, or optimizing articles for search engines. Finds breakout keywords, builds content structure, and generates SEO-optimized blog outlines targeting tech and developer audiences.

Varnan-Tech/opendirectory

Generates a professionally designed case study PDF for B2B SaaS sales and marketing. Supports 7 page layouts, 9 style presets, 1-4 page output. Trigger when user says "create a case study", "write a customer story", "make a case study PDF", "design a success story", "turn this customer win into a PDF".

Varnan-Tech/opendirectory

Generates data visualization charts (bar, line, area, pie, doughnut, scatter, radar, treemap) as PNG using Apache ECharts v6. 1080×1080px default, 5 style presets, highlight annotations. Trigger when user says "create a chart", "visualize data", "make a bar chart", "line graph", "pie chart", "data visualization", "chart this data", "plot", "graph", or "visualize these numbers".

Varnan-Tech/opendirectory

Fetches low-star App Store and Google Play reviews, clusters them into broken-promise patterns, and generates a ranked copy brief with positioning opportunities.

相关技能