ワークフロー&基本ツール · Backtthefuture/huangshu

social-sbti

Social-SBTI — 即刻(Jike)や X から公開投稿を取得し、パロディ性格診断「SBTI」プロファイルカードを生成します。ウィザード形式のフロー:ユーザー呼び出し → プラットフォーム選択 → URL 貼り付け → 自動ヘルスチェック/認証情報設定/データ取得/スコアリング/レンダリング → カード出力。トリガーシナリオ: - ユーザーが「social-sbti を実行して」「social-sbti を起動して」と指示 - ユーザーが「@誰々 の SBTI を分析して」と指示 - ユーザーが「social-sbti で @誰々 を分析して」と指示 - ユーザーが「XXX のソーシャル版 SBTI 人格カードを作って」と指示

L5 厳格管理 · 隔離環境と厳格な監査V2 人間監査済認証情報/セッションコマンド実行依存関係インストールネットワーク通信ファイル書き込みDual-pass Audit
Author BacktthefutureGitHub Backtthefuture/huangshu ↗License MIT(仓库根 LICENSE)Commit 3cfa898c51
管理レベルは Skill の能力と推奨統制措置を示すものであり、品質や安全性の認証、利用可否の判定ではありません。使用の可否はユーザーおよび管理者が決定します。Agent 環境によって制約が異なるため、自動保護を仮定しないでください。第三者製 Skill の著作権は原著作者に帰属し、利用リスクは利用者が負います。

1仕組みと動作原理

まず skill のルートディレクトリを特定し、以降の全コマンドを bin/sbti の統一エントリポイント経由で実行します。

skills/social-sbti/SKILL.md
如果输出为空,告诉用户 skill 安装位置非标准,让他们给你路径,然后手工 `export SBTI_HOME=<路径>`。
ここで行っていること:skill が非標準パスに配置された場合の自己位置特定問題を解決します。

SKILL.md をフェーズ 0〜8 の対話スクリプトとして記述し、ステップをスキップせず順次実行を強制します。

skills/social-sbti/SKILL.md
严格按阶段顺序执行,**不要跳步**。
ここで行っていること:スクリプトでエージェントの挙動を制約し、ウィザードフローの安定性を担保します。

取得処理に入る前にヘルスチェックを実行し、チェックを通過しない限り取得を行いません。

skills/social-sbti/SKILL.md
**不要骗自己**:体检没过就不要进抓取,不然就是浪费时间。
ここで行っていること:依存関係や認証情報の問題を取得前に遮断し、無駄な時間消費を防ぎます。

即刻(Jike)の認証は対話型 QR スキャンを採用:バックグラウンドで jike-auth を実行し、QR コードをそのまま対話画面に表示します。

skills/social-sbti/SKILL.md
把 stderr 里的 QR 原样贴到对话里让用户用手机 App 扫。
ここで行っていること:QR スキャンを対話内で完結させ、ユーザーが別ターミナルを開く手間を省きます。

X の認証情報はブラウザから auth_token と ct0 をエクスポートし、~/.config/sbti/x_cookies.json に保存します。

skills/social-sbti/SKILL.md
**成功**: cookies 已落到 `~/.config/sbti/x_cookies.json`。回阶段 3 重跑 doctor。
ここで行っていること:ユーザー自身のログインセッションを使用して取得を行い、認証情報はローカルマシンのみに保存します。

取得フェーズでは、投稿データをユーザープロジェクトのルートにある sbti-output/<name>_raw.json に書き込みます。

skills/social-sbti/SKILL.md
这会把数据写到 `./sbti-output/<name>_raw.json`(用户项目根下)。
ここで行っていること:生成物を skill ディレクトリではなくユーザープロジェクト側に出力し、環境の汚染を防ぎます。

ホストエージェント自身がスコアリング LLM として機能し、ルーブリックの L/M/H アンカーに照らし合わせて次元ごとに採点します。

skills/social-sbti/SKILL.md
3. **读 rubric**: `Read` 工具读 `$SBTI_HOME/docs/SCORING_RUBRIC.md`。对照每个维度的 L/M/H 锚点打分。
ここで行っていること:外部のスコアリング API に依存せず、現在のモデルがルールを読み取って直接採点します。

スコアリングにはハード制約を設定:各次元で最低 1 件の実在する post_id の引用を必須とし、信頼度が 0.4 未満の場合は強制的に M へフォールバックします。

skills/social-sbti/SKILL.md
- 每维至少引 1 条真实 `post_id`(必须来自 raw.json,不要编)
ここで行っていること:エビデンス引用の制約によりハルシネーション(捏造)を抑止し、検証可能性を確保します。

finalize で match → HTML → PNG のパイプラインを一貫して実行し、人格マッチングとカード描画を完了します。

skills/social-sbti/SKILL.md
1. `match.py` → 匹配 27 人格模板,写回 scores.json 补上 `pattern` + `personality`
ここで行っていること:スコアリング結果を共有可能なカード成果物として具現化します。

コンプライアンスの前置:対象確認フェーズで私的な個人の分析を即座に拒否し、許可された範囲内でのみ動作します。

skills/social-sbti/docs/DISCLAIMER.md
遇到上述请求时,skill 会**直接拒绝**并说明原因。
ここで行っていること:プロセスの起点で悪用シナリオを阻止し、倫理的リスクを低減します。

2コア機能

01即刻(Jike)/ X 公開投稿のスクレイピング
02依存関係のヘルスチェックと自動修復(pip / chromium)
03認証情報の設定と管理(即刻 tokens / X cookies)
0415 次元の L/M/H 採点ルール(根拠の提示必須)
0527 種類の人格テンプレートに対するマンハッタン距離マッチング
06HTML カード生成および PNG スクリーンショットレンダリング
07コンプライアンス拒否応答と適用範囲の宣言
08twikit 互換性パッチ(X フロントエンドの仕様変更への追従)
09成果物および認証情報の固定保存パス設定

3外部依存関係

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

4推奨統制措置と判定根拠

安全運用のための推奨統制措置
Agent 向け
隔離環境で実行、都度明示的な認可
管理者向け
厳格な認可、全量監査、コンプライアンス確認
判定根拠(ファイルパスと抜粋)
  • 本地凭据 / 浏览器配置: ユーザーのログイン Cookie/セッション/キーチェーンの読み取り: 即刻 tokens の読み取り(~/.config/sbti/config.json / jike-tokens.json)
  • scripts/: ローカルスクリプトまたはコマンドの実行: bin/sbti(Python CLI shim、src/cli.py へ転送)
  • scripts/ 或 SKILL.md: 外部言語パッケージ依存関係の動的インストールの宣言
  • 网络端点: 外部ネットワークアクセスの宣言: 即刻の投稿取得(web.okjike.com)
  • 本地工作目录: ファイルの読み書きおよび成果物出力: ~/.config/sbti/config.json(chmod 600)
監査ノート: オレンジ:skill ディレクトリ内に独自の Python ソースコード(cli/config/doctor/fetch_jike/fetch_x/match/make_card/render_png/twikit_patch)を同梱し、利用目的を明示した上で認証情報(即刻 tokens および X の auth_token/ct0 cookies を ~/.config/sbti/ に chmod 600 で保存)を読み取ること、また PyPI 未公開の jike-skill パッケージを git 経由でインストールすることを宣言しています。スクレイピング対象は x.com / web.okjike.com であり、想定内のプラットフォームエンドポイントです。§3「危険フラグ/防御のバイパス」には該当せず、twikit_patch も X フロントエンドの chunk 構造変更への追従でありリスク対策の回避ではないため、レッドとは判定されません。

5二重目の独立検証

  • [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;无绕过/降级 → 不判红。

6結論

  • エンドツーエンドの自動化:起動 → プラットフォーム選択 → URL 貼り付けの後、ヘルスチェック/認証設定/取得/採点/レンダリングを自動完遂。
  • 検証可能なスコアリング:全 15 次元で実在する post_id の証拠を必須とし、confidence < 0.4 の場合は強制的に M へフォールバック。
  • コンプライアンスの前置:対象確認フェーズで私的な個人の分析を拒絶し、対象データをサードパーティのサーバーにアップロードしない。
  • 最適な用途: 自身や著名人の公開ソーシャル投稿を分析し、共有可能な人格カードを生成したいクリエイターやネタ投稿シーン。1 回限りの QR スキャンや cookie 貼り付け設定を許容できるユーザー。
    不向きな用途: 元恋人/同僚/面接官/投資家/お見合い相手など私的な個人の分析。採用調査(バックグラウンドチェック)、恋人探しマッチング、デューデリジェンスなどの厳格な用途。プラットフォームのログイン認証情報を提供したくないユーザー。
    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
    Agent はこの JSON ガイドから自動的にダウンロードして検証します。
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit 3cfa898c51.