Skip to content

karis-ai/karis

Repository files navigation

Karis

First CMO for AI Agents — marketing intelligence as CLI tools, agent skills, and strategic orchestration.

Karis Demo


Installation

Quick Install (Recommended)

curl -fsSL https://raw.githubusercontent.com/karis-ai/karis/main/install.sh | bash

npm

# Run without installing
npx @karis-ai/cli setup

# Or install globally (then use `karis` directly)
npm install -g @karis-ai/cli
karis setup
karis chat

# Local CLI (http://localhost:8000)
karis-local setup
karis-local chat

# Staging CLI
karis-staging setup
karis-staging chat

Claude Code

/plugin marketplace add https://github.com/karis-ai/karis
/plugin install brand-intel@karis

Cursor / Windsurf / Codex / Any Agent (via Skills)

Install all Karis capabilities as a single skill:

npx skills add karis-ai/karis

Or install individual skills (brand intelligence, GEO audit, SEO, Reddit, etc.) separately:

npx skills add karis-ai/karis --full-depth

Then just ask your agent naturally:

"Analyze my brand for acme.com"
"Run a GEO audit"
"Write a Reddit post for our product launch"

Or point your agent to agents/AGENTS.md directly, or add to your system prompt / rules:

Read https://karis.im/skill.md and follow instructions

Architecture — Layer Cake

Karis exposes three tiers of capability:

Layer What How
Layer 1 — Tool Runtime Atomic read-only operations (search, fetch, list) karis <namespace> <action> — direct execution, JSON response, no LLM
Layer 2 — Domain Agent Skills with strategy (brand audit, reddit growth) karis chat --skill <name> — LLM-powered, SSE stream
Layer 3 — CMO Orchestrator Multi-channel strategic planning karis chat — free-form, full agent reasoning

Quick Start

# First-time setup
karis setup

# First-time setup against local API
karis-local setup

# First-time setup against staging
karis-staging setup

# Interactive agent chat (Layer 3)
karis chat
karis-local chat
karis-staging chat

# Direct tool calls (Layer 1)
karis web search "AI coding tools"
karis reddit search "AI agents" --subreddit SaaS
karis x tweets elonmusk
karis browser status

# Skill-guided chat (Layer 2)
karis chat --skill brand-intel "Analyze my brand"
karis chat --skill aeo-geo "Audit AI search visibility"

# Browser relay write actions
karis browser connect --extension-id <id>
karis x post "hello world" --confirm
karis reddit post --subreddit test --title "Hello" --confirm

CLI Commands

Tool Commands (Layer 1)

# Web
karis web search <query>                   # Search the web
karis web read <url> [--focus <keyword>]   # Read a webpage

# X / Twitter
karis x search <query> [--max-results <n>] # Search X posts
karis x tweets <username>                  # Get user's tweets
karis x post <text> --confirm              # Post through browser relay
karis x reply --url <tweetUrl> <text> --confirm
karis x follow <profiles...> --confirm

# Reddit
karis reddit search <query> [--subreddit]  # Search Reddit
karis reddit posts <subreddit> [--sort]    # Browse a subreddit
karis reddit comments <post_id>            # Get comment tree
karis reddit rules <subreddit>             # Subreddit rules
karis reddit post --subreddit <name> --title <text> --confirm
karis reddit comment --url <postUrl> <text> --confirm

# Browser relay
karis browser status                       # Show extension relay state
karis browser connect --extension-id <id> # Pair CLI to browser extension
karis browser navigate --url <url>        # Open a page in the connected browser
karis browser get-state                    # Inspect page state + accessibility tree
karis browser get-content [-o file]        # Extract readable page markdown
karis browser click [--element-index|--text|--selector]
karis browser type --text <text> [--clear]
karis browser scroll [--direction] [--amount]
karis browser screenshot [-o file]
karis browser post-x --text <text> --confirm
karis browser reply-x --url <tweetUrl> --text <text> --confirm
karis browser follow-x --profile <value> --confirm
karis browser post-reddit --subreddit <name> --title <text> --confirm
karis browser comment-reddit --url <postUrl> --text <text> --confirm

# YouTube
karis youtube search <query>               # Search YouTube

# Influencer Search
karis influencer search --keywords "fitness,workout" --platform instagram
karis influencer search --keywords "tech" --min-followers 100000 --max-followers 1000000
karis influencer results --record-id <id>              # Browse page 1
karis influencer results --record-id <id> --session-id <sid> --page 2  # Paginate
karis influencer list                                  # List recent searches

# Brand & GEO
karis brand info                           # Brand profile (via tool)
karis geo data [--domain] [--time-range]   # GEO visibility data

# Utility
karis schedule list                        # List scheduled tasks
karis memory recall [query]                # Search saved facts

Agent Chat (Layer 2/3)

karis chat                                 # Free-form CMO agent
karis chat --skill <name> "message"        # Skill-guided agent
karis chat -t <tool> --tool-args '{...}'   # Escape hatch for any tool

Brand Management

karis brand init <domain>                  # Create brand profile
karis brand show                           # View brand profile
karis brand list                           # List all brands
karis brand select                         # Switch active brand
karis brand customize                      # Override brand fields
karis brand refresh                        # Refresh from source

Infrastructure

karis setup                                # First-time wizard
karis doctor                               # Verify environment
karis config list                          # View config
karis config set api-key sk-ka-...         # Set API key
karis config set browser-extension-id <id> # Save browser extension ID
karis tools list                           # Discover tools & skills
karis capabilities                         # Layer Cake overview

Browser Relay Notes

  • karis doctor now includes browser relay status as an optional check.
  • Browser write commands require a connected browser extension and a backend that exposes /api/browser-actions/* and /api/browser-relay/relay-token.
  • High-risk commands such as posting, replying, commenting, and following require --confirm.
  • karis browser connect resolves the extension ID from --extension-id, KARIS_BROWSER_EXTENSION_ID, SOPHIA_BROWSER_EXTENSION_ID, or karis config set browser-extension-id <id>.

Output Formats

All commands support multiple output formats:

karis reddit search "AI" -f table          # Table (default in TTY)
karis reddit search "AI" -f json           # JSON
karis reddit search "AI" -f yaml           # YAML
karis reddit search "AI" -f csv            # CSV
karis reddit search "AI" -f md             # Markdown table
karis reddit search "AI" --json            # Legacy JSON flag

Available Skills (Layer 2)

Skill Description
brand-intel Analyze positioning and recommend growth actions
aeo-geo Audit visibility in ChatGPT, Perplexity, Claude
reddit-listening Monitor discussions and community sentiment
reddit-growth Generate posts, comments, and engagement strategies
elonmusk-repost Optimize tweets for maximum reach on X
page-seo Traditional SEO audit

See agents/AGENTS.md for full skill documentation.


Prerequisites


How It Works

For AI Agent Users

Skills are knowledge bases that teach your AI agent how to execute marketing tasks.

Installation:

npx skills add karis-ai/karis

Usage:

You: Audit my brand's AI search visibility for acme.com

Agent: [Uses aeo-geo skill]
       Running GEO audit for acme.com...

       Answer Share: 32.5%
       Citation Rate: 15%
       Gap Topics: 3 identified

Works with: Claude Code, Cursor, Codex, Windsurf, and any agent supporting skills.

For CLI Users

The CLI connects to Karis Platform for enhanced marketing intelligence.

Setup:

karis setup

Interactive wizard guides you through:

  1. Configuring your Karis API key
  2. Creating your brand profile

Karis Platform

The CLI connects to Karis Platform for professional marketing intelligence:

Feature Skills (Open Source) CLI via Platform
GEO Audit Agent executes locally 50+ prompts × 2 models
Community Data Agent's web access Full Reddit + X data
Tracking One-time analysis Historical trends
Analysis Basic insights Strategic intelligence

Skills are fully functional knowledge bases. The CLI + Platform adds scale, depth, and strategic intelligence.

Get your API key at app.karis.im/agent


Configuration

Karis stores configuration globally in ~/.karis/:

~/.karis/
└── config.json             # api-key and base-url

The staging wrapper stores its own config in ~/.karis-staging/ so it does not overwrite your production login:

~/.karis-staging/
└── config.json             # staging api-key and base-url

The local wrapper stores its own config in ~/.karis-local/ and defaults to http://localhost:8000:

~/.karis-local/
└── config.json             # local api-key and base-url

Environment Variables

KARIS_API_KEY
KARIS_API_URL

Contributing

Karis is open source (MIT License). Contributions welcome!


License

MIT License — see LICENSE for details.


Links


Your agent now has a CMO. You build, Karis grows.

About

You build. Karis grows.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors