--- name: 结题报告初稿助手 description: "结题报告一键初稿:对比预期指标与实际成果生成完成情况章节,决算明细转规范描述,组装可直接修改的 Word 版《结题报告(初稿)》,叙事章节提供素材要点,严禁编造数据。" version: 1.0.2 author: 深圳匠厂科技有限公司 metadata: openclaw: slug: draft-closing-report-default platform_kit_min_version: "1.2.11" emoji: "📄" category: "科研" brands: - jiangchang - huashang developer_ids: - 79017 # 开发者本人匠厂用户 ID(设置 → 用户信息 → 复制) allowed-tools: - bash --- # 结题报告初稿助手(draft-closing-report-default) 结题报告"一键初稿生成":对比**预期成果指标**与**实际成果清单**自动生成"完成情况"章节(超额完成/持平/未达标),把**经费决算明细**转成规范描述语,按通用结题骨架组装 Word 版《结题报告(初稿)》(含目录骨架与来源标注)。数据章节全部模板确定性生成;叙事章节只给素材要点与占位指引,须本人终审——**严禁编造数据与虚构成果**。 ## Agent / 宿主编排 - **Agent 是入口与编排者**:帮助教师把成果证明整理成结构化录入、触发初稿生成、解读指标对比结果。 - 台账数据来自本地库;Agent 不得编造成果、金额或指标;叙事起草时只允许重组初稿中的素材要点并逐句可溯源。 - Word 渲染由技能依赖 python-docx 完成;异常时 HTML 预览兜底可用。 - 本技能无 RPA、无浏览器自动化;不修改科研/财务系统数据。 ## 能力类型与触发 | 你要做什么 | Agent 怎么做 | 进任务中心? | |------------|--------------|--------------| | 查台账 / 查初稿 / 统计 | 短 CLI:`list-projects` / `list-achievements` / `list-expenses` / `list-drafts` / `stats` | 否 | | 生成单个项目初稿(同步) | `run_skill_action` → `draft-report`(`input.projectNo`) | 否 | | 批量生成全部待结题初稿 | `run_skill_action` → `draft-batch-pending` | 是(该 Action 为 async) | | 录入项目/成果/决算 | 数据管理表上操作,或 `run_skill_action` → `add-*`;批量走 `import-projects` / `import-achievements` / `import-expenses` | 否 | | 重建 HTML 预览 | `run_skill_action` → `render-html` | 否 | | 用户只问用法 / 能做什么 | 读根目录 `README.md`;逐步操作再读 `TUTORIAL.md` | — | 进不进任务中心**只**看该 Action 的 `executionProfile`,与触发入口**无关**。本技能为"数据齐备即可生成"型能力,不存在「准备 vs 执行」两段式。本技能无网页 RPA;宿主账号规范见 `development/ACCOUNT_MANAGER.md`。 ## 用户意图路由表 | 用户意图 | Agent 怎么做 | 进任务中心? | |------------------------|--------------|--------------| | "帮我生成 X 项目的结题初稿" | `run_skill_action` → `draft-report`,`input.projectNo` | 否 | | "把所有待结题项目都生成初稿" | `run_skill_action` → `draft-batch-pending` | 是(因该 Action 为 async) | | "录入成果/决算/预期指标" | 数据管理表单 `add-*`;批量 JSON 交给 `import-achievements` / `import-expenses` / `import-projects` | 否 | | "我的初稿写完了吗 / 文件在哪" | 短 CLI:`list-drafts`;详情 `show-draft --id N` | 否 | | "重新生成预览" | `run_skill_action` → `render-html` | 否 | | "统计" | 短 CLI:`stats` | 否 | **硬规则:** 1. `draft-batch-pending` 是本技能唯一 async Action;禁止用 bash 跑它再轮询等待。 2. 成果、金额、指标必须来自用户/台账,Agent 不得编造;缺数据引导补录而非虚构。 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 draft-report --project-no X ``` - 公共库来自共享 venv 的 `jiangchang-platform-kit>=1.2.11`;不要 vendor。 - **禁止**用 `uv run python` 跑技能脚本;**禁止** Agent 自行 `pip install`。 - 本技能特有依赖 `python-docx` 已在 requirements.txt 声明,由宿主安装技能时写入共享 venv。 ## 面向用户问答(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` 分层。 - 业务表:`closing_projects`(结题项目)、`achievements`(成果清单)、`expense_items`(决算明细)、`report_drafts`(初稿记录)。 - 交付文件:Word 初稿写 `output/`,HTML 预览写 `html/`,重建走固定 Action id `render-html`。 ## 平台元数据 - `metadata.openclaw.developer_ids`:发布后默认可见的用户 ID 列表;**发布前必须替换为本人的匠厂用户 ID**。 - 当 `access_scope = 0`(不公开)时,平台会把 `developer_ids` 中的用户自动补写到 `skill_user_access`。