The launch spike is a trap. You post on three platforms, get 40 stars in a day, feel good — then posting stops because you're the only one who cares enough to keep doing it, and it's repetitive work that doesn't compound the way writing code does.
I built marketing-pipeline to solve the specific problem of consistency without daily effort. The architecture is a weekday cron at 14:00 UTC that rotates through a matrix of projects × angles × channels, always picking the least-recently-used angle for each project. One project onboards in one command:
marketing onboard --name my-tool --repo owner/repo --kind mcp-server
That fetches the README, sends it to Claude, and writes problem statements, facts, and content angles to projects.yml. After that, the cron handles Bluesky, Dev.to, Hashnode, and Mastodon automatically — and for MCP tools specifically, it also handles directory submissions to the MCP Registry, Smithery, and Glama.
The part I spent the most time on: an anti-slop gate in pipeline/antislop.py that hard-rejects posts before publishing. If a draft contains 'excited', 'game-changer', 'unlock', 'AI-powered', any emoji, any hashtag, or any exclamation point, it fails and tries again. Per-channel length limits are enforced at the same stage — 280 chars for X, 300 for Bluesky, 500 for Mastodon, 150–400 words for the long-form channels.
There's one thing the pipeline can't automate: awesome-claude-code submissions require a human to submit via their GitHub issue form. The pipeline generates the payload; you paste it once. Everything else runs without intervention after setup.
Requires an Anthropic API key and credentials for at least Bluesky, Dev.to, and Hashnode. Mastodon is optional.
Top comments (0)