Home / All Skills / Workflow & Core Tools / social-sbti
Workflow & Core Tools · Backtthefuture/huangshu

social-sbti

Social-SBTI — Scrapes public posts from Jike / X to generate spoof SBTI personality profile cards. Guided workflow: User trigger → Select platform → Paste URL → Auto health check/credential config/scraping/scoring/rendering → Output card. Trigger scenarios: - User says "run social-sbti" / "start social-sbti" - User says "help me analyze @someone's SBTI" - User says "analyze @someone with social-sbti" - User says "make a social SBTI personality card for XXX"

L5 Restricted · Isolated sandbox & strict auditV2 Human-AuditedCredential / SessionExecute CommandInstall DepsNetwork AccessWrite FileDual-pass Audit
Author BacktthefutureGitHub Backtthefuture/huangshu ↗License MIT(仓库根 LICENSE)Commit 3cfa898c51
Control levels describe skill capabilities and suggested control measures; they do not represent quality or safety certifications, nor do they dictate usability. Usage decisions rest entirely with users and administrators. Different agent hosts apply varying constraints; do not assume hosts provide automatic protection. Third-party skill copyrights belong to their original authors. Use at your own risk.

1How It Works & Mechanism

First locates the skill root directory, after which all commands are executed via the unified bin/sbti entry point.

skills/social-sbti/SKILL.md
如果输出为空,告诉用户 skill 安装位置非标准,让他们给你路径,然后手工 `export SBTI_HOME=<路径>`。
What is being done here: Resolves self-location issues when the skill is installed in a non-standard path.

Structures SKILL.md into a conversational script spanning Phases 0–8, strictly enforcing sequential execution without skipping steps.

skills/social-sbti/SKILL.md
严格按阶段顺序执行,**不要跳步**。
What is being done here: Constrains agent behavior via a script to ensure wizard workflow stability.

Runs a health check before starting scraping; scraping is prohibited if the check fails.

skills/social-sbti/SKILL.md
**不要骗自己**:体检没过就不要进抓取,不然就是浪费时间。
What is being done here: Intercepts dependency/credential issues prior to scraping to avoid unnecessary time loss.

Jike credentials use interactive QR scanning: runs jike-auth in the background and echoes the QR code directly into the chat.

skills/social-sbti/SKILL.md
把 stderr 里的 QR 原样贴到对话里让用户用手机 App 扫。
What is being done here: Keeps the entire QR scanning process within the conversation without requiring the user to open a separate terminal.

X credentials export auth_token and ct0 from the browser, saving them to ~/.config/sbti/x_cookies.json.

skills/social-sbti/SKILL.md
**成功**: cookies 已落到 `~/.config/sbti/x_cookies.json`。回阶段 3 重跑 doctor。
What is being done here: Scrapes using the user's own login session, with credentials stored strictly on the local machine.

The scraping phase writes posts to sbti-output/<name>_raw.json in the user's project root.

skills/social-sbti/SKILL.md
这会把数据写到 `./sbti-output/<name>_raw.json`(用户项目根下)。
What is being done here: Saves artifacts to the user project rather than the skill directory to avoid pollution.

The host agent serves as the scoring LLM, scoring each dimension against the rubric's L/M/H anchors.

skills/social-sbti/SKILL.md
3. **读 rubric**: `Read` 工具读 `$SBTI_HOME/docs/SCORING_RUBRIC.md`。对照每个维度的 L/M/H 锚点打分。
What is being done here: Does not rely on external scoring APIs, using the current model to read rules and score directly.

Scoring carries hard constraints: each dimension must cite at least 1 real post_id, and confidence below 0.4 forces a fallback to M.

skills/social-sbti/SKILL.md
- 每维至少引 1 条真实 `post_id`(必须来自 raw.json,不要编)
What is being done here: Suppresses fabrication using evidence citation constraints to ensure verifiability.

finalize executes the end-to-end match→HTML→PNG pipeline to complete personality matching and rendering.

skills/social-sbti/SKILL.md
1. `match.py` → 匹配 27 人格模板,写回 scores.json 补上 `pattern` + `personality`
What is being done here: Converts scoring results into shareable card artifacts.

Upfront compliance: directly refuses to analyze private individuals during the target confirmation phase, operating only within permitted boundaries.

skills/social-sbti/docs/DISCLAIMER.md
遇到上述请求时,skill 会**直接拒绝**并说明原因。
What is being done here: Blocks abuse scenarios at the very start of the workflow to reduce ethical risks.

2Core Capabilities

01Jike / X public post scraping
02Dependency health check and auto-repair (pip / chromium)
03Credential configuration and management (Jike tokens / X cookies)
0415-dimension L/M/H scoring rubric (evidence required)
05Manhattan distance matching across 27 personality templates
06HTML card generation and PNG screenshot rendering
07Compliance refusal responses and boundary declarations
08twikit compatibility patch (adapting to X frontend updates)
09Fixed disk storage paths for artifacts and credentials

3External Dependencies

KindDependency / Endpoint
packagejike-skill[qr](GitHub git URL 安装)
packagetwikit>=2.0.0
packageplaywright>=1.40.0
networkX / Twitter
networkesm.sh(产物期卡片保存按钮 CDN)

4Recommended Governance & Evidence

Suggested Controls for Safe Operation
For Agent Runtime
Isolated environment, per-use explicit authorization
For Administrators
Strict authorization, full audit, compliance signoff
Evidence & Triggers (File Paths & Excerpts)
  • 本地凭据 / 浏览器配置: Reads user login cookies/session/keyring: Reads Jike tokens (~/.config/sbti/config.json / jike-tokens.json)
  • scripts/: Executes local script or command: bin/sbti (Python CLI shim, forwarded to src/cli.py)
  • scripts/ 或 SKILL.md: Declares dynamic installation of external language package dependencies
  • 网络端点: Declares external network access: Scrapes Jike posts (web.okjike.com)
  • 本地工作目录: File I/O and artifact output: ~/.config/sbti/config.json (chmod 600)
Audit Notes: Orange: The skill directory includes bundled Python source code (cli/config/doctor/fetch_jike/fetch_x/match/make_card/render_png/twikit_patch) and declares credential reading for its intended purpose—Jike tokens and X auth_token/ct0 cookies (written to ~/.config/sbti/, chmod 600), as well as installing the unreleased PyPI package jike-skill via git. Scraping targets are x.com / web.okjike.com, which are expected platform endpoints. §3 'Dangerous Flags / Defense Bypass' is not triggered; twikit_patch merely adapts to X frontend chunk structure changes rather than bypassing risk controls, so it is not marked Red.

5Second-Pass Verification

  • [ok] 流程阶段完整性 — SKILL.md 阶段 0–8 与 README『这个 skill 做什么』流程一致。
  • [ok] 依赖来源 — requirements.txt 三个包与 doctor.py 的 pip 安装点一致;jike-skill 走 git URL(PyPI 无此包)。
  • [ok] 凭证路径与权限 — README 与 src/config.py 均指向 ~/.config/sbti/,并声明 chmod 600。
  • [ok] 抓取端点 — fetch_x.py 用 twikit、twikit_patch 指向 abs.twimg.com;fetch_jike 走即刻端点。
  • [ok] 反检测检查 — §3『危險旗標/防護繞過』无命中;twikit_patch 是前端结构适配而非绕过风控。
  • [ok] 打分硬约束 — SCORING_RUBRIC 的硬约束与 SKILL.md 阶段 6 一致(证据必填、confidence<0.4 回退 M)。
  • [ok] 合规拒绝逻辑 — DISCLAIMER『不允许的用法』与 SKILL.md 阶段 2 的拒绝分支一致。
  • [ok] 档位复核 — 读凭据 + 远程包 → orange;无绕过/降级 → 不判红。

6Verdict & Scenarios

  • End-to-end automation: Trigger → select platform → paste URL, then automatically completes health check/credential setup/scraping/scoring/rendering.
  • Verifiable scoring: All 15 dimensions require real post_id evidence, with confidence < 0.4 strictly falling back to M.
  • Upfront compliance: Rejects analyzing private individuals during target confirmation, without uploading subject data to third-party servers.
  • Best for: Scenarios where self-media creators or meme enthusiasts want to analyze their own or public figures' social posts to generate shareable personality cards; users willing to do a one-time QR scan or paste cookie configurations.
    Not for: Analyzing private individuals like exes/colleagues/interviewers/investors/dates; serious use cases like HR background checks, matchmaking, due diligence; users unwilling to provide platform login credentials.
    Install Agent-Ready
    ① Verified Mirror 2026-10-10
    Option A · Direct DownloadDownload social-sbti.tar.gz
    sha256: 4319620f4435f0cc…
    Option B · Copy Guide for Agent
    install.json
    Agents automatically download and verify mirrors from this JSON guide.
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit 3cfa898c51.