monitor-runnerlisted
Install: claude install-skill tywinlu1988/GateKeeper
## 用途
对已交付项目的督导期监控表执行一次检查时点的信号比对,产出告警清单。
监控表定义"盯什么"(信号/阈值/周期/责任人),本技能执行"现在什么状态"(触发/未触发/数据不足)。
这是督导期监控表的执行器——v0.6.0 新增,把静态监控表变成可运行的督导流程。
## 前置条件
- 分析计划单(mode=monitoring-run,含 previous_run_id——无前次制品 → 拒绝:"监控需要前次推演制品,请先运行 full-chain")
- 前次推演的 supervision-monitor.md 与制品目录(artifacts/)
- 检查时点(季报窗口/中报窗口/年报窗口/解禁窗口——由用户指定或按关键时点日历自动定位最近时点)
## 执行流程
### Step 0: 时间锚定与范围确定
1. T0 = 本次检查时点日期
2. 按监控表「关键时点日历」与各信号「检查周期」,过滤出**本次应检信号集**(如季报窗口只检查周期为"每季度"及更密的信号)
3. 应检信号 0 条 → 输出空报告并说明("当前时点无到期信号")
### Step 1: 逐信号检索
对每条应检信号:
1. 按信号的数据来源发起真实搜索(带 T0 时间限定词),记录查询词/时间/命中
2. 记录最新值 + data_as_of + 来源 URL
3. 检索失败 → 判定「数据不足」,禁止臆测、禁止用监控表交付时的旧值冒充
### Step 2: 阈值比对(三态判定)
每条信号输出显式数值比较:
- **触发**:最新值越阈值(如"扣非降幅 25% > 阈值 21.97%")
- **未触发**:最新值在阈值内(如"研发费率 12.3% ≥ 12% 阈值")
- **数据不足**:检索失败或仅有超 G7 时效的陈旧数据(超期数据标注 STALE 后重搜一次,仍无 → 数据不足)
判定必须列出"阈值 vs 最新值"的比较式——禁止凭印象写"正常/异常"(G9)。
### Step 3: 告警清单与动作
- 触发信号 → 引用监控表原定的「触发后动作」与「责任人」,附最新值与来源
- 未触发信号 → 概览表一行带过
- 数据不足 → 显式清单 + 原因 + 补查建议
### Step 4: 门禁 G9 自检 + 时效
- 每条判定附 data_as_of;超过 G7 阈值(市场类 6 月/财务类 18 月)的数据不得作为"当前状态"判定依据
- 门禁 G9 逐项自检(检索留痕/数值比较/三态完备)
## 输出
1. **monitoring-report.md**(模板 references/templates/monitoring-report.md,保留 GateKeeper-Template 标记):
- 检查时点与应检信号数
- 触发告警清单(信号/阈值 vs 最新值/来源/data_as_of/触发后动作/责任人)
- 未触发概览 + 数据不足清单
- 下次检查建议(按关键时点日历)
2. **monitor-run-{YYYYMMDD}.yaml**(留痕:每条应检信号的检索记录/判定/来源——审计依据)
## 护栏
- 禁止四节点分析(不做行业/技术/财务/定价的新判断——只引用既有制品结论)
- 判定必须有数值比较,禁止凭印象
- 数据不足必须显式列出;禁止以陈旧数据冒充当前状态
- 告警动作与责任人引用监控表原定义,不得自创
- 规则文件只读(N12);制品仅写入用户指定的输出