From daytrace
ローカルログを集約し、その日全体の活動を自分用または共有用の日報ドラフトに再構成する。 今日の自分用日報、共有用レポート、昨日の活動まとめを作りたい時に使う。
How this skill is triggered — by the user, by Claude, or both
Slash command
/daytrace:daily-reportThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
その日のローカルログから、date-first で日報ドラフトを組み立てる。
その日のローカルログから、date-first で日報ドラフトを組み立てる。 主目的は「その repo で何をしたか」ではなく、「その日全体で何をしていたか」を再構成すること。
workspace default ではなく date-first default + optional workspace filter として扱う自分用 と 共有用 の 2 モードで出し分けるtodayYYYY-MM-DD を使う自分用共有用claude-history / codex-history / chrome-history はその日全体のログを返しうる入力は自然言語抽出と引数なし実行の 2 経路を前提にする。
/path/to/repo での日報」などから workspace を抽出する自分用ですか? 共有用ですか?today を使うこの節は daytrace-session のような orchestration が、この skill を自動起動する時の契約を定義する。
個別実行時の UX を変えるものではなく、いつ自動で呼んでよいかだけを明文化する。
mode が明示されている場合は、その mode を最優先し、自動補完しないmode が未指定の場合、orchestration はまず 自分用 を既定として生成してよいmode が未指定かつ summary.total_groups >= 5 の場合に限り、orchestration は 共有用 も追加生成してよいsummary.total_groups < 5 の場合、orchestration は 自分用 のみを生成するEscalation Conditions は有効であり、機密境界の確認が必要ならその条件を優先する以下の例外条件でのみ、入口直後(データ収集前)の確認を入れてよい:
share_guard.requires_confirmation=true:
「共有用日報に全日ログベースの caution group が含まれますが、このまま進めますか?」と 1 回だけ確認してよい。share_guard.auto_excluded_group_ids がある場合も、その group の自動除外とは別に、残る caution group の扱いは確認対象になりうるshare_guard.auto_excluded_group_ids が 1 件以上:
その group は自動除外してよく、チャットと本文で「共有用では browser-heavy / low-confidence cluster を省略した」と明示する。share_guard.requires_confirmation=true も併存している場合は、自動除外後に残る caution group だけ確認対象とする必ず最初に daily_report_projection.py を 1 回だけ実行し、中間 JSON を取得する。
この adapter は shared derived data を優先して読み、該当 slice が store に無い場合だけ内部で aggregate.py を 1 回実行して hydrate する。
返却 JSON の主要 shape は aggregate.py 互換で、sources / timeline / groups / summary をそのまま読める。
aggregate.py はこの SKILL.md と同じ plugin 内の scripts/ ディレクトリにある。
この SKILL.md のあるディレクトリから ../.. を辿った先を ${CLAUDE_PLUGIN_ROOT} として扱う。
date-first デフォルト:
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/daily_report_projection.py --date today --all-sessions
特定日:
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/daily_report_projection.py --date 2026-03-09 --all-sessions
workspace の git / file 根拠を current repo に固定したい場合:
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/daily_report_projection.py --date today --all-sessions --workspace /absolute/path/to/workspace
この指定の意味:
git-history と workspace-file-activity は --workspace で絞り込まれるclaude-history / codex-history は --all-sessions が付くと workspace を無視するchrome-history は現状常に workspace を無視するsources[].scope を見て、repo ローカルの根拠と全日根拠を混同しない中間 JSON の主な読みどころ:
sources: source ごとの success / skipped / error / scopetimeline: 時系列イベントgroups: 近接イベントを束ねた活動グループgroups[].share_policy: share_safe / share_with_caution / private_only の共有可否ガードgroups[].browser_context: browser group の host / flow / visit volume の要約(ある場合のみ)share_guard: 共有用で自動除外すべき group と caution group の一覧visit_count ではなく、当日の page_count / 圧縮後 event 数 / flow 数を主に使うsummary: 件数と source 利用状況report_date / output_dir: 単日スコープ時に付く。Layer 3 artifact の保存先(docs/output-polish.md §7)activities が残っていても、projection 実行時に activity derivation version の不一致で再導出される。新しい share_policy / browser_context / share_guard を出したい時は projection を再実行するoutput_dir が非 null のとき、生成した日報 Markdown をファイルに書き出す(チャットに全文を載せ切らない)。
report-private.md — 自分用日報report-share.md — 共有用を生成した場合のみ(出さない場合はチャットで「共有用は未生成」と明示)daily_report_projection は output_dir を返す前にコード側でも作成する。Write 前の再保証として同様の扱いでよい)この skill は date-first だが、source には all-day と workspace の 2 種類がある。
all-day
claude-history, codex-history, chrome-historyworkspace
git-history, workspace-file-activityこのため、workspace 未指定でも出力は完全な単一スコープにはならず、全日ログと cwd 起点の workspace ログが混在しうる。
workspace 指定時も mixed-scope は解消されず、repo ローカルの根拠密度が上がるだけで all-day ログまで strict な repo filter にはならない。
workspace は date-first の主軸ではなく補助フィルタだが、mixed-scope を隠さないこと。
daily_report_projection.py を 1 回だけ実行するsources を読み、取得できた source と scope を把握するgroups を優先して読み、必要に応じて timeline を補助参照するgit-history + claude/codex-history が重なるグループを主要活動候補として優先するgroups[].share_policy.recommended_visibility == "private_only" の group は、共有用では自動除外するgroups[].share_policy.recommended_visibility == "share_with_caution" の group は、共有用では補助扱いに下げる。単独主項目にしないshare_guard.auto_excluded_group_ids がある日は、共有用の ### 今日の概要 か末尾注記で「browser-heavy / low-confidence cluster を共有用から除外した」ことを 1 行だけ明示するworkspace-file-activity だけで意味が確定しない場合は「作業痕跡」として控えめに表現するall-day source を repo 限定の根拠として扱わない出力は日本語 Markdown。 mode によって構成と文体を変えるが、どちらも date-first の日報として出す。
docs/output-polish.md §5-1)## 日報 YYYY-MM-DD### 今日の流れ の下に番号付きリストで並べる(トピック名の個別 ### 見出しにしない)### 実装 / ### 調査(任意) / ### 設計 / 判断(任意) のカテゴリ名を使う
トピック名(### ハッカソン発表準備 等)の個別見出しにしない根拠: を inline で付ける。根拠は [source 名] の [内容] の形式
根拠: git の commit ログ "Add source registry drop-in support" と、Claude の会話ログ "drop-in の設計を議論"### 参考: 根拠一覧 セクションを設け、項目番号と根拠を対応付けて一括記載する未完了の手がかり をログから読み取れた分だけ付ける(0 件可)確認したい点 セクションは作らないskill_miner_prepare.py を +65/-21 修正 → パターン抽出の準備ロジックを修正ISSUE-observation-contract-unification.md → 観測コントラクトの統合作業aggregate.py を修正 → ログ集約処理を改善[活動] → [結果 or 判断] → 根拠 の順に読めるようにする備考 に寄せるgit commit 7daded3c(+65/-21) → Git の変更履歴codex-history「P1 → P2 → ... 着手して」 → Codex の会話ログChrome 閲覧ログ https://example.com/... → ブラウザの閲覧履歴daytrace-session/SKILL.md の Chat Output Policy「Source 名の正規化」マッピングに従う共有用本文では、repo 内部の作業名・仮名・ issue 名・ docs 名をそのまま主語にしない。読者に伝わる行動レベル語へ置き換える。
classification refresh plan → 分類ロジック改善計画output-polish → 出力品質改善skill-miner → パターン提案機能daytrace-plugin → DayTrace プラグインphase 2 content_key readback → 継続判定の整合性改善NG: classification refresh plan を実装した
OK: 分類ロジック改善計画を実装した
NG: output-polish の docs を整備した
OK: 出力品質改善のドキュメントを整備した
自分用でも、機微・ノイズになりやすい次の形は 根拠に書かない(意味へ要約する)。
/Users/..., /home/..., C:\Users\..., ~/ 等)Codex session in /Users/you/projects/foo で…)Continuing autonomously を根拠文に含める)NG: 根拠: Codex session in /Users/alice/projects/daytrace で設定を直した
OK: 根拠: Codex の会話ログでの設定修正のやり取り
自分だけが後で読み返して思い出せることを優先する。
根拠: を inline で付ける推奨構成:
## 日報 YYYY-MM-DD
### 今日の流れ
1. 見出し
内容: 1-3文
根拠: git の commit ログ "xxx" と Claude の会話ログ "yyy"
### 未完了の手がかり
- ログから読み取れた分だけ(0 件可)
第三者が読んで、その日の成果と残課題を把握できることを優先する。
### 参考: 根拠一覧 にまとめる今日の概要 の 1 文目で「何を良くしたか」を先に言い、内部の実装名は根拠一覧へ退避する推奨カテゴリ:
実装調査設計 / 判断未完了の手がかり推奨構成:
## 日報 YYYY-MM-DD
### 今日の概要
- 1-2文で全体要約(ですます調)
### 実装
- 見出し
- 内容: 2-4文(ですます調)
- 成果:
- 残課題:
### 調査
- 必要なら追加
### 設計 / 判断
- 必要なら追加
### 未完了の手がかり
- ログから読み取れた分だけ(0 件可)
### 参考: 根拠一覧
- 実装-1: git の commit ログ "xxx" と Claude の会話ログ "yyy"
- 調査-1: Chrome の閲覧ログ、Codex の会話ログ "zzz"
成功した sources[] の scope を見て、注記の要否を決める。
all-day と workspace の両方が含まれる場合
daytrace-session のセッション完了チャットでは §5-5 として 必須(orchestration 側で出す)この日報は、1日のログと workspace ローカルの変更ログをもとに再構成しています。> 再構成元: git-history, claude-history, codex-history / workspace ローカルの変更ログは {workspace名} に限定されていますall-day のみ、または workspace のみの場合
確認したい点 セクションは使わず、根拠の具体性で信頼度を表現する。
Confidence: high / Confidence: medium のようなラベル明示は行わない。
弱い箇所だけ注記を残す。
high
medium
と見られる 中心だった などの表現にするlow
注記: ファイル変更からは確認できるが、最終的な意図は断定できない注記: ブラウザログのみからの補助推定ですsource 欠損の判定は summary と sources から行う。
source_status_counts.success == 0
source が 0 本 とみなすsource_status_counts.success が 1-2
source が 1-2 本だけ とみなすsources[].status に skipped / error があっても、成功 source が残っていれば継続するsummary.no_sources_available は空結果を示すメタ情報であり、実際の分岐判定は source_status_counts.success を優先する以下のような空日報を返す。
## 日報 YYYY-MM-DD
### 今日の概要
- 利用可能なローカルログが見つからなかったため、自動生成できる情報はありませんでした。
### 未完了の手がかり
- Git、Claude/Codex、Chrome など少なくとも 1 系統のログが取れる状態で再実行する
取得できたログは限定的 と冒頭に明記してよい## 日報 2026-03-11
この日報は、1日のログと workspace ローカルの変更ログをもとに再構成しています。
### 今日の流れ
1. aggregate の `scope` 追加まわりを確認して、daily-report 側の書き換え方針を固めた。
根拠: Codex の会話ログ "scope の仕様確認"、git の commit ログ "Add scope field to sources"
2. `daily-report` を workspace 前提から date-first 前提へ直し、入口 ask と mode 差分を整理した。
根拠: workspace-file-activity の SKILL.md 編集、Codex の会話ログ "文言調整"
3. mixed-scope 注記の文面は入れたが、実データでどの source が強く出るかはまだ観察中。
根拠: Chrome の閲覧ログ、workspace-file-activity の編集痕跡
注記: ブラウザログのみからの補助推定です
### 未完了の手がかり
- sample output と fixture 表現を見比べて wording を詰める(Codex の会話ログに "fixture はまだ" の発言あり)
- mixed-scope 注記が長すぎる場合は短縮版を作る(commit の TODO コメントに記載あり)
> 再構成元: git-history, codex-history, chrome-history, workspace-file-activity / workspace ローカルの変更ログは daytrace に限定
## 日報 2026-03-11
この日報は、1日のログと workspace ローカルの変更ログをもとに再構成しています。
### 今日の概要
- 日報 skill を date-first 前提へ再整理し、共有向けに読める mode 契約と mixed-scope 注記ルールを明文化しました。
### 実装
- daily-report の仕様を `workspace default` から `date-first default + optional workspace filter` へ更新しました。
- 成果: 対象スコープ、入口 ask、confidence の扱いを 1 つの契約として読み取れる形に整理しました。
- 残課題: 実データを使った wording の最終確認は別途必要です。
### 設計 / 判断
- `自分用` と `共有用` の差を、構成・語彙・未完了の扱いまで分けて定義しました。
- 成果: 共有用では背景説明と成果 / 残課題の分離を必須にしました。
- 残課題: 実際の生成文がこの差分を安定して守れるかは運用確認が必要です。
### 調査
- mixed-scope の説明は `sources[].scope` を見て自動で注記する前提に整理しました。
- 成果: coverage の誤認を避けつつ、date-first の価値を落とさないルールにしました。
- 残課題: 一部の補助ログは意図を断定できないため、本文内注記で扱います。
- 注記: ブラウザログのみからの補助推定です
### 未完了の手がかり
- mixed-scope 注記を fixture ベースでレビューする(commit の TODO コメントに記載あり)
- README / demo 側の文言と整合させる
### 参考: 根拠一覧
- 実装-1: Git の commit ログ "Refactor daily-report to date-first"、Codex の会話ログ "仕様整理"
- 設計/判断-1: SKILL.md の mode 定義、workspace-file-activity の更新痕跡
- 調査-1: aggregate.py の `sources[].scope`、sources.json の scope_mode
> 再構成元: git-history, codex-history, chrome-history, workspace-file-activity / workspace ローカルの変更ログは daytrace に限定
以下を満たすまで出力を確定しない。
daily-report が date-first skill として一貫して説明されている自分用 と 共有用 の差が構成・語彙・未完了の扱いまで見える確認したい点 依存の旧フローが残っていないsources[].scope ベースで一意に読める### 今日の流れ + 番号リスト形式になっている### 今日の概要 → カテゴリ見出し(実装/調査等)→ ### 未完了の手がかり → ### 参考: 根拠一覧 の構造になっているこの skill は、収集から日報ドラフト生成までを 1 コマンドで完走させる前提で使う。
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub matz-d/daytrace-plugin --plugin daytrace