Skip to main content

Autonomous AI SEO + Sales Agent System built on OpenClaw

Project description

⚡ KiessClaw

Autonomous AI SDR + SEO agent OS. Import leads, score them, enroll them, stop when they reply. Zero manual steps.

PyPI CI Docs License: MIT Python 3.10+

pip install kiessclaw
kiessclaw import csv leads.csv --icp-min 60 --auto-enroll

That imports your leads, scores them with ICP rules, and enrolls the qualified ones in a multi-step outreach sequence. Replies stop the sequence. Automatically.


What is KIESSCLAW?

KIESSCLAW is an all-in-one CLI for generating agent/pipeline/workflow scaffolds and prompt packs.
It ships with opinionated use cases and strict templates so teams can go from idea to runnable project structure in minutes.

Built by Erwin Kiess-Alfonso as part of the KLYTICS open-source ecosystem.


Why this exists

  • Apollo is expensive and closed. This is free and forkable.
  • Most outreach tools are GUIs. This is a CLI designed for scripts, pipes, and CI/CD.
  • AI personalization should be configurable, not locked to one vendor.

Non-goals

  • Not a replacement for your CRM.
  • Not a no-code tool.
  • Not production-ready for regulated industries without review.

The Agent Team

Agent Codename Role Model
KiessProspector KPRO Lead import, enrichment, ICP scoring gpt-4o
KiessSequencer KSEQ Sequence orchestration, scheduling, safety gpt-4o-mini
KiessPen KPEN Personalization, first lines, templates gpt-4o
KiessInbox KINB Reply classification, qualification, DNC gpt-4o
KiessMetrics KMET Analytics, deliverability, reporting gpt-4o-mini
KiessCrawler KRAWL Technical SEO crawl, score, and issues gpt-4o
KiessAnalyst KANA Keyword + SERP + competitor gap analysis gpt-4o
KiessWriter KWRI SEO briefs + metadata generation gpt-4o-mini
KiessScout KSCO Backlink prospecting + link gap targeting gpt-4o-mini
KiessReporter KREP Weekly SEO reporting gpt-4o-mini

All agents share one workspace brain — a markdown-based memory system where context persists, logs are written, and data is stored.


Features

  • Use Case Registry — 6 built-in workflows (outreach_sdr, seo_audit_to_leads, github_oss_launch, etc.)
  • Prompt Factory — Render deterministic system, task, guardrails, and checklist prompts
  • Prompt Linting — Detect unresolved placeholders, vague instructions, and missing success criteria
  • Code Scaffolding — Generate agent/skill/workflow/test/docs skeletons safely
  • No-Overwrite Safety — Files are never replaced unless --force is explicitly passed
  • Doctor Command — Config/workspace/dependency diagnostics with quick fixes
  • Existing SDR + SEO Engine — Operational agents and API still available for runtime workflows

Quick Start

Prerequisites

  • Python 3.10+
  • An OpenAI API key (or Anthropic/Ollama)

Install

pip install kiessclaw
pip install kiessclaw[all]   # includes anthropic + slack
# Or install from source
git clone https://github.com/monykiss/kiessclaw.git
cd kiessclaw
pip install -e .

# Copy and configure environment
cp .env.example .env
nano .env  # Add your API keys

# Initialize workspace
python scripts/init_workspace.py

# Check status
python -m kiessclaw status

Docker

docker-compose up
# API live at http://localhost:8000
# Docs at http://localhost:8000/docs

Quick Start (Generator Wedge)

# 1) List built-in use cases
kiessclaw usecase list

# 2) Generate a full SDR prompt pack
kiessclaw prompt pack outreach_sdr --json-input examples/outreach_sdr.json --out prompts.json --deterministic

# 3) Scaffold a runnable use case folder
kiessclaw scaffold usecase outreach_sdr --json-input examples/outreach_sdr.json --outdir ./generated --force

# 4) Run workflow simulation
kiessclaw workflow run outreach_sdr --json-input examples/outreach_sdr.json --dry-run

# 5) Check providers
kiessclaw providers list
kiessclaw providers health

# 6) Test Slack integration (optional)
kiessclaw integrations slack test

# 7) Add a scheduled workflow run (optional)
kiessclaw schedule add --usecase outreach_sdr --cron "0 9 * * 1-5" --json-input examples/outreach_sdr.json --dry-run

# 8) Run health diagnostics
kiessclaw doctor

Slack Notifications

Set SLACK_WEBHOOK_URL in .env, then:

kiessclaw integrations slack test

Scheduled Runs

kiessclaw schedule add \
  --usecase outreach_sdr \
  --cron "0 9 * * 1-5" \
  --json-input examples/outreach_sdr.json \
  --dry-run

kiessclaw schedule list
kiessclaw schedule run <job_id>
kiessclaw schedule remove <job_id>

Project Structure

kiessclaw/
├── kiessclaw/
│   ├── core/           # Agent runtime, memory engine, LLM router
│   ├── agents/         # Individual agent implementations
│   ├── skills/         # Modular skill modules
│   ├── models/         # Data models (Contact, Sequence, etc.)
│   ├── usecases/       # Use case schemas and registry
│   ├── prompting/      # Prompt factory + linting
│   ├── codegen/        # Safe scaffold generator + templates
│   ├── seo/            # SEO agents + crawl skills
│   ├── pipeline.py     # Autonomous SEO -> SDR routing
│   ├── interfaces/     # CLI and Slack interfaces
│   └── utils/          # Helpers and utilities
├── config/
│   ├── config.yaml     # Global settings & model assignments
│   └── agents/         # Per-agent directive files (AgentMD)
├── workspace/
│   ├── data/           # JSON data storage
│   ├── memory/         # Persistent agent memory
│   ├── reports/        # Generated reports
│   └── logs/           # Activity logs
├── docs/               # Documentation
├── ROADMAP.md          # Release roadmap milestones
└── scripts/            # Setup and utility scripts

CLI Commands

Command Description
kiessclaw status Show agent status and data summary
kiessclaw usecase list List built-in generator use cases
kiessclaw usecase show <id> Show one use case schema
kiessclaw prompt render <id> --template ... --json-input ... Render one prompt template
kiessclaw prompt pack <id> --json-input ... --out ... Render all prompt templates into one pack
kiessclaw scaffold usecase <id> --json-input ... --outdir ... Generate use case scaffold files
kiessclaw scaffold agent <Name> --outdir ... Generate standalone agent scaffold + test
kiessclaw scaffold workflow <Name> --outdir ... Generate standalone workflow scaffold + test
kiessclaw scaffold skill <Name> --outdir ... Generate standalone skill scaffold + test
kiessclaw scaffold tests <Kind> --outdir ... Generate standalone test stub
kiessclaw workflow run <id> --json-input ... --dry-run Execute a use case workflow end-to-end
kiessclaw integrations slack test Send a Slack test notification if configured
kiessclaw schedule add --usecase ... --cron ... --json-input ... Persist a scheduled workflow job
kiessclaw schedule list List scheduled jobs
kiessclaw schedule run <job_id> Execute one scheduled job immediately
kiessclaw schedule remove <job_id> Remove one scheduled job
kiessclaw providers list Show registered providers and active provider by kind
kiessclaw providers health Run active provider health checks
kiessclaw doctor Check config/workspace/dependencies and show quick fixes
kiessclaw import --file X Import contacts from CSV
kiessclaw contact add ... Add one contact directly from CLI
kiessclaw sequence create --name X Create a new sequence
kiessclaw sequence add-step --id X ... Add sequence step content
kiessclaw enroll <contact> <sequence> Enroll a contact into a sequence
kiessclaw run --dry-run Simulate send + inbox cycle with no state mutation
kiessclaw run Execute one operational cycle
kiessclaw inbox process Process unclassified replies
kiessclaw reply --contact-id X --text "..." Simulate inbound reply
kiessclaw analytics Show pipeline + deliverability summary
kiessclaw pipeline Show prospect pipeline
kiessclaw report Generate weekly report
kiessclaw analyze AI-powered performance analysis
kiessclaw audit --url URL --auto-enroll Run SEO audit and optionally route low-score domains
kiessclaw serve --port 8000 Start FastAPI service layer
kiessclaw chat Interactive agent chat

Configuration

Edit config/config.yaml:

llm:
  provider: openai          # openai | anthropic | ollama
  default_model: gpt-4o
  api_key: ${OPENAI_API_KEY}

agents:
  KPRO:
    model: gpt-4o
    settings:
      min_icp_score: 60
  KSEQ:
    model: gpt-4o-mini
    settings:
      max_daily_sends: 200
      sending_window_start: "08:00"
      sending_window_end: "18:00"

email:
  provider: smtp
  smtp:
    host: ${SMTP_HOST}
    port: 587
    username: ${SMTP_USERNAME}
    password: ${SMTP_PASSWORD}

safety:
  max_sends_per_day: 500
  bounce_rate_threshold: 0.05

Built-in Skills

Skill Description
prospect CSV import, email validation, ICP scoring
sequence Sequence CRUD, enrollment, scheduling
email SMTP sending, tracking, deliverability
personalization Template rendering, first-line generation
inbox Reply classification, DNC management
analytics Funnel metrics, reports, analysis
crawl Technical crawl, metadata, broken links, robots/sitemap checks

Documentation

API Endpoints

  • GET /health
  • GET /version
  • GET /usecases
  • GET /usecases/{id}
  • POST /providers/health
  • POST /prompt/render
  • POST /scaffold/usecase
  • POST /workflow/run
  • GET /schedule
  • POST /schedule
  • DELETE /schedule/{job_id}
  • POST /schedule/{job_id}/run
  • POST /audit
  • POST /contacts
  • GET /contacts
  • POST /sequences/{id}/enroll
  • GET /pipeline
  • POST /reply
  • GET /inbox
  • GET /analytics
  • GET /sequences
  • POST /sequences
  • POST /waitlist
  • GET /waitlist/count

Contributing

Contributions are welcome! KIESSCLAW is designed to grow through community extensions.

See CONTRIBUTING.md for guidelines.


License

MIT License — see LICENSE for details.


Author

Erwin Kiess-Alfonso Founder & CEO, KLYTICS · Data & AI Performance Consultancy San Juan, Puerto Rico

Twitter LinkedIn KLYTICS


KIESSCLAW is part of the KLYTICS open-source ecosystem.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kiessclaw-1.6.0.tar.gz (117.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kiessclaw-1.6.0-py3-none-any.whl (122.0 kB view details)

Uploaded Python 3

File details

Details for the file kiessclaw-1.6.0.tar.gz.

File metadata

  • Download URL: kiessclaw-1.6.0.tar.gz
  • Upload date:
  • Size: 117.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for kiessclaw-1.6.0.tar.gz
Algorithm Hash digest
SHA256 d21af2d602c4a290ca66ebe03e6dbf8cf8b9dd00bf08d975c1ea72f2d016e117
MD5 31cd3297281cbb8e62f6432b21f6394e
BLAKE2b-256 a075356456e3fd3c4f6966070e4fe5631668db422a66c4275ca245da987c2f4d

See more details on using hashes here.

File details

Details for the file kiessclaw-1.6.0-py3-none-any.whl.

File metadata

  • Download URL: kiessclaw-1.6.0-py3-none-any.whl
  • Upload date:
  • Size: 122.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for kiessclaw-1.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b4938921d8066414b4dee417afbc295b74f666d1b51cebdfb067778ffa652b3b
MD5 007f7ba1e0e8288e3c2093e6a9b0c1fd
BLAKE2b-256 7f238ce3b6708ddd941a4df33a2c2b80a877aec6bb3fb30229b2c1ecd434c642

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page