Files
chenfuqiang f90f742c1e
All checks were successful
技能自动化发布 / release (push) Successful in 9s
fix: 对照《财务处Skill002》验收整改并升版 v1.0.2
- 状态标签: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 三处对齐)
2026-09-24 17:19:30 +08:00

8.4 KiB
Raw Permalink Blame History

name, description, version, author, metadata, allowed-tools
name description version author metadata allowed-tools
项目经费进度播报助手 高校项目经费执行监测与播报:按项目台账自动计算实际支出率与序时进度,识别严重滞后/支出异常偏快,生成三段式播报摘要、暂付款冲销与结题报销提醒,支持月度定时播报并输出《经费执行简报》。 1.0.2 深圳匠厂科技有限公司
openclaw
slug platform_kit_min_version emoji category brands developer_ids
track-fund-progress-default 1.2.11 📊 财务
jiangchang
huashang
79017
bash

项目经费进度播报助手(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 否

硬规则:

  1. broadcast-monthly 是本技能唯一 async Action;禁止用 bash 跑它再轮询等待。
  2. 台账金额必须由用户提供或导入,Agent 不得编造、估算金额与日期。
  3. 播报结论必须说明"仅作提醒,以财务系统账面为准";不得替 PI 决定如何花钱。
  4. 项目台账属敏感经营数据;对话查询应限定负责人本人的项目,滞后 Top 名单面向科研秘书/财务处场景。
  5. 一个业务能力一个 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 一条命令直接跑:

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 id render-html。

平台元数据

  • metadata.openclaw.developer_ids:发布后默认可见的用户 ID 列表;发布前必须替换为本人的匠厂用户 ID(设置 → 用户信息 → 复制),否则开发期自己无法在市场安装自测。
  • 当 access_scope = 0(不公开)时,平台会把 developer_ids 中的用户自动补写到 skill_user_access。