AgentSkillsCN

attendance-rules-calculation

将考勤汇总逻辑(工时、休息扣减、迟到早退、加班、小数处理)规范化,并将其转化为可实施与测试的形式时使用。关键词:计算、四舍五入、加班、休息、日本标准时间

SKILL.md
--- frontmatter
name: attendance-rules-calculation
description: '勤怠の集計ロジック(労働時間、休憩控除、遅刻早退、残業、端数処理)を仕様化し、実装・テスト可能な形に落とす時に使う。キーワード: calculation, rounding, overtime, break, JST'
license: MIT

Attendance Rules & Calculation Skill

目的

勤怠の「ルール」を曖昧なまま実装しないために、仕様(ルール表)→ 入出力 → 例外 → テストケースまで落とし込む。

必須アウトプット

  1. ルール一覧(表)
  2. 計算の入出力(TypeScriptの型イメージ)
  3. 代表ケースの期待値(最低10ケース)
  4. “未確定”の論点リスト(決めないと実装できない点を明確化)

進め方

  1. 時間の正規化
    • 保存は ISO 8601 / UTC(またはタイムゾーン付き)で統一
    • 表示・集計は Asia/Tokyo(JST)
  2. 日次集計の基本式
    • 総拘束 = 退勤 - 出勤
    • 休憩合計 = Σ(休憩終了 - 休憩開始)
    • 実働 = 総拘束 - 休憩合計
  3. 端数処理
    • 切り捨て/切り上げ/四捨五入
    • 単位(1分/5分/15分)
    • “出勤時刻の丸め”と“実働の丸め”は別物。混同しない
  4. 月次集計
    • Σ(日次実働), Σ(残業), Σ(深夜), Σ(欠勤) など
    • 締め日(例:月末)と対象期間を明示
  5. 例外
    • 日またぎ勤務(夜勤)
    • 休憩の重複/欠落
    • 手入力修正(監査ログ必要か)
  6. テスト
    • “仕様例”をそのままユニットテストにする(スナップショットも可)
    • 境界値:00:00跨ぎ、月跨ぎ、1分差、休憩無し、複数休憩

依頼例

  • 「丸めルールを 15分単位にしたい。仕様とテストケース作って」
  • 「日またぎ勤務をどう扱うべき?実装方針も含めて整理して」

References