feat/log-period-report-skill #14

Merged
admin merged 1 commits from feat/log-period-report-skill into develop 2026-08-26 02:51:27 +00:00
Member

摘要

  • 需求描述:新增一支技能,把工作日誌總結成年報、月報、週報、日報。範本優先讀工作目錄那一份,不存在才用技能自帶的。
  • 計畫名稱:無
  • 計畫頁:無
  • 分析頁:無

變更內容

檔案 為什麼改
skills/report/SKILL.md 新增報表技能:算期間、解析範本、讀日誌頁、填表、寫 wiki
tools/report-range.sh 算期間起訖與標籤,週採 ISO-8601
tools/report-template.sh 解析範本位置,工作目錄的 .jsc/templates/ 優先於技能自帶的
templates/report-daily.md 日報:今天做完什麼、卡住的地方、明天接著做
templates/report-weekly.md 週報:本週產出、用時分布、困難與解法、滾到下週
templates/report-monthly.md 月報:本月成果、逐週推進、重複出現的困難、月底未結
templates/report-yearly.md 年報:全年總覽、逐月推進、里程碑、全年教訓、年底未結
templates/report-contents.md 報表目錄 REPORT_CONTENTS 版面
README.md、三份 manifest 同步工具表、範本表、Skills 目錄、環境變數與版本

設計重點

  • 日期運算交給系統的 date。手刻閏年與週界的出錯方式很安靜:報表少算一天不會有人發現。date -d 不支援時退回 BSD 的 date -v,兩者都沒有就明確失敗。
  • 範本用檔案覆寫,不用參數。專案放一份同名的 .jsc/templates/report-{period}.md 就換掉版面,技能不必改。報告要標明這次用的是哪一份,同一期間用兩份範本render 出來的結果必須追得回檔案。
  • 只加總條目真的寫了的數字。缺 花費時間 的條目不進總和,報成「無資料」而不是估一個值。報表拿去對工時,估出來的數字比缺漏更難處理。
  • 零筆也要產出報表。範圍內沒有條目時照樣出一份,計數為 0 並寫明是哪一段範圍空的。安靜地不產出,跟執行失敗分不出來。
  • 同一期間重跑只換掉那一節。年月週日各一頁,頁內依期間累積,補跑上週不會動到這週。
  • 年報另外讀 LEARN_CONTENTS,其他期間不讀:教訓要累積夠久才看得出是不是同一類問題重複發生。

測試結果

  • sh -n 通過:report-range.sh、report-template.sh。
  • report-range.sh 四種期間(基準日 2026-08-26):日 2026-08-26、週 2026-08-24 到 2026-08-30(2026-W35)、月 2026-08-01 到 2026-08-31、年 2026-01-01 到 2026-12-31,全部正確。
  • 邊界案例:週日 2026-08-30 仍歸 2026-W35;跨年週 2026-01-01 算出 2025-12-29 到 2026-01-04(2026-W01);閏年 2024-02 算出 29 天;平年 2026-02 算出 28 天。
  • report-template.sh list:四種期間都解析到技能自帶範本,來源標 skill。
  • 覆寫測試:在暫存目錄放 .jsc/templates/report-weekly.md,resolve weekly 改指向該檔並標 project,resolve daily 仍回技能範本標 skill。
  • jsc-meta/tools/ste100-lint.sh:無違規。

前置 Push Request

## 摘要 - 需求描述:新增一支技能,把工作日誌總結成年報、月報、週報、日報。範本優先讀工作目錄那一份,不存在才用技能自帶的。 - 計畫名稱:無 - 計畫頁:無 - 分析頁:無 ## 變更內容 | 檔案 | 為什麼改 | | --- | --- | | `skills/report/SKILL.md` | 新增報表技能:算期間、解析範本、讀日誌頁、填表、寫 wiki | | `tools/report-range.sh` | 算期間起訖與標籤,週採 ISO-8601 | | `tools/report-template.sh` | 解析範本位置,工作目錄的 `.jsc/templates/` 優先於技能自帶的 | | `templates/report-daily.md` | 日報:今天做完什麼、卡住的地方、明天接著做 | | `templates/report-weekly.md` | 週報:本週產出、用時分布、困難與解法、滾到下週 | | `templates/report-monthly.md` | 月報:本月成果、逐週推進、重複出現的困難、月底未結 | | `templates/report-yearly.md` | 年報:全年總覽、逐月推進、里程碑、全年教訓、年底未結 | | `templates/report-contents.md` | 報表目錄 `REPORT_CONTENTS` 版面 | | `README.md`、三份 manifest | 同步工具表、範本表、Skills 目錄、環境變數與版本 | ## 設計重點 - **日期運算交給系統的 `date`**。手刻閏年與週界的出錯方式很安靜:報表少算一天不會有人發現。`date -d` 不支援時退回 BSD 的 `date -v`,兩者都沒有就明確失敗。 - **範本用檔案覆寫,不用參數**。專案放一份同名的 `.jsc/templates/report-{period}.md` 就換掉版面,技能不必改。報告要標明這次用的是哪一份,同一期間用兩份範本render 出來的結果必須追得回檔案。 - **只加總條目真的寫了的數字**。缺 `花費時間` 的條目不進總和,報成「無資料」而不是估一個值。報表拿去對工時,估出來的數字比缺漏更難處理。 - **零筆也要產出報表**。範圍內沒有條目時照樣出一份,計數為 0 並寫明是哪一段範圍空的。安靜地不產出,跟執行失敗分不出來。 - **同一期間重跑只換掉那一節**。年月週日各一頁,頁內依期間累積,補跑上週不會動到這週。 - 年報另外讀 `LEARN_CONTENTS`,其他期間不讀:教訓要累積夠久才看得出是不是同一類問題重複發生。 ## 測試結果 - `sh -n` 通過:`report-range.sh`、`report-template.sh`。 - `report-range.sh` 四種期間(基準日 2026-08-26):日 `2026-08-26`、週 `2026-08-24` 到 `2026-08-30`(`2026-W35`)、月 `2026-08-01` 到 `2026-08-31`、年 `2026-01-01` 到 `2026-12-31`,全部正確。 - 邊界案例:週日 `2026-08-30` 仍歸 `2026-W35`;跨年週 `2026-01-01` 算出 `2025-12-29` 到 `2026-01-04`(`2026-W01`);閏年 `2024-02` 算出 29 天;平年 `2026-02` 算出 28 天。 - `report-template.sh list`:四種期間都解析到技能自帶範本,來源標 `skill`。 - 覆寫測試:在暫存目錄放 `.jsc/templates/report-weekly.md`,`resolve weekly` 改指向該檔並標 `project`,`resolve daily` 仍回技能範本標 `skill`。 - `jsc-meta/tools/ste100-lint.sh`:無違規。 ## 前置 Push Request - [plugins/gitea PR #20](https://gitea.jsc.idv.tw/plugins/gitea/pulls/20):報表寫進 `REPORT_{HASH}`,需要 `gitea.sh` 放行 REPORT 類型。
jiantw83 added 1 commit 2026-08-26 02:47:49 +00:00
What: 新增 jsc-log:report,把工作日誌總結成年報、月報、週報或日報,寫進 wiki REPORT_{HASH}。另加 tools/report-range.sh 算期間、tools/report-template.sh 解析範本,以及四份報表範本與報表目錄範本。
Why: worklog 只記單筆工作,累積起來沒有工具看得出一週或一個月做了什麼、什麼在卡。要總結只能自己翻頁面加總。
How: 期間換算交給系統的 date,不自己算閏年與週界;週次採 ISO-8601。範本解析採工作目錄優先,.jsc/templates/report-{period}.md 蓋過技能自帶的那份,專案要換格式不必改技能。資料讀 LOG_CONTENTS 列出的所有日誌頁,取工作日期落在期間內的條目,只加總條目真的寫了的數字。
Who: 工作日誌的期間總結。
jiantw83 added a new dependency 2026-08-26 02:47:49 +00:00
admin merged commit 74aada742c into develop 2026-08-26 02:51:27 +00:00
admin deleted branch feat/log-period-report-skill 2026-08-26 02:51:27 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Reference: plugins/log#14