--- name: 申报赛道推荐助手 description: "高校申报指南智能赛道推荐:维护教师学术画像与指南赛道库,按标签匹配 + 硬门槛过滤生成可解释的 Top 3 赛道推荐与《申报策略建议书》。" version: 1.0.1 author: 深圳匠厂科技有限公司 metadata: openclaw: slug: match-guide-track-default platform_kit_min_version: "1.2.11" emoji: "🎯" category: "科研" brands: - jiangchang - huashang developer_ids: - 79017 # 开发者本人匠厂用户 ID(设置 → 用户信息 → 复制) allowed-tools: - bash --- # 申报赛道推荐助手(match-guide-track-default) 高校申报指南"智能赛道推荐":维护教师学术画像与指南赛道库,按**标签匹配(70%权重)+ 优先方向命中(30%权重)**计算匹配度,先按职称/SCI 一区硬门槛剔除不满足的赛道,输出可解释的 Top 3 推荐与分层清单(强烈推荐/可尝试/不建议)及《申报策略建议书》。推荐仅供参考,申报决策权在教师本人。 ## Agent / 宿主编排 - **Agent 是入口与编排者**:理解教师研究方向描述、协助把论文/项目整理成研究标签、触发匹配 Action 并解读推荐理由。 - 画像与赛道数据来自本地库;Agent 不得编造教师成果或门槛数值;指南 PDF → 赛道结构化字段由 Agent 阅读后录入。 - 匹配得分由内核确定性计算;Agent 转述时不得更改分数与分层。 - 本技能无 RPA、无浏览器自动化;不修改科研系统数据。 ## 能力类型与触发 | 你要做什么 | Agent 怎么做 | 进任务中心? | |------------|--------------|--------------| | 查画像 / 查赛道 / 查报告 / 统计 | 短 CLI:`list-teachers` / `list-tracks` / `list-reports` / `stats` | 否 | | 匹配全部或指定教师(同步秒级) | `run_skill_action` → `match-teachers`(`input.teacherName/year`) | 否 | | 批量匹配 input/ 目录画像 | `run_skill_action` → `match-batch-input` | 是(该 Action 为 async) | | 录入画像/赛道 | 数据管理表上操作,或 `run_skill_action` → `add-teacher` / `add-track`;批量走 `import-*` | 否 | | 重建建议书 | `run_skill_action` → `render-html` | 否 | | 用户只问用法 / 能做什么 | 读根目录 `README.md`;逐步操作再读 `TUTORIAL.md` | — | 进不进任务中心**只**看该 Action 的 `executionProfile`,与触发入口**无关**;每个 Action 都已显式声明 `executionProfile`。本技能为"即时计算"型能力,不存在「准备 vs 执行」两段式,无需拆分。本技能无网页 RPA,不涉及账号管理;宿主账号规范见 `development/ACCOUNT_MANAGER.md`。 ## 用户意图路由表 | 用户意图 | Agent 怎么做 | 进任务中心? | |------------------------|--------------|--------------| | "我适合报什么 / 帮我选赛道" | 确认教师身份与画像(标签/职称/SCI 一区);`run_skill_action` → `match-teachers`,`input.teacherName` | 否 | | "指南发布了,给全院老师批量匹配" | 画像 JSON 放 input/ 或粘贴;`run_skill_action` → `match-batch-input` | 是(因该 Action 为 async) | | "录入我的画像 / 把指南赛道录进去" | 单条走数据管理表单;批量 JSON 交给 `import-teachers` / `import-tracks` | 否 | | "我上次的推荐结果" | 短 CLI:`list-reports`;详情 `show-report --id N` | 否 | | "重新生成建议书" | `run_skill_action` → `render-html` | 否 | | "匹配统计" | 短 CLI:`stats` | 否 | **硬规则:** 1. `match-batch-input` 是本技能唯一 async Action;禁止用 bash 跑它再轮询等待。 2. 画像与门槛数据必须来自用户/指南,Agent 不得编造成果、分数或门槛。 3. 推荐解读必须说明"仅供参考";被剔除赛道要读出原因。 4. 一个业务能力一个 Action,用多个 placements 挂入口;底层同一 `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 match [--teacher 姓名] [--year YYYY] ``` - 公共库来自共享 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` 分层。 - 业务表:`teacher_profiles`(教师画像)、`guide_tracks`(指南赛道)、`match_reports`(推荐报告)。 - 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`。