Kai Sdr Operator logo

Kai Sdr Operator

Community
cgallic
kai-sdr-operator

Build a plug-in-ready SDR operator package for sales development and outbound pipeline work: ICP definition, compliant lead-source plan, enrichment/research workflow, account scoring, outbound assets, CRM handoff, reply triage, meeting prep, approval gates, and loop memory. Use when "SDR", "sales development", "outbound SDR", "operator room", "lead gen pipeline", "prospecting pipeline", "ICP targeting", "Apify", "RapidAPI", "Clay", "Apollo", "agentic SDR workflow", "sales operating loop", "sales dashboard handoff", or any request to package outbound sales workflows that can later connect to data tools, CRMs, or operator surfaces.

Overview

Publishercgallic
Repositorykai-cmo-harness
Skill namekai-sdr-operator
Stars
61
Forks
8
Bundled files
Instructions only
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by cgallic on GitHub. Read the source before you install it.

Installation

Install the Kai Sdr Operator AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/cgallic/kai-cmo-harness/tree/main/harness/skills-v2/kai-sdr-operator
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/cgallic/kai-cmo-harness.git /tmp/kai-cmo-harness
mkdir -p .claude/skills
cp -r /tmp/kai-cmo-harness/harness/skills-v2/kai-sdr-operator .claude/skills/kai-sdr-operator
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Kai Sdr Operator in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Kai Sdr Operator on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Kai Sdr Operator is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

kai-sdr-operator — SDR Package Builder

Kai root note: knowledge/, harness/, and scripts/ paths in this skill live in the Kai install, not the user's project. Resolve them against the first ancestor directory of this SKILL.md that contains a knowledge/ folder (the Kai plugin root, ~/.claude/kai, or the kai-cmo-harness repo). MARKETING.md, memory/, and any output files live in the current project. If a referenced scripts/ command is not available in this install, say so, skip it, and continue with the file-based guidance — never fabricate its output.

Objective

A reusable SDR operating package on disk that a human or a future agent can pick up and run: lawful lead sources with their terms recorded, an ICP scorecard, an account scoring model, enrichment and research workflows, connector contracts, an approval queue, outreach handoff briefs, reply and meeting loops, CRM handoff records, and a memory ledger that learns from outcomes. Every worker's input and output is explicit enough that a sub-agent, MCP connector, or dashboard can call it.

This skill is the orchestrator, not the copywriter. /kai-cold-outreach writes the email touches once lead-source, suppression, sender, and claim-evidence gates are clear. /kai-sdr-reply-triage handles replies. /kai-sales-meeting-prep handles booked calls. /kai-data-dashboard runs only when the user explicitly asks for a dashboard surface.

Done when

Work type strategy-plan — floor E3/C3/O1 (harness/eco-floors.yaml). The package is a plan; nothing in it fires a live action on its own.

  • E3 — a named human approved the exact package, including _lead-source-plan.md and approval-plan.md. Approval of the package is not approval of any run it describes.
  • C3 — banned_word_check passes on every customer-facing markdown file; four_us_score clears 10/16 on outreach copy and 12/16 on strategic package docs (sequence-brief.md, _brief.md); sdr-package.yaml, cold-email.yaml, sdr-reply-triage.yaml, and sales-meeting-prep.yaml checks are satisfied; and a named non-producer read the package end to end.
  • O1 — the package names the first live action it will spawn, its metric, baseline, threshold, and owner. A package that never reaches a test cohort is not CLOSED.

Every quantitative or client-facing claim resolves to a source with a retrieval date, or sits in _data-gaps.md. No live action was taken without recorded approval.

Constraints

  • Approval before anything live. Billable API or connector runs, imports, exports, enrichment credit spend, email sends, DMs, calls, SMS, calendar actions, and CRM mutations all require explicit human approval first. A signal alone never triggers a live action.
  • Adapters are not permission slips. Apify, RapidAPI, Clay, Apollo, and CRM exports are tools; check current vendor docs and account terms before running one. Never bypass logins, CAPTCHAs, robots restrictions, paywalls, platform rate limits, or social-network terms.
  • Prohibited sources: personal email scrapes, consumer lists, sensitive personal attributes, bought accounts.
  • _lead-source-plan.md precedes any list building and must carry: approved source inventory with owner, access method, terms notes, and data fields; disallowed sources and why; suppression source and opt-out sync path; consent or lawful-interest basis by region; data minimization (only fields needed for fit, relevance, routing, compliance); connector notes.
  • Suppression runs before scoring promotion. Suppression covers prior opt-out, existing-customer conflict, active opportunity owner, disallowed source, sensitive-data risk, bad domain, region restriction, missing lawful basis. Only suppression_status=clear rows may reach approved_for_copy; needs_review, conflict, and blocked rows go to the approval queue with row ID, requested live action, reason, evidence, approver, decision, timestamp, and next state.
  • Block outright: accounts with missing source, missing suppression check, sensitive personal data, prior opt-out, disallowed source, or an unsupported claim dependency.
  • No invented numbers. Reply rates, meeting rates, benchmarks, TAM, revenue, and conversion figures come from real data or user-provided targets, or they are data gaps.
  • No raw rows to the copy step. A row reaches /kai-cold-outreach only with source, suppression, relevance, and sender fields filled.
  • Specialists inherit the same limits. Neither /kai-sdr-reply-triage nor /kai-sales-meeting-prep may mutate live CRM, sequencer, calendar, SMS, phone, or email systems without approval; both write back into this package folder and update the memory ledger.
  • local_phone_led mode triggers a phone capture fit review: compare alternatives, and do not lead with an answering service or AI receptionist when phone demand is low or the workflow is self-serve by design.

Account scoring model (0–100):

ComponentPointsBasis
Fit40Industry, size, geography, budget, use-case match
Timing20Hiring, funding, expansion, new regulation, new location, tech migration, active demand
Pain evidence20Public proof, owned data, CRM notes, reviews, job posts, pages, user research
Reachability10Valid business contact path, routing clarity
Compliance confidence10Lawful source, suppression clear, no sensitive-data concern

Lead ledger columns (lead-ledger-template.csv, minimum):

text
account_id,company,website,industry,geo,company_size,source_name,source_url,source_retrieved_at,fit_score,intent_signal,trigger_event,problem_evidence,contact_name,contact_role,contact_channel,personalization_note,personalization_source,confidence,suppression_status,consent_basis,next_action,owner,status

confidence: high, medium, hypothesis, blocked. status: sourced, enriched, approved_for_copy, queued, sent, replied, meeting_booked, disqualified, suppressed, blocked.

Context

Seven things must be known before the package can be built — read them from MARKETING.md first and ask only for what is missing: the offer and desired conversion (meeting, demo, audit, quote, trial, call); ICP filters (industry, geography, size, tech stack, budget, trigger events); available lead sources; outreach channels; sender stack (domain, ESP, CRM, sequencer, calendar, suppression list); volume target and human review capacity; and whether the category is regulated or sensitive (healthcare, finance, legal, minors, employment, housing, credit, political, consumer data). If MARKETING.md does not exist, run /kai-start or infer a temporary brief from trusted project files and mark unknowns [TODO].

NeedLoad
Package schema, required files, gate thresholdsharness/skill-contracts/sdr-package.yaml
Outreach copy contractharness/skill-contracts/cold-email.yaml
Opt-out, sender identity, consent, list lawharness/references/cold-email-rules.md
Demand mechanics and channel fitknowledge/playbooks/demand-generation.md
Named accounts or enterprise targetsknowledge/playbooks/account-based-marketing.md
Deliverability and sender setupknowledge/channels/email-lifecycle.md
Row, account, contact, and event schemareferences/sdr-data-model.md
Connector wiring and action contractsreferences/connector-recipes.md + references/connector-action-contracts.md
Vertical-specific ICP and trigger packsreferences/vertical-packs.md
What needs human sign-off and whenreferences/human-approval-gates.md
Loop mechanics, states, transitionsreferences/operating-loop.md + references/loop-events-and-transitions.md
Region and category compliance matrixreferences/compliance-matrix.md
Run ledger and observability fieldsreferences/observability-and-run-ledger.md
Package evaluation criteriareferences/evaluation-harness.md
Outside research on agentic SDR loopsreferences/external-loop-research.md

(references/ paths are relative to this skill directory in the Kai install.)

Package modes — pick one from the request or product context; default pipeline_prototype for a showcase or proof-of-work asset:

ModeBest fitOutput bias
pipeline_prototypeInterview demo, founder experiment, first outbound systemSmall sample list, visible workflow, dashboard-ready schema
b2b_sdr_engineSaaS, agency, service firm, consulting offerICP scorecard, lead sources, email/LinkedIn/call handoff
abm_sdr_engineNamed accounts or enterprise targetsAccount dossiers, buying committee, 1:1 research tasks
local_phone_ledLocal services, legal, home services, clinicsCall capture, speed-to-lead, phone capture fit review
recruiting_sdr_engineStaffing, recruiting, talent marketplaceCandidate/client split, employment-policy caution, role-fit evidence
partner_sdr_engineCo-marketing, channels, affiliates, agenciesPartner-fit matrix, mutual value, low-volume relationship motion
sdr_migration_auditExisting SDR team moving work into Claude/Kai loopsWorkflow map, automation readiness, cost model, approval plan

Workers in the loop — each is a callable unit with explicit inputs and outputs: Source Scout, ICP Scorer, Contact Mapper, Personalization Researcher, Outreach Producer (hands approved rows to /kai-cold-outreach), Test Cohort Runner, Compliance Reviewer, Reply Router (/kai-sdr-reply-triage), Meeting Prepper (/kai-sales-meeting-prep), CRM Handoff Writer, Daily Briefing Writer, Outcome Learner.

Output goes to workspace/sdr-operator/<package-slug>/. Same path as v1. Required files:

text
_brief.md  _lead-source-plan.md  _icp-scorecard.md  _account-scoring-model.md
_research-workflows.md  connector-plan.md  connector-action-contracts.md
approval-plan.md  approval-queue-template.csv  loop-state-model.md
loop-events-and-transitions.md  compliance-matrix.md  run-ledger-template.json
memory-ledger.md  daily-briefing-template.md  test-cohort-plan.md
lead-ledger-template.csv  account-dossier-template.md  sequence-brief.md
reply-triage.md  meeting-prep.md  follow-up-workflows.md  crm-handoff.md
data-handoff.md  sales-role-handoff.md  sdr-package.json
_data-sources.md  _data-gaps.md  _quality-report.md  _evaluation-report.md

loop-state-model.md, memory-ledger.md, and sdr-package.json carry what makes the motion repeatable: package mode, retrieval dates, data mode, counts by ledger status, source inventory and gaps, account/contact state transitions, approval state for every live action, reply categories and objections and referrals and booked meetings, source/trigger/message/meeting quality memory, quality gates, blockers, next actions.

The closing summary names the package path, the mode, what was produced, blocked sources and missing data, and which of /kai-cold-outreach, /kai-sdr-reply-triage, or /kai-sales-meeting-prep runs next.

Escalate when

  • The category is regulated or sensitive — healthcare, finance, legal, minors, employment, housing, credit, political, or consumer data.
  • A lead source's terms are unclear, or the only available source is disallowed.
  • Lawful basis or consent for a region cannot be established.
  • The user asks to run a connector, spend enrichment credits, import or export contacts, send, call, or mutate CRM — that is an approval request, not a decision.
  • Sender stack, suppression list, or domain reputation is unknown and volume targets are non-trivial.
  • The offer depends on a claim with no evidence behind it.
  • Requested volume exceeds the human review capacity the user stated.

Frequently asked questions

What does the Kai Sdr Operator AI skill do?

Build a plug-in-ready SDR operator package for sales development and outbound pipeline work: ICP definition, compliant lead-source plan, enrichment/research workflow, account scoring, outbound assets, CRM handoff, reply triage, meeting prep, approval gates, and loop memory. Use when "SDR", "sales development", "outbound SDR", "operator room", "lead gen pipeline", "prospecting pipeline", "ICP targeting", "Apify", "RapidAPI", "Clay", "Apollo", "agentic SDR workflow", "sales operating loop", "sales dashboard handoff", or any request to package outbound sales workflows that can later connect to...

Why use Kai Sdr Operator on TypingMind?

Because you install it once and use it with any model. Kai Sdr Operator is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Kai Sdr Operator in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/cgallic/kai-cmo-harness/tree/main/harness/skills-v2/kai-sdr-operator. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Kai Sdr Operator?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Kai Sdr Operator?

As many as you like. As long as a model supports skills, you can use Kai Sdr Operator with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Kai Sdr Operator AI skill free?

It is published on GitHub by cgallic. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇