v1.0.1: 奖助学金评定逻辑防伪校验 - 初版骨架

基于匠厂 skill-template 主仓 v1.0.108 派生的业务技能。

核心业务:
- 辅导员在汇总表中批量勾选候选人后自动触发
- 多源数据一致性校验(自报家庭年收入 vs 一卡通消费 vs 生源地 GDP)
- 横向排名可疑检测(综测 vs 成绩排名差值过大)
- 历史重复资助排查(本学年累计金额超限)

输出形态:
- 《奖助评定复核建议清单》HTML 报告
- 高风险个案推送至辅导员工作台
- 复核结果留痕(核查说明 + 终审结论)

预期提效:资助中心抽查工作量减少 80%;因认定不公引发的学生投诉事件下降 60%。

业务行生命周期:待审 → 已标注 → 已复核(保留 / 取消 / 调减)/ 已驳回 / 已撤回

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
2026-09-14 12:19:13 +08:00
commit 3f87f223f9
21 changed files with 1548 additions and 0 deletions

129
SKILL.md Normal file
View File

@@ -0,0 +1,129 @@
---
name: 奖助学金评定逻辑防伪校验
description: "辅导员在汇总表中批量勾选候选人后,自动比对自报家庭年收入与一卡通消费、综测排名与成绩排名、本学年累计资助金额,生成《奖助评定复核建议清单》。"
version: 1.0.1
author: 深圳匠厂科技有限公司
metadata:
openclaw:
slug: verify-scholarship-fraud-sas
platform_kit_min_version: "1.2.11"
emoji: "🛡"
category: "学生"
developer_ids:
- 12345 # 占位,请换成你的匠厂用户 ID
- 12468
allowed-tools:
- bash
---
# 奖助学金评定逻辑防伪校验(verify-scholarship-fraud-sas)
这是基于匠厂 skill-template 主仓 v1.0.108 派生的业务技能。覆盖需求规格书第 4.3 节「🟠 学生处 Skill 001 —— 奖助学金评定"逻辑防伪校验"」。
## Agent / 宿主编排(复制为业务技能后必改)
### AI + RPA 定位
- **Agent 是入口与编排者**:理解用户意图("校验国家助学金候选人"、"标记这位学生为待复核")、补齐参数、判断风险、选择 Action,并用业务语言解释结果。
- **本技能不涉及浏览器 / 桌面 / 手机 RPA**:一卡通消费数据、综测成绩、资助台账均走官方 API;生源地人均 GDP 从公开统计数据抓取。
### 架构铁律(先读)
- **宿主产品入口平级**:对话任务 / 数据管理 / 定时任务是同一技能能力的不同触发场景,**同等重要**。
- **单业务内核、多入口**:所有入口必须复用同一 domain service。
- **业务行生命周期**:本技能对「候选人行」有"待审 / 已标注 / 已复核 / 已驳回"角色约束,遵守 `references/WORK_ITEM_STATUS.md`。
- **HTML 整页报告**:本技能输出《奖助评定复核建议清单》走 `render-html`。
### 如何触发(能力类型)
| 你要做什么 | Agent 怎么做 | 进任务中心? |
|------------|--------------|--------------|
| 健康检查 / 短查询 | OpenClaw bash/exec + 共享 Python 跑 CLI | 否 |
| 已声明 sync 的 Action | `run_skill_action` 或等效短 CLI | 否 |
| 长任务(批量校验上千名候选人) | **必须** `run_skill_action` | 是(async) |
### 用户意图路由表(业务技能复制后必改)
| 用户意图(本技能自填) | Agent 怎么做 | 进任务中心? |
|------------------------|--------------|--------------|
| 检查运行环境 | 短 CLI:`python {baseDir}/scripts/main.py health` | 否 |
| 查看版本 | 短 CLI:`python {baseDir}/scripts/main.py version` | 否 |
| 查看配置位置 | 短 CLI:`python {baseDir}/scripts/main.py config-path` | 否 |
| 对一位候选人做防伪校验 | `run_skill_action` → `verify-candidate`(输入:`candidate_id`) | 否(sync) |
| 批量校验某班级所有候选人 | `run_skill_action` → `batch-verify-class`(输入:`class_id`) | 是(async) |
| 标记候选人为待复核 | `run_skill_action` → `mark-needs-review`(输入:`candidate_id` + 复核原因) | 否(sync) |
| 提交复核结果 | `run_skill_action` → `submit-review-result`(输入:`candidate_id` + 结论 + 核查说明) | 否(sync) |
| 查看复核建议清单 | `run_skill_action` → `render-html`(输入:`list_id`) | 否(sync) |
## 共享 Python(必读)
宿主共享 runtime 在 `{JIANGCHANG_DATA_ROOT}/python-runtime/.venv`,并已前置到 PATH(同时设 `VIRTUAL_ENV`)。短 CLI 一条命令直接跑:
```bash
python {baseDir}/scripts/main.py health
python {baseDir}/scripts/main.py version
python {baseDir}/scripts/main.py config-path
python {baseDir}/scripts/main.py init-db
```
- 公共库来自共享 venv 的 `jiangchang-platform-kit>=1.2.11`(包名路径 `jiangchang_skill_core`);**不要 vendor** `scripts/jiangchang_skill_core/`。
- 根目录 `requirements.txt` **只声明技能特有**依赖;不要写 `jiangchang-platform-kit` / `playwright`。
- `metadata.openclaw.platform_kit_min_version` 是宿主兼容声明,**不是** pip 依赖。
- `health` 用 `collect_runtime_diagnostics` 做只读诊断。
配置:仓库 `.env.example` 为模板;用户 `.env` 在 `{JIANGCHANG_DATA_ROOT}/{JIANGCHANG_USER_ID}/{slug}/.env`。优先级:进程环境变量 > 用户 `.env` > `.env.example`。
## 面向用户问答(LLM 规则)
- 本文(`SKILL.md`)是 LLM / OpenClaw 平台读取的技能入口,**不是**用户市场说明。
- 根目录市场材料面向普通用户(见下方「文档分工」),**不是** Agent 调用契约。
当用户询问以下问题时,**必须优先读取**根目录 `README.md`(能力说明)与 `TUTORIAL.md`(逐步用法):
- 这个技能是做什么的
- 这个技能怎么用
- 适合什么场景
- 使用前要准备什么
- 执行后会得到什么
- 能不能帮我完成某个业务任务
**回答「怎么用 / 能做什么」时的要求:**
1. 「能做什么 / 场景 / 概念类 FAQ」以 `README.md`(说明 Tab)为主;「点哪里 / 说什么 / 排障」以 `TUTORIAL.md`(教程 Tab)为主。
2. **禁止**在回答中粘贴 `python …/scripts/main.py …` 或其它命令行。
3. **禁止**为答用法而去 `dir` / `ls` / 列技能目录。
4. **不要**向普通用户暴露 Playwright、DOM、Python、RPA、库表名、`error_code` 等实现细节。
5. 用户问「怎么用」时:**优先读 `TUTORIAL.md`**。
## 文档分工
| 文档 | 读者 | 用途 |
|------|------|------|
| 根目录 `README.md` | 普通用户 | 市场 **说明** Tab |
| 根目录 `TUTORIAL.md` | 普通用户 | 市场 **教程** Tab |
| 根目录 `DEMO.md` | 普通用户 | 市场 **演示** Tab |
| 根目录 `CHANGELOG.md` | 普通用户 | 市场 **更新日志** Tab |
| `SKILL.md`(本文) | LLM / OpenClaw 平台 | 技能入口、触发与运行契约摘要 |
| `references/` | Agent 编排 / 调用 | CLI、Action、schema 契约 |
| `development/` | 开发者 / AI 编程代理 | 需求、开发教程、测试、深度技术规范 |
## 目录约定
- `assets/`、`development/`、`evals/`、`references/`、`scripts/`、`tests/`
- CLI 入口固定为 `scripts/main.py`
- 业务逻辑按 `cli / db / service / util` 分层
## 技能命名与 slug
- slug:`verify-scholarship-fraud-sas`(`verify` 动词 + `scholarship-fraud` 名词 + `sas` student affairs 学生处缩写)
- name:**用户可见的中文业务名称**;`description` 是说明,不是名称。
- 目录名、默认 `{slug}.db` 使用 slug,不使用中文。
## 平台元数据
- `metadata.openclaw.developer_ids`:技能发布后的默认开发者可见用户 ID 列表。
- 开发期技能常为不公开:不加本人 ID,开发者自己也无法在市场安装自测。
---
> **本技能开发状态:** v1.0.1 骨架已就位,业务实现细节见 `development/REQUIREMENTS.md`;具体 Python 模块由开发者后续补全。