crm-assistant
将销售会议 transcript、飞书会议原始 JSON、飞书云文档正文或 Word/DOCX 会议纪要,转换成 CRM 结构化结果,并按客户信息表 +…
当用户上传 PDF、JPG、JPEG、PNG 附件,或消息中包含"报销""发票""票据""录入""火车票""机票"等关键词时触发。对附件内容进行识别,若确认为报销票据则提取结构化字段并写入飞书多维表格;若识别后内容不是报销票据,告知用户并终止流程。
$ npx -y skills add DjangoPeng/agentic-ai --skill financial-expense-automation --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/financial-expense-automationContext preview
The summary Claude sees to decide when to auto-load this skill.
当用户上传 PDF、JPG、JPEG、PNG 附件,或消息中包含"报销""发票""票据""录入""火车票""机票"等关键词时触发。对附件内容进行识别,若确认为报销票据则提取结构化字段并写入飞书多维表格;若识别后内容不是报销票据,告知用户并终止流程。
name: financial-expense-automation description: 当用户上传 PDF、JPG、JPEG、PNG 附件,或消息中包含"报销""发票""票据""录入""火车票""机票"等关键词时触发。对附件内容进行识别,若确认为报销票据则提取结构化字段并写入飞书多维表格;若识别后内容不是报销票据,告知用户并终止流程。
运行本地 Financial Automation 流水线,对用户上传的报销票据进行:
请始终记住:
这个 skill 依赖完整项目仓库,不能只拷贝 `SKILL.md` 单独使用。
按以下顺序定位项目根目录: 1. 环境变量 `FINANCIAL_AUTOMATION_ROOT` 2. `~/projects/agentic-ai/financial-automation` 3. `~/.openclaw/workspace/financial-automation`
若这些路径都不存在,应明确告诉用户:当前环境尚未部署完整项目仓库,请先完成部署。
主要入口与配置:
附件输入格式:
[
{"file_name": "hotel_invoice.pdf", "content_bytes": b"..."},
{"file_name": "ticket.jpg", "source_path": "/path/to/ticket.jpg"},
]支持文件类型:
若过滤后没有可处理附件,应直接告知用户:没有收到可处理的报销附件。
识别完成后,若内容不是报销票据(如普通图片、截图、合同等),应: 1. 告知用户:该附件不是可识别的报销票据 2. 简述识别到的内容类型 3. 终止流程,不继续写表
必须通过:
from src.skill_entry import run_skill_job result = run_skill_job(attachments)
如有需要可显式传配置:
result = run_skill_job(
attachments,
config_path=f"{repo_root}/config/app_config.yaml",
)不要手工拼接 ingest / OCR / validate / formatter 流程。
1. 定位 repo root 2. 将用户上传文件整理成 `run_skill_job(...)` 所需的附件 payload 3. 调用 `run_skill_job(...)` 4. 使用返回的 `skill_result` 作为识别结果主对象 5. 生成真实写表输入 6. 若当前会话具备 Feishu Bitable 工具能力,继续执行真实写表 7. 写入后回读确认,再向用户回复结果
1. `bitable_write_plan` 只是中间产物,不是最终结果 2. 只要当前会话可用飞书多维表格工具,就必须继续真实写表 3. 禁止停留在“建议写入 / 准备写入 / 可写入”状态 4. 只有真正调用 `create/update` 成功,才算完成 5. 如果没有真实写入成功,必须明确说明失败点 6. 禁止把“已识别 / 已生成 plan / 已生成 handoff”描述成已经完成落表
默认采用:
具体规则: 1. 先查询目标表 2. 若存在可复用空白行(优先判断 `doc_id` 为空),优先 `update` 3. 若不存在可复用空白行,再 `create` 4. 不要盲目追加新记录
附件字段必须遵守以下规则:
1. 禁止直接使用通用 Drive upload token 作为 Bitable 附件 2. 必须先上传到当前 **bitable attachment context** 3. 再将返回的合法 `file_token` 写入附件字段 4. 图片走 `bitable_image` 5. PDF/其他文件走 `bitable_file`
如果当前环境附件链路不可用:
注意:
最重要字段:
说明:
以下情况才算完成:
以下情况都不算完成:
回复用户时: 1. 先用 `user_summary.headline` 概括结果 2. 若有 `review_queue`,明确列出复核项与原因 3. 发票场景总结购方、销方、金额、项目名称等关键字段 4. 火车票场景总结购买方、路线、日期、乘客、席位等关键字段 5. 不要只汇报识别结果,必须汇报真实写表结果,或明确失败点
当前优先支持:
重点提取字段包括:
将销售会议 transcript、飞书会议原始 JSON、飞书云文档正文或 Word/DOCX 会议纪要,转换成 CRM 结构化结果,并按客户信息表 +…
当用户希望让 OpenClaw 通过 ACP 调度 Claude Code,对 GitHub 仓库进行 API Key、Token、密码、私钥、Webhook URL 等敏感信息泄露巡检、自动修复、验收、推送修复 commit,并通过飞书发送巡检报告时使用。
当用户希望生成 AI 早报、运行晨报链路、查看今日资讯摘要,或消息中包含”早报””晨报””今日资讯””新闻摘要”等关键词时触发。