The Open-Source AI Marketing OS I Am Building in Public
My AI marketing stack is not one giant agent.
It is a set of small systems with clear jobs. Context retrieves evidence. SEO and ads skills perform bounded analysis. Content skills turn research into structured assets. Media tools adapt owned material. Postiz receives approved platform-native drafts. A human stops execution when the claim, destination, or output is not ready.
The shared layer is evidence.
This is the install order and operating model I use to keep the stack inspectable.
Start with the bottleneck, not the tool count
An operating system does not become useful because it contains more repositories.
It becomes useful when one component removes a measurable bottleneck without hiding the source, the failure boundary, or the human decision.
Pick one job first:
- retrieve the right company context
- audit one owned page
- structure one ad review
- turn one research packet into a brief
- cut one owned video into a Short
- create one approved social draft
Run that job end to end. Measure the review load. Add the next component only when the workflow needs it.
Layer 1: source-cited context
Claude Obsidian is the context layer.
Its job is not to store the largest possible pile of notes. Its job is to retrieve the relevant source when work begins, show the date and status of that source, and produce a bounded next action.
A working context loop looks like this:
question
-> retrieve candidate pages
-> inspect source and date
-> answer with a bounded action
-> store a reviewed correction
-> retrieve that correction in a later task
The last step matters. Persistent files are not the same as learning. A correction becomes operational memory only when a later task can retrieve it in the right scope.
Layer 2: reusable marketing skills
The skill layer splits marketing work into inspectable jobs.
- Claude SEO routes SEO audits, content checks, technical tasks, and structured research.
- Codex SEO adapts the same builder-led SEO approach for a Codex workflow.
- Claude Ads separates paid-media review by platform, attribution, budget, creative, tracking, and validation.
- Claude Blog separates research, briefs, drafting, fact checks, images, localization, and post-write quality control.
The repository name is not the proof. The useful proof is a bounded run with:
- one defined input
- a visible method
- a reviewable output
- a known failure boundary
- a decision about what happens next
Stars can show attention. They cannot replace that test.
Layer 3: owned media production
The media layer should begin from an owned source asset.
Claude Shorts turns long-form footage into short-form production steps. Banana Claude covers image-generation workflows.
The source link stays attached to the derivative. That keeps the Short, visual, caption, and destination aligned with the same underlying claim.
For video, the output contract is explicit:
- 1080 by 1920
- H.264 video
- AAC audio
- burned-in captions
- no private paths or credentials on screen
- one CTA
For deterministic diagrams and carousels, the text and measurements remain editable. Generated illustrations stay textless so claims are not baked into an image that cannot be corrected.
Layer 4: connected publishing tools
Postiz is the publishing layer in this setup.
It is self-hosted on Railway with Redis, Postgres, and Temporal behind the application. The current instance exposes a Public API and MCP endpoint. Seven social integrations are connected.
That is connection proof, not publication proof.
The publishing path stays staged:
local validation
-> media upload
-> representative provider draft
-> rendered preview
-> owner approval
-> Week 1 schedule
-> controlled public test
-> Week 2 schedule
Pinterest is currently blocked because the connected integration returns no board. Its assets remain complete but unscheduled until Postiz returns a real board ID.
The approval layer wraps execution
Approval is not a fifth tool beside the stack. It is the boundary around every action that changes public state.
The reviewer checks:
- whether the source supports the claim
- whether mutable facts were refreshed
- whether the copy is native to the platform
- whether the media shows the same system described in the post
- whether the destination exists and matches the CTA
- whether the selected account and time are correct
- whether a rollback path exists
The automation can prepare the decision. It does not inherit authority to publish every future derivative.
A practical install order
1. Install the context layer
Start with a small, source-cited vault. Put one recurring marketing decision inside it. Test whether the system can retrieve the right note, date, and next action.
2. Add one skill for one job
Choose the bottleneck you can measure. An owned-page SEO audit is a better first test than “automate SEO.” One ad-account review is a better first test than “run paid media.”
3. Define the output contract
Write down what the component must return. Include the source, status, priority, limitation, and human checkpoint.
4. Connect publishing last
Publishing multiplies mistakes. Connect it after the local output is stable, the media contract is validated, and the approval state is explicit.
5. Measure the quality cost
Track editing time, corrections, failures, and review burden beside reach or clicks. A system that creates more cleanup than useful work has not earned another layer.
What is public and what is still being connected
The seven AgriciDaniel repositories named above were public and reachable through the GitHub API on July 16, 2026. Their versions, install paths, licenses, and maintenance status must still be refreshed before a dated recommendation.
The Postiz deployment is connected and healthy. The first provider previews and controlled public tests are still required. The two-week social batch is built around that boundary.
I do not call the full stack autonomous. I call it inspectable.
That is the operating advantage: every component owns one job, every claim keeps its source, and every public action stops for approval.
Sources
- Claude Obsidian
- Claude SEO
- Codex SEO
- Claude Ads
- Claude Blog
- Claude Shorts
- Banana Claude
- Postiz
- Postiz Public API
Join the free AI Marketing Hub and start with the one marketing bottleneck you can measure.
Top comments (0)