skills/claude-skills-open/skills/agents/email-outreach-run/SKILL.md
Automatic email outreach agent run
npx skillsauth add aaaaqwq/claude-code-skills email-outreach-runInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Send mass email campaigns with personalization and approval workflow
google-auth skill if needed)sales/crm/)CRM Segment Mode:
cd $AGENTS_PATH/email-outreach
python3 email-outreach_agent.py \
--segment "stage=new AND product_id=prod-labeling" \
--template templates/cold_outreach.txt
Manual CSV Mode:
python3 email-outreach_agent.py \
--recipients /path/to/recipients.csv \
--template templates/training_reminder.txt
AI-Generated Mode:
python3 email-outreach_agent.py \
--segment "stage=qualified" \
--ai-mode \
--subject "Following up on our conversation"
python3 email-outreach_agent.py \
--segment "..." \
--template templates/cold_outreach.txt \
--dry-run
Agent shows:
Options:
[A] - Approve and send[T] - Send test to [email protected][C] - Cancel (save draft)# Summary
ls -lh $GOOGLE_TOOLS_PATH/data/email_outreach_summaries/
# Agent log
cat $GOOGLE_TOOLS_PATH/data/email_outreach_log.json | jq '.[-1]'
# CRM activities
tail -10 $CRM_PATH/activities.csv
Available templates in agents/email-outreach/templates/:
cold_outreach.txt - For new leadsfollow_up.txt - Follow-up to previous contacttraining_reminder.txt - Event/training remindersPlaceholders:
{name} - Full name{first_name} - First name{last_name} - Last name{company} / {company_name} - Company name{role} - Job roleFilter CRM leads:
# New leads for specific product
--segment "stage=new AND product_id=prod-labeling"
# Qualified leads
--segment "stage=qualified"
# Custom filters
--segment "stage=new AND product_id=prod-training"
| Error | Action |
|-------|--------|
| "Gmail credentials not found" | Run google-auth skill |
| "Daily limit reached" | Wait until tomorrow |
| "No recipients match" | Check segment query, verify CRM data |
| "Invalid email" | Check CSV, emails will be skipped |
email,first_name,last_name,company_name
[email protected],John,Doe,Example Corp
[email protected],Jane,Smith,Test Inc
Required: email
Optional: first_name, last_name, company_name, person_id, product_id
python3 email-outreach_agent.py \
--segment "stage=new AND product_id=prod-labeling" \
--template templates/cold_outreach.txt \
--campaign-name "Q1 Cold Outreach - Labeling"
# Create CSV with participants
cat > participants.csv << 'EOF'
email,first_name
[email protected],John
[email protected],Jane
EOF
python3 email-outreach_agent.py \
--recipients participants.csv \
--template templates/training_reminder.txt
python3 email-outreach_agent.py \
--segment "stage=qualified" \
--ai-mode \
--subject "Following up on data labeling project"
# Run unit tests
cd $AGENTS_PATH/email-outreach
python3 test_email_outreach.py
# Dry-run test
python3 email-outreach_agent.py \
--recipients test_data/test_recipients.csv \
--template test_data/test_template.txt \
--dry-run
google-tools/data/email_outreach_summaries/YYYY-MM-DD.mdgoogle-tools/data/email_outreach_log.jsonsales/crm/activities.csv (appended)google-tools/data/email_outreach_drafts/google-auth (if Gmail auth needed)change-review for CRM updates# Check Gmail API
python3 -c "from google.oauth2.credentials import Credentials; print(Credentials.from_authorized_user_file('$GOOGLE_TOOLS_PATH/token.json'))"
# Re-auth if needed
# Run google-auth skill
# Check CSV has the required columns
head -1 recipients.csv
# Placeholders case-sensitive: {name} not {Name}
# Check send log
cat $GOOGLE_TOOLS_PATH/data/email_send_log.json | jq '[.[] | select(.date == "2026-02-12")] | length'
# Wait until tomorrow or increase limit in config.json
✅ Human approval required for ALL outreach
✅ Rate limit: 50/day max
✅ Logs to CRM activities
✅ Dry-run flag mandatory for testing
✅ Uses claude -p --model haiku (not API key)
✅ Idempotent (re-run safe)
$AGENTS_PATH/email-outreach/email-outreach_agent.py$AGENTS_PATH/email-outreach/config.json$AGENTS_PATH/email-outreach/templates/$AGENTS_PATH/specs/email-outreach.spec.mdgoogle-auth - Gmail API authtelegram-send - Parallel outreach channeladd-lead - Add new contactslog-activity - Manual activity loggingtesting
通用自媒体文章自动发布工具。支持百家号、搜狐号、知乎、微信公众号、小红书、抖音号六个平台的自动化发布流程。使用Playwright自动化实现平台导航和发布,支持通过storageState管理Cookie实现账号切换。
development
# SKILL.md - Model Configuration Status (mcstatus) ## 触发条件 - `/mcstatus` 命令 - 用户询问模型配备、模型配置、model status、模型列表等 ## 功能 实时生成 Agent + Cron 的模型配置报告,展示当前所有 agent 的主模型/fallback链和所有 cron 任务的模型分配。 ## 执行步骤 ### Step 1: 收集 Agent 模型配置 读取各 agent 的 models.json 获取主模型和 fallback 链: ```bash for agent in main ops code quant data research content market finance pm law product sales batch; do config=$(cat ~/.openclaw/agents/$agent/agent/models.json 2>/dev/null) if [ -n "$config" ]; then echo "=== $agent
tools
MCP 服务器智能管理助手。自动检测 MCP 可用性、智能开关、功能问答,提供人性化的 MCP 管理体验。
tools
从GitHub搜索并自动安装配置MCP(Model Context Protocol)服务器工具到Claude配置文件。当用户需要安装MCP工具时触发此技能。工作流程:搜索GitHub上的MCP项目 -> 提取npx配置 -> 添加到~/.claude.json -> 处理API密钥(如有)。