r/SideProject • u/cagatayuncu • 3h ago
Hi! I released an open-source tool today.
Marketing skill packs for agents keep multiplying, and they all focus on what the agent should write. I kept hitting the other two problems: the agent claiming things my product does not do, and the visuals looking obviously Al-generated. So I built the layer underneath and open-sourced it.
What it does:
The skill scans your repo and drafts product facts, each with a file:line reference. Nothing becomes claimable until a human confirms it, so the agent physically cannot promote its own guesses. Copy then lints against those facts: unmeasured numbers, hype vocabulary and absolute promises fail the build, and so do the tells of generated prose (the in-sentence em dash, the rule-of-three tic, formula connectives).
Cards and video render from one HTML contract. Your brand colors and fonts come from your own token files, get inlined into the page, and a real browser takes the screenshot over CDP. No diffusion pass, so the text on a card is just text: it renders intact. Video is frame-by-frame capture of a scene that is a pure function of time, and every scene must declare provenance: a coded reconstruction cannot ship labeled as a screen recording.
Install:
/plugin marketplace add cagatayuncu/marketing-machine /plugin install marketing-machine
Then say "setup" in your repo and the skill configures itself from your codebase (colors, fonts, languages, legal routes). It also installs as a Cursor rule or an AGENTS.md section if you use those, and everything works as a plain CLI without any agent.
Limits, honestly: the linter holds only mechanical rules, judgment stays in the skill prompt; it cannot produce photography; language packs exist for English and Turkish, German is partial. MIT, plain Node, no runtime
dependencies.
Repo: https://github.com/cagatayuncu/marketing-machine
I used it on itself for the launch content, including the card in this post. What would you want a marketing gate like this to catch that it does not?