Autonomous Content Agent

OpenShell Claw on Brev / Gmail Pub/Sub / Claude Opus 4.6
Pipeline
Social Monitor
Gap Detector
Writer
Email Digest
Review
Publish
Sandboxes

claw.py — Orchestrator

Persistent event loop on the host. SSH-based sandbox execution. Monitors every 2h, feedback every 5min. Data passed between sandboxes via upload/download.

Policy Engine

Out-of-process. Deny-by-default. YAML declarative. Per-binary enforcement. Hot-reloadable. Intercepts all sandbox traffic. Agent cannot override.

monitor

Scrapes Reddit + YouTube. Processes untrusted content. No API keys. Deterministic.

redditgoogleapispypianthropicframerresend

analyst-agent

Claude clusters signals, detects gaps vs sitemap. Loads rejection memory.

anthropicpypiredditframerresend

writer-agent

Generates + revises articles. Steps 4, 5, 6, 7, 10, 11.

anthropicpypiredditframerresend

reviewer-agent

Email digest + Gmail push + feedback processing.

resendgmailanthropicredditframer

publisher

Framer CMS only. No Claude access. Deterministic.

framernpmjsanthropicredditresend
Security

Prompt Injection

Monitor has no API keys. Injection from Reddit content is harmless.

Content Exfiltration

Publisher has no Claude. Cannot send article content to an LLM endpoint.

Runaway Publishing

Nothing auto-publishes. User must approve via email. Writer cannot reach Framer.

Credential Exposure

GCP Secret Manager for prod. Env vars injected at runtime, never on disk.

Repeated Bad Content

Rejection memory across sessions. Agent learns from past feedback.

Supply Chain

PyPI access via policy. Package requests escalated to email for approval.

Data Sources
Reddit RSSSocial signals
YouTube APIComments + trends
AthenaBrand context
Gmail APIFeedback channel
Infrastructure
Claude Opus 4.6All AI
OpenShellSandbox isolation
BrevCloud compute
Docker + K3sContainers
GCP Pub/SubReal-time Gmail
GCP SecretsCredentials
ResendEmail delivery
FramerCMS publishing
Execution Sequence
Monitor
Analyst
Writer
Reviewer
Email
Reply
AI
Revise
Email
Approve
Publish
In Action
Email Digest

Article digest with rich HTML, version history, quality scores

Email Reply Rejected with version history Content Live

Reply, rejection with version history, then content live confirmation

Framer CMS Live on website

Published to Framer CMS — live on website