Back to skills
extension
Category: OtherNo API key required

ai-self-insight

AI 对话自我洞察分析器。读取本地 AI Agent 对话记录(Claude Code、GitHub Copilot CLI),运用认知心理学方法论(大五人格、MBTI、认知偏误、盲区检测、矛盾分析)生成深度自我认知报告,并以苏格拉底式追问引导反思。This skill should be used when the user asks to analyze their AI conversations for self-insight, personality analysis, cognitive blind spots, or self-reflection, including questions like "分析我的AI对话", "我的思维盲区是什么", "帮我做自我认知分析", "从对话中了解自己".

personAuthor: user_43e72c6ehubcommunity

AI 对话自我洞察分析器(AI Self-Insight Analyzer)

核心理念:你与 AI 的每一次对话,都是一面映照内心的镜子。 通过系统分析你的提问模式、决策风格、关注领域和思维习惯, 帮你看见"日用而不知"的自己。

触发条件

当用户提出以下类型的请求时激活此 skill:

  • "分析我的 AI 对话记录"
  • "我有什么思维盲区"
  • "从对话中帮我做自我分析"
  • "我的 MBTI/人格是什么"
  • "最近我的核心矛盾是什么"
  • "帮我构建认知地图"
  • "做一次自我洞察"

数据源

支持的本地数据源

| 平台 | 存储位置 | 格式 | |------|---------|------| | Claude Code | ~/.claude/projects/*/*.jsonl + ~/.claude/history.jsonl | JSONL | | GitHub Copilot CLI | ~/.copilot/session-store.db | SQLite |

数据读取方法

Claude Code

# 列出所有 Claude Code 对话会话
find ~/.claude/projects -name "*.jsonl" -type f

# 读取单个会话(每行一个 JSON 对象)
# type 字段值:user / assistant / system / attachment / file-history-snapshot / permission-mode / last-prompt
# 关键字段:
#   - type=user → message.role="user", message.content=[{type:"text", text:"..."}]
#   - type=assistant → message.role="assistant", message.content=[...]
#   - timestamp, sessionId, cwd, gitBranch

GitHub Copilot CLI

-- 查询所有会话
SELECT id, cwd, repository, branch, summary, created_at FROM sessions ORDER BY created_at DESC;

-- 查询对话内容
SELECT s.id, s.summary, t.turn_index, t.user_message, t.assistant_response, t.timestamp
FROM turns t JOIN sessions s ON t.session_id = s.id
ORDER BY t.timestamp;

-- 全文搜索
SELECT content, session_id, source_type FROM search_index WHERE search_index MATCH 'query';

分析流程

Step 1: 数据采集与归一化

  1. 读取所有可用数据源
  2. 转换为统一格式:
{
  "source": "claude-code | copilot-cli",
  "session_id": "xxx",
  "project": "/path/to/project",
  "timestamp": "ISO8601",
  "turns": [
    { "role": "user", "content": "...", "ts": "..." },
    { "role": "assistant", "content": "...", "ts": "..." }
  ]
}

Step 2: 数据预处理(去噪 + 压缩)

去噪规则

  • 剥离 assistant 回复中的大段代码块(只保留文字解释)
  • 去掉 tool_use / tool_result 的技术细节
  • 去掉重复的系统提示和 permission-mode 消息
  • 保留:用户完整输入 + assistant 的文字回复摘要

数据量判断

  • < 100K tokens → 直接进入分析(fast path)
  • 100K tokens → 进入 Map-Reduce 模式

Step 3: Map 阶段(仅大数据量时)

对每个 session 独立提取:

  • 话题分类(工作/学习/生活/决策/创意/情绪)
  • 用户提问风格(开放式/封闭式/指令式/探索式)
  • 关键决策和取舍
  • 情绪基调
  • 特殊模式(反复修改、犹豫不决、快速推进等)

Step 4: Reduce 分析阶段

参考 references/analysis-framework.md 中的完整方法论,生成多维度分析。

Step 5: 报告生成

按照 references/output-template.md 的结构输出报告,存入用户指定目录或当前工作目录。

Step 6: 苏格拉底式追问

基于分析结果,参考 references/socratic-prompting.md 向用户发起反思性追问。

分析准则(强制遵循)

  1. 证据驱动 — 每个结论必须引用至少 2 条具体对话证据
  2. 概率化表述 — 使用置信度标注:🟢高(5+证据)| 🟡中(2-4证据)| 🔴低(推测性)
  3. 反向验证 — 对每个判断主动寻找反例,如有矛盾如实报告
  4. 谦逊边界 — 明确标注"基于 N 条对话推断,样本可能不足以…"
  5. 非病理化 — 这是自我认知工具,不是心理诊断。避免任何病理化标签
  6. 隐私优先 — 所有数据完全本地处理,不上传任何内容到第三方

用户交互

在分析开始前,询问用户:

  1. 分析时间范围(全部 / 最近一个月 / 自定义)
  2. 重点关注维度(全面分析 / 重点关注某些方面)
  3. 输出格式(Markdown / Markdown + HTML / 仅 HTML)
  4. 报告存储位置(默认:当前工作目录或 Obsidian vault)

输出

Markdown 报告(默认)

  • 主输出:结构化 Markdown 报告(存入指定目录)
  • 文件命名:AI自我洞察报告-{YYYY-MM-DD}.md
  • 结构参照:references/output-template.md

HTML 仪表盘(可选)

当用户要求 HTML 版本或更可视化的报告时,生成交互式仪表盘:

  • 文件命名:AI自我洞察报告-{YYYY-MM-DD}.html
  • 模板参照:references/html-output-template.html
  • 单文件输出,浏览器直接打开
  • 外部依赖仅限 Google Fonts CDN

HTML 报告核心差异(不是 Markdown 的简单搬运):

| 维度 | Markdown | HTML Dashboard | |------|----------|----------------| | 数据呈现 | 文字列表 + Markdown 表格 | KPI 卡片 + 动画条形图 + 交互表格 | | 信息架构 | 线性滚动 | Tab 导航 + 渐进式披露 | | 证据展示 | 内联引用 | 点击展开式卡片 | | OCEAN/MBTI | 静态表格 | 动画滑块 + 轴线可视化 | | 盲区 | 列表 | 虚线网格 + 悬停高亮 | | 趋势 | 简单表格 | 带变化标签的对比矩阵 |

设计规范

  • 字体:Sora(Display)+ Noto Sans SC(Body)+ IBM Plex Mono(Data)
  • 色彩:暖白底色 #f8f6f3,语义色(Indigo/Emerald/Amber/Rose/Violet)按维度分配
  • 交互:Tab 键盘导航、偏误卡片展开、IntersectionObserver 动画触发
  • 响应式:768px 断点折叠为单列
  • 详见 SPEC.md §10.3

苏格拉底式追问

  • 在报告生成后交互式提出
  • 方法参照:references/socratic-prompting.md