打卡统计与报告
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_af726653/check-in-report-skill-202604271026。
技能介绍
要解决什么问题
群打卡往往有各自的活动规则:达标线、核心指标(距离、时长、次数等)、排序方向和惩罚机制。管理员需要按「本日 / 本周 / 本月」或自定义区间出进度排名、周期结算、跨周期对比或催办提醒,且名单必须覆盖全员——包括未打卡成员,不能只看有记录的人。
本 skill 不负责写打卡记录,而是配合 check-in-manager-skill,从约定目录读取活动规则与 JSON 记录,完成统计与报告输出。
如何工作
数据来源(v4):活动配置在 check-in-manager-skill/activities/{group_id}/{activity_id}.txt(自然语言规则);打卡记录在 records/{group_id}/{activity_id}/YYYY-MM-DD.json。group_id 做目录级隔离,Activity ID 形如 {类型}_{创建者}_{时间戳}(纯英文/数字)。
典型流程分五步:
- 解析请求 — 确定时间周期、报告类型(A 排名 / B 结算 / C 对比 / D 催办)与目标活动;未指定则扫描当前群活动列表。
- 定位数据 — 解析群组 ID,读取 TXT 提取活动名、达标线、核心指标、排序与惩罚规则;用
load_records.py加载日期范围内记录。 - 统计计算 — 调用
calc_stats.py,支持count、sum、avg、max/min、divide_sum、multiply_sum、last_minus_first等七种模式;输出为纯数值value,无记录成员为value: 0, count: 0,并保留records供二次分析。 - 格式化与成稿 — 由 AI 按规则 TXT 做单位转换(如配速
3.95→3'57"/km),再按references/report-templates.md生成对应类型报告;跨周期对比需compare_periods.py,排名与达标可用rank_and_qualify.py。 - 回复用户 — 通过消息工具推送报告,结尾含鼓励语。
边界与注意点
- 数据真实性:只使用
records/{group_id}/{activity_id}/下实际文件,不臆造记录。 - 规则驱动:达标线、排序方向、核心指标必须 100% 来自活动 TXT,不得自行改规则。
- 群组隔离:仅统计当前群,不跨群读目录。
- 报告正文应使用格式化后的指标,而非原始浮点数;模板细节以 skill 内
report-templates.md为准。
使用场景
- 企业微信跑步群每到周末,需要按活动 TXT 里的距离/配速指标生成本周进度排名,零打卡成员也必须上榜。
- 读书打卡活动到期,要根据达标线从 JSON 记录统计全员,输出达标、未达标名单及 TXT 中定义的惩罚说明。
- 管理员选定上月与本月两个时间窗,调用跨周期对比逻辑生成排名变化(delta),用于群内复盘。
- 活动截止前几小时,需要按「催办提醒」模板列出本周期仍未达标的成员及剩余时间。
适合人员
- 维护企业微信打卡群(跑步、读书等)的群主或志愿者,定期需要排名榜与周期结算文案。
- 已在用 check-in-manager 写入活动规则与按日 JSON 记录的人,希望用脚本化统计替代手工汇总表格。
- 只负责单一 group_id 的活动运营,需要在本群目录内做 sum/avg/配速等七种指标计算并格式化推送。
- 需要在结算日覆盖全员(含未打卡)且指标展示必须符合活动 TXT 单位定义的数据整理者。