关于 categorizing-bsky-accounts
categorizing-bsky-accounts 是一项 Claude Skill,可获取 Bluesky 账号简介和帖子、提取关键词,并为主题分类整理数据。它支持多种账号输入方式,由 Claude 灵活分类,而非使用固定规则。
主要功能
- 01分析关注列表、粉丝、账号或文件
- 02获取账号简介和帖子
- 03使用 YAKE 提取关键词
- 04选择领域专用停用词
- 05按匹配词排除账号
- 06由 Claude 进行主题分类
适用场景
- 01审查关注列表中的主题分布
- 02从关注账号中寻找专家
- 03为精选账号列表分类
- 04过滤疑似垃圾或机器人账号
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ oaustegard/ claude-skills --skill categorizing-bsky-accounts安装后在 Claude Code 中输入/categorizing-bsky-accounts确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
CHANGELOG.mdREADME.mdscripts/bluesky_analyzer.py详细介绍
对 Bluesky 账号进行分类
获取 Bluesky 账号数据,并提取关键词供 Claude 按主题分类。脚本会将账号上下文(简介 + 帖子)压缩为简介 + 关键词,然后由 Claude 进行智能分类。
前置条件
需要: extracting-keywords skill(提供 YAKE 虚拟环境 + 领域停用词)
分析器会将关键词提取工作交给 extracting-keywords skill,该 skill 提供:
- 优化后的 YAKE 安装,依赖项精简
- 领域专用停用词:英语(574)、AI/ML(1357)、生命科学(1293)
- 支持 34 种语言
核心工作流
当用户请求分析 Bluesky 账号时:
-
确保已设置关键词提取 - 使用 Skill 工具调用 extracting-keywords skill,确保 YAKE 虚拟环境存在(如果本次会话中已调用,则跳过)
-
确定输入模式,根据用户的请求选择:
- 关注列表 → 使用
--following handle - 粉丝 → 使用
--followers handle - 账号列表 → 使用
--handles "h1,h2,h3" - 提供了文件 → 使用
--file accounts.txt
- 关注列表 → 使用
-
配置参数:
--accounts N- 要分析的账号数(默认:100,最大:100)--posts N- 每个账号的帖子数(默认:20,最大:100)--stopwords [en|ai|ls]- 选择领域专用停用词:en:英语(通用)ai:AI/ML 领域(推荐用于科技类账号)ls:生命科学(适用于生物医学/研究类账号)
--exclude "pattern1,pattern2"- 跳过垃圾账号/机器人账号
-
运行脚本 - 将简单文本格式的结果输出到 stdout:
@handle1.bsky.social (Display Name) Bio text here Keywords: keyword1, keyword2, keyword3 @handle2.bsky.social (Another Name) Bio text here Keywords: keyword4, keyword5, keyword6 -
对账号分类 - Claude 根据简介 + 关键词按主题对账号进行分类
快速开始
使用 AI/ML 停用词分析关注列表:
python scripts/bluesky_analyzer.py --following austegard.com --stopwords ai
分析粉丝:
python scripts/bluesky_analyzer.py --followers austegard.com
分析指定账号:
python scripts/bluesky_analyzer.py --handles "user1.bsky.social,user2.bsky.social,user3.bsky.social"
从文件读取:
python scripts/bluesky_analyzer.py --file accounts.txt --stopwords ai
过滤机器人账号:
python scripts/bluesky_analyzer.py --following handle --exclude "bot,spam,promo" --stopwords ai
参数
输入模式(选择一种)
--handles "h1,h2,h3" 以逗号分隔的 Bluesky 账号列表
--following HANDLE 分析 HANDLE 关注的账号
--followers HANDLE 分析关注 HANDLE 的账号
--file PATH 从文件读取账号(每行一个)
分析选项
--accounts N 要分析的账号数(1-100,默认:100)
--posts N 每个账号要获取的帖子数(1-100,默认:20)
--stopwords [en|ai|ls] 用于提取关键词的停用词(默认:en)
en:英语停用词(574 个词项)- 通用ai:AI/ML 领域停用词(1357 个词项)- 面向科技类账号ls:生命科学停用词(1293 个词项)- 面向生物医学/研究类账号
--exclude "word1,word2" 跳过简介/帖子中含有这些关键词的账号
输出格式
脚本会输出简单文本格式,供 Claude 处理:
@alice.bsky.social (Alice Smith)
AI researcher working on LLM alignment and safety
Keywords: alignment, safety research, interpretability, llm evaluation
@bob.bsky.social (Bob Johnson)
Full-stack developer building web applications
Keywords: react, typescript, node.js, api design, postgresql
@carol.bsky.social (Carol Williams)
Biotech researcher studying CRISPR applications
Keywords: crispr, gene editing, therapeutics, clinical trials
然后 Claude 会根据简介 + 关键词对账号进行分类,不使用硬编码规则。
常见工作流
检查你的关注列表
python scripts/bluesky_analyzer.py --following your-handle.bsky.social --stopwords ai
Claude 会按主题对账号进行分类,并找出你关注对象的规律。
查找某个主题的专家
python scripts/bluesky_analyzer.py --following alice.bsky.social --stopwords ai
向 Claude 提问:“这些账号中哪些是机器学习研究人员?”或“哪些人专注于气候科技?”
分析精选列表
cat > accounts.txt << 'EOF'
expert1.bsky.social
expert2.bsky.social
expert3.bsky.social
EOF
python scripts/bluesky_analyzer.py --file accounts.txt --stopwords ls
过滤机器人账号
python scripts/bluesky_analyzer.py --following handle --exclude "bot,spam,promo,follow back" --stopwords ai
技术详情
关键词提取
使用 YAKE 虚拟环境,将任务交给 extracting-keywords skill:
- 停用词选项(--stopwords):
en:英语(574 个词项)- 通用ai:AI/ML 领域(1357 个词项)- 过滤技术噪声和机器学习套话ls:生命科学(1293 个词项)- 过滤研究方法和临床术语
- N-gram:1-3 个词
- 去重:阈值为 0.9
- 关键词数量:每个账号取前 10 个
- 性能:与英语停用词相比,使用领域停用词的额外开销约为 5%
API 速率限制
Bluesky API 限制:
- 每 5 分钟 3000 次请求
- 每小时 5000 次请求
分析器通过内置延迟遵守这些限制。
分类算法
脚本的作用:
- 获取账户数据(简介 + 帖子)
- 提取关键词以压缩上下文
- 以简单格式输出简介 + 关键词
Claude 的作用:
- 阅读每个账户的简介 + 关键词
- 根据主题智能分类(不使用硬编码规则)
- 对账户分组、识别模式并回答用户问题
这种 Agentic 模式比硬编码关键词匹配更加灵活。
故障排除
“没有可分析的账户”
- 确认账号句柄格式正确(包含域名:handle.bsky.social)
- 检查账户是否存在,以及是否有公开的关注对象/关注者
“用于提取关键词的内容不足”
- 账户的帖子很少(少于 5 条)
- 帖子非常短
- 尝试增大
--posts参数
速率限制错误
- 减小
--accounts参数 - 在批次之间增加延迟
- 检查 Bluesky API 状态
导入错误
- 确认 extracting-keywords 技能可用
- 检查 YAKE 虚拟环境是否存在:
/home/claude/yake-venv/bin/python -c "import yake" - 确认 Python 版本为 3.8 或更高:
python3 --version
与其他技能集成
内置集成:
- extracting-keywords:自动将关键词提取任务委派给此技能优化过的 YAKE 虚拟环境,并使用特定领域的停用词
分类输出
根据账户的简介 + 关键词对账户进行分组,依据判断而非固定分类体系——类别和数量 取决于数据中的实际内容,而非模板。