The pattern is predictable: you build something useful, write the README, post it on launch day, get a modest spike, then distribution stops because posting consistently is repetitive work that compounds on your actual job. Most OSS tools don't die from lack of quality — they die from lack of presence.
I built marketing-pipeline to solve my own version of this. After launching a few tools that got one post and then silence, I wanted something that would keep rotating content across channels after the initial setup, without me deciding every day whether to write a post.
The core mechanic is a daily cron that runs at 14:00 UTC on weekdays via GitHub Actions. It cycles through registered projects, picks the least-recently-used angle for each one, drafts platform-appropriate content for Bluesky, Mastodon, Dev.to, and Hashnode (per-channel length limits enforced: 300 chars for Bluesky, 280 for X, 150–400 words for Dev.to), then publishes. After initial setup, there's no daily intervention.
Onboarding a new project is one command:
marketing onboard --name my-tool --repo owner/repo --kind mcp-server
That fetches the README, sends it to Claude to extract the problem, facts, and rotation angles, and writes everything to projects.yml. The kind field routes projects to type-specific directory listings automatically — mcp-server gets submitted to the MCP Registry, Smithery, and Glama; browser-extension goes to Chrome Web Store and Firefox AMO; claude-skill targets awesome-claude-code.
One thing I spent real time on: an antislop gate in pipeline/antislop.py that hard-rejects posts before publishing if they contain specific tokens — excited, game-changer, unlock, empower, AI-powered, emoji, hashtags, exclamation points, and rhetorical questions. Marketing copy defaults to that register when generated at volume; the gate exists to prevent it from compounding.
The one thing that can't be automated: awesome-claude-code submissions require a human to file a GitHub issue. The pipeline generates the payload, but their rules require manual submission once per project.
Top comments (0)