ContentOS Agent Lite is an open-source AI content agent for founders that writes from a verifiable process, not a prompt. It walks your coding agent through 8 gates: context β sources β brief β draft β checks β uplift β publish. Every draft gets a transparent 0β100 score across 8 axes, locally, in your terminal. It's a free, self-hosted alternative to one-shot AI writers. It runs in Claude Code / Cursor / Codex with zero API keys, and gets sharper with a free research key. It scores English, Russian, and Arabic content.
Honest scope: this is a skeleton of the content process, not a full platform. It won't guarantee search rankings, do multi-source fact-checking, or run a learning loop. What it gives you: text that is grounded, checked, and in your voice β and a folder you keep and reuse.
- Process, not prompt. Eight gates (
00β08). Each emits a score (0β100), a status (READY Β· REVISE Β· STOP), blockers (P0 Β· P1), and the next step. - No draft before the work is done. The agent may not write until business context, research, the source pack, and the brief all pass. A fact without a source is a hard stop.
- Deterministic where it counts. A tiny optional Python layer scores the draft and flags AI-slop the same way every time β quality isn't the model's mood.
- Runs with zero keys. Inside Claude Code / Cursor / Codex the agent is the model.
git clone https://github.com/humanswith-ai/contentos-agent-lite
cd contentos-agent-lite
# (optional) the deterministic helpers β needs only Python:
python3 -m venv .venv && .venv/bin/pip install -r requirements.txt
# (optional) free research keys β each optional; Serper needs no card:
cp .env.example .env # fill any of TAVILY_API_KEY / FIRECRAWL_API_KEY / SERPER_API_KEYThen in Claude Code / Cursor / Codex, open the content-agent/ folder and say:
"Act as my content agent. Follow gates
00β08. My topic is: <your topic>."
Drop the agent into any of your own projects with python -m scripts.cli init --into <dir>. It
scaffolds content-agent/ and teaches your project's coding agent β a managed block in
CLAUDE.md / AGENTS.md (re-runnable, your own content preserved) β so you can just say
"write a post about β¦" and it follows the gates.
| File | Step | Hard stop (P0) |
|---|---|---|
00_FOUNDER_CONTENT_AGENT.md |
operating contract | writes a draft before 01β04 pass |
01_BUSINESS_CONTEXT.md |
ICP / offer / proof / voice / claim policy | no ICP, offer, or claim policy |
02_RESEARCH_GATE.md |
gather + score real sources | everything rests on weak sources |
03_SOURCE_PACK_GATE.md |
the citable backbone | a fact with no source |
04_BRIEF_READINESS_GATE.md |
the brief | missing audience / goal / angle / CTA |
05_DRAFT_QUALITY_GATE.md |
write from sources, score it | claim not in source pack; score < 55 |
06_EDITORIAL_UPLIFT_GATE.md |
improve β no new facts | uplift invented a fact |
07_PUBLISH_READINESS_GATE.md |
go / no-go | score < 72 or any P0 |
08_DISTRIBUTION_GATE.md |
publish canonical-first, distribute with backlinks | a published copy with no canonical, or a silo copy with no backlink |
Optional deterministic helpers:
python -m scripts.cli research --topic "payment stacks for founders" # β source-pack draft
python -m scripts.cli score --file content-agent/_work/draft.md # β 0-100 + blockers
python -m scripts.cli check --file content-agent/_work/draft.md # β anti-slop + score
python -m scripts.cli publish --file dist/post/index.html --canonical https://you.com/post/ # β pre-publish lint
python -m scripts.cli publish --file dist/post/index.html --canonical https://you.com/post/ \
--distribute --title "Headline" --summary "One line." # β canonical-first draftsResearch uses whichever free key you set: Tavily (search), Firecrawl (read a URL), Serper (SERP / People-Also-Ask, free, no card). With no key, the agent does the research itself.
| ContentOS Agent Lite | One-shot AI writers (paste a prompt) | |
|---|---|---|
| How text is produced | an 8-gate process: sources β brief β draft β checks β publish | one prompt β one draft |
| Grounding | a fact without a source is a hard stop | will confidently make things up |
| Quality signal | transparent 0β100 score, 8 axes, you can read the code | a black box |
| Where it runs | your IDE (Claude Code / Cursor / Codex), local | a web app |
| Cost | free, open-source (MIT), bring-your-own keys | subscription |
This is an honest skeleton β it does the process, not a feature-complete writing suite. For the managed pipeline (per-engine AEO, deep fact-check, best-of-N, team scale, hosting), see below.
| ContentOS Agent Lite (this repo, free) | Humanswith.ai ContentOS (hosted) | |
|---|---|---|
| The gate process | β | β |
| Research | your key, one pass | managed, multi-tier |
| Quality score | transparent single heuristic | per-engine AEO (ChatGPT / Perplexity / Gemini / AI Overview) |
| Fact-check | source-presence discipline | KG + NLI + deep-verify |
| Best-of-N variants | β | LLM-judge tournament |
| Publish & distribute | canonical lint + canonical-first drafts | guarded rebuild + post-publish re-scan + Workspace Files sync |
| Languages | EN / RU / AR content scoring | EN / RU / AR native pipelines |
| Team scale, hosting, learning loop | self-run | managed |
Outgrow the skeleton? β See ContentOS for your category.
Yes β MIT-licensed and open-source. You bring your own (free-tier) keys if you want the deterministic research/scoring helpers; otherwise it runs with no keys at all.
No. Inside Claude Code / Cursor / Codex the agent is the model. A free Tavily / Firecrawl / Serper key
only makes the research and score steps deterministic and repeatable.
Lite is the open-source skeleton of the process. The hosted ContentOS adds per-engine AEO scoring, KG + NLI + deep fact-check, a best-of-N judge tournament, native EN/RU/AR pipelines, team scale, and managed hosting.
No. It improves how grounded, structured, and citable your text is β it does not promise positions. Anyone claiming a tool guarantees rankings is selling you something.
Yes. The scorer and anti-slop scanner accept --lang ru (Russian) and --lang ar (Arabic) β the
repo docs themselves are English. Arabic detection covers MSA clichΓ©s, Β«ΨΨ΄ΩΒ» filler, and dialect
markers, and reads the Arabic question mark (Ψ). Deep native EN/RU/AR pipelines are the hosted ContentOS.
Answer-Engine / Generative-Engine Optimization: writing so AI search (ChatGPT, Perplexity, Gemini, Google AI Overviews) can cite you β clear answers, named entities, sourced numbers, structure.
Three open-source agents (MIT, zero-key) that mirror the loop of the hosted Humanswith.ai Workspace:
- Measure β ai-visibility-probe-lite: where do AI engines ignore you?
- Produce + Publish β contentos-agent-lite (this repo): write from a process, not a prompt β incl. gate 08, publish & distribute.
- Optimize β aeo-site-audit-lite: is your page Fetchable, Chosen, and Extractable?
- Design β brand-card-lite: your brand tokens β on-brand social/OG cards.
Issues and PRs welcome. MIT β LICENSE. Security: SECURITY.md Β· verify before install: TRUST.md.
Gregory Shevchenko, founder of Humanswith.ai. Born from the R-Founders "content agent for founders" workshop Β· MIT Β· Β© 2026 Humanswith.ai