campaign-execution
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseCampaign Execution Skill
LinkedIn推广活动执行Skill
Execute LinkedIn outreach campaigns by performing due actions and tracking progress. Uses a manual check-in approach where users invoke this skill periodically to process pending actions.
通过执行相应操作并跟踪进度来完成LinkedIn客户开发推广活动。采用手动定期调用的方式,用户需周期性触发此Skill来处理待执行操作。
Process
流程
Step 1: Load Campaign
步骤1:加载活动
If not provided:
campaign_id- Search for campaigns in
.business_growth/sales/campaigns/ - Display campaigns with status and progress
- Ask user to select campaign
Load the campaign's and files from the campaign folder ().
CAMPAIGN.mdLIST.md.business_growth/sales/campaigns/<campaign_id>/如果未提供:
campaign_id- 在目录中搜索活动
.business_growth/sales/campaigns/ - 展示活动的状态和进度
- 请用户选择活动
从活动目录()中加载活动的和文件。
.business_growth/sales/campaigns/<campaign_id>/CAMPAIGN.mdLIST.mdStep 2: Determine Action
步骤2:确定操作类型
Based on parameter or ask user:
action| Action | Description |
|---|---|
| Execute all due actions for leads |
| Show campaign progress without actions |
| Set campaign status to paused |
| Set campaign status to running |
根据参数或询问用户来确定:
action| 操作 | 描述 |
|---|---|
| 执行所有线索的待处理操作 |
| 仅展示活动进度,不执行操作 |
| 将活动状态设置为暂停 |
| 将活动状态设置为运行中 |
Step 3: For "status" Action
步骤3:当操作为"status"时
Display campaign summary:
- Campaign name and status
- Total leads in target list
- Breakdown by execution status
- Recent activity log
- Pending actions count
展示活动摘要:
- 活动名称和状态
- 目标列表中的总线索数
- 按执行状态分类的明细
- 近期活动日志
- 待执行操作数量
Step 4: For "run" Action
步骤4:当操作为"run"时
Process each lead in the target list:
处理目标列表中的每个线索:
4a. Check/Create Execution File
4a. 检查/创建执行文件
For each lead, check if execution file exists at:
.business_growth/sales/campaigns/campaign_<name>/leads/<lead_name>/execution.mdLead Naming: Generate meaningful snake_case names for leads based on their name and company (e.g., , ). Keep names concise, lowercase with underscores.
john_smith_acmesarah_jones_techcorpIf not exists, create it:
markdown
undefined针对每个线索,检查执行文件是否存在于以下路径:
.business_growth/sales/campaigns/campaign_<name>/leads/<lead_name>/execution.md线索命名规则:根据线索的姓名和公司生成有意义的蛇形命名(snake_case),例如、。命名需简洁,使用小写字母加下划线。
john_smith_acmesarah_jones_techcorp若文件不存在,则创建该文件:
markdown
undefinedExecution: <Lead Name>
Execution: <Lead Name>
Lead Info
Lead Info
- Name: <name>
- LinkedIn: <url>
- Company: <company>
- Campaign: campaign_<name> # e.g., campaign_q1_outreach_fintech
- Name: <name>
- LinkedIn: <url>
- Company: <company>
- Campaign: campaign_<name> # e.g., campaign_q1_outreach_fintech
Status
Status
- Current: pending
- Current Step: 1
- Next Action: connection_request
- Next Action Time: <now>
- Current: pending
- Current Step: 1
- Next Action: connection_request
- Next Action Time: <now>
Action Log
Action Log
<!-- Actions will be logged here -->
undefined<!-- Actions will be logged here -->
undefined4b. Check If Action Due
4b. 检查操作是否待执行
Read execution file and check:
- Is status or
pending?in_progress - Is current date >= next action time?
- Has previous step completed successfully?
If all true, action is due.
读取执行文件并验证:
- 状态是否为或
pending?in_progress - 当前日期是否大于等于下一次操作时间?
- 上一步操作是否已成功完成?
若以上条件均满足,则该操作待执行。
4c. Execute Due Action
4c. 执行待处理操作
Based on action type:
Connection Request:
- Navigate to lead's LinkedIn profile
- Click "Connect" button
- Add personalized note from template
- Send connection request
- Take screenshot for verification
Message:
- Navigate to lead's profile or messaging
- Open message compose
- Enter personalized message from template
- Send message
- Take screenshot for verification
Important: Replace template tokens with lead data:
- → Lead's first name
{{first_name}} - → Lead's company
{{company}} - → Lead's title
{{title}} - → Custom personalization from research.md if exists
{{custom}}
根据操作类型执行:
发送连接请求:
- 导航至线索的LinkedIn个人主页
- 点击「Connect」按钮
- 从模板中添加个性化备注
- 发送连接请求
- 截图用于验证
发送消息:
- 导航至线索的个人主页或消息界面
- 打开消息撰写窗口
- 输入来自模板的个性化消息
- 发送消息
- 截图用于验证
重要提示:使用线索数据替换模板中的占位符:
- → 线索的名字
{{first_name}} - → 线索的公司
{{company}} - → 线索的职位
{{title}} - → 若research.md存在,则使用其中的自定义个性化内容
{{custom}}
4d. Log Action and Update Status
4d. 记录操作并更新状态
Update :
execution.mdmarkdown
undefined更新文件:
execution.mdmarkdown
undefinedStatus
Status
- Current: in_progress
- Current Step: 2
- Next Action: message
- Next Action Time: <calculated based on sequence timing>
- Current: in_progress
- Current Step: 2
- Next Action: message
- Next Action Time: <calculated based on sequence timing>
Action Log
Action Log
<timestamp>
<timestamp>
- Step: 1
- Type: connection_request
- Content: <actual message sent>
- Outcome: sent
- Screenshot: <reference if taken>
undefined- Step: 1
- Type: connection_request
- Content: <actual message sent>
- Outcome: sent
- Screenshot: <reference if taken>
undefined4e. Handle Special Cases
4e. 处理特殊情况
Connection Accepted (see for full procedure):
references/CHECK_CONNECTION_ACCEPTS.md- Check accepts via LinkedIn Connections page (sorted by recently added) — NOT sent invitations
- Send Step 2 welcome message from campaign template
- Update execution status and calculate next action time
Reply Received:
- Set status to
replied - No more automated actions
- Flag for manual follow-up
Failed Action:
- Log error in execution file
- Set status to with reason
failed - Continue with next lead
连接请求被接受(完整流程请参考):
references/CHECK_CONNECTION_ACCEPTS.md- 通过LinkedIn「Connections」页面(按最新添加排序)检查是否被接受 — 而非已发送的邀请
- 发送活动模板中的第二步欢迎消息
- 更新执行状态并计算下一次操作时间
收到回复:
- 将状态设置为
replied - 停止后续自动化操作
- 标记为需要手动跟进
操作失败:
- 在执行文件中记录错误
- 将状态设置为并注明原因
failed - 继续处理下一个线索
Step 5: Rate Limit Management
步骤5:限流管理
Track actions taken and advise on limits:
- Connection requests: ~20-25/day
- Messages: ~50-100/day
- Profile views: ~30/hour
When approaching limits:
- Pause execution
- Inform user of limits reached
- Suggest resuming after cooldown period
- Calculate when safe to resume
跟踪已执行的操作并提示限制:
- 连接请求:约20-25条/天
- 消息:约50-100条/天
- 主页浏览:约30次/小时
当接近限制时:
- 暂停执行
- 告知用户已达限制
- 建议在冷却期后恢复
- 计算可安全恢复的时间
Step 6: Report Progress
步骤6:进度报告
After processing all due actions, provide summary:
undefined处理完所有待执行操作后,提供执行摘要:
undefinedCampaign Execution Summary
Campaign Execution Summary
Campaign: <name>
Execution Time: <timestamp>
Campaign: <name>
Execution Time: <timestamp>
Actions Taken
Actions Taken
- Connection Requests Sent: X
- Messages Sent: Y
- Total Actions: Z
- Connection Requests Sent: X
- Messages Sent: Y
- Total Actions: Z
Lead Status Breakdown
Lead Status Breakdown
- Pending: X leads
- In Progress: Y leads
- Replied: Z leads (🎉)
- Completed: W leads
- Failed: V leads
- Pending: X leads
- In Progress: Y leads
- Replied: Z leads (🎉)
- Completed: W leads
- Failed: V leads
Next Check-In
Next Check-In
Recommend checking back in: <calculated time>
Reason: <rate limit cooldown / sequence timing>
Recommend checking back in: <calculated time>
Reason: <rate limit cooldown / sequence timing>
Leads Requiring Attention
Leads Requiring Attention
- <Lead Name>: <reason - e.g., "Replied to connection request">
undefined- <Lead Name>: <reason - e.g., "Replied to connection request">
undefinedStep 7: Update Campaign Metrics
步骤7:更新活动指标
Update performance metrics section with current counts.
CAMPAIGN.md在的性能指标部分更新当前统计数据。
CAMPAIGN.mdExecution Statuses
执行状态说明
| Status | Meaning |
|---|---|
| Not yet started |
| Sequence in progress, awaiting next step |
| Lead replied, stop automation |
| All steps executed |
| Error occurred, needs review |
| 状态 | 含义 |
|---|---|
| 尚未开始 |
| 流程进行中,等待下一步操作 |
| 线索已回复,停止自动化操作 |
| 所有步骤已执行完成 |
| 发生错误,需要审核 |
Browser Tools Used
使用的浏览器工具
| Tool | Purpose |
|---|---|
| Get browser context |
| Go to LinkedIn profiles |
| Verify page state |
| Locate buttons and inputs |
| Enter message text |
| Click, scroll, screenshot |
| 工具 | 用途 |
|---|---|
| 获取浏览器上下文 |
| 跳转至LinkedIn个人主页 |
| 验证页面状态 |
| 定位按钮和输入框 |
| 输入消息文本 |
| 点击、滚动、截图 |
Error Handling
错误处理
Common issues and responses:
| Issue | Response |
|---|---|
| Profile not found | Mark as failed, log reason |
| Connect button unavailable | May already be connected, verify |
| Rate limit warning | Stop execution, report to user |
| Login required | Ask user to log in manually |
| Message failed to send | Retry once, then mark failed |
常见问题及处理方式:
| 问题 | 处理方式 |
|---|---|
| 未找到个人主页 | 标记为失败并记录原因 |
| 无「Connect」按钮 | 可能已连接,需验证 |
| 收到限流警告 | 停止执行并告知用户 |
| 需要登录 | 请用户手动登录 |
| 消息发送失败 | 重试一次,若仍失败则标记为失败 |
Manual Check-In Approach
手动定期调用方式
This skill is designed for periodic manual invocation:
- User invokes skill when ready to execute
- All due actions are processed
- Summary provided with next check-in time
- User invokes again when ready
This approach:
- Respects LinkedIn rate limits
- Gives user control over timing
- Allows review between batches
- Avoids continuous automation flags
此Skill设计为需手动定期触发:
- 用户准备好执行操作时调用Skill
- 处理所有待执行操作
- 提供执行摘要及下一次建议调用时间
- 用户在合适时机再次调用
这种方式的优势:
- 遵守LinkedIn的限流规则
- 让用户掌控执行时机
- 允许在批量处理之间进行审核
- 避免持续自动化触发平台检测