← ClaudeAtlas

daily-reportlisted

產生 Claude Code 工作日報並經核可後寄 Gmail 給設定檔指定的收件人。掃描本機所有專案的當日 session 記錄,按專案分組摘要「做了什麼+待辦/未完成」,使用者過目核可後透過 Gmail SMTP 寄出。當使用者說「日報」、「產今天的日報」、「工作日報」、「今天做了什麼整理一下寄出去」、「昨天的日報補寄」、「daily report」時觸發。
abs1294/fulin-claude-plugins · ★ 2 · AI & Automation · score 65
Install: claude install-skill abs1294/fulin-claude-plugins
# daily-report — 工作日報產生與 Gmail 寄送 把一整天散在各專案的 Claude Code 對話,濃縮成一封收件人(主管/客戶)看得懂的工作日報。 資料來源是本機 `~/.claude/projects/` 的 session jsonl;寄送走 Gmail SMTP(應用程式密碼)。 ## 核心原則 1. **寄信是對外動作**:報告在寄出前必須完整呈現給使用者、取得明確核可。沒有「默許自動寄」——寧可多等一句「寄吧」。 2. **收件人視角**:日報是給別人看的。寫「完成了什麼、產出是什麼」,不寫內部術語、不寫 prompt 原文、不寫統計數據(統計只在對話裡給使用者自己看)。 3. **機密不落 git**:SMTP 憑證只存 `~/.claude/daily-report/config.json`(家目錄)。 ## 執行步驟 ### 1. 定日期 預設今天;「昨天的日報」= 昨天;也可指定 `YYYY-MM-DD`。時區預設台北(+08:00)。 ### 2. 萃取當日 session ``` python "${CLAUDE_PLUGIN_ROOT}/skills/daily-report/scripts/extract_sessions.py" --date <YYYY-MM-DD> ``` - stdout 唯一輸出=中間檔路徑(`~/.claude/daily-report/out/<date>.json`),直接 Read 它。 - exit 3 = 該日無記錄 → 告知使用者,不硬產空報告。 - 腳本已自動濾掉:subagent 對話、SDK/程式驅動 session、系統注入訊息、指令回顯。留下的都是「人打的 prompt」與 session 標題(ai-title)。 - 要連自動化 session 一起看時加 `--include-auto`(罕用)。 ### 3. 生成日報 讀中間檔,寫日報 markdown 到 `~/.claude/daily-report/reports/<date>.md`。固定結構: ```markdown # YYYY-MM-DD 工作日報 ## <專案名(口語化,非路徑)> - 完成/推進了什麼(1~4 條,說結果不說過程) ## 待辦與未完成 - 從對話中萃取的未收尾事項(沒有就寫「無」) ``` 寫作要點: - **專案名口語化**:`C:\...\winbond-vendor-platform` → 「Winbond 供應商平台」。相鄰子目錄的 session(如 `customer-hub` 與 `customer-hub\web`)併成同一個專案講。 - **從 title + prompts 歸納敘事**,不逐條翻譯 prompt。session 標題(Claude 自動生成)通常就是最好的主題句���點。 - **待辦線索**:對話尾段的「之後再」、「明天」、被中斷的工作、使用者說要做但當天沒做完的事。 - **私人 session 要過濾**:掃出來的 session 可能含私人事務(非工作專案)。判斷明顯私人的(如個人研究、家庭事務)**預設不寫進報告**,並在對話中告知使用者「已略過 N 個疑似私人 session(列標題)」,讓使用者可要求加回。 ### 4. 呈現與核可 在對話中給使用者兩塊東西: 1. **日報全文**(將寄出的內容,一字不差)。 2. **本機統計**(只顯示不寄出):專案數、sessi