智能表单 - 通用记账本与信息汇总工具。支持支出账单、出货台账、运行日志等结构化数据记录,可附加图片/文档做存档,支持自动归类、周期报表、定时提醒。用户说「记一下 xxx」即可自动触发,支持记账、备忘、出货、日志等多种记录类型。Smart form, notes, bookkeeping, records, document archive.
Scanned 9/9/2026
Install to Claude Code
npx -y skills add Lord1Egypt/awesome-skill-forge --skill listform --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Listform?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/lord1egypt-listform)More formats (shields.io, HTML) on the badges page.
---
name: list
description: 智能表单 - 通用记账本与信息汇总工具。支持支出账单、出货台账、运行日志等结构化数据记录,可附加图片/文档做存档,支持自动归类、周期报表、定时提醒。用户说「记一下 xxx」即可自动触发,支持记账、备忘、出货、日志等多种记录类型。Smart form, notes, bookkeeping, records, document archive.
---
# 📋 智能表单 · list
## 核心理念
**说"记一下"就完事了**。用户不需要选类型、填字段——说了就自动归类存好。
- 零门槛:`记一下 xxx` 即可
- 自动分类:根据内容判断是支出/出货/日志/其他
- 图片也可:发张收据说"记一下",自动识别并保存
## 行为规则
**命令式触发(直接执行)**:用户说「记一下 + 内容」这种明确命令句式时,直接识别并保存,无需确认。
**模糊触发(先确认)**:用户只说了单个词(如 "记账"、"记录一下"、"日志"、"list")时,先问「要记一笔吗?」得到肯定答复后再执行。
## 数据存储
`workspace/memory/list-data/` 目录,每种记录类型独立 JSON:
```
memory/list-data/
├── expenses.json # 支出
├── shipments.json # 出货
├── logs.json # 运行日志
├── photos.json # 图片归档(自动识别类型时用)
└── ... # 自动创建的新类型
```
**记录格式**:
```json
{
"config": {"fields": {"category":"text","amount":"number","note":"text"}},
"records": [
{
"id": "uuid",
"timestamp": "2026-05-19T19:00:00+08:00",
"data": {"category":"餐饮","amount":200,"note":"晚饭"},
"tags": [],
"attachments": []
}
]
}
```
## 脚本工具
所有数据操作通过 `scripts/list.py`,模型不直接改 JSON:
| 操作 | 命令 |
|------|------|
| 新增记录 | `python3 scripts/list.py add <type> --data '{"k":"v"}' [--image <path>]` |
| 查询记录 | `python3 scripts/list.py query <type> [--from DATE] [--to DATE] [--filter JSON]` |
| 周期汇总 | `python3 scripts/list.py summary <type> [--from DATE] [--to DATE] [--by category]` |
| 列出类型 | `python3 scripts/list.py types` |
| 新增类型 | `python3 scripts/list.py new-type <type> --fields '{"字段":"类型"}'` |
| 删除记录 | `python3 scripts/list.py delete <type> <id>` |
## 核心工作流程
### 1. 自动分类录入(最常用)
用户说「记一下 XXX」,自动判断类型并保存:
**判断逻辑**(由上到下匹配):
1. 含金额数字 → **expenses**(支出),如"记一下今天吃饭200"
2. 含出货/发货/件数 → **shipments**(出货),如"记一下发了50件到广州"
3. 含日志/运行/状态 → **logs**(运行日志),如"记一下服务器正常"
4. 含图片附件 → **photos**(图片归档),无文本时用"图片归档"类型
5. 其他 → 问用户确认类型,或创建新类型
**操作步骤**:
1. 判断属于哪个类型
2. 提取关键字段(金额/分类/数量/目的地等)
3. 如该类型 JSON 不存在 → `new-type` 自动创建,按内容推断字段
4. `python3 scripts/list.py add <type> --data 'JSON' [--image <path>]`
5. 回复确认"已记录"
**判断示例**:
| 用户说 | 自动识别 | 存入 |
|--------|---------|------|
| "记一下今天吃饭200" | expenses | `{category:"餐饮",amount:200,note:"今天吃饭"}` |
| "记一下发了50件到广州" | shipments | `{product:"未指定",quantity:50,destination:"广州"}` |
| "记一下服务器宕机了" | logs | `{system:"服务器",status:"异常",detail:"宕机"}` |
| 拍收据说"记一下" | expenses | 存图片,自动尝试读取金额 |
### 2. 查询/筛选
用户问"查一下 x月花了多少" → `query` + 模型加工输出趋势。
### 3. 周期汇总
用户说"月底总结/本月花了多少" → `summary`,按分类聚合。
### 4. 图片/文档归档
用户发图片说"记一下":
1. 保存图片到 `memory/list-data/attachments/`
2. 如果模型支持图片识别 → 分析图片内容,提取关键信息
3. 用提取的信息填充字段(收据金额/合同日期等)
4. 保存记录 + 关联图片
> ⚠️ **注意**:图片自动识别需要大模型支持图片识别能力(如 GPT-4o、Claude 3.5 Sonnet 等)。如当前模型不支持,仅做图片存档,需用户手动补充描述。
### 5. 定时提醒
Cron 定时问用户要不要记一笔:
```
openclaw cron add \
--name list-remind-expense \
--cron "0 21 * * *" \
--tz "Asia/Shanghai" \
--message "list-remind: 睡前记账时间到~ 今天花了多少?" \
--channel feishu --to <目标> \
--session isolated --no-deliver
```
## 内置类型模板
模型在自动创建类型时参考以下模板结构:
**expenses(支出)** — 字段:category(text), amount(number), note(text)
- 分类:餐饮/交通/购物/娱乐/医疗/学习/生活/其他
**shipments(出货)** — 字段:product(text), quantity(number), destination(text), note(text)
**logs(运行日志)** — 字段:system(text), status(text), detail(text)
- 状态:正常/异常/维护
**photos(图片归档)** — 字段:description(text), tags(text), date(text)
不在模板中的类型由模型推断字段并 `new-type` 创建。
## 用户引导
### 首次使用
用户第一次触发 skill(或说「怎么用」)时,在回复末尾附上简短功能指引:
> 📋 智能表单已激活!试试:
> • **记一下** — "记一下今天吃饭200"(自动分类支出)
> • **查一下** — "查一下五月花了多少"
> • **月底总结** — "本月花了多少"
> • **拍照** — 发收据说"记一下",自动识别
> • 还能记录出货、运行日志等
### 每次回复后末尾提示
成功记录、查询、汇总后,末尾加一句简短引导:
| 场景 | 末尾提示 |
|------|---------|
| 记录成功 | ✅ 已记录 💬 回复「查一下」查看记录 |
| 查询完成 | 💬 回复「记一下」继续记录,或「月底总结」看汇总 |
| 汇总报表 | 📊 本月已汇总 💬 回复「流水」查看完整清单 |
### 不确定时主动问
用户说得太模糊时,先问清楚再操作:
> 你是想记一笔支出、出货,还是其他?或者直接说「记一下 xxx」我自己判断
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!