spot-people-engaging-with-competitors
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseSpot People Engaging with Competitors (Daily)
每日识别与竞争对手互动的用户
Track which ICP people are engaging with a specific LinkedIn profile — liking, commenting, sharing. Surfaces in-market signals from people actively evaluating or interested in a space.
Inferred pain-points from engagement events are leading indicators of buying behavior.
追踪哪些ICP用户正在与特定LinkedIn主页互动——点赞、评论、分享。挖掘来自正在评估或关注某领域用户的市场信号。
从互动事件中推断出的痛点是购买行为的领先指标。
What It Captures
监测内容
- Monitor your own content → who's engaging = warm leads
- Monitor competitor leadership → who's engaging = evaluating alternatives
- Monitor industry thought leaders → who's engaging = active in the space
Important: Single likes are noise — never treat one interaction as a signal. Aggregate at account level — multiple people from same company engaging = real signal.
- 监测自有内容 → 互动用户=潜在意向客户
- 监测竞品领导层 → 互动用户=正在评估替代方案
- 监测行业意见领袖 → 互动用户=活跃于该领域
重要提示: 单次点赞属于无效信息——切勿将单次互动视为有效信号。需按账户层面汇总——同一公司多人互动=真实信号。
API Calls
API调用
This skill bundles two scripts in the same directory as this SKILL.md file. Never read or reference API credentials directly.
- — handles authentication. Writes credentials to
signup.shinternally. Never exposes the API key..env - — handles all authenticated API calls. Reads credentials from
api.shinternally..env
First, resolve the script paths relative to this file's location:
bash
SKILL_DIR="$(dirname "$(find ~/.agents/skills -name SKILL.md -path "*/spot-people-engaging-with-competitors/*" 2>/dev/null | head -1)")"
API="$SKILL_DIR/api.sh"
SIGNUP="$SKILL_DIR/signup.sh"Then use for auth and for all other calls.
$SIGNUP$API该Skill在SKILL.md文件所在目录中包含两个脚本。切勿直接读取或引用API凭证。
- — 处理认证。在内部将凭证写入
signup.sh文件,绝不会暴露API密钥。.env - — 处理所有已认证API调用。从
api.sh文件内部读取凭证。.env
首先,解析相对于此文件位置的脚本路径:
bash
SKILL_DIR="$(dirname "$(find ~/.agents/skills -name SKILL.md -path "*/spot-people-engaging-with-competitors/*" 2>/dev/null | head -1)")"
API="$SKILL_DIR/api.sh"
SIGNUP="$SKILL_DIR/signup.sh"然后使用进行认证,使用进行所有其他调用。
$SIGNUP$APIWhen to Use This Skill
使用场景
- "Who's engaging with our competitor's LinkedIn content"
- "Track people engaging with our CEO's posts"
- "Monitor who's liking and commenting on Datadog's CTO's LinkedIn"
- "Find people engaging with industry thought leaders in observability"
- “谁在与我们竞品的LinkedIn内容互动”
- “追踪与我们CEO帖子互动的用户”
- “监测谁在点赞和评论Datadog首席技术官的LinkedIn内容”
- “寻找与可观测性领域行业意见领袖互动的用户”
Agent Rules
Agent规则
- NEVER rewrite or reframe the user's query. Use their exact words. Ask if unclear — don't modify yourself.
- Don't deploy signals without confirming. Signals cost credits. Always confirm before deploying.
- Present what the API returns. No fabrication, no inference.
- Target thought leaders, not company pages. CEOs, CPOs, industry analysts are better profile targets than generic company pages.
- Never output or log API credentials. All authenticated calls go through .
api.sh
- 绝不要改写或重构用户的查询。 使用用户的原话。若有疑问请询问——不要自行修改。
- 未经确认不要部署信号。 信号会消耗积分。部署前务必确认。
- 如实呈现API返回内容。 不要编造,不要自行推断。
- 目标为意见领袖,而非公司主页。 CEO、CPO、行业分析师是比通用公司主页更好的监测对象。
- 绝不要输出或记录API凭证。 所有已认证调用均通过执行。
api.sh
Workflow
工作流程
0. Agent Auth Check
0. Agent认证检查
Before anything, test if credentials are working by running:
bash
bash "$API" POST /api/v1/signal/get-signal-list '{"pagination": {"limit": 1, "offset": 0}}'If the call succeeds (returns JSON with ): skip to Step 1.
signalsIf the call fails (returns an error or missing credentials message):
undefined在开始前,通过运行以下命令测试凭证是否可用:
bash
bash "$API" POST /api/v1/signal/get-signal-list '{"pagination": {"limit": 1, "offset": 0}}'若调用成功(返回包含的JSON):跳至步骤1。
signals若调用失败(返回错误或缺少凭证的提示):
undefinedWelcome to OpenFunnel
欢迎使用OpenFunnel
OpenFunnel turns daily events in your market into pipeline
— using OpenFunnel's Event Intelligence engine.
To get started, I'll authenticate you via the API.
What's your work email?
Wait for user input. Then:
1. Run `bash "$SIGNUP" start "<user_email>"`
- Returns `{"status": "verification_code_sent", "email": "..."}` on success
2. Tell the user a 6-digit code was sent:I sent a 6-digit verification code to {email}. Reply with the code.
3. Wait for input. Run `bash "$SIGNUP" verify "<user_email>" "<code>"`
- On success: returns `{"status": "authenticated", "user_id": "..."}`. Credentials are written to `.env` and `.gitignore` is updated automatically.
- On failure: returns `{"status": "failed", ...}`
4. Verify with `bash "$API" POST /api/v1/signal/get-signal-list '{"pagination": {"limit": 1, "offset": 0}}'`
5. If verification succeeds → continue to Step 1
6. If sign-up fails → ask user to retry
7. If verify fails → tell user the code was invalid or expired (up to 10 attempts in 24 hours), offer to retry or resend
---OpenFunnel借助Event Intelligence引擎,将市场中的每日事件转化为销售线索。
开始前,我将通过API为您完成认证。
您的工作邮箱是什么?
等待用户输入。然后:
1. 运行`bash "$SIGNUP" start "<user_email>"`
- 成功时返回`{"status": "verification_code_sent", "email": "..."}`
2. 告知用户已发送6位验证码:我已向**{email}**发送了6位验证码。请回复验证码。
3. 等待输入。运行`bash "$SIGNUP" verify "<user_email>" "<code>"`
- 成功时:返回`{"status": "authenticated", "user_id": "..."}`。凭证将写入`.env`文件,`.gitignore`会自动更新。
- 失败时:返回`{"status": "failed", ...}`
4. 通过`bash "$API" POST /api/v1/signal/get-signal-list '{"pagination": {"limit": 1, "offset": 0}}'`验证
5. 若验证成功 → 继续步骤1
6. 若注册失败 → 请用户重试
7. 若验证失败 → 告知用户验证码无效或已过期(24小时内最多尝试10次),提供重试或重新发送选项
---1. Understand the request
1. 理解需求
The user needs to provide a LinkedIn profile URL to monitor. This can be an individual (CEO, CTO, thought leader) or a company page.
If the user describes a person but doesn't provide a URL, ask for it.
Timeframe: Last day to last year. Default: 7 days.
用户需要提供一个LinkedIn主页URL用于监测。可以是个人主页(CEO、CTO、意见领袖)或公司主页。
若用户描述了某个人但未提供URL,请询问获取。
时间范围: 最近一天至最近一年。默认:7天。
2. Check existing signals
2. 检查现有信号
Run to check for existing competitor engagement signals monitoring the same URL.
bash "$API" POST /api/v1/signal/get-signal-list '{"pagination": {"limit": 100, "offset": 0}}'If a match exists, present it and ask if the user wants to use it or deploy a new one.
运行检查是否存在监测同一URL的竞品互动信号。
bash "$API" POST /api/v1/signal/get-signal-list '{"pagination": {"limit": 100, "offset": 0}}'若存在匹配项,展示该信号并询问用户是否要使用它或部署新信号。
3. Get results from existing signal
3. 获取现有信号的结果
Run to get people matched by this signal.
bash "$API" POST /api/v1/signal/ '{"signal_id": <id>}'undefined运行获取该信号匹配的用户。
bash "$API" POST /api/v1/signal/ '{"signal_id": <id>}'undefinedResults from: {signal_name}
来自{signal_name}的结果
{total_people} people found | {total_accounts} accounts
| Name | Role | Company | Engagement | |
|---|---|---|---|---|
| ... |
undefined找到{total_people}位用户 | {total_accounts}个账户
| 姓名 | 职位 | 公司 | 互动类型 | |
|---|---|---|---|---|
| ... |
undefined4. ICP Check
4. ICP检查
Fetch available ICP profiles: .
bash "$API" GET /api/v1/icp/listIf ICPs exist: present them and let the user pick one, or "none" to skip.
If the user types "none" or skips ICP selection:
Auto-create a broad fallback ICP:
bash
bash "$API" POST /api/v1/icp/create '{"name": "Broad Default ICP", "target_roles": ["Any"], "employee_ranges": ["1-10", "11-50", "51-200", "201-500", "501-1000", "1001-5000", "5001-10000", "10001+"], "location": ["Any"]}'If no ICPs exist: offer quick setup or skip to auto-create broad fallback.
获取可用的ICP配置文件:。
bash "$API" GET /api/v1/icp/list若存在ICP配置文件: 展示并让用户选择其中一个,或选择“无”跳过。
若用户输入“无”或跳过ICP选择:
自动创建一个宽泛的默认ICP:
bash
bash "$API" POST /api/v1/icp/create '{"name": "Broad Default ICP", "target_roles": ["Any"], "employee_ranges": ["1-10", "11-50", "51-200", "201-500", "501-1000", "1001-5000", "5001-10000", "10001+"], "location": ["Any"]}'若不存在ICP配置文件: 提供快速设置选项或跳至自动创建宽泛默认ICP。
5. Confirm & Deploy
5. 确认并部署
I'll deploy a **competitor engagement** signal:
**Name:** {auto-generated descriptive name}
**Monitoring:** {LinkedIn URL}
**Timeframe:** {default — 7 days}
**ICP:** {selected or created ICP name}
⚡ *This will use credits from your plan.*
Other options:
- **Repeat daily** — re-run this signal every day for continuous monitoring (recommended)
- **Audience name** — auto-add results to a named audience
- **Credit limit** — cap spending on this signal
Set any of these, or "deploy" to go with defaults.Wait for user input. Then deploy:
bash
bash "$API" POST /api/v1/signal/deploy/competitor-engagement-agent '{"name": "<name>", "linkedin_url": "<url>", "timeframe": <days>, "icp_id": <id>, "repeat": <true|false>}'我将部署一个**竞品互动**信号:
**名称:** {自动生成的描述性名称}
**监测对象:** {LinkedIn URL}
**时间范围:** {默认——7天}
**ICP:** {选中或创建的ICP名称}
⚡ *这将消耗您套餐中的积分。*
其他选项:
- **每日重复** —— 每天重新运行该信号以持续监测(推荐)
- **受众名称** —— 将结果自动添加至指定受众组
- **积分限额** —— 设置该信号的消费上限
可设置以上选项,或输入“部署”使用默认设置。等待用户输入。然后部署:
bash
bash "$API" POST /api/v1/signal/deploy/competitor-engagement-agent '{"name": "<name>", "linkedin_url": "<url>", "timeframe": <days>, "icp_id": <id>, "repeat": <true|false>}'6. Post-deploy
6. 部署后
Signal deployed: **{name}** (ID: {signal_id})
This is now monitoring who's engaging with this LinkedIn profile.
Results come in as they're found — just say "check on {signal_name}" anytime.信号已部署:**{name}**(ID:{signal_id})
该信号正在监测谁在与该LinkedIn主页互动。
结果会在发现后同步——随时说“查看{signal_name}”即可获取最新结果。7. Check back
7. 复查结果
Run to get results found so far.
bash "$API" POST /api/v1/signal/ '{"signal_id": <id>}'运行获取目前已找到的结果。
bash "$API" POST /api/v1/signal/ '{"signal_id": <id>}'