ops-leadgen

GitHub

自动化B2B潜在客户开发流程,涵盖联系人抓取、数据丰富、邮件草稿生成及人工审核发送。支持按单条审批后通过网关发送,确保合规与精准触达。

claude-ops/skills/ops-leadgen/SKILL.md Lifecycle-Innovations-Limited/claude-ops

Trigger Scenarios

leadgen drafts cold email approve

Install

npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-leadgen -g -y
More Options

Non-standard path

npx skills add https://github.com/Lifecycle-Innovations-Limited/claude-ops/tree/main/claude-ops/skills/ops-leadgen -g -y

Use without installing

npx skills use Lifecycle-Innovations-Limited/claude-ops@ops-leadgen

指定 Agent (Claude Code)

npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-leadgen -a claude-code -g -y

安装 repo 全部 skill

npx skills add Lifecycle-Innovations-Limited/claude-ops --all -g -y

预览 repo 内 skill

npx skills add Lifecycle-Innovations-Limited/claude-ops --list

SKILL.md

Frontmatter
{
    "name": "ops-leadgen",
    "effort": "low",
    "maxTurns": 20,
    "description": "OPS on-demand: This skill should be used when the user asks to \"leadgen drafts\", \"cold email approve\"…",
    "allowed-tools": [
        "Bash",
        "Read"
    ],
    "argument-hint": "[review | send --draft-id N | usage | scrape | draft]"
}

ops-leadgen

Load ops-rules before acting. Public repo (no personal data). Outbound: one draft → one approval → one send. If AskUserQuestion / Workflow are missing, follow Rule 10 in ops-rules (Hermes: numbered options / two-turn Telegram card; delegate_task).

Wraps my-project-leadgen CLI for the daily leadgen review-and-send loop.

Repo: ~/Projects/my-project-b2b-leadgen DB: ~/Projects/my-project-b2b-leadgen/leads.db (gitignored) Run with Doppler: doppler run --project my-project-b2b-leadgen --config dev -- my-project-leadgen <cmd>

Argument routing

Argument Action
review (default) Show pending drafts one-by-one, approve or skip
send --draft-id N Hand one draft to the host's approved outbound gate (Rule 6)
usage Print today's Apollo reveals + Apify runs
scrape [--limit N] Discover new NL HR contacts via Apollo
enrich Run Apify enrichment on unenriched leads
draft Generate Claude NL/EN drafts for undrafted leads

Review + send flow (Rule 6)

NEVER send multiple drafts in one turn. Each send is a separate staged-draft → approval → send cycle.

  1. Run my-project-leadgen review (or fetch pending drafts from DB directly)
  2. For each pending draft, show the user:
    • Lead: name, title, company, email
    • Language, subject, full body
  3. Ask: [Send] / [Skip] / [Stop review]
  4. On [Send]: one draft, one approval, one send, only through the host's approved outbound gate. a. Pass the exact recipient, subject and full latest body to that gate; it shows the complete text and binds the owner's native yes to those bytes. b. Approval is that native yes on the shown draft only. A typed word, file, token or counter is never consent, and one approval never covers another draft. c. After the gate reports delivery, confirm it on a fresh read of the sent mail, then record the send in the leadgen database. d. If the gate refuses or cannot send this channel, keep the draft pending with the exact diagnostic. Never run a direct sender as a substitute for the gate.
  5. Move to the next draft only after the current one is fully resolved.

Scrape → enrich → draft (pipeline)

# Step 1: discover contacts (costs Apollo reveals — check usage first)
doppler run --project my-project-b2b-leadgen --config dev -- \
  my-project-leadgen usage

doppler run --project my-project-b2b-leadgen --config dev -- \
  my-project-leadgen scrape --limit 50

# Step 2: enrich with Apify website crawler
doppler run --project my-project-b2b-leadgen --config dev -- \
  my-project-leadgen enrich

# Step 3: generate Claude drafts
doppler run --project my-project-b2b-leadgen --config dev -- \
  my-project-leadgen draft

# Step 4: review + send (Rule-6 gated, one at a time)
doppler run --project my-project-b2b-leadgen --config dev -- \
  my-project-leadgen review

Daily usage cap

  • Apollo reveals: 200/day max (tracked in leads.db daily_usage)
  • Apify runs: ~$0.02/run (3 pages per domain)
  • Always run usage first to check remaining reveals before scraping

DB queries (read-only diagnostics)

# Pending drafts count
sqlite3 ~/Projects/my-project-b2b-leadgen/leads.db \
  "SELECT count(*) FROM drafts WHERE status='pending';"

# Today's sends
sqlite3 ~/Projects/my-project-b2b-leadgen/leads.db \
  "SELECT d.subject, l.email, s.sent_at FROM sends s
   JOIN drafts d ON d.id=s.draft_id
   JOIN leads l ON l.id=d.lead_id
   WHERE date(s.sent_at)=date('now');"

Rule 6 — no exceptions

Per ops-rules Rule 6: every outbound send is one draft, one approval, one send, only through the host's approved outbound gate. A local file, shell token or counter is defense in depth at most, never the owner's consent. Each draft needs its own native approval on the latest shown text.

Version History

  • 6ac2237 Current 2026-10-18 17:54

    修复了维护、发布安全及收件箱相关的问题,整合了本地维护逻辑并强化了发布契约。

  • 6f1e3e0 2026-08-27 09:32

    增加性能优化、修复文件读取竞态条件及错误处理逻辑。

  • 64bad13 2026-08-12 09:01

Same Skill Collection

claude-ops/skills/boss/SKILL.md
claude-ops/skills/flow/SKILL.md
claude-ops/skills/humanizer/SKILL.md
claude-ops/skills/ledger/SKILL.md
claude-ops/skills/ops-accounts/SKILL.md
claude-ops/skills/ops-ar/SKILL.md
claude-ops/skills/ops-aws-audit/SKILL.md
claude-ops/skills/ops-comms/SKILL.md
claude-ops/skills/ops-competitors/SKILL.md
claude-ops/skills/ops-credentials/SKILL.md
claude-ops/skills/ops-daemon/SKILL.md
claude-ops/skills/ops-dash/SKILL.md
claude-ops/skills/ops-deploy-fix/SKILL.md
claude-ops/skills/ops-deploy/SKILL.md
claude-ops/skills/ops-desk/SKILL.md
claude-ops/skills/ops-desktop/SKILL.md
claude-ops/skills/ops-doctor/SKILL.md
claude-ops/skills/ops-ecom/SKILL.md
claude-ops/skills/ops-feature-dev/SKILL.md
claude-ops/skills/ops-fires/SKILL.md
claude-ops/skills/ops-fleet/SKILL.md
claude-ops/skills/ops-go/SKILL.md
claude-ops/skills/ops-gtm/SKILL.md
claude-ops/skills/ops-home/SKILL.md
claude-ops/skills/ops-humanizer/SKILL.md
claude-ops/skills/ops-inbox/SKILL.md
claude-ops/skills/ops-integrate/SKILL.md
claude-ops/skills/ops-linear/SKILL.md
claude-ops/skills/ops-mac/SKILL.md
claude-ops/skills/ops-marketing/SKILL.md
claude-ops/skills/ops-mcp/SKILL.md
claude-ops/skills/ops-merge/SKILL.md
claude-ops/skills/ops-monitor/SKILL.md
claude-ops/skills/ops-next/SKILL.md
claude-ops/skills/ops-orchestrate/SKILL.md
claude-ops/skills/ops-package/SKILL.md
claude-ops/skills/ops-pocket/SKILL.md
claude-ops/skills/ops-projects/SKILL.md
claude-ops/skills/ops-recap/SKILL.md
claude-ops/skills/ops-release/SKILL.md
claude-ops/skills/ops-research-audit/SKILL.md
claude-ops/skills/ops-research/SKILL.md
claude-ops/skills/ops-resume/SKILL.md
claude-ops/skills/ops-revenue/SKILL.md
claude-ops/skills/ops-rotate-setup/SKILL.md
claude-ops/skills/ops-rotate/SKILL.md
claude-ops/skills/ops-rules/SKILL.md
claude-ops/skills/ops-secret-sync/SKILL.md
claude-ops/skills/ops-settings/SKILL.md

Metadata

Files
0
Version
6ac2237
Hash
dba348ea
Indexed
2026-08-12 09:01

홈 - 위키
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-10-20 02:32
浙ICP备14020137号-1