You posted your tool once. Three people starred it. You moved on.
This is how most OSS developer tools die — not from bad code but from the author running out of time to keep showing up. Directory listings go unsubmitted. Social posts don't get written. The angle you meant to try last Tuesday is still sitting in a notes file.
I built marketing-pipeline to handle the recurring work mechanically. One command onboards a project:
marketing onboard --name my-tool --repo owner/repo --kind mcp-server
That fetches the README, sends it to Claude, and writes problem, facts, and rotation angles to projects.yml. After that, a GitHub Actions cron at 14:00 UTC on weekdays runs marketing cycle, picks the least-recently-used angle per project, generates posts, and publishes — without me touching anything.
The part I want to be specific about is quality enforcement. The draft generation step calls Claude, but Claude cannot be prompted into reliably avoiding marketing slop. So the output passes through pipeline/antislop.py before anything goes live. That module hard-rejects on a regex blacklist: excited, game-changer, unlock, empower, AI-powered, emoji, hashtags, exclamation points, and rhetorical questions. Per-channel character limits are enforced in the same gate — Bluesky at 300, X at 280, Mastodon and Threads at 500, Dev.to and Hashnode at 150–400 words. If a draft fails any check, it's rejected before publishing, not edited.
This distinction — enforce in code, not in the prompt — matters because prompts drift. A prompt that says 'don't use exclamation points' will eventually generate a draft with an exclamation point. A regex that rejects exclamation points does not.
The kind field on each project routes it to type-specific directories. mcp-server gets submitted to MCP Registry, Smithery, Glama, and PulseMCP. claude-skill targets awesome-claude-code (the pipeline generates that payload, but their rules require a human to submit via their GitHub issue form — that step can't be automated). browser-extension covers Chrome Web Store, Firefox AMO, and Edge Add-ons.
Social posting covers Bluesky, Dev.to, Hashnode, and Mastodon. Mastodon and Slack are optional; the pipeline requires an Anthropic API key plus credentials for at least Bluesky, Dev.to, and Hashnode.
Top comments (0)