marcosmodly/marketing-skill/community-post-generator

Claude Code and agent skill by marcosmodly/marketing-skill

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Writes a post for one specific community (a subreddit, Show HN, Product Hunt, Indie Hackers, dev.to, Discord, Slack, Telegram) after checking its rules, with a Go/No-Go first. Use whenever someone wants to post, launch, or share in one, even when they pasted the rules or the post looks obvious. LinkedIn, X, or Facebook: that's content-repurposer.

Install

npx vskill@latest install marcosmodly/marketing-skill/community-post-generator

SKILL.md

Community Post Generator

Purpose

Reddit, Product Hunt, Hacker News, Indie Hackers, Discord, and Slack aren't broadcast platforms like LinkedIn or Twitter/X — they're communities that set and enforce their own rules per-subreddit, per-forum, per-group, per-server, or per-workspace, through moderators, AutoMod, or (on HN) the community's own flagging behavior, and a post that ignores those rules gets removed, buried, or gets the account banned, no matter how good the copy is. This skill's job is to research the specific target community first, decide honestly whether the intended post is even welcome there, and only then draft something that actually fits its rules and voice, instead of writing a generic pitch and hoping. "Research" means the source actually has to be about the named target, not just something with a similar name — a subreddit about a community isn't the same as that community's own site, and confusing the two is a real, confirmed way this has gone wrong (see step 3).

dev.to fits the "always researchable" group Reddit, Product Hunt, Hacker News, and Indie Hackers belong to — its rules live on the open web, not behind membership the way Discord/Slack/a private Telegram target do — but its internal shape is its own, not a copy of any of the four. Rules apply at two levels at once, not one: a sitewide Code of Conduct, plus per-tag submission guidelines that volunteer Tag Moderators set and enforce by adding or stripping a tag from a post that doesn't fit it — softer than a subreddit's outright removal, but a real enforcement mechanism this skill has to research, not assume away. A post can also carry up to 4 tags at once, unlike one-subreddit-per-post or one-group-per-post elsewhere, so step 2 asks for tags, plural. The #showdev tag is dev.to's version of Show HN/Show IH — for a real, triable project, not a tutorial — but its shape is neither of theirs: a single title-plus-body article, not Show HN's three-piece split, and with no required founder-story/stage/questions structure the way Show IH has one. dev.to also has a sanctioned company-page feature (Organizations), so step 2 asks which identity a post goes out under, personal or Organization, rather than assuming.

Discord and Slack both break the "research it live" assumption itself, not just the target-matching part of it: most servers and workspaces have no public page at all — you generally can't see one's rules, or anything else, without already being a member — so there's usually nothing for WebFetch or WebSearch to find regardless of network access. For both, this skill asks the user (who, if they want to post there, is presumably already a member) to supply the rules instead of pretending it looked them up itself, under the User-Supplied Source Confidence tier (see step 3). They aren't interchangeable beyond that, though: Slack has no research exception at all — not even Discord's narrow one for large, Discovery-listed servers — sending isn't uniformly easy the way a Discord webhook is (many workspaces gate app creation behind admin approval), and Slack's own formatting syntax (mrkdwn) actively conflicts with standard Markdown rather than just lacking rich formatting, so drafts for Slack are written in mrkdwn specifically, not treated as a Discord clone.

Telegram doesn't fit either the "always researchable" group (Reddit/Product Hunt/Hacker News/Indie Hackers) or the "never researchable" one (Discord/ Slack) — it's genuinely bimodal, and which side a given target falls on has to be determined before research starts, not assumed. A public channel or group (one with an @username, not just an invite link) can actually be previewed live at t.me/s/<username> without joining or authenticating, so the full Primary/Secondary/Mixed research this skill does for Reddit or Product Hunt is genuinely on the table. A private one (invite-link only) has no public surface at all, same as Discord and Slack, so it falls back to asking the user under User-Supplied. Step 2 determines that, plus one more thing Discord and Slack don't need determined at all: whether the target is a channel (broadcast, only admins post) or a group (many-way chat, members can post) — a direct self-post this skill drafts only makes sense for the latter; for a channel, the realistic ask is usually pitching the content to whoever runs it, a different deliverable than a chat message. Drafts default to Telegram's HTML formatting tags rather than its stricter MarkdownV2 mode (see step 5).

The copy itself also has to survive first contact: something that reads as obviously AI-polished marketing text gets the same skeptical reaction on these platforms as overt promotion does (see step 5), so drafts are written to read like an actual person wrote them.

Step-by-step process

Plugin root: if a path below still shows an unexpanded CLAUDE_PLUGIN_ROOT placeholder (Claude Code fills it in; other agents such as Codex don't), resolve it before using any of them: take the output of printenv CLAUDE_PLUGIN_ROOT if it prints a path, otherwise walk up from this file's folder to the first folder that contains references/brand-voice.md, and if neither works, ask the user where this plugin lives. Use that absolute path in every file path and shell command below.

  1. Check onboarding status. Read

${CLAUDE_PLUGIN_ROOT}/references/brand-voice.md. If it doesn't exist, or its first line is <!-- MARKETING-SKILL:UNCONFIGURED -->, pause and ask the user this plugin's 4 setup questions (priority task; content types to produce; target audience + tone; default output format — same as /marketing-skill:marketing-setup) before continuing, then save the answers into that file and flip the marker to CONFIGURED with today's date. Otherwise, read it for the banned-words list (still applies) — but see step 5 on tone, which usually does not carry over as-is here. If the file is unconfigured but the user already said to skip setup or use the defaults, don't ask: use its placeholder defaults for this run, say so in one line, and leave the marker as it is.

This is the start of the file. Read the full SKILL.md on GitHub.

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/marcosmodly/marketing-skill/community-post-generator/badge)](https://verified-skill.com/skills/marcosmodly/marketing-skill/community-post-generator)

Something wrong with this skill or its page? Tell us.