That's not a marketing failure — it's a time and friction problem. Writing for Bluesky means staying under 300 characters. X is 280. Dev.to wants 150–400 words with a code block. Mastodon is 500. Track which angle you used last week so you're not repeating yourself. Now multiply that by four platforms, every week, for every project you maintain. Nobody does this consistently, so most tools die quietly.
I built marketing-pipeline to handle the recurring mechanics of distribution so I don't have to.
Onboarding a project is one command:
marketing onboard --name my-tool --repo owner/repo --kind mcp-server
That fetches the README, sends it to Claude, and saves extracted problem statements, facts, and rotation angles to projects.yml. The kind field routes the project to the right directories automatically — mcp-server goes to MCP Registry, Smithery, Glama, and PulseMCP; claude-skill goes to awesome-claude-code; browser-extension goes to Chrome Web Store, Firefox AMO, and Edge Add-ons.
The daily cycle (marketing cycle) runs via GitHub Actions at 14:00 UTC on weekdays. It rotates through projects × angles × channels and picks the least-recently-used angle for each project, so you're not repeating yourself and not manually tracking what went out last Tuesday.
Per-channel length limits are enforced at generation time — not as a suggestion, as a hard constraint. The anti-slop gate in pipeline/antislop.py hard-rejects posts before they ship if they contain tokens like excited, game-changer, unlock, AI-powered, emoji, hashtags, or exclamation points. The goal is posts that read like a practitioner wrote them, not a launch-day press release.
The one thing that can't be automated: awesome-claude-code submissions require a human to file a GitHub issue per their rules. The pipeline generates the payload; you submit it once.
Top comments (0)