Files
dingtalk-workspace-cli/docs/skill-mono-multi-qa.md

3.9 KiB
Raw Permalink Blame History

Mono↔Multi Skill 内容质检规格

对照基准:skills/mono(单 skill)。被测主体:skills/multi。
机读合同:skills/content-qa/mono-multi-coverage.yaml。
执行:make skill-mono-multi-content(独立门禁;默认 make policy 按设计不包含该检查)。 安装、升级与模式迁移见 DWS 预制 Skill 安装、升级与模式迁移 RFC。

1. 质检矩阵

ID 类型 输入 通过准则
G1 形状 结构 skills/multi/* 仅 dingtalk-*(含必选 dingtalk-shared);每目录有 SKILL.md
G2 结构 结构 各 SKILL.md frontmatter name==目录名;非空 description;category∈{product,shared};requires.bins 含 dws
G3 覆盖 覆盖 mono references/products/* 顶层 stem 每 stem ∈ coverage 或 omit_coverage;coverage 目标 skill/refs 存在
G4 漂移 漂移 scripts、成对文件、全局协议 orphan 脚本 ∈ allowlist;paired 内容一致(允许合同声明的布局链接替换);全局协议存在或 ∈ omit_global
G5 链接 可达性 合同覆盖的 paired Markdown 内联相对链接目标文件或目录存在且不逃出仓库;外链、纯锚点和锚点内容不在检查范围

已有门禁(继续复用,不替代本矩阵):check-skill-commands、check-skill-context-budget、check-multi-im-skill-chain、skill_docs_policy、whiteboard 成对测试。

2. 有意省略 / 延期登记格式

YAML(见 coverage 文件):

omit_coverage:
  - mono: simple
    disposition: covered_by   # covered_by | defer | wontfix
    via: dingtalk-misc        # optional
    reason: "拆入 oa/devdoc…"

omit_global:
  - id: field-rules-global
    mono_path: references/field-rules.md
    expected_multi: dingtalk-aitable/references/field-rules.md
    disposition: covered_by
    reason: "AI 表格字段规则已下沉到 dingtalk-aitable;G3/coverage 不强制全局同名"

orphan_scripts_allowlist:
  - path: dingtalk-misc/scripts/report_received_today.py
    disposition: defer
    reason: "pending report.md reference"

paired_files:
  - mono: references/products/sheet.md
    multi: dingtalk-misc/references/sheet.md
    mode: link-normalized
    link_substitutions:
      - mono: "../url-patterns.md"
        multi: "../../dingtalk-shared/references/url-patterns.md"
      - mono: "../intent-guide.md"
        multi: "sheet-intent-guide.md"

处置原则:质检失败 → 修内容或更新 reviewed omit;不改安装/升级默认。

3. 缺口基线(相对 mono)

ID 项 disposition 说明
M1 recovery-guide / RECOVERY_EVENT_ID 闭环 removed 已从 mono/multi skill 文档删除;不做移植
M2 confirmation_required 全局协议 done dingtalk-shared/references/confirmation.md + SKILL 导航
M3 Schema 渐进查询教学 done dingtalk-shared/references/schema-usage.md
M4 report_inbox_today.py defer / orphan 侧 验证后迁 misc 或删
M5 multi LICENSE/NOTICE defer 内容或打包注入
M6 aiapp 路由 vs orphan 脚本 done(标明未产品化) mono 死链移除;unsupported-scripts.md
X1 yida/finance/aiapp orphan scripts done(登记) 由 unsupported-scripts 具名引用
X2 chat 死链 extract_media_id.py n/a 现仅为反模式提及
X3 routing → markdown 错路径 done 已指 dingtalk-misc/references/markdown.md;drive 尾链已修
X4 event 缺 metadata done
X5 multi skill 横幅 /「优先 mono」文案 done 横幅已全部移除
X6 SAFETY_PREAMBLE_INJECT 无注入器 done 标记已移除

产品面覆盖:见 YAML coverage——mono products 均有 multi 承接(misc 聚合 attendance/oa/sheet/…)。