skills/claude-skills-open/skills/crm/log-activity/SKILL.md
Log activity to activities.csv
npx skillsauth add aaaaqwq/claude-code-skills log-activityInstall 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.
Logging outreach activities (calls, messages, emails)
| What | Path |
|------|------|
| Activities | $CRM_PATH/activities.csv |
| People | $CRM_PATH/contacts/people.csv |
activity_id,linkedin_url,date,channel,activity_type,message_preview,result,response_quality,next_followup_date,audience_segment,hook_type,notes
import pandas as pd
from datetime import date, timedelta
import uuid
activities = pd.read_csv('$CRM_PATH/activities.csv')
new_activity = {
'activity_id': f'act-{uuid.uuid4().hex[:8]}',
'linkedin_url': 'https://linkedin.com/in/example', # or email
'date': str(date.today()),
'channel': 'telegram', # linkedin/email/twitter/telegram/whatsapp
'activity_type': 'dm', # dm/connect_request/followup/email/call/research
'message_preview': 'Hi! This is Ivan from WeLabelData...', # first 100 characters
'result': 'sent', # sent/replied/no_response/accepted/rejected
'response_quality': '', # positive/neutral/negative/meeting
'next_followup_date': str(date.today() + timedelta(days=7)),
'audience_segment': 'training_course',
'hook_type': 'course_invitation',
'notes': ''
}
activities = pd.concat([activities, pd.DataFrame([new_activity])], ignore_index=True)
activities.to_csv('$CRM_PATH/activities.csv', index=False)
people = pd.read_csv('$CRM_PATH/contacts/people.csv')
mask = people['linkedin_url'] == 'https://linkedin.com/in/example'
people.loc[mask, 'status'] = 'contacted'
people.loc[mask, 'last_contact_date'] = str(date.today())
people.loc[mask, 'next_followup_date'] = str(date.today() + timedelta(days=7))
people.loc[mask, 'last_updated'] = str(date.today())
people.to_csv('$CRM_PATH/contacts/people.csv', index=False)
linkedin -- LinkedIn DMemail -- Emailtelegram -- Telegramwhatsapp -- WhatsApptwitter -- Twitter/Xdm -- Direct messageconnect_request -- Connection requestfollowup -- Follow-up contactemail -- Email messagecall -- Phone callresearch -- Research (not outreach)sent -- Sent, waiting for responsereplied -- Received a responseno_response -- No response (after N days)accepted -- Accepted request/invitationrejected -- Declinedpositive -- Interestedneutral -- Neither yes nor nonegative -- Not interestedmeeting -- Meeting scheduledFor mass outreach -- log multiple at once:
sent_to = ['[email protected]', '[email protected]', '[email protected]']
for email in sent_to:
new_activity = {
'activity_id': f'act-{uuid.uuid4().hex[:8]}',
'linkedin_url': email, # using email as ID
'date': str(date.today()),
'channel': 'telegram',
'activity_type': 'dm',
'result': 'sent',
# ...
}
activities = pd.concat([activities, pd.DataFrame([new_activity])], ignore_index=True)
telegram-send -- before loggingupdate-lead -- update person statustesting
通用自媒体文章自动发布工具。支持百家号、搜狐号、知乎、微信公众号、小红书、抖音号六个平台的自动化发布流程。使用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密钥(如有)。