Install
openclaw skills install @kingsunzhang2026-oss/spatiotemporal-analysis时空智能分析法(v2.0 完整版)。纵向时间线 × 横向对照 × 交汇判断,必须先检索后下判断。含双交付模式(摘要→完整版)、当代实证研究不用学术库、引用覆盖率门槛、PDF 输出配方、松哥写作约定、5 子 agent 工程化流水线、数据采集脚本与模板等。触发:「时空智能分析」「时空分析」「spatiotemporal」「深度研究报告」「竞争格局分析」,或用户要求「研究一下 X 与 Y 的关系」这类带时间维度+对照维度的题目。
openclaw skills install @kingsunzhang2026-oss/spatiotemporal-analysis本 skill 是"研究方法论 + 工程化骨架",定义了怎么做时空分析,并提供可直接调用的脚本与模板,但不替代具体业务判断。
不适用:一句话事实查询(直接 web_search)、纯偏好之争、实时新闻监控(走 competitor-news-monitor)、代码审计(走 code-doctor)。
时空智能分析法的独特性来自两个哲学传统的合流:
| 维度 | 哲学根基 | 方法论对应 |
|---|---|---|
| 纵向(时) | 胡塞尔现象学:意识是"滞留 + 前摄"的连续流 | 时间轴叙事,要求每个判断带时间锚点 |
| 横向(空) | 卢曼社会系统理论:元素意义由"它与其他元素的关系"决定 | 共时性对比,要求放在生态位中评估 |
反 4 大谬误:
实测有效(2026-09 OPC 中美对比报告)的两轮交付模式:
为什么不是增量而是重做:
反模式:❌ 把摘要版"展开成"完整版(保留摘要的章节顺序、表格,只往里塞内容)。结果是一份既不像摘要又不像完整版的报告。
academic-workflow(OpenAlex / S2 / arXiv / PubMed)的学术源不是所有研究题目的有效信源。判断标准:
| 题目类型 | 推荐源 | 学术源适用? |
|---|---|---|
| 当代政策 / 经济实证 / 法律合规 / 商业案例 | 政府文件、咨询报告、官方媒体、IRS / 国家统计局等 | ❌ 不适用 |
| 前沿学术问题 / 模型架构 / 算法对比 | arXiv、S2、OpenAlex | ✅ 高度适用 |
| 跨学科理论(如"AI × 经济学") | 两者结合 | ⚠️ 部分适用 |
为什么学术源对当代实证研究常常污染:在学术语境下,"OPC / 一人公司"可能被映射到其他概念(如 Optical Proximity Correction / Optimal Phased Catalog),污染检索结果。当代实证研究的主流文献在政策文件、咨询报告、官媒,不在期刊。
操作规则:如果是 OPC 这类当代政策 + 经济实证题目,跳过学术库,直接走政府文件(IRS / 国家统计局 / 国务院 / 深圳市政府)+ 头部咨询(Carta / Menlo / McKinsey)+ 权威媒体(人民网 / 央视 / BBC 中文 / 36氪)。
学术源实测缺陷(见 references/output-conventions-and-source-quirks.md):
[触发 / 入口]
│
▼
① spatiotemporal-scenario-judge # 场景判断:A 无竞品 / B 少量 / C 充分
│
▼
② spatiotemporal-longitudinal # 纵向:时间轴 + 关键节点 + 决策逻辑(时空之"时")
│
▼
③ spatiotemporal-cross-sectional # 横向:竞品 / 替代方案 + 生态位(时空之"空")
│
▼
④ spatiotemporal-convergence # 交汇:纵向惯性 × 横向位置 → 概率分布
│
▼
⑤ spatiotemporal-renderer # 输出:Markdown → PDF → 落档
每个 agent 标识清晰(如 我是 spatiotemporal-longitudinal...),输入范围严格。
5 个子 agent 不是项目代号,是方法论组件——可用于研究 OPC、Cursor、AGI × 设计思维或任何其他对象。
| 场景 | 判断标准 | 横向处理 |
|---|---|---|
| A 无竞品 | 输入研究对象后搜索"X 竞品/alternatives",无显著结果 | 跳过逐一对比;改为分析"为什么没竞品"+"潜在竞争者从哪冒"+"间接替代方案" |
| B 少量竞品(1-2) | 搜索结果 ≤ 2 个显著竞品 | 逐一深入对比,每个竞品至少 1500 字 |
| C 充分竞品(≥3) | 搜索结果 ≥ 3 个显著竞品 | 选 3-5 个最具代表性对比,其余简要提及 |
自动检测脚本:scripts/spatiotemporal_fetcher.py --mode scenario
每个时间节点必须包含:
- date: YYYY-MM-DD(必须)
- event_type: funding/release/team/pricing/partnership/incident
- title: 一句话标题
- description: 详细描述
- source_url: 一手来源
- source_type: official/sec/news/blog/social/forum
- confidence: confirmed/reported/speculated
叙事弧线要求:
检索设计(来自 references/output-conventions-and-source-quirks.md):
对比维度(根据研究对象类型灵活调整):
禁止:参数对照表的文字版。要讲每个竞品"活成了什么样",用户选它的真实理由。
横向表所有行共用同一条比较轴——否则那是清单,不是对比。
对象是研究主题(而非具体产品)时,横向轴往往不是竞品,而是竞争性机制——"谁承担认知负荷"、"代价由谁支付"。四种机制的对比表 >> 四家厂商的对比表。
交汇段不是"前面内容的缩写版",要给出新的综合性判断:
结构:
probability 标注规则(实测好用的校准标准):
结尾必须补一节「本次检索推翻的流行说法」——往往是整份报告最值钱的部分,而且是纯凭记忆的分析在结构上产不出来的。
绝不上传:
可以上传:
| 文件 | 触发场景 |
|---|---|
| references/methodology.md | 任何场景——哲学根基 + 5 段叙事弧线模板 |
| references/data_sources.md | 数据采集——4 大源(academic-workflow + DuckDuckGo + GitHub + 本地缓存)+ 9.1-9.6 中文源 / 院校官方源 / CNKI / RISD-Parsons 附录(2026-09-08 实证教训) |
| references/writing_baseline.md | 写作风格——4 种叙事节奏 + 严禁事项 |
| references/output-conventions-and-source-quirks.md | 松哥写作约定 + 学术源实测缺陷 + 检索词模板 |
| references/markdown-to-pdf-zh.md | 中文 PDF 输出配方(pandoc + xelatex + PingFang SC) |
| templates/convergence_table.md | 交汇分析的概率分布表模板 |
| templates/report_short.json | 短报告(3000 字)模板 |
| templates/report_medium.json | 中等报告(5000 字)模板 |
| scripts/spatiotemporal_fetcher.py | 数据采集主入口 |
| scripts/spatiotemporal_auditor.py | 报告一致性审计器 |
| skill | 何时调用 | 调用方式 |
|---|---|---|
| grounded-citations | 引用溯源(必备) | 每个事实必须能溯源;用 add/render/verify 流程 |
| academic-workflow | 学术文献检索 | academic-workflow/scripts/research.py 模块 |
| arxiv | arXiv 单源检索 | skill_view(name='arxiv') + 调用 |
| competitor-news-monitor | 实时新闻监控 | 第②子 agent 调用 |
| 像素级控制 PDF | 用 pdf_create.py + reportlab JSON spec | |
| auto-grading | 论文/毕设审查 | 学术评审时复用 |
研究报告必须跑完 grounded-citations 的完整四步(reset → add → render → verify),且满足:
| 交付物 | 引用覆盖率门槛 | 解释 |
|---|---|---|
| 完整版报告 | ≥ 85% | 通过 verify --min-coverage 0.85;低于此值视为未达标,必须补源或加 [unverified] 标记 |
| 摘要版 | ≥ 75% | 摘要可以接受更多 [unverified] 总结句,因为重点是快速判断不是溯源 |
| 法规 / 政策类报告 | ≥ 90% | 这类报告判断句少、事实句多,覆盖率应自然偏高;达不到说明检索不到位 |
实操流程:
S=~/.hermes/skills/research/grounded-citations/scripts/sources.py
python "$S" reset # 起新 ledger
python "$S" add <url1> --title "..." # 每个一手源必加
python "$S" add <url2> --title "..."
# ... 写正文,每个事实句挂 [n],总结句挂 [unverified]
python "$S" render --replace-in report.md # 把 ledger id→URL 写到 Sources 块
python "$S" verify report.md --min-coverage 0.85 # 不通过就补
反模式:
[1] http://... 而不跑 ledger → URL 与 id 会跑偏,verify 不通过完整版 / 摘要版交付时如果用户要 PDF,不要用 markdown 转 HTML 截图或 weasyprint(中文易出坑)。pandoc + xelatex + PingFang SC 是实测最稳的中文配方(2026-09 OPC 报告输出 14 页 / 290KB)。
完整一行命令 + 已知瑕疵 → references/markdown-to-pdf-zh.md。
ls ~/.hermes/skills/<category>/ + grep "name:" <skill>/SKILL.md,而不是凭印象猜。猜错 → 用户打断 → 反复试错 → 浪费 5+ 轮对话。正确流程:先查实际状态(ls + skill_view),再回应。技能名 / 触发词 / 描述都从 SKILL.md frontmatter 直接读,不要靠"印象"。ls 检查整个分类目录 → 找到实际的 SKILL.md → 直接读 frontmatter。如果 skill 已存在且完整,不要从零开发。references/markdown-to-pdf-zh.md v3 配方)。自检清单:① 字号 ≤ 4 ② 颜色 ≤ 3 ③ 底色 ≤ 2 ④ emoji 不用多色填充 ⑤ 留白段间 ≥ 12pt。任何一项超标 → 强制精简。verify --min-coverage 0.85 通过(完整版)/ 0.75 通过(摘要版)/ 0.90 通过(法规政策类)~/.hermes/.<name>-merge-backup-YYYYMMDD/| # | 研究对象 | 场景 | 关键经验 |
|---|---|---|---|
| 1 | AGI × 设计思维 | A(无直接竞品) | 4 个思维结构变化是核心产出;第一遍凭模型知识的判断被 N=60 对照实验推翻 |
| 2 | OPC 一人公司 | C(充分竞品) | 当代实证研究跳过学术库,走 IRS + 国家统计局 + 国务院 + 头部咨询;43 信源 / 88% 覆盖率 / 14 页 PDF |
| 3 | 国内数字媒体艺术 × AIGC 教育(2026-09-08 实证) | A(无直接竞品 · 跨学科研究领域) | 4 大院校路径对比;中文 arxiv 命中率 < 30%,必须加院校官网 + 中文媒体源;skill 评分 93/100 |
v2.0.1 验证结论:
这一章不是研究方法论,而是本 skill 在 2026-09 v2.0 合并过程中用血的教训换来的 skill 生命周期规则。适用于任何 skill 的合并 / 重写 / 删除,不限于本 skill。
松哥原话:"纵横或者横纵分析法都是老的版本,有了时空智能以后,保持时空智能那个最新的、最完整的版本。老的、过渡的,你按照时间顺序看一下,就都删掉。 别到时候这些都差不多的东西,触发词互相干扰,然后也占空间。"
松哥原话(确认版):"不对吧。你要检查一下这个时空智能这个最新版本是不是基本上完全涵盖了之前横纵的最新版本。涵盖了嘛就是对的,如果内容变少了,那也是有问题的。"
→ 翻译为可执行规则:禁止"新版看着更精简"就直接删旧版。必须先证明新版完全覆盖旧版的所有内容。
满足以下任意一条时,必须先做覆盖度审计,再做删除 / 合并:
# Step 1: 文件级对比 —— 不要只看 SKILL.md,要把整个目录摊开
find <旧版目录> -type f -exec wc -l {} \; > /tmp/old_files.txt
find <新版目录> -type f -exec wc -l {} \; > /tmp/new_files.txt
diff /tmp/old_files.txt /tmp/new_files.txt
# Step 2: 内容级对比 —— 把旧版每一项独有内容列出来,逐一确认新版是否覆盖
# 用 execute_code 或 read_file 读出旧版 SKILL.md + 所有 references
# 用同样的方法读新版
# 输出对比表:旧版独有 / 新版独有 / 两者都有
# Step 3: 触发词去重 —— 两个 skill 触发词重复会导致路由冲突
grep -E "^description:" <旧版 SKILL.md> | head -1
grep -E "^description:" <新版 SKILL.md> | head -1
# 重复度 ≥ 80% 的两个 skill 必须合并
# Step 4: 工程化骨架不能丢 —— scripts/ + templates/ + 隐私清单这些"非方法论"内容
# 容易被精简主义误删,必须逐一确认
ls <旧版>/scripts/ <旧版>/templates/ 2>/dev/null
ls <新版>/scripts/ <新版>/templates/ 2>/dev/null
# 旧版有而新版缺的每个文件,必须在新版里有等价物
# Step 5: 删除前必须先备份(保护性,不是依赖)
mkdir -p ~/.hermes/.<skill-name>-merge-backup-YYYYMMDD/
cp -r <旧版> ~/.hermes/.<skill-name>-merge-backup-YYYYMMDD/v<旧版号>
cp -r <第二旧版> ~/.hermes/.<skill-name>-merge-backup-YYYYMMDD/v<第二旧版号>
| 覆盖度审计结果 | 决策 |
|---|---|
| 新版完全覆盖旧版(含工程化骨架) | ✅ 可以删除旧版 |
| 新版部分覆盖(新版有删减) | ❌ 不能删,把旧版独有内容补进新版后再删 |
| 新版精简但等价(同样的规则换种说法) | ✅ 可以删,但要在 SKILL.md 修订日志里写"等价重写" |
| 触发词冲突 ≥ 80% | ⚠️ 必须合并(重复触发会让 router 随机派发) |
| 旧版有 scripts/templates,新版没有 | ❌ 不能删,scripts/templates 是工程化骨架不是方法论 |
合并 v1.0(openclaw-imports/spatiotemporal-analysis) + v1.1.0(research/vertical-horizontal-analysis) → v2.0(research/spatiotemporal-analysis)的过程里:
~/.hermes/.spatiotemporal-merge-backup-20260908/(30 天后清理)ls ~/.hermes/skills/<category>/ 再回应openclaw-imports/spatiotemporal-analysis/ + research/vertical-horizontal-analysis/ 合并到 research/spatiotemporal-analysis/