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

153
assets/actions.json Normal file
View File

@@ -0,0 +1,153 @@
{
"schemaVersion": 1,
"skill": "verify-scholarship-fraud-sas",
"actions": [
{
"id": "health",
"label": "运行检查",
"description": "检查技能运行环境、学生工作部 / 一卡通中心 / 教务系统 API 连通性、生源地 GDP 库完整性。",
"placements": ["skill-detail", "agent"],
"executionProfile": "sync",
"entrypoint": {
"type": "cli",
"command": "health",
"args": []
}
},
{
"id": "version",
"label": "查看版本",
"description": "返回技能版本和机器标识。",
"placements": ["skill-detail"],
"executionProfile": "sync",
"entrypoint": {
"type": "cli",
"command": "version",
"args": []
}
},
{
"id": "config-path",
"label": "查看配置位置",
"description": "返回技能配置文件位置。",
"placements": ["skill-detail"],
"executionProfile": "sync",
"entrypoint": {
"type": "cli",
"command": "config-path",
"args": []
}
},
{
"id": "verify-candidate",
"label": "AI 校验",
"description": "对一位候选人执行四类异常检测(多源数据一致性 + 横向排名 + 历史重复资助),返回异常标签与详情。",
"placements": ["row", "agent"],
"executionProfile": "sync",
"bind": {
"tables": ["候选人汇总表"],
"selectionMode": "required",
"labelColumn": "学生姓名"
},
"entrypoint": {
"type": "cli",
"command": "verify-candidate",
"args": ["--candidate-id", "{row.候选人ID}"]
}
},
{
"id": "batch-verify-class",
"label": "批量校验",
"description": "批量校验某班级或某专业下所有候选人,按顺序逐位执行并汇总结果。",
"placements": ["batch", "agent"],
"executionProfile": "async",
"bind": {
"tables": ["候选人汇总表"],
"selectionMode": "optional"
},
"entrypoint": {
"type": "cli",
"command": "batch-verify-class",
"args": ["--class-id", "{form.class_id}"]
}
},
{
"id": "mark-needs-review",
"label": "标记为待复核",
"description": "手动将候选人标记为待复核,推送通知给辅导员工作台。",
"placements": ["row"],
"executionProfile": "sync",
"bind": {
"tables": ["候选人汇总表"],
"selectionMode": "required",
"labelColumn": "学生姓名"
},
"entrypoint": {
"type": "cli",
"command": "mark-needs-review",
"args": ["--candidate-id", "{row.候选人ID}", "--reason", "{form.reason}"]
}
},
{
"id": "submit-review-result",
"label": "提交复核结果",
"description": "辅导员填写核查说明后提交复核结果(含最终结论:保留 / 取消 / 调减资助)。",
"placements": ["row"],
"executionProfile": "sync",
"bind": {
"tables": ["复核建议清单"],
"selectionMode": "required",
"labelColumn": "学生姓名"
},
"entrypoint": {
"type": "cli",
"command": "submit-review-result",
"args": ["--candidate-id", "{row.候选人ID}", "--conclusion", "{form.conclusion}", "--review-note", "{form.review_note}"]
}
},
{
"id": "render-html",
"label": "查看复核清单",
"description": "渲染指定复核清单的 HTML 页面,宿主 iframe 预览。",
"placements": ["row", "skill-detail", "agent"],
"executionProfile": "sync",
"bind": {
"tables": ["复核建议清单"],
"selectionMode": "required",
"labelColumn": "批次名称"
},
"entrypoint": {
"type": "cli",
"command": "render-html",
"args": ["--list-id", "{row.清单ID}"]
}
},
{
"id": "sync-card-data",
"label": "同步一卡通数据",
"description": "从一卡通中心重新拉取消费数据。占位 Action,cron 启用后由定时调度。",
"placements": ["cron", "agent", "toolbar"],
"executionProfile": "async",
"bind": {
"tables": ["一卡通消费"]
},
"entrypoint": {
"type": "cli",
"command": "sync-card-data",
"args": []
}
},
{
"id": "sync-gdp-data",
"label": "同步生源地 GDP 数据",
"description": "从公开统计来源拉取最新生源地人均 GDP 数据。占位 Action,cron 启用后由定时调度。",
"placements": ["cron", "agent"],
"executionProfile": "async",
"entrypoint": {
"type": "cli",
"command": "sync-gdp-data",
"args": []
}
}
]
}