Your marketing brain belongs in a git repo, so myna and OutreachGraph now read one
Ina Toncheva wrote a piece this week called "Your marketing team will be on GitHub" (https://inatoncheva.substack.com/p/your-marketing-team-will-be-on-github). The idea is simple and I think she is right. Your AI setup is not a pile of documents. It is a set of files that depend on each other. Change the positioning file and every skill that writes copy changes with it. Google Drive cannot tell you which edit made last week's posts sound off. Git can, and it can undo it in one step.
The team she profiles keeps a "content brain" in a private repo: what the company does, positioning, audience, brand voice, and the questions prospects keep asking on sales calls. Skills sit on top. Someone improves a skill, pushes it, and the whole team has it. They report about 20 hours a week saved.
I had the same knowledge scattered across two of my own tools, so I gave both of them the same repo layout:
brain/
knowledge/
positioning.md what it is, who it is for, why it is different
voice.md how it sounds, what it never claims
audience.md who we sell to
objections.md what prospects push back on
skills/ myna skill files
myna 0.47.0: myna brain
myna brain init ~/brain # scaffold from your brand.md and skills, git init
myna brain link git@github.com:you/brain.git
myna brain pull # the daemon also pulls hourly
myna brain push -m "tighter positioning"
myna brain show --show-prompt # see exactly what the writer reads
Every draft, reply and plan myna writes now reads the knowledge files after your brand file: positioning and voice first, then audience and objections, capped at 24 KB. The repo's skills fill in any skill you have not written locally. A file you edited by hand still wins. With no brain linked nothing changes.
OutreachGraph 0.19.1: og brain
og brain list
og brain export <productId> --dir ~/brain
og brain import <productId> --dir ~/brain
Export writes a product's positioning, voice and audience out of the database, plus an objections.md built from the replies prospects actually sent. Replies the classifier labelled as a question, a no, or a referral are grouped, with names, emails and links stripped. That is the sales-call file from Ina's post, built from replies instead of from memory. Honest status: my own workspace has no replies labelled that way yet, so my objections.md is empty today. It fills as replies come in. Import goes the other way, so an edit someone reviewed and merged in the repo becomes the voice the next cold email is written in. The same calls are on the API (GET and PUT /api/v1/products/:id/brain) and MCP. npm i -g @profullstack/outreachgraph gets you the og CLI.
The loop
OutreachGraph learns what prospects object to. og brain export writes it down. You commit it, and a teammate reviews the diff. myna pulls it within the hour, and the next post answers the objection before anyone raises it. If a change makes the copy worse, git revert.
Her getting-started advice is the right one: make a private repo and write one file, positioning. myna brain init does that part for you.
Top comments (0)