Files
verify-invoice-default/SKILL.md
chenfuqiang 39eacc4c4a
All checks were successful
技能自动化发布 / release (push) Successful in 18s
chore: auto release commit (2026-09-15 10:19:55)
2026-09-15 10:19:55 +08:00

10 KiB
Raw Blame History

name, description, version, author, metadata, allowed-tools
name description version author metadata allowed-tools
票据合规预审助手 高校报销场景的发票合规性秒级预审:核对字段完整性、购买方税号白名单、开票日期与出差行程逻辑、住宿交通经费标准,对连号、同商家集中开票、节假日开票等风险点红黄灯预警,生成《初审意见单》。 1.0.5 深圳匠厂科技有限公司
openclaw
slug platform_kit_min_version emoji category brands developer_ids
verify-invoice-default 1.2.11 🧾 财务
jiangchang
huashang
79017
bash

票据合规预审助手(verify-invoice-default)

高校财务报销场景的票据合规性"秒级预审":对发票结构化字段执行四步审核(字段完整性 → 三方交叉验真 → 经费标准硬约束 → 风控标记),输出 ✅ 通过 / ⚠️ 待确认 / ❌ 驳回 三色清单并生成《初审意见单》HTML 报告。预审结果仅作提示,不构成最终报销结论;发票真伪以人工/官方查验结果为准(可回填)。

Agent / 宿主编排

  • Agent 是入口与编排者:理解用户意图、收集发票字段与报销上下文、选择 Action,并用业务语言解读红黄绿灯结论。
  • 发票照片 → 结构化字段的提取由 Agent 多模态能力(或用户粘贴/手工录入)完成;本技能接收结构化 JSON 并做确定性规则审核,不做 OCR、不连接外部系统。
  • 遇到字段大面积缺失(照片模糊/折叠)时,提示用户重拍或补录,不要编造字段值。
  • RPA功能:本技能支持从指定网站(sandbox.jc2009.com)自动提取发票信息,需要用户提供登录凭证和浏览器配置目录。RPA功能用于自动化数据采集,不修改外部系统数据。

能力类型与触发

你要做什么 Agent 怎么做 进任务中心?
查询初审历史 / 统计 / 查看标准 / 节假日 短 CLI:list-reports / stats / view-standards / list-holidays 否
预审一张或多张发票(同步秒级) run_skill_action → prereview-invoice(input.invoiceJson + 上下文) 否
批量预审 input/ 目录 JSON 文件 run_skill_action → prereview-batch-input 是(该 Action 为 async)
回填人工查验结果 run_skill_action → mark-verified(input.reportId/result/note) 否
重建《初审意见单》HTML run_skill_action → render-html 否
维护税号白名单 / 经费标准 数据管理表上操作,或短 CLI:add-whitelist / remove-whitelist / set-standard 否
从网站提取发票信息 run_skill_action → extract-invoices(input.username/password/profileDir) 否
测试RPA连接 run_skill_action → test-rpa-connection 否
查询RPA提取记录 run_skill_action → list-rpa-invoices 否
查看RPA提取详情 run_skill_action → show-rpa-invoice 否
RPA提取统计 run_skill_action → rpa-invoice-stats 否
用户只问用法 / 能做什么 读根目录 README.md;逐步操作再读 TUTORIAL.md —

进不进任务中心只看该 Action 的 executionProfile(sync 当场返回 / async 进任务中心),与数据管理、对话等触发入口无关;每个 Action 都已显式声明 executionProfile。

本技能为"即时审核"型能力:提交即审、当场出结论,不存在「先准备本地数据、再对外产生副作用」的两段式,因此无需拆分准备与执行;若后续接入需要外部副作用的扩展(如对接报销系统提交),须按「准备 vs 执行」拆分并可由 Agent 分别触发。本技能支持网页RPA功能,用于从指定网站自动提取发票信息,需要账号管理;宿主账号/Profile/租约规范见 development/ACCOUNT_MANAGER.md。

用户意图路由表

用户意图 Agent 怎么做 进任务中心?
"帮我预审这张发票 / 查一下这张票能不能报" 引导用户提供发票字段(照片可由 Agent 读取后转写字段);run_skill_action → prereview-invoice,input.invoiceJson 传结构化字段,差旅场景补 tripStart/tripEnd/tripCity/staffTitle 否
"这批发票一起预审"(input 目录已放 JSON) run_skill_action → prereview-batch-input 是(因该 Action 为 async)
"查一下我之前预审了哪些 / 结果怎么样" 短 CLI:list-reports [--verdict …];详情 show-report --report-id N 否
"我在查验平台查过了,结果是…" run_skill_action → mark-verified,`input.result=pass fail` + 备注
"重新生成意见单 / 我要那份 PDF 式报告" run_skill_action → render-html;结果在数据管理 HTML 报告侧栏 否
"住宿标准是多少 / 一线城市的上限" 短 CLI:view-standards [--category 住宿费] 否
"预审成功率怎么样" 短 CLI:stats 否
"把 XX 税号加进白名单 / 改一下住宿标准" 数据管理表上操作;或短 CLI:add-whitelist / set-standard 否
"从网站提取发票信息" run_skill_action → extract-invoices,需要提供用户名、密码和浏览器配置目录 否
"测试RPA连接" run_skill_action → test-rpa-connection,需要提供用户名、密码和浏览器配置目录 否
"查看RPA提取记录" run_skill_action → list-rpa-invoices,可按批次ID、用户名、状态筛选 否
"查看RPA提取详情" run_skill_action → show-rpa-invoice,需要提供记录ID 否
"RPA提取统计" run_skill_action → rpa-invoice-stats 否

硬规则:

  1. prereview-batch-input 是本技能唯一 async Action;禁止用 bash 跑它再轮询等待。
  2. 预审输入必须结构化;Agent 不得替用户编造票面字段(金额、税号、日期)。
  3. 预审结论必须向用户说明"不构成最终报销结论";驳回项要读出规则引用。
  4. 发票真伪只提示查验指引;除非用户明确说已在官方平台查验,不得代替用户勾选"已查验"。
  5. 一个业务能力一个 Action,用多个 placements 挂入口;底层同一 scripts/main.py CLI。
  6. RPA功能需要用户提供登录凭证和浏览器配置目录;禁止存储用户密码到日志或代码中。
  7. RPA提取的发票数据存储在本地数据库,不自动同步到外部系统。

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 prereview --invoice-json <file|-> [--purpose 文本] [--trip-start YYYY-MM-DD] [--staff-title 职级]
  • 公共库来自共享 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 分层。
  • 业务表:invoice_records(发票登记)、prereview_reports(初审意见)、expense_standards(经费标准库)、taxid_whitelist(税号白名单)、holiday_calendar(节假日)。
  • HTML 报告写入技能数据目录 html/,重建走固定 Action id render-html。

平台元数据

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