v1.0.1: 合同到期智能预警与续聘辅助 - 初版骨架

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

核心业务:
- 每日凌晨定时扫描全校教职工合同电子台账
- 距到期日 90 / 60 / 30 天分级预警(黄 / 橙 / 红)
- 自动生成个人版《续聘准备任务书》与单位版《本月到期人员清单》
- 30 天红色预警自动抄送分管校领导

输出形态:
- 个人版 HTML 任务书 + 单位版 PDF 清单 + 三级预警通知

预期提效:因合同逾期未续签导致的劳动纠纷降为 0;人事处年终集中突击签合同的工作量减少 60%。

业务行生命周期:可续聘 → 预警中(黄 / 橙 / 红)→ 已续签 / 已驳回 / 已过期

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

119
assets/actions.json Normal file
View File

@@ -0,0 +1,119 @@
{
"schemaVersion": 1,
"skill": "alert-contract-expiring-hr",
"actions": [
{
"id": "health",
"label": "运行检查",
"description": "检查技能运行环境、人事系统 API 连通性、考核数据接口可用性。",
"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": "scan-expiring-contracts",
"label": "扫描即将到期合同",
"description": "扫描全校教职工合同电子台账,对距到期日 90/60/30 天的合同分别给出黄/橙/红三级预警,并自动生成个人任务书与单位清单。",
"placements": ["cron", "agent", "toolbar"],
"executionProfile": "async",
"bind": {
"tables": ["合同台账"]
},
"entrypoint": {
"type": "cli",
"command": "scan-expiring-contracts",
"args": ["--thresholds", "90,60,30"]
}
},
{
"id": "generate-renewal-task",
"label": "生成续聘任务书",
"description": "为指定合同对应的教师生成个人版《续聘准备任务书》(HTML + 通知推送),含近三年业绩摘要、AI 续聘建议、所需材料清单。",
"placements": ["row", "agent"],
"executionProfile": "sync",
"bind": {
"tables": ["合同台账"],
"selectionMode": "required",
"labelColumn": "教职工姓名"
},
"entrypoint": {
"type": "cli",
"command": "generate-renewal-task",
"args": ["--contract-id", "{row.合同ID}"]
}
},
{
"id": "dispatch-task-notice",
"label": "下发续聘任务通知单",
"description": "按二级单位或按月份生成单位版《本月合同到期人员清单及续聘建议》并推送给人事秘书。",
"placements": ["batch", "agent"],
"executionProfile": "sync",
"bind": {
"tables": ["合同台账", "预警记录"],
"selectionMode": "optional"
},
"entrypoint": {
"type": "cli",
"command": "dispatch-task-notice",
"args": ["--unit-id", "{form.unit_id}", "--month", "{form.month}"]
}
},
{
"id": "mark-contract-renewed",
"label": "标记合同已续签",
"description": "将指定合同标记为已续签(须上传续签材料),并自动解除预警。",
"placements": ["row"],
"executionProfile": "sync",
"bind": {
"tables": ["合同台账"],
"selectionMode": "required",
"labelColumn": "教职工姓名"
},
"entrypoint": {
"type": "cli",
"command": "mark-contract-renewed",
"args": ["--contract-id", "{row.合同ID}", "--material-id", "{form.material_id}"]
}
},
{
"id": "render-html",
"label": "在浏览器中打开续聘任务书",
"description": "渲染已生成的个人版《续聘准备任务书》HTML 页面,宿主 iframe 预览。",
"placements": ["skill-detail", "agent"],
"executionProfile": "sync",
"entrypoint": {
"type": "cli",
"command": "render-html",
"args": ["--task-id", "{form.task_id}"]
}
}
]
}