Personality tests ask 60 questions. Your machine already heard 8,000 answers.
Works in Claude Code · Codex · Cursor · OpenCode · Gemini CLI · and any agent that speaks the open Agent Skills standard
Sample Output • Install • What It Reads • Design Rules • Privacy • 中文
An Agent Skill (one folder, the open SKILL.md
standard, runs in 30+ AI agents) that reads the AI conversations already
sitting on your machine — coding agents, editor assistants, voice dictation —
extracts only your own words, and writes who you actually are: your core
qualities, what you really want, what you can't see about yourself, and who
you're becoming.
Quizzes measure your self-image. This measures you — thousands of sentences you said when nobody was scoring you.
Everything runs locally. Nothing leaves your machine. No dependencies — Python standard library only.
(fictional user — your report is built from your data, in your language)
You're a defensive perfectionist: you rewrite everything seven times, then ship draft one. Your politeness is real — 312 thank-yous to a machine that doesn't keep score. You only become yourself after midnight, and you've never missed a deadline in three years.
Your sharpest paradox:
Revision appetite, 9/10. Sign-off courage, 2/10.
You never lacked the strength to edit. You lacked permission to stop.
3 tools scanned · 4,990 of your own sentences · 31% said after midnight
Then five more sections: your core qualities (each praised only in evidence the data can fund, each with its honest price) · numbers that are unmistakably you · what you actually want vs. where your time really goes · things you probably haven't noticed about yourself · and who you're becoming on the current trajectory.
~/.who-am-i/run-<timestamp>/ (0700, auto-pruned, yours to delete)
├── metrics.json pre-computed, vetted numbers — no improvised stats
├── stats.json which tools were scanned / read / honestly skipped
├── corpus.jsonl every message, with source + timestamp
├── user_text.txt one clean line per message, for your own grepping
└── sample.md the readable corpus
~/who-am-i-报告.md the report (or wherever you ask)
One command — auto-detects the agents on your machine:
npx skills add Pointa-Labs/who-am-i-skillTarget a specific agent:
npx skills add Pointa-Labs/who-am-i-skill -a codex # or: cursor, windsurf, cline,
# goose, qwen-code, trae, …Manual (Claude Code shown; any Agent-Skills host works the same way — drop the folder into that agent's skills directory):
git clone https://github.com/Pointa-Labs/who-am-i-skill
cp -r who-am-i-skill ~/.claude/skills/who-am-iThen just ask your agent:
who am I, based on my AI chats? / 分析我本地所有 AI 对话,告诉我我是个什么样的人
The collector also runs standalone (Python 3.9+, zero dependencies):
python3 scripts/collect_conversations.py # auto-detect → ~/.who-am-i/run-*
python3 scripts/collect_conversations.py --out DIR # custom output dirThe report language follows your corpus: Chinese in, Chinese out; English in, English out.
Auto-detected, zero config — if it's installed, it's found:
Terminal agents · Claude Code · Codex · Gemini CLI · Qwen Code · Hermes Agent · OpenCode · OpenClaw / AutoClaw · Goose · Crush · Aider Editor assistants · Cursor · VS Code Copilot chat · Cline · Roo Code · Windsurf · Trae · VSCodium Voice dictation · Typeless Unknown tools · a discovery net scans for AI-shaped conversation stores the registry doesn't know yet — parseable ones get ingested, the rest get honestly reported instead of silently missed.
Tools whose chats are encrypted or server-side (ChatGPT Desktop, Claude Desktop, CodeBuddy/WorkBuddy, Tongyi Lingma, Comate …) are detected and disclosed, never decrypted, never silently skipped — the report always tells you what it could and couldn't see. Full map with on-disk formats: references/data-sources.md.
The failure mode of every personality analysis is the horoscope. Three layers guard against it:
| Layer | Rule |
|---|---|
| Claims | Every judgment is located in your real messages before it's written — then stated in the report's own words, never by quoting your sentences back at you |
| Numbers | Only pre-computed, vetted metrics — a sentence that sounds measured must actually have been measured |
| Metrics | Every number must pass the swap-person test: words the talking-to-AI genre forces out of everyone ("help me", "continue") are never treated as personality |
And the writing rules that make it feel human:
- Mirror, not coach — the core report describes; improvement advice only if you ask.
- Friend's-letter voice — section titles a sharp old friend would write ("The short version"), scene-pointers instead of dates, no metaphors as headings.
- Honesty gates — a 7-point pre-flight checklist before the report is saved, and the appendix always names where this report is most likely wrong about you.
- Depth flexes with data — the two deepest sections (what you actually want / what you can't see) only open when the evidence truly funds them. No data, no section, no faking.
This tool reads your most personal data, so the bar is absolute — see PRIVACY.md for the full threat model. The short version:
- Read-only collection; zero network calls; no telemetry.
- Output dir is owner-only (
0700); old runs auto-pruned. - API keys / tokens / JWTs are redacted before storage.
- The report contains none of your verbatim sentences by design.
- Share the report if you like — never share the corpus files.
- Delete everything:
rm -rf ~/.who-am-i ~/who-am-i-报告.md
| Platform | Status |
|---|---|
| macOS | ✅ tested end-to-end on real data |
| Windows / Linux | %APPDATA% / %LOCALAPPDATA% / XDG path resolution implemented and covered by simulated tests, not yet verified on real machines. Reports welcome. |
python3 tests/test_collect.py31 assertions over synthetic fixtures: every supported source, assistant-leak
traps, harness-injection traps, secret redaction, dedupe semantics, catchphrase
counting, and a Windows path simulation (including hostile # paths). The rule
the suite exists to enforce: extract exactly the user's words, and nothing
else — false data poisons a self-portrait far worse than missing data.
MIT © 2026 Pointa Labs, Inc.
测验问你 60 道题,相信你的自我想象;这里读的是你在没人打分时真实说过的几千句话。
who-am-i 是一个 Agent Skill(开放标准,Claude Code / Codex / Cursor / OpenCode 等 30+ agent 通用):自动探测你电脑里所有 AI 工具的本地对话
(编码 agent、编辑器助手、语音口述),只提取你自己说的话,生成一份有据可查的
自我画像——先说结论、你这个人、几个一看就是你的数字、你到底想要什么、几件你大概
没察觉的事、这三个月。
样例(虚构用户):
先说结论 你是个防御型完美主义者:每样东西改七版,最后发的是第一版。你的客气是真的—— 对一台不记账的机器说了 312 次谢谢。你只在凌晨成为自己,但三年交稿零迟到。 你身上最矛盾的一对数字:改稿欲 9 分,定稿勇气 2 分。 你从来不缺改的力气,你缺的是停下来的许可。
三道反星座话术防线:每个判断先在原话里核实(但绝不把你的原话念回给你);所有 数字来自预先算好的指标(像测量的句子必须真的测过);每个指标先过"换人测试" ("帮我""继续"这类对 AI 人人都说的词,不算性格)。
全程本地运行,零网络调用,密钥自动脱敏,语料目录仅本人可读——加密或云端 存储的工具(ChatGPT 桌面版等)如实标注"读不到",绝不解密、绝不假装读全了。 详见 PRIVACY.md。
安装:npx skills add Pointa-Labs/who-am-i-skill(自动适配你装的 agent),
然后对你的 agent 说一句"看看我是个什么样的人"。
