DEV Community

J Now
J Now

Posted on

Cross-posting to four platforms means remembering four character limits

My usual distribution workflow: write a Bluesky post (300 chars), trim it for X (280), expand it for Mastodon (500), write something longer for Dev.to, check what angle I used last time, forget, repeat a week later. That's before touching directory submissions.

I built marketing-pipeline to collapse that into a single configured-once system. The core mechanic: every project lives in projects.yml with a list of angles — specific framings of the problem the tool solves. The daily cron (marketing cycle, running at 14:00 UTC via GitHub Actions) picks the least-recently-used angle per project, generates posts for each channel, enforces the length constraints automatically (280/300/500 chars for micro-platforms, 150–400 words for Dev.to and Hashnode), and publishes.

Onboarding a new project is one command:

marketing onboard --name my-tool --repo owner/repo --kind mcp-server
Enter fullscreen mode Exit fullscreen mode

That fetches the README, sends it to Claude, and writes the problem statement, facts, and angles to projects.yml. From there the daily rotation handles the rest.

One piece I spent real time on: the antislop gate in pipeline/antislop.py. Before any post publishes, it hard-rejects a specific token list — 'excited', 'game-changer', 'unlock', 'AI-powered', emoji, hashtags, exclamation points, rhetorical questions. The gate runs before posting, not after. A draft that hits any of those tokens gets thrown out and regenerated. Growth-marketing language is the failure mode for developer tool posts, and I wanted that enforced mechanically, not by memory.

The kind field routes projects to the right directories automatically. mcp-server hits MCP Registry, Smithery, Glama, and PulseMCP. claude-skill targets awesome-claude-code (though that one requires a human to submit via their GitHub issue form — the pipeline generates the payload, you click submit). browser-extension covers Chrome Web Store, Firefox AMO, and Edge Add-ons.

Requirements: Anthropic API key plus credentials for Bluesky, Dev.to, and Hashnode at minimum. Mastodon and Slack are optional add-ons.

https://github.com/robertnowell/marketing-pipeline

Top comments (0)