--- name: 制度文件冲突检测与合规审查 description: "起草人在 OA 上传新制度送审稿时,自动检测与校内现行制度库(约 300+ 份)的条款冲突、程序合规性、重复发文风险,并在 Word 侧栏生成批注清单。" version: 1.0.1 author: 深圳匠厂科技有限公司 metadata: openclaw: slug: detect-policy-conflict-gs platform_kit_min_version: "1.2.11" emoji: "⚖️" category: "行政" developer_ids: - 12345 # 占位,请换成你的匠厂用户 ID - 12468 allowed-tools: - bash --- # 制度文件冲突检测与合规审查(detect-policy-conflict-gs) 这是基于匠厂 skill-template 主仓 v1.0.108 派生的业务技能。覆盖需求规格书第 4.3 节「🟠 校办/党办 Skill 001 —— 制度文件"冲突检测与合规审查"」。 ## Agent / 宿主编排(复制为业务技能后必改) ### AI + RPA 定位 - **Agent 是入口与编排者**:理解用户意图("审这一份新制度"、"列出本月所有冲突制度")、补齐参数、判断风险、选择 Action,并用业务语言解释结果。 - **本技能不涉及浏览器 / 桌面 / 手机 RPA**:所有读取与写入走 OA 官方 API(优先)或离线文档解析;如官方 API 不可用,按 `development/RPA.md` 停止并上报,不擅自走逆向/私有协议路线。 - 开发者与 AI 编程工具先读 `development/AI_RPA.md`。 ### 架构铁律(先读) - **宿主产品入口平级**:对话任务 / 数据管理 / 定时任务是同一技能能力的不同触发场景,**同等重要**;挂哪些由本技能 UX 定义(入口定位表),详见 `development/PRODUCT_SURFACES.md`。 - **单业务内核、多入口**:数据管理 / 定时任务 / Agent / 技能详情 / 直接 CLI 必须复用同一 domain service;禁止按入口复制业务逻辑,禁止按 `source` 分叉业务行为。 - **数据管理**:既是 **UI 执行面**(点按钮走与对话相同的闭环),也是数据与过程可见;不是「只读库」。 - **业务行生命周期**:本技能对每一份「送审稿」有"可送审 → 审查中 → 已通过 / 冲突中 / 驳回"五类状态,遵守 `references/WORK_ITEM_STATUS.md` 角色约束。 - **HTML 整页报告**:本技能输出形态为「OA Word 侧栏批注」,**不**走 `render-html`;如需离线存档,单独走 `export-review-report` 落 `output/`。 ### 如何触发(能力类型) | 你要做什么 | Agent 怎么做 | 进任务中心? | |------------|--------------|--------------| | 健康检查 / 短查询 | OpenClaw bash/exec + 共享 Python 跑 CLI | 否 | | 已声明 sync 的 Action | `run_skill_action` 或等效短 CLI | 否 | | 长任务(送审稿向量化比对 300+ 份制度) | **必须** `run_skill_action`(先 `list_skill_actions` / `get_skill_action`) | 是(仅因 async) | ### 用户意图路由表(业务技能复制后必改) | 用户意图(本技能自填) | Agent 怎么做 | 进任务中心? | |------------------------|--------------|--------------| | 检查运行环境 | 短 CLI:`python {baseDir}/scripts/main.py health` | 否 | | 查看版本 | 短 CLI:`python {baseDir}/scripts/main.py version` | 否 | | 查看配置位置 | 短 CLI:`python {baseDir}/scripts/main.py config-path` | 否 | | 送审一份新制度 | `run_skill_action` → `audit-policy-draft`(输入:`policy_draft_id`) | 否(sync) | | 重新比对某条冲突条款 | `run_skill_action` → `recheck-conflict-clause`(输入:`clause_id`) | 否(sync) | | 导出完整审查报告 | `run_skill_action` → `export-review-report`(输入:`policy_draft_id`) | 否(sync) | | 定时扫描:制度库新增/变更后自动比对存量送审稿 | `run_skill_action` → `rescan-pending-drafts`(cron / agent) | 是(async) | | 标记送审稿为"已通过 / 驳回" | `run_skill_action` → `mark-policy-status`(输入:`policy_draft_id` + `target_status`) | 否(sync) | ## 共享 Python(必读) 宿主共享 runtime 在 `{JIANGCHANG_DATA_ROOT}/python-runtime/.venv`,并已前置到 PATH(同时设 `VIRTUAL_ENV`)。短 CLI 一条命令直接跑: ```bash python {baseDir}/scripts/main.py health python {baseDir}/scripts/main.py version python {baseDir}/scripts/main.py config-path python {baseDir}/scripts/main.py init-db ``` - 公共库来自共享 venv 的 `jiangchang-platform-kit>=1.2.11`(包名路径 `jiangchang_skill_core`);**不要 vendor** `scripts/jiangchang_skill_core/`。 - 根目录 `requirements.txt` **只声明技能特有**依赖;不要写 `jiangchang-platform-kit` / `playwright`。 - `metadata.openclaw.platform_kit_min_version` 是宿主兼容声明,**不是** pip 依赖。 - `health` 用 `collect_runtime_diagnostics` 做只读诊断。 配置:仓库 `.env.example` 为模板;用户 `.env` 在 `{JIANGCHANG_DATA_ROOT}/{JIANGCHANG_USER_ID}/{slug}/.env`。优先级:进程环境变量 > 用户 `.env` > `.env.example`。 ## 面向用户问答(LLM 规则) - 本文(`SKILL.md`)是 LLM / OpenClaw 平台读取的技能入口,**不是**用户市场说明。 - 根目录市场材料面向普通用户(见下方「文档分工」),**不是** Agent 调用契约。 当用户询问以下问题时,**必须优先读取**根目录 `README.md`(能力说明)与 `TUTORIAL.md`(逐步用法),并用用户能理解的业务语言回答: - 这个技能是做什么的 - 这个技能怎么用 - 适合什么场景 - 使用前要准备什么 - 执行后会得到什么 - 能不能帮我完成某个业务任务 **回答「怎么用 / 能做什么」时的要求:** 1. 「能做什么 / 场景 / 概念类 FAQ」以 `README.md`(说明 Tab)为主;「点哪里 / 说什么 / 排障」以 `TUTORIAL.md`(教程 Tab)为主。 2. **禁止**在回答中粘贴 `python …/scripts/main.py …` 或其它命令行(除非用户明确索要命令,或自称技术人员/开发者)。 3. **禁止**为答用法而去 `dir` / `ls` / 列技能目录,或默认打开 `references/`、`development/`。 4. **不要**向普通用户暴露 Playwright、DOM、Python、RPA、库表名、`error_code` 等实现细节。 5. 用户问「怎么用」时:**优先读 `TUTORIAL.md`**。 ## 文档分工 | 文档 | 读者 | 用途 | |------|------|------| | 根目录 `README.md` | 普通用户 | 市场 **说明** Tab | | 根目录 `TUTORIAL.md` | 普通用户 | 市场 **教程** Tab | | 根目录 `DEMO.md` | 普通用户 | 市场 **演示** Tab | | 根目录 `CHANGELOG.md` | 普通用户 | 市场 **更新日志** Tab | | `SKILL.md`(本文) | LLM / OpenClaw 平台 | 技能入口、触发与运行契约摘要 | | `references/` | Agent 编排 / 调用 | CLI、Action、schema 契约 | | `development/` | 开发者 / AI 编程代理 | 需求、开发教程、测试、深度技术规范 | ## 目录约定 - `assets/`、`development/`、`evals/`、`references/`、`scripts/`、`tests/` - CLI 入口固定为 `scripts/main.py` - 业务逻辑按 `cli / db / service / util` 分层 ## 技能命名与 slug - slug:`detect-policy-conflict-gs`(`detect` 动词 + `policy-conflict` 名词 + `gs` general office 部门缩写) - name:**用户可见的中文业务名称**;`description` 是说明,不是名称。 - 目录名、默认 `{slug}.db` 使用 slug,不使用中文。 ## 平台元数据 - `metadata.openclaw.developer_ids`:技能发布后的默认开发者可见用户 ID 列表(ID 来自匠厂宿主「设置 → 用户信息」)。 - 开发期技能常为不公开:不加本人 ID,开发者自己也无法在市场安装自测。 - 当 `access_scope = 0`(不公开)时,平台会把 `developer_ids` 中的用户自动补写到 `skill_user_access`。 --- > **本技能开发状态:** v1.0.1 骨架已就位,业务实现细节见 `development/REQUIREMENTS.md`;具体 Python 模块由开发者后续补全。