All checks were successful
技能自动化发布 / release (push) Successful in 9s
- 状态标签:C3 触发且 D 未判 → 待补录,优先级对齐需求 §6.2 - broadcast-monthly 逐项目增量 emit,任务中心可见进行中进度 - progress_reports 回填 project_id;新增 items_json/updated_at;旧库重建式安全迁移(含回归测试) - 简报:TITLE 转义防注入、章节对齐 §10(独立「暂付款/结题提醒」)、页脚逐字统一 - 金标准测试 +17:±10%/20% 阈值恰界、C2 钳位、N2 反例、C3 逐字段、HTML 转义、async+cron 定位守护、迁移回归 - 文档 v1.1(开发文档 + REQUIREMENTS):ERROR:<CODE> <message>、reports_brief、--all-status、skill-detail 表外挂载、C1 level=warn - 落盘验收报告 acceptance-reports/20260924-105401-acceptance.md(338 测试全绿) - 版本 1.0.1 → 1.0.2(constants / SKILL.md / CHANGELOG 三处对齐)
8.4 KiB
8.4 KiB
name, description, version, author, metadata, allowed-tools
| name | description | version | author | metadata | allowed-tools | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 项目经费进度播报助手 | 高校项目经费执行监测与播报:按项目台账自动计算实际支出率与序时进度,识别严重滞后/支出异常偏快,生成三段式播报摘要、暂付款冲销与结题报销提醒,支持月度定时播报并输出《经费执行简报》。 | 1.0.2 | 深圳匠厂科技有限公司 |
|
|
项目经费进度播报助手(track-fund-progress-default)
高校项目经费执行监测与播报:按项目台账(立项/到账/报销/暂付款/执行期)自动计算实际支出率与序时进度,识别"严重滞后 / 支出异常偏快 / 正常",生成三段式播报摘要与《经费执行简报》(含柱状图);支持暂付款冲销提醒、结题临近提醒与每月定时播报。全部数字来自本地确定性计算与规则模板,不编造数据;播报仅作提醒,请以财务系统账面为准。
Agent / 宿主编排
- Agent 是入口与编排者:理解查询意图(如"查一下我的国自然经费")、定位负责人与项目、触发播报 Action,并用业务语言解读播报结论。
- 台账数据来自本地库(表单录入 / JSON 批量导入 / 数据管理直接编辑);Agent 不得凭空编造项目金额,台账缺失时引导补录。
- 播报文本由技能内核以规则模板生成(确定性、零幻觉);Agent 转述时可口语化,但不得更改数字与状态判定。
- 本技能无 RPA、无浏览器自动化;不修改任何外部系统数据。
能力类型与触发
| 你要做什么 | Agent 怎么做 | 进任务中心? |
|---|---|---|
| 查台账 / 查播报历史 / 查阈值 / 统计 | 短 CLI:list-projects / list-reports / view-rules / stats |
否 |
| 播报全部在研项目或指定项目(同步秒级) | run_skill_action → broadcast-progress(input.projectNo/pi/asOf) |
否 |
| 月度定时播报(全部在研项目 + 汇总简报) | run_skill_action → broadcast-monthly |
是(该 Action 为 async) |
| 录入/更新项目台账 | 数据管理表上操作,或 run_skill_action → add-project;批量走 import-projects |
否 |
| 重建《经费执行简报》HTML | run_skill_action → render-html |
否 |
| 调整预警阈值 | 数据管理行级按钮 set-rule;或短 CLI:set-rule |
否 |
| 用户只问用法 / 能做什么 | 读根目录 README.md;逐步操作再读 TUTORIAL.md |
— |
进不进任务中心只看该 Action 的 executionProfile(sync 当场返回 / async 进任务中心),与数据管理、对话、定时等触发入口无关;每个 Action 都已显式声明 executionProfile。
本技能为"即时计算"型能力:提交即算、当场出结论,不存在「先准备本地数据、再对外产生副作用」的两段式,因此无需按「准备 vs 执行」拆分;月度播报为无人值守只读计算+写本地记录,安全可定时。本技能无网页 RPA,不涉及账号管理;宿主账号/Profile/租约规范见 development/ACCOUNT_MANAGER.md。
用户意图路由表
| 用户意图 | Agent 怎么做 | 进任务中心? |
|---|---|---|
| "查一下我的国自然经费执行得怎么样" / "播报我的项目进度" | 确定负责人姓名;run_skill_action → broadcast-progress,input.pi=负责人(单项目传 projectNo) |
否 |
| "月度播报一次全部项目" / 定时到点自动执行 | run_skill_action → broadcast-monthly |
是(因该 Action 为 async) |
| "录入一个新项目 / 把这批项目导进去" | 单条走数据管理表单 add-project;批量把 JSON 交给 import-projects |
否 |
| "我上次播报的结果是什么" | 短 CLI:list-reports [--status-tag 严重滞后];详情 show-report --id N |
否 |
| "重新生成简报" | run_skill_action → render-html;结果在数据管理 HTML 报告侧栏 |
否 |
| "滞后阈值改成 15%" | run_skill_action → set-rule(ruleKey=lag_threshold, value=0.15)或数据管理行级按钮 |
否 |
| "全校经费执行统计" | 短 CLI:stats |
否 |
硬规则:
broadcast-monthly是本技能唯一 async Action;禁止用 bash 跑它再轮询等待。- 台账金额必须由用户提供或导入,Agent 不得编造、估算金额与日期。
- 播报结论必须说明"仅作提醒,以财务系统账面为准";不得替 PI 决定如何花钱。
- 项目台账属敏感经营数据;对话查询应限定负责人本人的项目,滞后 Top 名单面向科研秘书/财务处场景。
- 一个业务能力一个 Action,用多个 placements 挂入口;底层同一
scripts/main.pyCLI。
Agent 执行契约细节:references/CLI.md、references/ACTIONS.md、references/SCHEMA.md。
共享 Python(必读)
宿主共享 runtime 在 {JIANGCHANG_DATA_ROOT}/python-runtime/.venv,并已前置到 PATH(同时设 VIRTUAL_ENV)。短 CLI 一条命令直接跑:
python {baseDir}/scripts/main.py health
python {baseDir}/scripts/main.py version
python {baseDir}/scripts/main.py init-db
python {baseDir}/scripts/main.py broadcast [--pi 负责人] [--project-no X] [--as-of YYYY-MM-DD]
- 公共库来自共享 venv 的
jiangchang-platform-kit>=1.2.11(包名路径jiangchang_skill_core);不要 vendor。 - 禁止用
uv run python跑技能脚本(会建临时环境,缺jiangchang_skill_core);禁止 Agent 自行pip install。 - 根目录
requirements.txt只声明技能特有依赖(本技能当前无)。 - 配置:用户
.env在{JIANGCHANG_DATA_ROOT}/{JIANGCHANG_USER_ID}/{slug}/.env;优先级:进程环境变量 > 用户.env>.env.example。
面向用户问答(LLM 规则)
- 本文(
SKILL.md)是 LLM / OpenClaw 平台读取的技能入口,不是用户市场说明。 - 当用户询问"这个技能是做什么的 / 怎么用 / 适合什么场景 / 用前准备什么 / 得到什么",必须优先读取根目录
README.md(能力说明)与TUTORIAL.md(逐步用法),并用业务语言回答。 - 回答「怎么用 / 能做什么」时的要求:优先读
TUTORIAL.md;禁止在回答中粘贴python …/scripts/main.py …或其它命令行(除非用户明确索要命令,或自称技术人员/开发者);禁止为答用法去dir/ls列技能目录,或默认打开references/、development/。 - 禁止向普通用户暴露 JSON 字段名、表名、
error_code等实现细节(除非用户明确询问技术实现)。 - 市场说明 Tab(
README.md)不含分步操作;排障步骤在TUTORIAL.md「常见卡住怎么办」。
文档分工
| 文档 | 读者 | 用途 |
|---|---|---|
根目录 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 契约(Agent 主读) |
development/ |
开发者 / AI 编程代理 | 需求、开发教程、测试、深度技术规范 |
目录约定
- CLI 入口固定为
scripts/main.py;业务逻辑按cli / db / service / util分层。 - 业务表:
fund_projects(项目台账)、progress_reports(播报记录)、alert_rules(预警规则)。 - HTML 简报写入技能数据目录
html/(单项目report-N.html、月度汇总brief-*.html),重建走固定 Action idrender-html。
平台元数据
metadata.openclaw.developer_ids:发布后默认可见的用户 ID 列表;发布前必须替换为本人的匠厂用户 ID(设置 → 用户信息 → 复制),否则开发期自己无法在市场安装自测。- 当
access_scope = 0(不公开)时,平台会把developer_ids中的用户自动补写到skill_user_access。