08
入口与编排 · 月度核对编排
考勤月度核对(追觅类)
attendance-monthly-reconcile
把 HRO 外包场景下「数据员考勤表 → 员工核对 → 问题跟进 → HR 审核包」的月度流程标准化。本 skill 负责流程编排与八阶段门禁(阶段 0–7,不可跳门);数据归档交 data-prep、异常清单交 exception-review、备注生成交 remarks。从追觅考勤组操作录屏蒸馏,覆盖 80% 飞书打卡场景。
◧
CLIENT PROFILE
适用客户画像 / 试点数据源数据员月导出
数据员按月导出考勤汇总表,常无身份证号。
打卡80 / 20
80% 员工飞书打卡,20% 可能链接打卡或其他,需单独分支。
拆表按考勤部门
按考勤部门拆分多表,每部门一套加班班次规则。
规模数百人 / 2 HR
数百人,2 名 HR 各负责约一半。
试点追觅
追觅(本 skill 首发来源),约 320 人 / 2 人。
⚡
TRIGGERS
触发场景▸追觅考勤 / 月度考勤核对
▸考勤表整理 / 数据员表整理
▸按人发考勤
▸attendance monthly reconcile / 考勤月度核对
⊞
SESSION ENTRY
会话入口1 · 客户/目录名
data/raw/ 下子目录名2 · 薪资月
YYYYMM3 · 当月花名册
HRO 导出,含离职但当月计薪人员
4 · 数据员原始表
可能多 sheet / 多文件,按考勤部门拆分
DATASET_NAME="<目录名>"
PAY_PERIOD="<YYYYMM>"
SOURCE_DIR="data/raw/${DATASET_NAME}"
OUTPUT_DIR="outputs/${DATASET_NAME}-${PAY_PERIOD}"↹
INPUT & OUTPUT
输入 / 产出↘ INPUT · 输入
- 当月花名册(含离职但当月计薪,姓名/身份证/部门/职位/入离职日期)
- 顾问各考勤部门当月人员清单
- 数据员原始考勤表(多 sheet/多文件按考勤部门拆分)
↗ OUTPUT · 产出
- reference_roster.xlsx(含「考勤部门」列)
- 整理后数据员表 + 按人 HTML 切片(脱敏后个人切片 + 画数)
- 问题员工审核包:改表截图 + 飞书凭证 + 「核对无误」确认
- 下游产物 exception_review.xlsx / attendance_remarks.xlsx
🪜
PHASE GATES
阶段门禁(必须按序)- 0花名册与考勤部门GATE每人有「考勤部门」列(HR 维护,非原始字段);职位与 HRO 按身份证号已核对。新增员工对比本月各表 vs 上月,出现在哪张表即属该考勤部门。产出
reference_roster.xlsx。 - 1原始表备份 + 补字段GATE数据员表整表复制保留原始版;working copy 用 VLOOKUP 花名册补身份证号、职位。
- 2先对人头GATE只统计人数与花名册比对、记录差异,此阶段不改任何考勤数据。
- 3整理数据员表(发员工前)GATE隐藏求和为 0 的列;请假只留事假/调休;调休假天数加入实际出勤;迟到早退首次发放前不扣。
- 4按人截图发放GATE截员工行到「总计」列(含按日明细)+ 附「画数」汇总模板,飞书/微信发送。可用
split_employee_slices.py把宽表按员工生成 HTML 切片 + 索引(默认脱敏身份证/工资等敏感列)。每人已发「个人切片 + 画数」。 - 5问题跟进GATE仅处理反馈有问题的员工:加班、夜班、公出、迟到、事假(细则见下)。改表标黄 + 批注。
- 6二次确认GATE改表后必须员工回复「核对无误」才闭环。
- 7审核包GATE问题员工 Sheet 附改表截图 + 原始确认 + 飞书凭证一并归档;无问题员工保留「核对无误」文字即可。
⛔
RED LINES
门禁红线 · 禁止禁止
- 未做人头核对就改数据。
- 未首次发放就预扣迟到。
- 未员工确认就提交 HR。
▤
STAGE 3 DETAIL
阶段 3 整理细则按序执行
- 3.1 隐藏求和为 0 的列(严重迟到、旷工等本月无数据列)。
- 3.2 请假列只保留:事假、调休假(其余隐藏)。
- 3.3 调休假天数 += 实际出勤天数(系统实际出勤不含调休)。
- 3.4 迟到早退:首次发放前不扣,等员工反馈。
参考列 / 不做
- 参考列:应出勤天数、实际出勤天数、事假、调休假、工作日/休息日/节假日加班、关联调休、不关联调休、按日明细列。
- 不做:预核加班、预处夜班/公出。
⌖
STAGE 5 DETAIL
阶段 5 问题跟进细则5.1 加班飞书考勤日历截图
- 先按考勤部门查班次规则(见
rules_catalog_draft.md),再叠加职位维度(来源 HRO):工程师无工作日加班;追觅测试中心工程师工作日加班到 8 点后有补贴;技术员工作日/节假日/休息日均可能有加班。 - 工作日加班 = 实际下班 − 规定下班 − 晚餐 0.5h(部分考勤部门不扣晚餐,见 LESSONS 考勤部门明细)。
- 周末看「小月亮」+ 加班申请「是否关联调休」:是 → 整天计入关联调休;否 → 计入不关联调休(加班费)。
- 改表:标黄 + 批注,更新工作日/休息日/节假日合计。
5.2 夜班每月约 10+ 人 · 单方
- 顾问吴轲月初提供名单;跨天取 Day1 上班卡 + Day2 下班卡。
- 确认有夜班的考勤部门:MOVA、追觅测试中心(洗地机测评中心无夜班);系统常误显迟到。
5.3 公出每月约 10+ 人 · 单方
- 有出勤天数无打卡时间 → 索要每日打卡截图。
5.4 迟到 / 5.5 事假追问
- 迟到:无补卡/请假 → 扣 0.5 天;首次发放不预扣。
- 事假:问清假别;年假查邮件;填「考勤特殊事项模板」发顾问。
✦
CONFIRMED · 2026-06
顾问确认口径标准计薪天
320 天/月口径(约 320 人 / 2 HR)。
职位影响加班
来源 HRO,阶段 5 须叠加:工程师无工作日加班;追觅测试中心工程师 8 点后有补贴;技术员均可能加班。
夜班
名单由顾问吴轲月初提供;有夜班部门 = MOVA、追觅测试中心。
数据员表差异
链接打卡、表头格式不同;考勤部门命名由客户确定。
交付追加
除审核包外,需附考勤表差异文字说明。
考勤部门明细
32 个考勤部门的晚餐扣 0.5h / 夜班 / 链接打卡口径见
LESSONS.md(如割草机有链接打卡、直播排班/客户体验中心不扣晚餐)。规则补全 ETA
顾问承诺
rules_catalog_draft.md 于 2026-06-30 前补全。⇄
PIPELINE
与其他 skill 衔接→
源数据归档(推荐先做):data-prep ·
prepare_attendance_data.py→
异常审核(阶段 5 之后):exception-review ·
build_exception_review.py→
备注生成(终审后):remarks ·
build_attendance_remarks.py⤳
约 20% 链接打卡员工 / 数据员表格式不统一 → 流程未在本 skill 完整覆盖,需单独分支。
⌘
RUN
运行命令# 源数据归档(推荐先做)
uv run python skills/attendance/attendance-data-prep/scripts/prepare_attendance_data.py \
"${SOURCE_DIR}" "${OUTPUT_DIR}" \
--base-table <花名册.xlsx>
# 异常审核(阶段 5 之后)
uv run python skills/attendance/attendance-exception-review/scripts/build_exception_review.py \
"${OUTPUT_DIR}/attachments" "${PAY_PERIOD}" \
"${OUTPUT_DIR}/exception_review.xlsx" \
--reference-summary "${OUTPUT_DIR}/reference_roster.xlsx" \
--config <attendance_config.json>
# 备注生成(终审后)
uv run python skills/attendance/attendance-remarks/scripts/build_attendance_remarks.py \
"${OUTPUT_DIR}/attachments" "${PAY_PERIOD}" \
"${OUTPUT_DIR}/attendance_remarks.xlsx" \
--config <attendance_config.json> \
--reference-summary "${OUTPUT_DIR}/reference_roster.xlsx"
# 阶段 4 · 按员工生成 HTML 切片包(默认脱敏身份证/工资等敏感列)
uv run python skills/attendance/attendance-monthly-reconcile/scripts/split_employee_slices.py \
<整理后的数据员考勤宽表.xlsx> \
"${OUTPUT_DIR}/employee_slices" \
--id-column <员工标识列名>◷
BENCHMARK
耗时基准整理数据员表
~3h 两人合计
按人发放
~50–60min
问题跟进
~12–20min/人 夜班/公出
合计(含跟进)
约 1 人日/月
⚙
ROADMAP
自动化路线图normalize_attendance_workbook.pyP0 · 待实现
数据员表规范化。
roster_headcount_diff.pyP0 · 待实现
花名册与考勤表人头差异比对。
split_employee_slices.pyP1 · 已实现首版
宽表按员工输出到「总计」列的 HTML 切片 + 索引;默认脱敏身份证/工资/银行卡等敏感列(
--drop-keyword 可追加),表头不匹配 / 0 切片时告警并非零退出。加班规则验算P1 · 扩展现有
扩展现有 exception-review,自动验算加班/关联调休。
✎
NOTES
注意事项 / 蒸馏来源数据员表不统一
约 80% 适用本流程,20% 需分支。
考勤部门命名
由客户定,非 HR 自定。
规则表前置
rules_catalog_draft.md 须顾问补全后才能自动化。蒸馏来源
追觅(考勤组)视频会议录屏:workflow_draft.md(八阶段)、rules_catalog_draft.md、skill_outline.md、60 分钟访谈转写、关键操作截图。
✓
ACCEPTANCE
闭环验收- ✓花名册每人有考勤部门。
- ✓人头核对记录无未解释差异。
- ✓首次发放前已完成阶段 3 三项整理。
- ✓
employee_slices_index.xlsx覆盖本次需发放的员工。 - ✓每名员工有「核对无误」或完整问题处理链。
- ✓有问题员工审核包含改表 + 凭证 + 确认。
⊘
ANTI-PATTERNS & RETRY
反例检查 / 失败重试✗
未核对花名册人头差异就开始按人发放。
✗
把链接打卡员工(约 20%)硬套飞书打卡流程,不单独分支。
✗
数据员表未统一格式就跳过阶段 3 整理。
✗
员工反馈问题后只改表、不收集凭证或未记录处理链。
✗
个人切片把身份证号/工资等内部列直接发给员工(应保留默认脱敏或用
--drop-keyword 追加)。失败重试
- 人头差异无法解释 → 暂停发放,回阶段 1–2 核对花名册与考勤部门。
- 加班/夜班规则不清 → 先补
rules_catalog_draft.md再验算,不凭经验改表。 - 下游 data-prep / exception-review 失败 → 修复输入目录后从失败阶段重跑,不跳过门禁。
- 凭证缺失 → 标记待追问,不将问题员工当作「核对无误」结案。
⟲
RETROSPECTIVE
复盘沉淀写入 LESSONS.md
新客户分支(链接打卡、特殊班次、数据员表格式)写入 LESSONS.md,稳定后再更新阶段门禁或自动化路线图。
已知高频风险
格式不统一跳过阶段 3 致口径不一致;链接打卡硬套分支;人头差异未解释发放会在阶段 5–6 放大为批量返工。