Okara vs Crystal-Agents: Strategic Enhancement Analysis

Okara vs Crystal-Agents: Strategic Enhancement Analysis

Executive Summary

Okara built a vertical AI CMO product — a domain-specific multi-agent system dedicated entirely to marketing automation for SaaS founders. Crystal-Agents is a horizontal agent stack — a general-purpose workflow engine that can handle coding, marketing, ops, and sales.

The architectural patterns are nearly identical. The difference is in packaging, depth, and autonomy. Okara proves that Crystal-Agents’ existing architecture is the right foundation — but also reveals six concrete areas where we can deepen our capabilities significantly.


What Okara Does (Broken Down)

Okara Component What It Does Automation Level
CMO Agent (root) Reads your website, maps competitors, learns brand voice, drafts strategy Runs on signup — fully autonomous initial audit
SEO Agent Technical site audit, keyword classification (TOF/MOF/BOF), fix tracking Audit is autonomous; fixes are surfaced to user
GEO Agent Tracks citations in ChatGPT, Claude, Perplexity, Grok Fully autonomous monitoring
Coding Agent Reads codebase via GitHub, writes PRs to fix SEO/GEO issues User clicks “Fix it” → agent creates PR → user merges
Article/Writer Agent Drafts SEO+GEO-optimized articles in brand voice Drafts autonomously, publishes on CMS connect
UGC Agent Generates video scripts from product context Autonomous drafting
Reddit Agent Monitors subreddits, scores threads, drafts replies Surfaces 2 best opportunities/day with draft replies
LinkedIn Agent Drafts posts in founder’s voice about real product journey Drafts queued in feed; user reviews + posts
X Agent Reads trending niche content, drafts posts grounded in product Same as LinkedIn — daily draft queue
llms.txt Generator Free tool — generates llms.txt file for any website One-shot utility

Architecture Comparison: What We Already Have

graph LR
    subgraph "Okara Architecture"
        O_CMO["CMO Agent
(Orchestrator)"] O_SEO["SEO Agent"] O_GEO["GEO Agent"] O_CODE["Coding Agent"] O_WRITER["Writer Agent"] O_UGC["UGC Agent"] O_REDDIT["Reddit Agent"] O_LI["LinkedIn Agent"] O_X["X Agent"] O_CMO --> O_SEO & O_GEO & O_CODE & O_WRITER & O_UGC & O_REDDIT & O_LI & O_X end subgraph "Crystal-Agents Architecture" C_CEO["CEO Router
(Orchestrator)"] C_DEV["Developer"] C_DEVOPS["DevOps"] C_CONTENT["Content"] C_RESEARCH["Research"] C_SEO["SEO"] C_ADS["Ads Manager"] C_SALES["Sales"] C_TESTER["Tester"] C_REVIEWER["Reviewer"] C_ANALYTICS["Analytics"] C_CEO --> C_DEV & C_DEVOPS & C_CONTENT & C_RESEARCH & C_SEO & C_ADS & C_SALES & C_TESTER & C_REVIEWER & C_ANALYTICS end

Direct Capability Mapping

Okara Agent Crystal-Agents Equivalent Current Status
CMO Agent (orchestrator) ceo_router.py ✅ Built — routes NL to workflows
Coding Agent developer.py + git_ops.py ✅ Built — branch, commit, push, PR
Writer Agent content.py ⚠️ Exists but generic — no SEO/GEO optimization
SEO Agent seo.py ⚠️ Stub — no audit, no keyword classification
GEO Agent (not present) ❌ Missing entirely
UGC Agent (not present) ❌ Missing
Reddit Agent (not present) ❌ Missing
LinkedIn Agent (not present) ❌ Missing
X Agent (not present) ❌ Missing
CMS Integration (not present) ❌ No CMS publish tool
GA/GSC Integration (not present) ❌ No analytics data ingestion
Action Feed (dashboard) app.py ⚠️ Shows runs/approvals, but no “action feed” pattern

What Okara Does That We Don’t — And Should

1. Autonomous Onboarding Audit

Important

The biggest UX lesson from Okara: The system does useful work before the user lifts a finger.

When a user signs up for Okara, the CMO agent immediately:

  • Reads the website end-to-end
  • Maps the competitive landscape
  • Learns the brand voice
  • Drafts a marketing strategy
  • Runs a technical site audit

Crystal-Agents equivalent: We have memory/ with static .md files (company, product, pricing, soul, marketing). But these are manually written. There’s no autonomous “learn the business” workflow.

Recommendation: Build a business_onboarding workflow that:

  1. Takes a website URL as input
  2. Uses web_search to crawl and extract product info, pricing, competitors
  3. Auto-populates memory/company.md, memory/product.md, memory/pricing.md
  4. Generates a draft memory/marketing.md strategy
  5. Outputs a “Business Profile” report to generated/

This turns Crystal-Agents from “you configure me” to “I configure myself.”


2. Action Feed Pattern (Not Just Run History)

Okara’s dashboard isn’t just a log viewer. It’s an Action Feed — a prioritized list of things the user should do, each with a one-click action button.

Example: “Your site is missing meta descriptions on 12 pages. [Fix it]”

Our dashboard (app.py) shows runs, approvals, and scheduler history. That’s operational telemetry, not a decision-making surface.

Recommendation: Add an Action Feed concept:

  • A new ActionItem dataclass: {type, title, description, severity, suggested_workflow, suggested_prompt, status}
  • Agents write action items as they discover opportunities (SEO issues, content gaps, social opportunities)
  • Dashboard renders them as a prioritized feed with “Run” buttons
  • Each “Run” pre-fills the workflow form with the right workflow + prompt

This is the key difference between a tool the user has to drive vs. a tool that drives the user.


3. Platform-Specific Social Agents

Okara has dedicated agents for Reddit, LinkedIn, and X, each with distinct behaviors:

Platform Agent Behavior
Reddit Monitor subreddits → score threads → draft contextual replies
LinkedIn Read founder activity → draft thought-leadership posts in their voice
X Read niche trends → draft posts grounded in product + POV

Crystal-Agents has a generic content.py agent. The marketing.md memory file mentions LinkedIn/Social/Blog but the agent doesn’t differentiate.

Recommendation: Don’t build 3 separate agent classes. Instead:

  • Keep the single content agent but add platform-specific prompt templates in memory/ or workflows/templates.py
  • Build a social_content workflow with steps: research → draft → review
  • Add a platform parameter to the workflow: linkedin | x | reddit | blog
  • Each platform template encodes the best practices (LinkedIn = hook in first 2 lines; Reddit = authentic reply tone; X = concise + punch)

This keeps our architecture lean while delivering Okara’s per-platform specialization.


4. SEO / GEO Agent Intelligence

This is Okara’s deepest capability and our biggest gap.

What Okara’s SEO Agent does:

  • Full technical site audit (meta tags, structure, performance)
  • Keyword classification by funnel stage (Top/Middle/Bottom of Funnel)
  • Issue tracking: which fixes moved the needle
  • Integration with Google Analytics and Google Search Console

What Okara’s GEO Agent does (entirely novel):

  • Tracks whether your product is cited by ChatGPT, Claude, Perplexity, Grok
  • Monitors 10+ prompts to see if AI models recommend you
  • This is a new marketing channel — “Generative Engine Optimization”

Crystal-Agents today: seo.py is a stub inheriting from BaseAgent. Our web_search tool exists but isn’t wired for site auditing.

Recommendation — phased approach:

Phase A (achievable now): Build a site_audit workflow:

  1. Use web_search to crawl the target site’s key pages
  2. LLM analyzes: missing meta descriptions, heading structure, missing alt text, page speed indicators, missing llms.txt
  3. Outputs a report to generated/seo_audit.md
  4. Creates ActionItem entries for each issue found

Phase B (needs API keys): Add real GA/GSC integration:

  • New tool: tools/analytics.py wrapping the Google Analytics Data API
  • Ingest traffic data, keyword rankings, click-through rates
  • Feed this into the SEO agent’s context for data-driven recommendations

Phase C (advanced): Build the GEO Agent concept:

  • New tool: tools/geo_monitor.py
  • Query multiple LLM APIs with buying-intent prompts (“best ERP for manufacturing”)
  • Parse whether your product appears in responses
  • Track changes over time in memory/history/geo_citations/

5. Content → Publish Pipeline

Okara doesn’t just draft content — it publishes. Connect your CMS and articles auto-publish.

Crystal-Agents drafts content to generated/. That’s where it stops. The human has to manually copy-paste to their CMS.

Recommendation: Build a publish tool abstraction:

  • tools/publisher.py with adapters for common targets:
    • wordpress (REST API)
    • ghost (Admin API)
    • file (write to a deployment directory)
    • markdown_repo (commit to a docs repo via git_ops)
  • The content_drafting workflow gets a new final step: “publish” (with requires_approval: true)
  • This closes the loop: draft → review → approve → live

6. Coding Agent as a Marketing Tool

This is Okara’s cleverest insight: the coding agent doesn’t serve engineering — it serves marketing.

Their coding agent exists specifically to fix SEO/GEO issues discovered by the audit agents. It reads the codebase, writes the fix, opens a PR. The loop is: audit finds problem → coding agent fixes it → user merges.

Crystal-Agents already has this capability in Phase 2 (git_workflow.py). What we’re missing is the trigger loop:

Recommendation: Wire the site_audit workflow’s output (ActionItems) to the git_workflow as an automatic follow-up:

  • When an SEO issue is discovered that maps to a code fix (missing meta tag, broken heading hierarchy, missing robots.txt)
  • The Action Feed shows a “Fix it” button
  • Clicking it triggers git_workflow with a pre-filled prompt derived from the audit finding
  • This creates the same audit → fix → PR → merge loop that Okara has

What We Should NOT Copy

Warning

Not everything Okara does is right for Crystal-Agents.

Okara Feature Why We Skip It
UGC video scripts Highly niche SaaS-marketing feature. Low priority for a general agent stack.
Multi-seat team plans Product/pricing concern, not architecture. Revisit if/when we monetize.
“Growth accelerator” program Community/business feature, not technical.
Real-time subreddit monitoring Requires persistent polling + Reddit API credentials. High infra cost for uncertain ROI. Consider only after social agents prove value via manual triggers.

Recommended Phased Roadmap

Phase 3A — Foundation (builds on Phase 2)

Note

Phase 2 (autonomous Git workflow) should be completed first. These enhancements build on that foundation.

# Enhancement Key Files Effort
1 Action Feed data model + dashboard rendering orchestrator/action_feed.py, dashboard/app.py Medium
2 Business Onboarding workflow workflows/business_onboarding.py, memory/ auto-populate Medium
3 Site Audit workflow (SEO basics) workflows/site_audit.py, agents/seo.py filled in Medium
4 Platform-specific content templates memory/templates/linkedin.md, reddit.md, x.md, blog.md Small

Phase 3B — Integration

# Enhancement Key Files Effort
5 Publisher tool (WordPress/Ghost/file adapters) tools/publisher.py Medium
6 Audit → Fix → PR loop (wire Action Feed to git_workflow) dashboard/app.py, workflows/git_workflow.py Small
7 GA/GSC integration tool tools/analytics.py Large

Phase 3C — Advanced

# Enhancement Key Files Effort
8 GEO Monitor (track AI model citations) tools/geo_monitor.py, agents/geo.py Large
9 Social scheduling (queue drafts for timed posting) scheduler/, tools/social_poster.py Large
10 Consolidated daily brief (morning report with all signals) reports/summary.py expanded Medium

Architecture Principles to Maintain

Our system has structural advantages over Okara that we should protect:

  1. Horizontal, not vertical: Okara is locked to marketing. Crystal-Agents handles dev + ops + marketing + sales. Keep the general-purpose agent/tool/workflow pattern.

  2. HITL by default: Okara’s “Fix it” button is appealing, but our requires_approval + ApprovalStore pattern is more robust. Every new tool should respect the policy.json gate.

  3. Memory as markdown files: Okara likely uses a database. Our memory/ approach (company.md, soul.md, etc.) is simpler and more inspectable. Keep it — but make it self-populating via the onboarding workflow.

  4. Single VPS: We don’t need microservices. All of these enhancements fit within the existing Python + Docker deployment on a single VPS.

  5. Workflow-driven, not autonomous chat: The PRD’s insight — “deterministic workflows prevent the agents-talking-endlessly problem” — remains correct. Even Okara structures its agents as pipelines, not freeform conversations.


Summary

Crystal-Agents and Okara share the same architecture. The gap is not structural — it’s in depth of marketing intelligence and UX that surfaces value proactively. The two highest-impact enhancements are:

  1. Action Feed — turn the dashboard from a log viewer into a decision-making surface
  2. Business Onboarding workflow — make the system learn your business autonomously instead of requiring manual memory files

Everything else follows from those two.