Content OS

Agents — Index

The agents that exist in ContentOS today. One folder per agent; each folder holds a spec grounded in the shipped code, not a proposal.

This maps onto the Mktg OS sketch in ../../roadmap_ref_extracted.md, where every spoke off an OS is annotated A (= Agent). Of the agents drawn on that whiteboard, three are built.


Current agents

Every agent has two docs: a plain-English guide for the people who use it, and a technical reference for the people who maintain it.

#AgentTriggerRuns onDocs
1Discovery AgentAutomatic — background worker + cron sweepEvery news item that lands in the feedplain-English · technical
2Compliance AgentOn demand — reviewer clicks a buttonA feed item (source) or a blog draft (draft)plain-English · technical
3Creative AgentSemi-automatic — queue a topic, draft generates in backgroundBlog drafts, video scripts, hooksplain-English · technical

All three are OpenAI-only by deliberate pin, not by fallback. All three are tenant-scoped — every read and write routes through the owner filter.

Which doc do I want?

  • "What does this do for me, and what do I control?" → the plain-English guide. No file paths, no code, no JSON.
  • "Where does it live, what does it return, how does it fail?" → the technical reference.

How they chain

        ┌──────────────────────────────────────────────────────────┐
        │  sources: crawler · Tavily · GNews/NewsAPI · Apify        │
        └───────────────────────────┬──────────────────────────────┘
                                    │  raw rows, enrichmentStatus: "pending"
                                    ▼
        ╔═══════════════════════════════════════════════════════════╗
        ║  1. DISCOVERY AGENT          (automatic, per item)        ║
        ║     summary · category · geo · SEO keywords · scores      ║
        ╚═══════════════════════════════╤═══════════════════════════╝
                                        │  enrichmentStatus: "ready"
                                        ▼
                            ┌───────────────────────┐
                            │  Discovery feed (UI)  │
                            └───────────┬───────────┘
                      reviewer picks    │
                                        ▼
        ╔═══════════════════════════════════════════════════════════╗
        ║  2. COMPLIANCE AGENT   subject: "source"   (on demand)    ║
        ║     is this topic safe to write FROM?                     ║
        ╚═══════════════════════════════╤═══════════════════════════╝
                                        │  queue the item
                                        ▼
        ╔═══════════════════════════════════════════════════════════╗
        ║  3. CREATIVE AGENT           (background job)             ║
        ║     draft → quality repair → SEO bolding → humanize       ║
        ╚═══════════════════════════════╤═══════════════════════════╝
                                        │  draft state: "ready"
                                        ▼
        ╔═══════════════════════════════════════════════════════════╗
        ║  2. COMPLIANCE AGENT   subject: "draft"    (on demand)    ║
        ║     is this copy safe to PUBLISH?                         ║
        ╚═══════════════════════════════╤═══════════════════════════╝
                                        │  gate cleared by a human
                                        ▼
                            ┌───────────────────────┐
                            │   Send to CMS         │
                            └───────────────────────┘

The compliance agent appears twice with different framing — judging a source article is not the same job as judging finished copy. Same code path, different subject.


What is not an agent (yet)

Named on the roadmap, not built as an agent today:

  • Segments / micro-segmentation (A3 on the whiteboard) — marked
  • Rollout across SMS / WA / RCS / App push (A5) — no channel dispatcher
  • Analytics agent (A6) — dashboards exist, no agent reads them
  • ORM agent — Meltwater / LocoBuzz named, nothing wired
  • NBA (Next Best Action) — target-state capability only

The whiteboard marks these with for exactly this reason: they are the build list, not the inventory.


Folder convention

agents/
  index.md              ← this file
  <name>-agent/
    README.md           ← landing page: points at the two docs below
    overview.md         ← plain-English guide — no code, no file paths
    technical.md        ← engineering spec

Every technical.md follows the same eight sections so the three can be read side by side: What it does · Where it lives · Trigger · Input · Output · Model & prompt · Failure mode · Known gaps.

Every overview.md answers the same five questions in plain language: what problem it solves · when it runs · what you get · what you control · what it does not do.

Both docs close on the same gaps, described at different depth — so a non-technical reader and an engineer come away with the same picture of what is missing, not two different ones.

Source: roadmap/marketing-os/agents/index.md