名称: 社交智能 描述: 用于Claude Code生态系统的Twitter/X社交智能监控。扫描Anthropic/Claude Code团队成员的动态,提取可操作的洞察,跟踪状态,并生成报告。使用claude-in-chrome MCP进行浏览器自动化。 参数提示: scan [–accounts critical|high|all] [–depth shallow|deep] | report [–since YYYY-MM-DD] [–status pending|all] [–format markdown|json] [–save] | apply | refresh-accounts | discover-accounts | status 允许工具: Read, Write, Bash, Glob, Grep, Task, ToolSearch
社交智能
监控Anthropic和Claude Code团队成员的Twitter/X动态,以在官方文档更新前捕捉新功能、更新和洞察。
子命令
解析用户参数以确定子命令:
| 参数模式 | 子命令 |
|---|---|
scan, scan --accounts critical, scan --depth deep |
扫描动态 |
report, report --since 2026-02-01, report --save |
生成报告 |
apply |
应用洞察 |
refresh-accounts |
刷新账户 |
discover-accounts |
发现账户 |
status |
显示状态 |
migrate |
数据维护 |
compact |
数据维护 |
| (无参数) | 默认到 scan --accounts critical --depth shallow |
先决条件
在任何操作之前,确保数据目录已初始化:
CLAUDE_PROJECT_DIR="${CLAUDE_PROJECT_DIR:-$(pwd)}" python "plugins/claude-ecosystem/skills/social-intelligence/scripts/state_manager.py" init
扫描动态
参数
| 标志 | 默认值 | 选项 |
|---|---|---|
--accounts |
critical |
critical, high, all |
--depth |
shallow |
shallow, deep |
工作流程
步骤1: 加载配置
读取这些配置文件:
plugins/claude-ecosystem/skills/social-intelligence/config/accounts.json– 监控的账户plugins/claude-ecosystem/skills/social-intelligence/config/scan-config.json– 扫描参数、关键词、区域映射
如果 accounts.json 有一个空的 accounts 数组,提示用户:
未配置账户。首先运行
/claude-ecosystem:social-intelligence refresh-accounts从您的X关注列表中填充账户列表。
步骤2: 按优先级过滤账户
基于 --accounts 标志:
critical: 仅优先级为"critical"的账户high: 优先级在["critical", "high"]中的账户all: 所有账户
步骤2.5: 检查账户新鲜度
对于每个过滤的账户,检查最后一次扫描时间:
CLAUDE_PROJECT_DIR="${CLAUDE_PROJECT_DIR:-$(pwd)}" python "plugins/claude-ecosystem/skills/social-intelligence/scripts/state_manager.py" last-scanned "@handle"
如果 last_scanned 在浅扫描的最后2小时内(或深扫描的30分钟内),跳过该账户并在摘要中记录。这防止重复扫描。
步骤3: 加载claude-in-chrome MCP工具
在委托给扫描代理之前,加载所需的MCP工具:
使用ToolSearch加载:
- mcp__claude-in-chrome__tabs_context_mcp
- mcp__claude-in-chrome__tabs_create_mcp
- mcp__claude-in-chrome__navigate
- mcp__claude-in-chrome__get_page_text
- mcp__claude-in-chrome__javascript_tool
- mcp__claude-in-chrome__read_page
步骤4: 委托给x-feed-scanner代理
生成 claude-ecosystem:x-feed-scanner 代理(子代理类型:general-purpose),参数为:
{
"accounts": [过滤后的账户列表,包含个人资料URL],
"depth": "shallow|deep",
"max_posts_per_account": 20,
"max_scroll_attempts": 3,
"navigation_delay_ms": 2500,
"known_post_ids": [来自dedup-check-batch的列表],
"since_date": "最旧期望帖子的ISO时间戳"
}
重要:代理必须使用claude-in-chrome MCP工具来:
- 调用
tabs_context_mcp检查浏览器状态 - 调用
tabs_create_mcp打开一个专用的扫描标签页 - 对于每个账户:
navigate到个人资料,等待,get_page_text提取内容 - 使用
javascript_tool进行滚动分页和帖子ID提取 - 返回结构化帖子数据
步骤5: 批量去重对比现有帖子
收集扫描器输出的所有帖子ID,并一次性检查:
CLAUDE_PROJECT_DIR="${CLAUDE_PROJECT_DIR:-$(pwd)}" python "plugins/claude-ecosystem/skills/social-intelligence/scripts/state_manager.py" dedup-check-batch post_id_1 post_id_2 post_id_3
响应包括 new_ids(尚未存储)和 existing_ids(已在索引中)。过滤到仅新帖子。
步骤6: 委托给intelligence-analyst代理
生成 claude-ecosystem:intelligence-analyst 代理(子代理类型:general-purpose),参数为:
- 新帖子(去重后)
- 扫描配置(关键词、评分权重、区域映射)
代理对帖子进行分类,评分相关性,提取洞察,并映射到插件区域。
步骤7: 持久化状态
使用 state_manager.py append 写入结果:
# 记录扫描运行
CLAUDE_PROJECT_DIR="${CLAUDE_PROJECT_DIR:-$(pwd)}" python "plugins/claude-ecosystem/skills/social-intelligence/scripts/state_manager.py" append scan-log.jsonl '{"scan_id":"scan-YYYYMMDD-HHMMSS","timestamp":"...","accounts_scanned":N,...}'
# 写入每个分析的帖子
CLAUDE_PROJECT_DIR="${CLAUDE_PROJECT_DIR:-$(pwd)}" python "plugins/claude-ecosystem/skills/social-intelligence/scripts/state_manager.py" append posts-index.jsonl '{"post_id":"...","author_handle":"...","text":"...","relevance_score":0.92,...}'
# 写入每个洞察
CLAUDE_PROJECT_DIR="${CLAUDE_PROJECT_DIR:-$(pwd)}" python "plugins/claude-ecosystem/skills/social-intelligence/scripts/state_manager.py" append insights-log.jsonl '{"insight_id":"insight-{seq}","summary":"...","status":"pending_review",...}'
步骤8: 更新最后一次扫描时间戳
对于每个成功扫描的账户,更新 last_scanned 时间戳:
CLAUDE_PROJECT_DIR="${CLAUDE_PROJECT_DIR:-$(pwd)}" python "plugins/claude-ecosystem/skills/social-intelligence/scripts/state_manager.py" last-scanned "@handle" "2026-02-15T14:30:00Z"
步骤9: 呈现摘要
向用户显示简洁摘要:
## 扫描完成
**扫描账户:** 5 | **找到帖子:** 47 | **新帖子:** 8 | **相关:** 3
### 关键发现
1. [@borischerny] 宣布新钩子事件类型(评分:0.92,feature_announcement)
> "刚刚推出对新SessionPause钩子事件的支持..."
[在X上查看](https://x.com/borischerny/status/1893456789012345678)
### 待处理洞察 (1)
- **insight-42**: 新SessionPause钩子事件(置信度:0.85)
- 区域:hook-management, claude-code-observability
- 操作:更新钩子文档
运行 `/claude-ecosystem:social-intelligence report` 查看完整详情。
生成报告
参数
| 标志 | 默认值 | 选项 |
|---|---|---|
--since |
(所有时间) | 任何ISO日期 YYYY-MM-DD |
--status |
all |
pending, all, new, analyzed, actioned, dismissed |
--format |
markdown |
markdown, json |
--save |
(关闭) | 当存在时,保存报告到 .claude/social-intelligence/reports/ |
工作流程
运行报告生成器:
CLAUDE_PROJECT_DIR="${CLAUDE_PROJECT_DIR:-$(pwd)}" python "plugins/claude-ecosystem/skills/social-intelligence/scripts/generate_report.py" --since "YYYY-MM-DD" --status "pending" --format markdown --save
直接向用户显示输出。如果使用 --save,确认保存的文件路径。
应用洞察
读取待处理洞察,执行建议操作,并更新洞察状态。
工作流程
步骤1: 读取待处理洞察
CLAUDE_PROJECT_DIR="${CLAUDE_PROJECT_DIR:-$(pwd)}" python "plugins/claude-ecosystem/skills/social-intelligence/scripts/state_manager.py" read insights-log.jsonl --status pending_review
步骤2: 呈现给用户
显示待处理洞察及其建议操作,并让用户选择应用哪些。
步骤3: 执行选定操作
对于每个批准的洞察:
- 执行
action_suggested(例如,更新文档、创建问题、修改技能) - 将操作记录到
actions-log.jsonl:
CLAUDE_PROJECT_DIR="${CLAUDE_PROJECT_DIR:-$(pwd)}" python "plugins/claude-ecosystem/skills/social-intelligence/scripts/state_manager.py" append actions-log.jsonl '{"action_id":"action-{seq}","insight_id":"...","action_type":"...","description":"...","status":"completed","timestamp":"..."}'
步骤4: 更新洞察状态
CLAUDE_PROJECT_DIR="${CLAUDE_PROJECT_DIR:-$(pwd)}" python "plugins/claude-ecosystem/skills/social-intelligence/scripts/state_manager.py" update insights-log.jsonl insight_id "insight-42" '{"status":"actioned"}'
刷新账户
导航到用户的X关注列表并提取账户句柄,以填充 accounts.json。
工作流程
步骤1: 加载MCP工具
通过ToolSearch加载 claude-in-chrome 工具(同扫描步骤3)。
步骤2: 导航到关注列表
从 accounts.json 读取 following_list_url,然后:
tabs_create_mcp– 打开新标签页navigate到关注列表URLget_page_text– 提取页面内容javascript_tool– 滚动以加载更多账户(如果需要)
步骤3: 提取句柄
从页面文本中提取X句柄(模式如 @用户名)。
步骤4: 分类账户
对于每个提取的句柄,尝试分类优先级:
- 在他们的简介/描述文本中搜索 “anthropic” 或 “claude”
- 已知Claude Code团队成员 ->
critical - Anthropic员工 ->
high - AI/ML社区 ->
medium - 其他 ->
low
注意:优先级分类可能需要手动优化。在保存前将列表呈现给用户审查。
步骤5: 更新accounts.json
用户确认后,更新 plugins/claude-ecosystem/skills/social-intelligence/config/accounts.json:
- 添加新账户
- 保留现有优先级覆盖
- 更新
last_refreshed时间戳
发现账户
搜索X上尚未在监控列表中的新Anthropic/Claude Code相关账户。使用X搜索找到活跃推文关于Claude Code的人。
工作流程
步骤1: 加载MCP工具
通过ToolSearch加载 claude-in-chrome 工具(同扫描步骤3)。
步骤2: 读取发现配置
从 accounts.json 读取 discover_searches 以获取预配置的搜索查询:
[
{"query": "\"claude code\" from:verified", "description": "找到关于Claude Code的已验证账户推文"},
{"query": "\"anthropic\" \"claude\" engineer OR developer", "description": "找到讨论Claude的Anthropic工程师"},
{"query": "\"claude code\" shipped OR launched OR released", "description": "找到宣布Claude Code功能的账户"},
{"query": "\"@anthropicai\" claude code tip OR trick OR feature", "description": "找到分享Claude Code技巧并提到Anthropic的账户"}
]
步骤3: 执行搜索
对于每个搜索查询:
tabs_create_mcp– 打开新标签页(后续搜索可重用)navigate到https://x.com/search?q={encoded_query}&f=user进行人员搜索,然后也&f=live获取最近推文get_page_text– 提取搜索结果- 导航之间等待
navigation_delay_ms
步骤4: 提取候选账户
从搜索结果中提取:
- 账户句柄 (
@用户名) - 显示名称
- 简介文本片段(用于优先级分类)
过滤掉已在 accounts.json 中的账户。
步骤5: 分类候选者
基于简介/内容信号自动分类优先级:
| 信号 | 优先级 |
|---|---|
| 简介包含 “claude code” AND (“anthropic” OR “@anthropic”) | critical |
| 简介包含 “anthropic” AND (engineer OR developer OR research) | high |
| 简介包含 “anthropic”(任何角色) | high |
| 频繁推文关于Claude Code(3+结果) | medium |
| 单次提及或转推 | low |
步骤6: 呈现候选者供审查
向用户显示发现的账户:
## 发现的账户
找到7个尚未监控的新账户:
### 建议关键
- **@newengineer** - "在Anthropic构建Claude Code"
### 建议高
- **@anthropicdev** - "Anthropic软件工程师"
### 建议中
- **@aidevtips** - 频繁推文关于Claude Code
### 建议低
- **@techblogger** - 一条关于Claude Code的推文
添加所有建议?或选择特定账户添加?
步骤7: 更新accounts.json
用户确认后,将选定的账户添加到 accounts.json,标签为 "source": "discovered"。
自定义搜索
用户也可以传递自定义搜索查询:
/claude-ecosystem:social-intelligence discover-accounts "agent SDK anthropic"
这使用提供的查询运行单次X搜索,并遵循相同的提取/分类/审查流程。
显示状态
显示扫描历史和数据统计。
工作流程
CLAUDE_PROJECT_DIR="${CLAUDE_PROJECT_DIR:-$(pwd)}" python "plugins/claude-ecosystem/skills/social-intelligence/scripts/state_manager.py" stats
解析JSON输出并显示:
## 社交智能状态
**数据目录:** .claude/social-intelligence/data/
**当前序列:** 42
| 文件 | 条目数 | 大小 | 最新 | 最旧 |
|------|---------|------|--------|--------|
| scan-log.jsonl | 5 | 2.1 KB | 2026-02-15T14:30:00Z | 2026-02-10T09:00:00Z |
| posts-index.jsonl | 127 | 45.3 KB | 2026-02-15T14:30:05Z | 2026-02-10T09:01:00Z |
| insights-log.jsonl | 8 | 3.2 KB | 2026-02-15T14:31:00Z | 2026-02-10T09:15:00Z |
| actions-log.jsonl | 2 | 0.8 KB | 2026-02-14T16:00:00Z | 2026-02-11T10:30:00Z |
**孤立批处理文件:** 0
**孤立锁文件:** 0
数据维护
迁移
规范化所有现有JSONL数据到v2模式并去重:
CLAUDE_PROJECT_DIR="${CLAUDE_PROJECT_DIR:-$(pwd)}" python "plugins/claude-ecosystem/skills/social-intelligence/scripts/state_manager.py" migrate
此命令:
- 重命名弃用字段(
content_text->text,relevance_category->category, 等) - 从
author_handle+post_id构造缺失的url字段 - 标准化
post_id到{handle}-{numeric_id}格式 - 按数字ID去重帖子(保留最后一次出现)
- 按
insight_id去重洞察 - 移除孤立批处理和锁文件
压缩
从特定文件中移除重复项:
CLAUDE_PROJECT_DIR="${CLAUDE_PROJECT_DIR:-$(pwd)}" python "plugins/claude-ecosystem/skills/social-intelligence/scripts/state_manager.py" compact posts-index.jsonl
CLAUDE_PROJECT_DIR="${CLAUDE_PROJECT_DIR:-$(pwd)}" python "plugins/claude-ecosystem/skills/social-intelligence/scripts/state_manager.py" compact insights-log.jsonl
环境变量
| 变量 | 默认值 | 目的 |
|---|---|---|
CLAUDE_X_SCAN_DEV_ROOT |
(未设置) | 开发模式:覆盖数据目录 |
CLAUDE_X_SCAN_DEPTH |
shallow |
默认扫描深度 |
CLAUDE_X_SCAN_THRESHOLD |
0.4 |
相关性评分阈值 |
当 CLAUDE_X_SCAN_DEV_ROOT 设置时,所有数据写入到 {DEV_ROOT}/.claude/social-intelligence/data/ 而不是项目目录。
数据文件
所有状态存储在 {project}/.claude/social-intelligence/data/(git忽略):
| 文件 | 目的 | 去重键 |
|---|---|---|
.seq |
单调序列计数器 | N/A |
scan-log.jsonl |
扫描活动日志 | scan_id |
posts-index.jsonl |
处理的帖子 | post_id(数字后缀) |
insights-log.jsonl |
提取的智能 | insight_id |
actions-log.jsonl |
采取的操作 | action_id |
报告在使用 --save 时保存到 {project}/.claude/social-intelligence/reports/。
封装
此技能遵循反重复原则:
- 仅存储推文文本、元数据、洞察和操作建议
- 当洞察引用Claude Code文档时,在运行时查询
docs-management - 状态文件中不复制Claude Code文档内容
未来:调度
需要研究:调度可以在以后添加。潜在方法:
- Windows任务调度器 + 无头
claude -p将此技能作为提示- SessionStart钩子与自上次扫描以来的时间检查
- Cron作业(Unix)或任务调度器(Windows)调用Claude CLI
关键约束:
claude-in-chrome要求Chrome运行且扩展活动。 通过MCP(perplexity)研究调度Claude Code任务的最佳实践。