本文へ移動
cccskills
無料GitHub で公開

sbti-test

SBTI 赛博人格测试 — 互联网最火的人格测试,27 种沙雕人格等你解锁。可以测自己,也可以测你的 AI agent。

**当以下情况时使用此 Skill**: (1) 用户说"做 SBTI 测试"、"SBTI"、"赛博人格测试"、"测人格"、"人格测试" (2) 用户说"给龙虾做测试"、"测一下我的 agent" (3) 用户提到 CTRL、BOSS、SEXY、IMSB、DEAD 等 SBTI 人格代码 (4) 用户说"来个性格测试"、"整点沙雕测试"

インストール方法を見る

含まれるファイル(38)

  • SKILL.md18.6 KB
  • assets/wechat-group-qr.png11.1 KB
  • deploy/deploy_skill_core.js45.0 KB
  • deploy/deploy_skill.js4.6 KB
  • deploy/package.json42 B
  • LICENSE1.1 KB
  • README_EN.md6.7 KB
  • README.md7.3 KB
  • references/personalities.md22.1 KB
  • references/questions.md6.7 KB
  • templates/sbti-result/avatars/ATM-er.webp9.2 KB
  • templates/sbti-result/avatars/BOSS.webp8.7 KB
  • templates/sbti-result/avatars/CTRL.webp8.2 KB
  • templates/sbti-result/avatars/DEAD.webp10.1 KB
  • templates/sbti-result/avatars/Dior-s.webp11.0 KB
  • templates/sbti-result/avatars/DRUNK.webp9.7 KB
  • templates/sbti-result/avatars/FAKE.webp8.1 KB
  • templates/sbti-result/avatars/FUCK.webp13.8 KB
  • templates/sbti-result/avatars/GOGO.webp7.6 KB
  • templates/sbti-result/avatars/HHHH.webp8.3 KB
  • templates/sbti-result/avatars/IMFW.webp8.9 KB
  • templates/sbti-result/avatars/IMSB.webp12.3 KB
  • templates/sbti-result/avatars/JOKE-R.webp8.4 KB
  • templates/sbti-result/avatars/LOVE-R.webp10.1 KB
  • templates/sbti-result/avatars/MALO.webp9.5 KB
  • templates/sbti-result/avatars/MONK.webp8.9 KB
  • templates/sbti-result/avatars/MUM.webp8.4 KB
  • templates/sbti-result/avatars/OH-NO.webp8.9 KB
  • templates/sbti-result/avatars/OJBK.webp7.8 KB
  • templates/sbti-result/avatars/POOR.webp10.3 KB
  • templates/sbti-result/avatars/SEXY.webp7.7 KB
  • templates/sbti-result/avatars/SHIT.webp8.2 KB
  • templates/sbti-result/avatars/SOLO.webp8.1 KB
  • templates/sbti-result/avatars/THAN-K.webp8.5 KB
  • templates/sbti-result/avatars/THIN-K.webp10.3 KB
  • templates/sbti-result/avatars/WOC.webp8.8 KB
  • templates/sbti-result/avatars/ZZZZ.webp9.3 KB
  • templates/sbti-result/template.html25.0 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

🧠 SBTI 赛博人格测试

📁 路径约定

本文档中所有 {baseDir} 指的是此 SKILL.md 文件所在的目录。 使用时请将 {baseDir} 替换为实际的相对路径(例如 ./ 或 skill 安装目录)。 不要使用绝对路径,始终使用相对于当前工作目录的路径。

🚨 核心规则

规则 1:必须完整走完所有 30 道题。 不能跳题,不能猜测用户答案,不能自己替用户选择。每道题都要展示完整选项文本。

规则 2:不能提前透露人格结果。 在全部题目答完之前,不能暗示用户可能的人格类型。

规则 3:结果展示必须有仪式感。 不能干巴巴地说"你是 CTRL",必须按照格式模板展示,包含开场白、描述、维度雷达图。

规则 4:两种模式要区分清楚。

  • 「自测模式」:逐题问用户,用户自己选答案
  • 「Agent 模式」:你根据自己作为 AI 的真实特质来回答,生成你自己的人格报告

执行流程

Step 0: 确认测试模式

问用户想要哪种模式:

🧠 SBTI 赛博人格测试 — 30 道题,解锁你的沙雕人格!

请选择测试模式:
1️⃣ 测自己 — 我来回答 30 道题
2️⃣ 测 Agent — 让 AI 以自己的视角答题,看看龙虾是什么人格

Step 1: 自测模式(用户自己答题)

出题规则:

  • 每次出 1 题,展示题号、维度标签、题目、三个完整选项
  • 等用户回答后再出下一题
  • 用户可以用 A/B/C 或直接说内容来回答
  • 在第 10 题和第 20 题之后可以插一句鼓励(如"已完成 1/3!继续加油")
  • 特殊题在第 15 题后随机插入

出题格式:

📝 第 X/30 题 [维度标签]

题目内容

A. 选项A内容
B. 选项B内容
C. 选项C内容

特殊题处理:

  • 在第 15 题之后的某个时机,插入特殊题1:"您平时有什么爱好?"
  • 如果用户选了 C(饮酒),追加特殊题2
  • 如果特殊题2选了 B(保温杯白酒),直接跳到结果,锁定 DRUNK

Step 2: Agent 模式(AI 自测)

你要以一个 AI agent 的真实视角回答所有 30 道题:

  • 基于你作为 AI 的真实特质来答,而不是随机选
  • 先静默回答完所有 30 题
  • 然后计算结果
  • 最后展示过程 + 结果("让我以 AI 的视角来逐一审视这些问题……")

展示时的格式:

🤖 Agent 自测过程

q1 [S1 自尊自信]: C — 我是 AI,没有自卑,但我也不是"不是我!"的语气
q2 [S1 自尊自信]: C — 我不会觉得周围的人比我优秀
...(简要展示每题选择和理由)

✅ 30 题作答完成,开始计算...

Step 3: 计算结果

严格按照以下算法执行,不要跳过任何步骤:

  1. 汇总分数:将 30 道常规题按维度汇总,每维度 2 题,总分 2~6

  2. 转等级:

    • 2~3 分 → L (Low)
    • 4 分 → M (Mid)
    • 5~6 分 → H (High)
  3. 生成 15 位等级码,格式:S1 S2 S3 - E1 E2 E3 - A1 A2 A3 - Ac1 Ac2 Ac3 - So1 So2 So3

  4. 逐一匹配 25 种人格:

    • 将 L=1, M=2, H=3
    • 逐位算差值绝对值,求总距离
    • 相似度 = (1 - 总距离/30) × 100%
  5. 排序选出最佳匹配:

    • 相似度最高者胜出
    • 相似度相同时,完全命中维度数多者优先
  6. 兜底检查:

    • 最高相似度 < 60% → 强制匹配 HHHH(傻乐者)
    • 触发 DRUNK 彩蛋 → 直接锁定 DRUNK(100%)
  7. 计算五维雷达得分:

    • 将每个维度的等级转为分数:H=100, M=60, L=25
    • 按 5 大模型分组,取 3 维度平均值(四舍五入取整):
      • 自我 = round((S1分 + S2分 + S3分) / 3)
      • 情感 = round((E1分 + E2分 + E3分) / 3)
      • 态度 = round((A1分 + A2分 + A3分) / 3)
      • 行动 = round((Ac1分 + Ac2分 + Ac3分) / 3)
      • 社交 = round((So1分 + So2分 + So3分) / 3)
    • 示例:CTRL 的 S 组为 HHH → round((100+100+100)/3) = 100
  8. 查询稀有度:

    • 从 personalities.md 的「稀有度数据」表中查出该人格的等级(SSR/SR/R/N)、中文标签和人群占比
    • 此数据将同时用于聊天输出和落地页模板

完整的人格模式数据、题目细节和稀有度数据见 personalities.md 和 questions.md。

Step 4: 展示结果

⚠️ 必填字段清单 — 缺一不可,输出前逐项核对:

  1. 等级码(15 位 HML 编码,如 HHH-HMH-MHH-HHH-MHM)
  2. 人格代码 + 中文名
  3. 匹配度百分比
  4. 稀有度等级 + 中文标签 + 人群占比(从 personalities.md 稀有度数据表获取)
  5. 开场白(从 personalities.md 原文获取)
  6. 完整人格描述(从 personalities.md 原文获取,不要缩写或改写)
  7. 五维雷达概览(5 个模型组得分 + ASCII 条形图)
  8. 15 维度详情(每个维度一行,含 ASCII 条 + H/M/L 等级)
  9. TOP 3 最接近人格(代码 + 名称 + 百分比)

以上 9 项全部必须出现在输出中。如果漏掉任何一项,视为输出不完整。

必须按以下格式展示,不能省略任何部分:

═══════════════════════════════════════
🧠 SBTI 赛博人格测试结果
═══════════════════════════════════════

你的等级码:XXX-XXX-XXX-XXX-XXX

匹配人格:【人格代码】— 中文名
匹配度:XX%
稀有度:SSR · 超稀有(人群占比 X.X%)

───────────────────────────────────────

💬 开场白

"开场白内容"

───────────────────────────────────────

📖 人格解读

完整描述内容(从 personalities.md 获取,原文复制,不要缩写)

───────────────────────────────────────

📊 五维雷达概览

自我  ██████████ 100
情感  █████████░  87
态度  █████████░  87
行动  ██████████ 100
社交  ███████░░░  73

───────────────────────────────────────

📋 15 维度详情

自我模型    S1 自尊自信:   ██████████ H
            S2 自我清晰度: ████████░░ M
            S3 核心价值:   ██████████ H

情感模型    E1 依恋安全感: ██████████ H
            E2 情感投入度: ████████░░ M
            E3 边界与依赖: ██████████ H

态度模型    A1 世界观倾向: ████████░░ M
            A2 规则灵活度: ██████████ H
            A3 人生意义感: ██████████ H

行动驱力    Ac1 动机导向:  ██████████ H
            Ac2 决策风格:  ██████████ H
            Ac3 执行模式:  ██████████ H

社交模型    So1 社交主动性: ████████░░ M
            So2 人际边界感: ██████████ H
            So3 表达真实度: ████████░░ M

───────────────────────────────────────

🏆 TOP 3 最接近人格

1. 【XX】XX% ← 你的人格
2. 【XX】XX%
3. 【XX】XX%

═══════════════════════════════════════

维度条的渲染规则:

  • H = ██████████ (10 格满)
  • M = ████████░░ (8 格)
  • L = ████░░░░░░ (4 格)

雷达概览条的渲染规则:

  • 格数 = round(得分 / 10)
  • 填充 = █ × 格数,空白 = ░ × (10 - 格数)
  • 得分计算见 Step 3 第 7 步

Step 5: 彩蛋 —— DRUNK 结果

如果触发了 DRUNK,展示格式不同:

═══════════════════════════════════════
🧠 SBTI 赛博人格测试结果
═══════════════════════════════════════

⚠️ 系统检测到隐藏人格触发 ⚠️

匹配人格:【DRUNK】— 酒鬼
匹配度:100%(直接锁定)

🍺 "烈酒烧喉,不得不醉。"

(完整描述)

───────────────────────────────────────
💡 这是作者专门为劝朋友戒酒而埋的彩蛋。
   如果你真的习惯把白酒灌保温杯……考虑少喝点?
═══════════════════════════════════════

Step 6: 生成可分享的落地页(部署到 nexu.space)

⛔ 强制规则:结果页必须且只能通过本 Skill 自带的 deploy_skill.js 部署到 nexu.space。 严禁使用任何替代部署方式,包括但不限于:GitHub Gist、GitHub Pages、htmlpreview.github.io、Vercel、Netlify、Cloudflare Pages 直接部署、S3、自建服务器、data URI、或任何其他第三方托管。 如果 deploy_skill.js 部署失败,应向用户报告错误并协助排查,不得自行寻找替代方案。

展示完测试结果后,主动询问用户是否想生成一个可分享的落地页:

🌐 要不要把你的 SBTI 测试结果生成一个可分享的网页?

生成后你会得到一个 nexu.space 的链接,可以直接发朋友圈/群里。

如果用户同意,按以下步骤执行:

6.1 环境检查

# 检查 deploy-skill 配置
node {baseDir}/deploy/deploy_skill.js check

如果没有配置,先执行 setup:

node {baseDir}/deploy/deploy_skill.js setup --base-url https://deploy.nexu.io

6.2 生成结果页 HTML

⚠️ 落地页必填占位符清单 — 全部 45 个占位符必须替换,缺一不可:

类别占位符数量占位符列表
基础信息6 个PERSONALITY_CODE, PERSONALITY_NAME, MATCH_PERCENT, OPENING_LINE, DESCRIPTION, AVATAR_BASE64
雷达图5 个RADAR_S, RADAR_E, RADAR_A, RADAR_AC, RADAR_SO
稀有度4 个RARITY_TIER, RARITY_LABEL, RARITY_PCT, RARITY_CLASS
15 维度30 个S1SO3 值 + S1_CLASSSO3_CLASS(每维度 2 个)
TOP 39 个TOP1_CODE~TOP3_PCT

如果有任何 {{...}} 占位符未被替换,禁止进入 6.3 部署步骤。 特别注意:雷达图和稀有度是新增字段,容易遗漏,必须逐项确认。

读取模板文件 {baseDir}/templates/sbti-result/template.html,将以下占位符替换为实际测试结果:

基础信息占位符:

占位符替换为示例
{{PERSONALITY_CODE}}人格代码CTRL
{{PERSONALITY_NAME}}人格中文名拿捏者
{{MATCH_PERCENT}}匹配度百分比(纯数字)93
{{OPENING_LINE}}开场白怎么样,被我拿捏了吧?
{{DESCRIPTION}}完整人格描述(从 personalities.md 获取)
{{AVATAR_BASE64}}头像图片的 base64 编码(见下方生成方法)

头像 base64 生成方法:

头像文件在 {baseDir}/templates/sbti-result/avatars/ 目录下,用以下命令获取 base64:

base64 -i {baseDir}/templates/sbti-result/avatars/{CODE}.webp | tr -d '\n'

将输出的 base64 字符串直接替换 {{AVATAR_BASE64}}。

头像文件名映射: 大多数人格直接用代码,如 CTRL.webp。WOC! 对应 WOC.webp(去掉感叹号)。

雷达图占位符(5 大模型组得分,H=100/M=60/L=25 取平均四舍五入):

占位符替换为计算方法示例
{{RADAR_S}}自我模型得分round((S1分+S2分+S3分)/3)87
{{RADAR_E}}情感模型得分round((E1分+E2分+E3分)/3)73
{{RADAR_A}}态度模型得分round((A1分+A2分+A3分)/3)87
{{RADAR_AC}}行动驱力得分round((Ac1分+Ac2分+Ac3分)/3)100
{{RADAR_SO}}社交模型得分round((So1分+So2分+So3分)/3)73

稀有度占位符(从 personalities.md 稀有度数据表查询):

占位符替换为示例
{{RARITY_TIER}}稀有度等级代码SSR
{{RARITY_LABEL}}稀有度中文标签超稀有
{{RARITY_PCT}}人群占比数字1.2
{{RARITY_CLASS}}CSS class(等级小写)ssr

15 维度占位符(每个维度两个:等级值 + CSS class):

维度值占位符class 占位符说明
S1 自尊自信{{S1}}{{S1_CLASS}}值填 高/中/低,class 填 h/m/l
S2 自我清晰度{{S2}}{{S2_CLASS}}同上
S3 核心价值{{S3}}{{S3_CLASS}}同上
E1 依恋安全感{{E1}}{{E1_CLASS}}同上
E2 情感投入度{{E2}}{{E2_CLASS}}同上
E3 边界与依赖{{E3}}{{E3_CLASS}}同上
A1 世界观倾向{{A1}}{{A1_CLASS}}同上
A2 规则与灵活度{{A2}}{{A2_CLASS}}同上
A3 人生意义感{{A3}}{{A3_CLASS}}同上
Ac1 动机导向{{AC1}}{{AC1_CLASS}}同上
Ac2 决策风格{{AC2}}{{AC2_CLASS}}同上
Ac3 执行模式{{AC3}}{{AC3_CLASS}}同上
So1 社交主动性{{SO1}}{{SO1_CLASS}}同上
So2 人际边界感{{SO2}}{{SO2_CLASS}}同上
So3 表达与真实度{{SO3}}{{SO3_CLASS}}同上

class 规则:高 → h,中 → m,低 → l(小写) 值显示规则:高 → 高,中 → 中,低 → 低(中文)

TOP 3 占位符:

占位符替换为示例
{{TOP1_CODE}}第 1 名人格代码CTRL
{{TOP1_NAME}}第 1 名中文名拿捏者
{{TOP1_PCT}}第 1 名匹配度93
{{TOP2_CODE}}第 2 名人格代码BOSS
{{TOP2_NAME}}第 2 名中文名领导者
{{TOP2_PCT}}第 2 名匹配度87
{{TOP3_CODE}}第 3 名人格代码GOGO
{{TOP3_NAME}}第 3 名中文名行者
{{TOP3_PCT}}第 3 名匹配度83

6.2.1 部署前验证(必须执行)

在写入 HTML 文件之前,必须逐项确认以下占位符已全部替换:

✅ 检查清单(逐项确认):
□ PERSONALITY_CODE / PERSONALITY_NAME / MATCH_PERCENT — 基础信息
□ OPENING_LINE / DESCRIPTION — 开场白和描述
□ AVATAR_BASE64 — 头像 base64(用 base64 命令生成)
□ RADAR_S / RADAR_E / RADAR_A / RADAR_AC / RADAR_SO — 五维雷达得分(H=100,M=60,L=25 取均值)
□ RARITY_TIER / RARITY_LABEL / RARITY_PCT / RARITY_CLASS — 稀有度(查 personalities.md)
□ S1~SO3 + S1_CLASS~SO3_CLASS — 15 维度值和 CSS class
□ TOP1~TOP3 的 CODE / NAME / PCT — TOP 3 匹配

如果最终 HTML 中仍包含 {{ 字符串,说明有占位符未被替换,必须修复后才能部署。

6.3 打包并部署

由于头像已内联为 base64,部署包只需要一个 index.html 文件,无需任何外部资源:

# 1. 创建临时目录(每次清空重建)
rm -rf /tmp/sbti-deploy && mkdir -p /tmp/sbti-deploy

# 2. 将替换完占位符的 HTML 写入 index.html
#   (Agent 用写文件工具将最终 HTML 写入 /tmp/sbti-deploy/index.html)

# 3. 打包(只有 index.html 一个文件)
cd /tmp/sbti-deploy && zip -r /tmp/sbti-result.zip .

# 4. 提交部署
node {baseDir}/deploy/deploy_skill.js submit \
  --zip /tmp/sbti-result.zip \
  --bot-id BOT_ID \
  --chat-id CHAT_ID \
  --chat-type channel \
  --channel slack

关键:模板中的头像图片已经通过 {{AVATAR_BASE64}} 内联到 HTML 的 <img src="data:image/webp;base64,..."> 中,不需要复制任何图片文件,zip 里只有 index.html。

6.4 部署成功后的消息

当部署完成,向用户发送:

🎉 你的 SBTI 测试结果页已上线!

🔗 链接:{link}

分享文案(已复制到剪贴板):
"我的 SBTI 赛博人格是【{代码}】{中文名}!匹配度 {百分比}%,来测测你的 → {link}"

部署规则(强制执行):

  • 唯一部署通道:只能使用 {baseDir}/deploy/deploy_skill.js,最终 URL 必须是 nexu.space 域名
  • 禁止替代方案:不得使用 GitHub Gist、GitHub Pages、htmlpreview、Vercel、Netlify 或任何其他方式部署
  • 禁止自建 HTML:必须使用 {baseDir}/templates/sbti-result/template.html 模板,不得从零编写 HTML
  • 禁止外部资源引用:最终 HTML 不得引用任何外部图片/CSS/JS URL,所有资源必须内联(头像用 base64、样式用 inline CSS)
  • 不要使用绝对路径:所有 {baseDir} 引用必须是相对路径
  • 不要捏造 job id、URL 或完成状态
  • 部署期间不能说"已上线"——必须等到 status=succeeded 且有 nexu.space URL
  • 如果部署失败,如实告知用户错误信息,不得自行切换到其他部署方式

关于 SBTI

SBTI (Shit Brain Type Indicator) 是一个互联网爆款人格测试,2025 年 4 月在 B 站、小红书、朋友圈大规模传播。它是对 MBTI 的戏仿,通过 30 道题的 5 大模型 × 15 维度系统,匹配 27 种"沙雕但精准"的人格类型。

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

このスキルの問題を報告する