AgentSkillsCN

daily-report

从每日笔记中生成日报

SKILL.md
--- frontmatter
name: daily-report
description: デイリーノートから日報を作成する

利用可能なデイリーノート

!ls daily/ 2>/dev/null | tail -10

指示

指定された日付(デフォルト: 当日)のデイリーノートの ## work セクションを読み取り、日報形式に整形して daily-report/ に出力してください。

対象日付: $ARGUMENTS(未指定の場合は今日の日付を使用)

手順

  1. daily/<日付>.md を読み取る
  2. ## work セクションの内容を抽出する
  3. 時間マーカーの整合性を検証する(後述)
  4. 抽出した内容を template.md の各セクションにマッピングし、不足セクションを特定する
  5. 不足セクションがあればユーザーに対話形式で質問して補完する(後述)
  6. template.md のフォーマットに沿って日報を daily-report/<日付>.md に出力する

稼働時間の算出

デイリーノートの時間マーカーから稼働時間を算出する:

  • ⏱ 開始 HH:MM → 開始時刻
  • ⏱ 終了 HH:MM → 終了時刻
  • ⏸ 休憩開始 HH:MM / ⏸ 休憩終了 HH:MM → 休憩時間を算出
  • 稼働合計 = (終了 - 開始) - 休憩時間

記録ミスの検出

時間マーカーに以下の異常がある場合、日報を生成する前にユーザーに確認する:

  • 開始または終了マーカーの欠落
  • 開始時刻 > 終了時刻(前後の逆転)
  • 稼働合計が 16 時間超または 1 時間未満
  • 休憩開始/終了の不対応(片方だけ記録されている)

検出時の対応:

  1. 異常箇所を具体的に提示する(例: 「開始 19:00 / 終了 09:00 — 前後が逆転しています」)
  2. 正しい値をユーザーに質問する
  3. ユーザーの回答を反映して日報を生成する
  4. デイリーノート自体は書き換えない

不足情報の補完

## work セクションの内容を template.md の各セクションにマッピングした結果、内容が埋まらないセクションがあればユーザーに質問して補完する。

対象セクション:

  • 進捗・成果 — 具体的な成果物や完了タスクが読み取れない場合
  • 課題・ブロッカー — 問題や確認待ち事項の記載がない場合
  • 翌営業日の予定 — 翌日の予定が読み取れない場合
  • 連絡・相談事項 — クライアントへの連絡事項の記載がない場合

質問の方式:

  • 不足セクションをまとめて一度に質問する(セクションごとに個別に聞かない)
  • 「特になし」で良い場合はその旨回答してもらう
  • 例: 「以下のセクションについて教えてください。該当がなければ『なし』で構いません。\n1. 本日の成果・進捗\n2. 課題やブロッカー\n3. 明日の予定\n4. クライアントへの連絡・相談事項」

注意事項

  • ソースは ## work セクションのみ(## tech, ## private, ## memo は含めない)
  • 元のノートの表現を尊重しつつ、報告書として読みやすい文体に整える
  • 作業内容はプロジェクト(### #ref/xxx)ごとに分割して記載する