Merge & Tell × Pheidi
My running app's
pull requests write
their own posts.
Pheidi was shipping every day, and the number of people who heard about it was roughly zero. Not bad positioning. Not the wrong channel. I just never said anything. So I built a tool that says it for me, and pointed it at Pheidi first.
The part I kept skipping
I'd merge a change that took two days and fixed a real problem for anyone using Pheidi. Then I'd already be on the next branch. With three agents running and branches landing all day, the gap between what I'd shipped and what anyone knew I'd shipped grew every single day. Working harder, looking quieter.
The honest reason is that I was scared of the telling part. Merging was fine. Saying "I made this" out loud was the step I'd quietly skip. (Turns out there's a whole discipline for that step. It's called "go to market," and I had to look it up.)
A merged pull request is already an announcement. It has a diff, a title, a description, and a timestamp. That's more structure than most marketing ever starts with. It just isn't written for anyone outside the repo.
What happens when Pheidi merges a PR
Merge & Tell gets the GitHub webhook and does the rest. I only show up at the end.
-
1 · Read
It reads the diff, not the title
PR titles lie by omission. The diff doesn't. It gets trimmed at twelve thousand characters, which matters exactly once: the day you merge a lockfile the size of a novel.
-
2 · Filter
Most merges aren't news
Bot PRs, dependency bumps, and changes under ten meaningful lines never become a post. Small ones that survive get batched into a weekly roundup. A feed of every merge would be worse than silence.
-
3 · Draft
One draft per channel, for a named reader
Pheidi's posts go to @pheiditraining on X, pheidi.bsky.social, and Pheidi's Mastodon, plus a changelog. Each draft is aimed at a runner, not a developer, in Pheidi's voice, not mine.
-
4 · Approve
Nothing posts until I say yes
Then it goes out from Pheidi's own accounts. No scheduler in the middle. The number I watch is the kept rate: how many drafts go out with barely an edit.
Then Pheidi broke Merge & Tell (helpfully)
Being the first real customer means you find the bugs. On Pheidi PR #627, Merge & Tell's PR page tried to answer "what happens to this PR?" in four places, and they disagreed. The rules card said X: Skip. The right rail listed X @pheiditraining as a destination. A third card offered to post to @pheiditraining with "no copy drafted yet." Three answers for one channel.
The fix wasn't a fourth card. It was one card that draws a timeline from merge to live, where every count, chip, and button label comes from one field per channel. Two numbers on a screen can't disagree if neither of them is worked out twice.
That's the deal between these two. Pheidi gets marketing it would never have gotten from me. Merge & Tell gets a real repo with real merges, real social accounts, and real ways to be wrong. Both are better for it.