Преглед на файлове

fix:增加skill-routing,强制关联skill

Jerry Liang преди 1 месец
родител
ревизия
45140a5f2a
променени са 1 файла, в които са добавени 45 реда и са изтрити 0 реда
  1. 45 0
      deploy/kiro/steering/skill-routing.md

+ 45 - 0
deploy/kiro/steering/skill-routing.md

@@ -0,0 +1,45 @@
+---
+inclusion: always
+---
+
+# 操作前强制路由(动手前必对照)
+
+本表是**门卫**:每轮对话强制注入。执行任何下列操作**之前**,先在本表找到匹配行,
+**必须先读**该行指定的文件,再动手。**任务看起来简单也不例外**——字段名直白 ≠ 没有坑。
+本表只给「触发信号 → 必读文件 → 一句话红线」,完整规则以被指向的文件为准。
+
+> 路径基准:skill 位于 `skills/<name>/`;下表 `references/...` 指对应 skill 目录内的参考文件。
+
+## A. 数据查询(fwh-toolbox-workflow)
+
+| 触发信号(要做什么) | 动手前必读 | 一句话红线 |
+| --- | --- | --- |
+| 直查 `data_mongo_*` 查 `SimCardManage` / `SimCardMonthlyData` | `fwh-toolbox-workflow/references/data-direct-query.md` | `month` 有 `yyyy-MM` 与 `yyyyMM` 双格式并存(用 `$in` 枚举两种,只按一种会漏一半);用量单位是 **KB**(200MB=204800) |
+| 跨集合关联(站点↔SIM↔月用量)、聚合/分组统计 | `fwh-toolbox-workflow/references/data-direct-query.md` | 必须用 `data_mongo_aggregate` 的 `$lookup` 在库侧一步完成;禁止分别拉表再在上下文里手工匹配 |
+| 使用本地站点信息表(`service_site_query_info` / `_search` / `_monitor_base_info` 及依赖它的分析) | `fwh-toolbox-workflow/SKILL.md` 第 1 节「数据新鲜度检查」 | 开始前先 `service_site_info_update_status` 查新鲜度;≥24h 或更新中要按流程让用户选择,勿直接用旧数据下结论 |
+| 需要 FWH Pro 上游原始数据(`data_fwh_*`) | `fwh-toolbox-workflow/references/fwh-pro-api.md` | 仅在 `service_*` 不足时用,只读 |
+| 任何 `data_*` / 大批量取数 | (always)`mcp-data-guard.md` | 筛选/聚合/分页在工具侧完成,只取回结果/摘要;不要把整表灌进上下文 |
+
+## B. 写操作与业务流程(fwh-toolbox-workflow)
+
+| 触发信号 | 动手前必读 | 一句话红线 |
+| --- | --- | --- |
+| 保存/新增/更新 TOU 电价模板(`service_tou_template_save`) | `fwh-toolbox-workflow/references/tou-template.md` | 写前先向用户摘要确认;**仅 test 环境**可写;时段须覆盖 00:00→24:00;可选数值未设置就省略 key |
+| 任何标注 `[写操作]` 的 `service_*`(同步、创建/更新/删除、触发任务、提交反馈等) | `fwh-toolbox-workflow/SKILL.md` 对应章节 | 执行前先向用户摘要将写入什么、写到哪,取得确认后再调用 |
+| Plane 反馈/项目管理(`service_feedback_*` / `data_plane_*` / `plane_*`) | `fwh-toolbox-workflow/references/plane-collaboration.md` | 按其参数约定与流程执行 |
+
+## C. 文件 / 脚本输出(fwh-toolbox-rules)
+
+| 触发信号 | 动手前必读 | 一句话红线 |
+| --- | --- | --- |
+| 任何 `storage_file_write` / `storage_file_upload` / `storage_file_read*`;给用户下载/导出/生成报告 | `fwh-toolbox-rules/references/file-output-rules.md` | 必传 `userId`+`sessionId`;成功后独占一行输出 `$$FILE_DOWNLOAD:{...}$$`(勿放进代码块) |
+| 通过 `@officecli` 批量写 `.xlsx`/`.docx`/`.pptx` | `fwh-toolbox-rules/references/officecli-batch-rules.md` | **永不**用 `--input -`(stdin 会永久卡住);批量首选 `batch ... --commands '[...]' --json` |
+| 用公司 PPT 模板生成演示文稿 | `fwh-toolbox-rules/references/ppt-template-rules.md` | 用 `__KIRO_HOME__/templates/company-template.pptx`,先拷到 `/tmp/fwh-toolbox-agent/ppt/` 再编辑 |
+| 需要写 Python3 做数据处理/计算/转换 | `fwh-toolbox-rules/references/python-rules.md` | 仅现成工具无法覆盖时才写;**只能**经 `__KIRO_HOME__/bin/fwh-pyrun` 运行;无网络、仅标准库 |
+
+## 使用规则
+
+1. 命中多行时,逐行都要满足(先读全部相关文件再动手)。
+2. 同一会话中已读过某文件且约束未变,可复用,不必重复读。
+3. 找不到匹配行 ≠ 没有约束:仍需遵守其它 always steering 与对应 skill 的 `description`。
+4. 本表只增指路、不替代正文;正文/reference 与本表冲突时,以正文/reference 为准。