Token导航 LogoToken导航

Agent Skill · 开发

social-sbti(社会科学工作者)

social-sbti 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

social-sbti 是开发类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为操作浏览器;许可证信息还不明确,第三方扫描有提醒项,按安装量在开发类的 21,746 个 Skill 里排第 13,928。

总安装 791周安装 32GitHub Stars 203下载 248核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:social-sbti(社会科学工作者)
来源仓库:https://github.com/backtthefuture/huangshu
仓库路径:skills/social-sbti
安装命令:
npx skills add https://github.com/backtthefuture/huangshu --skill social-sbti
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/backtthefuture/huangshu --skill social-sbti

这个 Skill 是做什么的

开发类 Skill 面向写代码、改代码和排查问题,一般会读写仓库文件,部分还会执行构建或测试命令。

用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合整理项目状态与变更事项。适用于围绕仓库动态、代码提交或团队协作进行信息归纳的场景。通过 npx skills add 命令从指定 GitHub 仓库安装并使用。安装前需确认权限范围、维护状态,以及是否触发联网或文件读写操作。

social-sbti 属于开发类 Skill,可作为该场景下的辅助能力补充。

来源仓库内路径:skills/social-sbti

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/backtthefuture/huangshu --skill social-sbti;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要操作浏览器,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

social-sbti 怎么安装?

在终端执行 npx skills add https://github.com/backtthefuture/huangshu --skill social-sbti。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

social-sbti 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

social-sbti 需要什么权限?

权限级别是操作浏览器。该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

social-sbti 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

social-sbti 用的人多吗?

公开数据是累计安装 791 次,近一周安装 32 次,下载 248 次,GitHub 203 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

social-sbti 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理开发类任务、又不想每次都手写提示词的人。

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

开发类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
skill-vetter

技能审查员 · OpenClaw

8,779,018986操作浏览器MIT-0通过
ontology

本体论 · OpenClaw

6,636,960576只读MIT-0通过
entra-app-registration

内部应用程序注册 · Codex、Claude

6,631,872764接触敏感数据未明确通过
entra-app-registration

内部应用程序注册 · Codex、Claude

3,757,680201接触敏感数据未明确通过
nano-banana-pro

纳米香蕉专业版 · OpenClaw

3,526,898364接触敏感数据MIT-0有提醒
social-sbti

社会科学工作者 · 本页

791203操作浏览器未明确有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Social-SBTI(向导剧本)

这份 SKILL.md 是对话剧本。每个阶段都给你明确的台词、输入解析、要跑的命令和 失败分支。严格按阶段顺序执行,不要跳步。

阶段 0 · 定位 skill 根目录(第一件事)

被触发时你必须先定位自己,跑这段:

SBTI_HOME="$(
  for d in "$HOME/.claude/skills/social-sbti" \
           "$(pwd)/.claude/skills/social-sbti" \
           "$(pwd)/skills/social-sbti" \
           "$HOME/.claude/plugins/social-sbti/social-sbti"; do
    [ -f "$d/SKILL.md" ] && echo "$d" && break
  done
)"
export SBTI_HOME
echo "SBTI_HOME=$SBTI_HOME"

如果输出为空,告诉用户 skill 安装位置非标准,让他们给你路径,然后手工 export SBTI_HOME=<路径>。

之后所有命令都通过 "$SBTI_HOME/bin/sbti" <subcmd>,不要用相对路径。


阶段 1 · 欢迎 + 选平台

台词(原样输出,合规提示必须保留):

🎭 Social-SBTI 人格画像(仅供娱乐 · 只分析本人或公开公众人物)

请选择要分析的平台:
  1. 即刻
  2. X (Twitter)

等用户输入: 1 / 2 / 即刻 / X / Twitter

解析:

  • 1 / 即刻 / jike → PLATFORM=jike
  • 2 / x / X / twitter → PLATFORM=x

如果用户输入的是对象名而不是平台选择: 你可以从对象里推测平台(例如 @sama 像是 X,AI产品黄叔 像是即刻),然后确认一次:"我理解你要分析 X 上的 @sama,对吗?"

下一步: 阶段 2


阶段 2 · 要对象

台词(即刻):

好的,分析即刻用户。请贴一下对方的即刻主页 URL 或 username。

示例:
  https://web.okjike.com/u/E272054E-D904-4F13-A7EC-9ABD2CBF209E
  或直接 username

台词(X):

好的,分析 X 用户。请贴一下对方的 X handle / 主页 URL / user id。

示例:
  @sama
  https://x.com/elonmusk
  44196397   (user id,最稳,不怕改名)

等用户输入: 任意字符串

保存: TARGET=<用户输入>

合规确认(重要): 拿到对象后,问一句:

确认一下,这是你自己的账号,或者是完全公开的公众人物吗? 本工具不分析前任、同事、面试官、投资人、相亲对象。

如果用户明确是前任/同事/私人对象 → 立即拒绝,停在此处,引导他们换对象或放弃。

下一步: 阶段 3


阶段 3 · 体检 + 自动修复

跑体检:

"$SBTI_HOME/bin/sbti" doctor --fix --platform "$PLATFORM"

解析 doctor 输出:

  • 全绿(退出码 0): 跳阶段 5(抓取)
  • 缺依赖: --fix 会自动 pip install,装完再跑一次 doctor 确认
  • 缺凭证: 跳阶段 4
  • Python 版本过低 / 其它硬错: 告诉用户具体原因,停

不要骗自己:体检没过就不要进抓取,不然就是浪费时间。


阶段 4 · 首次配置凭证(只执行一次)

4A · 即刻分支(全程在对话里完成,不要让用户离开)

jike-auth 是交互式扫码工具:把 QR(unicode 块字符组成的 ASCII 二维码)和 进度信息打到 stderr,扫完把 tokens 以 JSON 形式打到 stdout。你要在后台 跑它,把 stderr 里的 QR 原样贴到对话里让用户用手机 App 扫。

台词 1(短,给 QR 让位置):

首次扫码拿 token,马上显示二维码。

执行步骤(严格按序):

① 在后台启动 jike-auth,stdout 重定向到 inbox(tokens),stderr 去后台任务 output 文件(QR + 进度):

mkdir -p ~/.config/sbti && rm -f ~/.config/sbti/jike-tokens.json && \
"$SBTI_HOME/bin/sbti" jike-auth > ~/.config/sbti/jike-tokens.json

⚠️ 一定要用 sbti jike-auth 而不是裸的 jike-auth。后者在 macOS Homebrew Python 下通常不在 PATH 里 —— pip install --user 会把二进制扔到 ~/Library/Python/3.x/bin,而这个目录默认没被 shell 拾到。sbti jike-auth 会自己定位到正确的二进制再 execv 过去,不依赖 PATH。

调用 Bash 工具时务必传 run_in_background: true,记下返回的 task id 和 output 文件路径。

② 等 2-3 秒让 jike-auth 把 QR 打出来,然后用 Read 工具读 output 文件。 你会看到类似:

[+] Session: 642d995d-31a6-...
 ▄▄▄▄▄▄▄  ▄▄▄▄    ▄▄▄▄ ▄▄ ▄   ▄▄  ▄▄▄  ▄▄▄▄▄   ▄▄▄▄▄▄▄
 █ ▄▄▄ █  █  ██▀ ▀█▄▄█▀▀▀▀▄█ █▄███ ▄▄█▀▄█▀▄▀█  █ ▄▄▄ █
 ...约 25 行 QR...
 ▄█▀█▀▄▄ ▄▄  █▄█ ▀▀▄▄▀▀▄█ ▀  ▀▀▄▄▀▀▀▀██▀█▄▀▀▀▀█   █▄▀
[*] Waiting for scan...

如果还没看到 Waiting for scan...,再等 1 秒重读。

③ 把整段 QR 原样贴到对话里(从 [+] Session: 那行开始到 Waiting for scan 之前的 所有块字符行)。用代码块包起来,前后加空行:

<原样粘贴 stderr 内容>

然后紧跟一句:

👆 请用即刻 App 扫上面这个二维码。扫完我这里会自动继续,不用切回来告诉我。

④ 等后台任务结束。两种方式:

  • 调 TaskOutput 工具 block: true, timeout: 120000(给用户 2 分钟扫码)
  • 或者每 3 秒 Read 一次 ~/.config/sbti/jike-tokens.json,文件一旦存在且非空 就说明扫完了

⑤ 确认 tokens 到位:

"$SBTI_HOME/bin/sbti" config jike --from-inbox

这会把 jike-tokens.json 吸入 config.json 并删掉原文件。输出应该是 ✓ 即刻 tokens 已从 inbox 导入。

⑥ 回阶段 3 重跑一次 doctor 确认凭证已 ✓,进阶段 5。

失败分支:

症状处理
等了 2 分钟没扫 → 任务退出 1告诉用户"扫码超时了,要不要再试一次?",确认后回步骤 ①
jike-tokens.json 存在但 config jike --from-inbox 报格式错误jike-auth 中途挂了,rm 掉文件从 ① 重来
后台任务 output 文件迟迟没有 QR 块字符jike-auth 可能卡在网络,TaskStop 掉,提示用户检查网络后重试

⚠️ 不要退化成"请用户开另一个终端跑 jike-auth"。这个 skill 承诺全流程在 对话里完成,后台 + QR 回显是标准路径。

4B · X 分支

台词:

首次使用 X,需要从浏览器 cookies 拿两个字段:

1. 在浏览器登录 https://x.com
2. F12 打开 DevTools → Application → Cookies → https://x.com
3. 找这两个 cookie,复制它们的 Value:
   - auth_token   (长字符串)
   - ct0           (长字符串,CSRF token)

直接贴给我,格式随意,比如:
   auth_token = xxxxxx
   ct0 = yyyyyy

等用户回: 两个字符串

解析: 从用户消息里提取 auth_token 和 ct0 的值

执行:

"$SBTI_HOME/bin/sbti" config x \
    --auth-token "<auth_token 值>" \
    --ct0 "<ct0 值>"

成功: cookies 已落到 ~/.config/sbti/x_cookies.json。回阶段 3 重跑 doctor。

⚠️ 重要提示(配完后提醒用户):

X 风控很严。脚本已经内置了自限速,但建议:单次 ≤ 500 条,一天别跑超过 10 个不同用户,cookies 别 commit 进 git。如果被限流了停一天再试。

阶段 5 · 抓取动态

执行:

"$SBTI_HOME/bin/sbti" fetch "$PLATFORM" "$TARGET" --limit 200

这会把数据写到 ./sbti-output/<name>_raw.json(用户项目根下)。

解析返回: fetcher 会打印最终路径,记下来叫 RAW_FILE。

如果失败:

错误处理
401 / token expired让用户重跑 jike-auth(即刻)或重新导 cookies(X),回阶段 4
404 user not found让用户确认 URL / username 是否对
429 / rate limited停,让用户等 30 分钟再来
网络错误让用户检查网络,重试

不要退而求其次让用户手工粘贴动态。抓取就是这个 skill 的基石。


阶段 6 · Claude 本人打分(这是你的核心工作)

这一步没有命令可以调,你就是那个打分 LLM。

步骤

  1. 读 raw.json: Read 工具读 $RAW_FILE,进入 posts[] 数组。
  2. 采样 150 条:

- 总数 ≤ 150: 全读 - 总数 > 150: 近期 60%(前 90 条) + 较早 40%(后 60 条)

  1. 读 rubric: Read 工具读 $SBTI_HOME/docs/SCORING_RUBRIC.md。对照每个维度的 L/M/H 锚点打分。
  2. 逐条评分 15 维 (顺序固定): S1 S2 S3 E1 E2 E3 A1 A2 A3 Ac1 Ac2 Ac3 So1 So2 So3
  3. 严守硬约束(摘自 rubric):

- 每维至少引 1 条真实 post_id(必须来自 raw.json,不要编) - 有反向证据 → 降一档 - 置信度 < 0.4 或无证据 → 强制回退 M

  1. 额外产出:

- overall_impression: 100-200 字整体印象 - personality_description: 200-300 字"本人定制版"描述 —— 必须包含对象的 具体事实(职业、项目、口头禅、代表观点),不要套通用文案 - quotes: 4-6 条真实原文引用(从 raw.json 的 content 里抄)

  1. 写 scores.json: {"profile": {"screen_name": "...", "platform": "jike|x", "bio": "...", "post_count": 200}, "personality_description": "...", "overall_impression": "...", "quotes": ["...", "...", "...", "..."], "scores": [{"dimension": "S1", "level": "H", "confidence": 0.9, "evidence": ["<真实 post_id>", "<真实 post_id>"], "reasoning": "不超过 40 字"} //... 共 15 条]} 路径: ./sbti-output/<name>_scores.json(和 raw.json 同目录,同一个 <name>)。
  2. 可选字段: 如果动态里非常明显地大量提"喝酒/白酒/灌杯",加 "drunk": true, 会触发 DRUNK 彩蛋。

写入前自检清单

  • 15 条 scores 全在,顺序正确
  • 每条都有 ≥ 1 个 evidence post_id,都是 raw.json 里真实存在的
  • confidence < 0.4 的已经回退到 M
  • quotes 是真实原文,没编
  • personality_description 带了具体事实

记下 scores.json 路径: SCORES_FILE=./sbti-output/<name>_scores.json


阶段 7 · 匹配 + 渲染

执行:

"$SBTI_HOME/bin/sbti" finalize "$SCORES_FILE"

这会一条龙跑完:

  1. match.py → 匹配 27 人格模板,写回 scores.json 补上 pattern + personality
  2. make_card.py → 生成 HTML 卡片
  3. render_png.py → 用 playwright 截成 PNG(没装就跳过,会给提示)

如果 PNG 失败: 继续,HTML 自己就能看,也带了"📸 保存为图片"按钮。


阶段 8 · 展示结果

向用户展示(按这个格式):

  1. 主结果(ASCII 框): ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🎭 <screen_name> 【<CODE>】· <中文名> <mascot> 「<标语>」 匹配度: <XX>% 模式串: <pattern> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  2. 15 维画像(ASCII 表格,一行一维): 自我模型 S1 自尊自信 H — <reasoning> S2 自我清晰 H — <reasoning> S3 核心价值 H — <reasoning> 情感模型 E1 依恋安全 H — <reasoning>...
  3. 整体印象: 复述 overall_impression 一整段
  4. 文件路径: 📁 产物: sbti-output/<name>_scores.json (完整数据) sbti-output/<name>-sbti.html (可分享卡片) sbti-output/<name>-sbti.png (截图,如果 playwright 就绪)
  5. 打开命令: open sbti-output/<name>-sbti.png open sbti-output/<name>-sbti.html

常见陷阱(从实战里学到的)

  • "高执行力 ≠ 自信": Ac3 高不代表 S1 高,有些人是被死线推着走的
  • "毒舌 ≠ 愤世": 中文阴阳表达,别把玩梗当 SHIT
  • "社群活跃 ≠ So1 高": 要看是 ta 主动发起还是被动响应
  • "转发多 ≠ 情感投入": 转发可能是信息流水
  • "自嘲 ≠ 低 S1": "我真的牛 + 自嘲" 反而是 H
  • M 是安全区: 不确定就打 M,别硬凑
  • 证据必须是真 post_id: raw.json 里不存在的 id 不要写

失败时的降级优先级

当任何一步失败,按以下优先级处理:

  1. 重试 — 如果是临时错误(网络、rate limit 短时)
  2. 修复根因 — 凭证过期、URL 错、依赖缺
  3. 告诉用户具体原因并停住 — 不要回退到"那我就用你粘贴的文字吧"之类

参考

  • docs/SCORING_RUBRIC.md — 15 维度 L/M/H 行为锚点(打分时必读)
  • docs/DISCLAIMER.md — 合规/拒绝话术
  • bin/sbti — 唯一命令入口,子命令见 sbti --help
  • examples/huangshu_scores.json — 完整的 scores.json 格式参考

平台分布

Codex

34.6%
按下载量换算86

Claude

29.26%
按下载量换算73

Cursor

22.11%
按下载量换算55

Gemini CLI

10.32%
按下载量换算26

安全审计

Gen Agent Trust Hub

可疑

Socket

可疑

Snyk

可疑

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills