--- name: 职称评审核验助手 description: "职称申报硬指标自动核验:维护各级别刚性门槛库,对申报案例逐项比对生成达标矩阵与红(硬伤)/黄(边缘)/绿(安全)三色结论,出具《核验报告》。" version: 1.0.2 author: 深圳匠厂科技有限公司 metadata: openclaw: slug: verify-promotion-metric-default platform_kit_min_version: "1.2.11" emoji: "✅" category: "人事" brands: - jiangchang - huashang developer_ids: - 79017 # 开发者本人匠厂用户 ID(设置 → 用户信息 → 复制) allowed-tools: - bash --- # 职称评审核验助手(verify-promotion-metric-default) 职称申报"硬指标自动核验":维护各级别(副教授/教授)**刚性门槛库**(省部级主持项目、核心期刊论文、教学工作量、任现职年限等,附依据文件与条款),对申报案例逐项比对生成**达标矩阵**,输出 🔴硬伤(暂缓提交)/ 🟡边缘(建议补充)/ 🟢安全(形式审查通过)三色结论。核验仅针对硬指标形式审查,不构成评审结论。 ## Agent / 宿主编排 - **Agent 是入口与编排者**:帮助申报人从申报表/支撑材料整理结构化指标(多模态阅读),触发核验 Action 并解读矩阵。 - 门槛数值由人事处维护;Agent 不得编造指标数值或门槛;缺数据的项标"数据待核"而非判不达标。 - 本技能无 RPA、无浏览器自动化;不修改人事系统数据。 ## 能力类型与触发 | 你要做什么 | Agent 怎么做 | 进任务中心? | |------------|--------------|--------------| | 查门槛 / 查案例 / 统计 | 短 CLI:`view-thresholds` / `list-cases` / `stats` | 否 | | 核验一个申报案例(同步秒级) | `run_skill_action` → `verify-metric`(`input.teacher/applyRank/metricsJson`) | 否 | | 批量核验 input/ 目录案例 | `run_skill_action` → `verify-batch-input` | 是(该 Action 为 async) | | 维护门槛库 | 数据管理行级按钮 `set-threshold`;批量走 `import-thresholds` | 否 | | 重建核验报告 | `run_skill_action` → `render-html` | 否 | | 用户只问用法 / 能做什么 | 读根目录 `README.md`;逐步操作再读 `TUTORIAL.md` | — | 进不进任务中心**只**看该 Action 的 `executionProfile`,与触发入口**无关**。本技能为"即时计算"型能力,不存在「准备 vs 执行」两段式。本技能无网页 RPA,不涉及账号管理;宿主账号规范见 `development/ACCOUNT_MANAGER.md`。 ## 用户意图路由表 | 用户意图 | Agent 怎么做 | 进任务中心? | |------------------------|--------------|--------------| | "帮我核验一下能不能报副教授" | 收集指标(可读申报材料);`run_skill_action` → `verify-metric`,`input.applyRank/metricsJson` | 否 | | "评审季批量核验全院申报人" | 案例 JSON 放 input/ 或粘贴;`run_skill_action` → `verify-batch-input` | 是(因该 Action 为 async) | | "副教授的核心论文要求是几篇" | 短 CLI:`view-thresholds --rank 副教授` | 否 | | "调整某项门槛" | 数据管理行级 `set-threshold`;或短 CLI:`set-threshold` | 否 | | "我上次的核验结果" | 短 CLI:`list-cases`;详情 `show-case --id N` | 否 | | "重新生成核验报告" | `run_skill_action` → `render-html` | 否 | **硬规则:** 1. `verify-batch-input` 是本技能唯一 async Action;禁止用 bash 跑它再轮询等待。 2. 指标与门槛必须来自用户/门槛库,Agent 不得编造;缺数据标"待核"。门槛库未配置的级别或指标一律不判"安全",按"边缘/待核"提示补配(RANK_INVALID / V1)。 3. 结论必须说明"仅硬指标形式审查,不构成评审结论";硬伤项要读出依据条款。 4. 一个业务能力一个 Action;底层同一 `scripts/main.py` CLI。 Agent 执行契约细节:`references/CLI.md`、`references/ACTIONS.md`、`references/SCHEMA.md`。 ## 共享 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 init-db python {baseDir}/scripts/main.py verify-metric --teacher 张三 --apply-rank 副教授 --metrics-json ``` - 公共库来自共享 venv 的 `jiangchang-platform-kit>=1.2.11`;不要 vendor。 - **禁止**用 `uv run python` 跑技能脚本;**禁止** Agent 自行 `pip install`。 - 根目录 `requirements.txt` 只声明技能特有依赖(本技能当前无)。 ## 面向用户问答(LLM 规则) - 本文(`SKILL.md`)是 LLM / OpenClaw 平台读取的技能入口,**不是**用户市场说明。 - 当用户询问"这个技能是做什么的 / 怎么用 / 适合什么场景",**必须优先读取**根目录 `README.md` 与 `TUTORIAL.md`,用业务语言回答。 - **回答「怎么用 / 能做什么」时的要求**:优先读 `TUTORIAL.md`;**禁止**在回答中粘贴 `python` 命令行(除非用户明确索要);**禁止**用 `dir` / `ls` 列技能目录。 - **禁止**向普通用户暴露 JSON 字段名、表名、`error_code` 等实现细节(除非用户问技术实现)。 ## 文档分工 | 文档 | 读者 | 用途 | |------|------|------| | 根目录 `README.md` | 普通用户 | 市场 **说明** Tab(`readme_md`) | | 根目录 `TUTORIAL.md` | 普通用户 | 市场 **教程** Tab(`tutorial_md`) | | 根目录 `DEMO.md` | 普通用户 | 市场 **演示** Tab(`demo_video_url` + `demo_md`) | | 根目录 `CHANGELOG.md` | 普通用户 | 市场 **更新日志** Tab(`changelog`) | | `SKILL.md`(本文) | LLM / OpenClaw 平台 | 技能入口、触发与运行契约摘要 | | `references/` | Agent 编排 / 调用 | CLI、Action、schema 契约 | | `development/` | 开发者 / AI 编程代理 | 需求、开发教程、测试、技术规范 | ## 目录约定 - CLI 入口固定为 `scripts/main.py`;业务逻辑按 `cli / db / service / util` 分层。 - 业务表:`threshold_rules`(评审门槛库)、`verify_cases`(核验案例)。 - HTML 报告写入技能数据目录 `html/`(`report-N.html`、批量 `brief-*.html`),重建走固定 Action id `render-html`。 ## 平台元数据 - `metadata.openclaw.developer_ids`:发布后默认可见的用户 ID 列表;**发布前必须替换为本人的匠厂用户 ID**。 - 当 `access_scope = 0`(不公开)时,平台会把 `developer_ids` 中的用户自动补写到 `skill_user_access`。