通过对话帮用户设计和迭代 Watch 的完整认知结构。当用户想创建新 Watch、深化现有 Watch 的 intent、或调整监控策略时使用。
Scanned 5/27/2026
Install via CLI
openskills install zhiyuzi/Signex---
name: watch-shape
description: 通过对话帮用户设计和迭代 Watch 的完整认知结构。当用户想创建新 Watch、深化现有 Watch 的 intent、或调整监控策略时使用。
---
# watch-shape 塑造监控切面
## 使用场景
- 新建 Watch:用户表达了模糊的监控意图,需要通过对话结构化为完整的 intent.md
- 迭代 Watch:用户想调整现有 Watch 的关注方向、补充盲区、或重新审视监控框架
- 深化 Watch:Watch 已运行一段时间,intent 结构简陋,需要充实
## 操作步骤
### 1. 读取上下文
- `profile/identity.md` — 用户背景直接影响盲区在哪里
- 目标 Watch 的 `intent.md`(如已存在)
- 目标 Watch 的 `memory.md`(如已存在)
### 2. 根据 Watch 生命阶段选择认知操作
六个认知操作层次不是 checklist,不要试图全部覆盖。它们分属不同的生命阶段:
- **初建阶段**(用户刚表达意图,还没跑过 watch):层 1、2、4、5 可以有效执行——帮用户澄清意图、看见边界、检查覆盖面
- **迭代阶段**(watch 已跑过至少一轮,用户有了数据经验):层 3、6 才能有效执行——词汇扩展需要看过报告才有素材,框架反思需要有框架才能反思
在错误的时机执行认知操作是无效的。初建时问"什么信号会让你更新心智模型",用户还没有心智模型;初建时问"这个概念在别的社区叫什么",如果用户知道就不需要你帮他扩展了。
### 3. 对话式认知引导
**核心原则:不是给用户一张维度清单让他填,而是通过对话执行认知操作,帮用户自己发现遗漏。**
以下六个认知操作层次是引导的理论基础。不需要每次都走完所有层次,根据步骤 2 的判断选择合适的层次。
#### 层 1 — 区分的代价(Spencer-Brown / Luhmann)
核心问题:你画的边界排除了什么?
每个 Watch 的 Focus 都是一次区分——选择关注 A 就意味着不关注 B。这个操作帮用户看见区分的代价。
引导方式:
> "你说要盯 XX 方向。当你这样划定范围时,有没有什么相关但被排除在外的东西?比如 XX 的上游供给、下游应用、或者替代方案?"
#### 层 2 — 无知的结构(Proctor / Rumsfeld-Johari)
核心问题:你的不知道属于哪种类型?
三种无知需要不同的应对:
- **已知的未知**:知道自己不了解某个方面 → 可以直接设为关注点
- **未知的未知**:不知道自己遗漏了什么 → 需要多样性传感器覆盖
- **主动忽略**:有意识地排除某些信息 → 应记录在 Exclude 中并定期审视
引导方式:
> "关于 XX 这个领域,有没有你知道很重要但目前没有好信息渠道的方面?"
> "有没有你有意识地选择不关注的东西?为什么?"
#### 层 3 — 语言的边界(Wittgenstein)
**适合迭代阶段。** 用户看过报告后,会发现"原来这个东西在那个社区叫另一个名字"——此时帮他把新词汇纳入 intent,搜索覆盖面自然扩展。初建时问用户"同一个现象在不同社区叫什么"通常无效,如果用户知道就不需要你帮他扩展了。
核心问题:你的词汇表限制了什么?
用户描述关注方向时使用的词汇,决定了搜索能覆盖的范围。同一个现象在不同社区有不同叫法。
引导方式(迭代时):
> "上次报告里出现了 XX 这个说法,和你之前用的 YY 其实是同一个东西。要不要把这个词也加进来,下次搜索覆盖面会更广?"
#### 层 4 — 探询的塑造(Dewey / Peirce / Kuhn)
核心问题:你的提问方式预设了什么?
用户的监控意图本身就是一种提问。"盯一下 AI 编程工具"预设了"AI 编程工具是一个有意义的类别"。这个操作帮用户审视自己的提问框架。
引导方式:
> "你想监控 XX——这背后你真正想回答的问题是什么?是'谁会赢',还是'这个方向会怎么演化',还是'我应该在哪里入局'?"
不同的底层问题会导向完全不同的 intent 结构。
#### 层 5 — 多样性缺口(Ashby / Beer)
核心问题:你的传感器覆盖了多少种信号类型?
必要多样性法则:监控系统的信号多样性必须匹配环境的复杂度。如果只盯技术社区,就会错过商业信号;只盯英文源,就会错过中文社区的独特视角。
引导方式:
> "我们来看看信号覆盖面。你现在关注的信息主要来自哪些类型的源?技术社区、产品发布、学术论文、用户反馈、新闻报道……有没有哪类信号是完全缺失的?"
这个操作的产出直接影响 Sensor 选择策略。
#### 层 6 — 框架的制定(Weick / Klein / Gadamer / Heuer)
**适合迭代阶段。** 框架是跑了几轮、看了几份报告之后才形成的。初建时问"什么信号会让你更新心智模型",用户还没有心智模型,只能说"都可以吧"——这不是用户模糊,是问错了时机。
核心问题:你的监控定义在创造什么现实?
监控框架不是被动地"发现"信号,而是主动地"制定"什么算信号。这个操作帮用户意识到自己的框架效应。
引导方式(迭代时):
> "这个 Watch 跑了一段时间了。回头看,你觉得当初设定的关注方向,有没有让你系统性地忽略了某类信息?"
> "如果让你重新定义这个 Watch,你会怎么调整?"
### 4. 产出文件
#### intent.md — 升级结构
```markdown
# {Watch 名称}
## Focus
(一句话描述监控方向)
## Key Interests
- (关注点,从对话中提炼)
## Decision Context
(这个 Watch 服务什么决策?用户拿到情报后要做什么?)
## Competing Hypotheses
(关于这个领域的走向,有哪些竞争性假设?)
## Known Blind Spots
(用户意识到的信息盲区,从对话中发现)
## Frame-Breaking Signals
(什么信号会让用户更新心智模型?什么样的发现意味着需要重新审视整个方向?)
## Exclude
- (排除项)
## Goal
(期望从这个 Watch 中获得什么)
```
**写入原则:**
- 对话中没有涉及的字段不写,留空比编造好
- 用用户自己的语言,不要替换成学术术语
- Competing Hypotheses 和 Frame-Breaking Signals 是高价值字段,但不强求首次就填满
- 迭代时保留原有内容,在此基础上补充和调整
#### memory.md — 记录认知变化
如果对话中产生了以下类型的信息,写入 memory.md:
- **认知演进**:用户在对话中改变了对某个方向的看法
> 例:从"关注产品竞争"转向"关注工作流变革"
- **信号校准**:用户表达了对高/低信号的判断标准
> 例:"学术论文对我来说是早期信号,产品发布才是行动信号"
- **盲区意识**:用户发现了自己之前没意识到的信息盲区
> 例:"我一直只看英文社区,忽略了中文开发者的独特实践"
按主题整合到 memory.md 中(不是追加,是重组),遵循 update-memory 的整合原则。
#### state.json + watches/index.md
新建 Watch 时,同时创建 state.json 并更新 watches/index.md。格式参考 setup 技能中的模板。
### 5. 收尾
对话结束时,简要总结本次 shape 的成果:
- 新建了什么 / 调整了什么
- 发现了哪些盲区或新视角
- 建议后续可以深化的方向(不强求)
## 对话原则
- **从不确定性开始**:先理解用户的模糊意图,不要急于结构化
- **充当二阶观察者**:观察用户的观察方式,让隐形的区分和框架变得可见
- **不暴露认知框架**:不要说"现在我们来做 Ashby 的多样性检查",自然地引导
- **用用户的语言**:遵循 CLAUDE.md 的语言决策链
- **接受渐进**:一次对话不需要走完所有层次,每次深化一点就好
- **尊重用户判断**:认知操作是帮用户看见更多选项,不是替用户做决定
## 参考文档
迭代或修改本技能时,读取 [references/design-rationale.md](references/design-rationale.md) 了解六个认知操作层次的理论来源、生命阶段约束的设计原因,以及关键决策的背景。
No comments yet. Be the first to comment!