@kairyou/agent-tools 0.11.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -19,14 +19,15 @@
19
19
 
20
20
  // Optional blocks below: uncomment every line of a block, including its leading comma.
21
21
 
22
- // at-self-eval, at-daily-log: default projects (otherwise just the current repo)
22
+ // at-self-eval, at-daily-log: default projects (otherwise just the current repo).
23
+ // Optional prompt: free text that tunes how that project is summarized.
23
24
  // , "workProjects": [
24
25
  // "C:\\projects\\project-a",
25
- // "C:\\projects\\project-b"
26
+ // { "path": "C:\\projects\\project-b", "prompt": "refer to `phoenix` as `Shop App` in the output; skip commits starting with `test:`" }
26
27
  // ]
27
28
 
28
29
  // at-daily-log: default file when asked to record; at-self-eval reads it as fallback
29
30
  // , "dailyLog": {
30
- // "output": "C:\\projects\\todo.md"
31
+ // "output": "C:\\projects\\daily-log.md"
31
32
  // }
32
33
  }
package/docs/en/extras.md CHANGED
@@ -19,13 +19,13 @@ Usage:
19
19
  - `/at-self-eval summarize July for C:\projects\project-a and C:\projects\project-b` — only those projects
20
20
  - `/at-self-eval also include C:\projects\project-c` — add to the default scope
21
21
  - Paste a daily/weekly log, or give a file path, to add business context
22
- - `/at-self-eval summarize from C:\projects\todo.md only` — log only, Git is not read
22
+ - `/at-self-eval summarize from C:\projects\daily-log.md only` — log only, Git is not read
23
23
 
24
24
  Review the generated result before use.
25
25
 
26
26
  ## at-daily-log
27
27
 
28
- Summarize the day's Git activity across projects into a daily work log.
28
+ Summarize each day's Git activity across projects into a daily work log.
29
29
 
30
30
  ```bash
31
31
  npx -y skills@latest add kairyou/agent-tools --skill at-daily-log -g -y
@@ -35,11 +35,12 @@ Usage:
35
35
 
36
36
  - `/at-daily-log` — print today's log
37
37
  - `/at-daily-log 2026-07-31` — pick the date
38
+ - `/at-daily-log last week` / `/at-daily-log the last two weeks` — one entry per active day, empty days skipped
38
39
  - `/at-daily-log summarize today for C:\projects\project-a` — only that project
39
40
  - `/at-daily-log also include C:\projects\project-c` — add to the default scope
40
41
  - `/at-daily-log record the log` — record to the configured file; rerunning a day only refreshes the generated part
41
- - `/at-daily-log record it to C:\projects\todo.md` — record to that file
42
- - `/at-daily-log record every workday at 18:00` — guides you through an OS scheduled task
42
+ - `/at-daily-log record it to C:\projects\daily-log.md` — record to that file
43
+ - `/at-daily-log record daily at 18:00` — guides you through an OS scheduled task; days without commits are not written
43
44
 
44
45
  Review the generated result before use.
45
46
 
@@ -49,15 +50,16 @@ All in `~/.agent-tools/config.jsonc`:
49
50
 
50
51
  ```jsonc
51
52
  {
52
- // at-self-eval, at-daily-log: default projects (otherwise just the current repo)
53
+ // at-self-eval, at-daily-log: default projects (otherwise just the current repo);
54
+ // prompt: free text that tunes how that project is summarized
53
55
  "workProjects": [
54
56
  "C:\\projects\\project-a",
55
- "C:\\projects\\project-b"
57
+ { "path": "C:\\projects\\project-b", "prompt": "refer to `phoenix` as `Shop App` in the output; skip commits starting with `test:`" }
56
58
  // "C:\\projects\\temporarily-disabled"
57
59
  ],
58
60
  // at-daily-log: default file when asked to record; at-self-eval also reads it as fallback
59
61
  "dailyLog": {
60
- "output": "C:\\projects\\todo.md"
62
+ "output": "C:\\projects\\daily-log.md"
61
63
  }
62
64
  }
63
65
  ```
@@ -18,13 +18,13 @@ npx -y skills@latest add kairyou/agent-tools --skill at-self-eval -g -y
18
18
  - `/at-self-eval 统计 C:\projects\project-a 和 C:\projects\project-b 的 7 月工作` — 只统计指定项目
19
19
  - `/at-self-eval 另外包含 C:\projects\project-c` — 在默认范围上追加
20
20
  - 可粘贴日报或周报文本, 也可提供文件路径补充业务背景
21
- - `/at-self-eval 只根据 C:\projects\todo.md 总结` — 只凭日志生成, 不读 Git
21
+ - `/at-self-eval 只根据 C:\projects\daily-log.md 总结` — 只凭日志生成, 不读 Git
22
22
 
23
23
  生成的结果请人工核对.
24
24
 
25
25
  ## at-daily-log
26
26
 
27
- 汇总一天内各项目的 Git 活动, 生成工作日报.
27
+ 按天汇总各项目的 Git 活动, 生成工作日报.
28
28
 
29
29
  ```bash
30
30
  npx -y skills@latest add kairyou/agent-tools --skill at-daily-log -g -y
@@ -34,11 +34,12 @@ npx -y skills@latest add kairyou/agent-tools --skill at-daily-log -g -y
34
34
 
35
35
  - `/at-daily-log` — 输出今天的日报
36
36
  - `/at-daily-log 2026-07-31` — 指定日期
37
+ - `/at-daily-log 上周` / `/at-daily-log 最近两周` — 范围内每天一条, 跳过没有提交的日子
37
38
  - `/at-daily-log 统计 C:\projects\project-a 今天的工作` — 只统计指定项目
38
39
  - `/at-daily-log 另外包含 C:\projects\project-c` — 在默认范围上追加
39
40
  - `/at-daily-log 记录日报` — 记录到配置的文件; 同一天重复执行只更新生成的部分
40
- - `/at-daily-log 记录到 C:\projects\todo.md` — 记录到指定文件
41
- - `/at-daily-log 每个工作日 18:00 自动记录` — 引导搭建系统定时任务
41
+ - `/at-daily-log 记录到 C:\projects\daily-log.md` — 记录到指定文件
42
+ - `/at-daily-log 每天 18:00 自动记录` — 引导搭建系统定时任务; 没有提交的日子不会写入
42
43
 
43
44
  生成的结果请人工核对.
44
45
 
@@ -48,15 +49,16 @@ npx -y skills@latest add kairyou/agent-tools --skill at-daily-log -g -y
48
49
 
49
50
  ```jsonc
50
51
  {
51
- // at-self-eval, at-daily-log: 默认统计的项目(不配则只统计当前项目)
52
+ // at-self-eval, at-daily-log: 默认统计的项目(不配则只统计当前项目);
53
+ // prompt: 该项目的提示词, 用来优化生成的日报和总结
52
54
  "workProjects": [
53
55
  "C:\\projects\\project-a",
54
- "C:\\projects\\project-b"
56
+ { "path": "C:\\projects\\project-b", "prompt": "输出里把 `phoenix` 称作 `商城App`, 跳过 `test:` 开头的提交" }
55
57
  // "C:\\projects\\temporarily-disabled"
56
58
  ],
57
59
  // at-daily-log: 记录日报的默认文件; 未提供日志时 at-self-eval 也读它作补充
58
60
  "dailyLog": {
59
- "output": "C:\\projects\\todo.md"
61
+ "output": "C:\\projects\\daily-log.md"
60
62
  }
61
63
  }
62
64
  ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kairyou/agent-tools",
3
- "version": "0.11.0",
3
+ "version": "0.12.0",
4
4
  "description": "Reusable Agent Skills, plus integrations (statusline, provider usage, vision) that install into Codex, Claude Code, and opencode.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: at-daily-log
3
- description: "Summarize one day's Git activity into a concise daily work log. Uses the current repository, optional configured work projects, or paths named in conversation; configuration is never required."
4
- argument-hint: "[<date>]"
3
+ description: "Summarize each day's Git activity into a concise daily work log, for a single date or a range. Uses the current repository, optional configured work projects, or paths named in conversation; configuration is never required."
4
+ argument-hint: "[<date>|<range>]"
5
5
  ---
6
6
 
7
7
  # Daily Work Log
@@ -10,10 +10,13 @@ argument-hint: "[<date>]"
10
10
 
11
11
  ## Date and evidence scope
12
12
 
13
- Default to today. Accept plain-language dates or `YYYY-MM-DD`; query through the next
14
- day because Git's `--until` boundary is exclusive. State the resolved date.
13
+ Default to today. Accept plain-language dates or ranges (`2026-07-31`, yesterday, last
14
+ week, this month) and normalize to `[from, to]`; query through `<to + 1 day>` because
15
+ Git's `--until` boundary is exclusive. State the resolved date or range.
15
16
 
16
- Read optional `workProjects` from `~/.agent-tools/config.jsonc`.
17
+ Read optional `workProjects` from `~/.agent-tools/config.jsonc`. An entry is a path
18
+ or `{ "path", "prompt" }`, where the prompt is free text this skill follows for that
19
+ project, such as how to label items or which commits to skip.
17
20
 
18
21
  - No project named: current Git repository plus configured projects.
19
22
  - Projects named directly: only those projects.
@@ -36,35 +39,41 @@ by hash.
36
39
  Collect non-merge commits for the resolved author and day. Use subjects and changed
37
40
  paths to turn related commits into concrete completed work items. Fold formatting,
38
41
  version bumps, and follow-up fixes into the outcome they supported; do not inflate one
39
- change into several deliverables.
42
+ change into several deliverables. Never restate a
43
+ commit subject as the work item; describe the outcome it produced. A day left with
44
+ nothing has no reportable activity.
40
45
 
41
46
  Use file counts and added/deleted lines only when they meaningfully support the work
42
47
  item. Generated files, lockfile churn, renames, and bulk formatting often make those
43
48
  numbers misleading. Metrics are evidence, never hours, difficulty, impact, or a
44
49
  productivity score.
45
50
 
46
- Current uncommitted changes may be shown separately as **in progress**, but never as
47
- proof of work on a past date. User-provided non-code work must remain clearly identified
48
- as user context.
51
+ Uncommitted changes are not work items. At most, note them factually in a chat draft
52
+ for today (project and files, no invented progress); never write them to the file:
53
+ their dates are unverifiable, and a project left dirty for weeks would reappear as in
54
+ progress every day. User-provided non-code work must remain clearly identified as user
55
+ context.
49
56
 
50
57
  ## Output
51
58
 
52
- Match the user's language and omit empty sections:
59
+ Match the user's language:
53
60
 
54
61
  ```markdown
55
62
  + 2026-07-31
56
- 完成 2 项:
57
63
  1. agent-tools: 完成多项目日报规则和 skill 落地.
58
64
  2. vscode-plugin: 修复 Webview 刷新后状态丢失问题, 补充回归验证.
65
+ ```
59
66
 
60
- 进行中 1 项:
61
- - iunit-web: 推进导入流程重构, 已完成数据解析.
67
+ Start each item with the label that best locates the work for a reader: the project
68
+ name when the day spans projects, a module or feature within a single one.
62
69
 
63
- 汇总: 3 个项目, 2 项完成, 1 项进行中.
64
- ```
70
+ Keep entries compact: the file accumulates for months, so every recurring line must
71
+ earn its place. Do not add per-day summary, total, or section-header lines; the
72
+ numbered items already show project and count.
65
73
 
66
74
  Prefer outcomes over raw Git metrics. If no verified activity exists, say so rather
67
- than fabricate an entry.
75
+ than fabricate an entry. For a range, output one entry per day with activity, oldest
76
+ first, and skip empty days.
68
77
 
69
78
  ## Draft or record
70
79
 
@@ -76,24 +85,33 @@ write request, writes after previewing the entry. Resolve the destination in ord
76
85
  3. no destination: return the draft without writing.
77
86
 
78
87
  Read the destination before editing. Wrap each date's generated content in that date's
79
- own markers, `<!-- log:2026-07-31:start -->` / `<!-- log:2026-07-31:end -->`; the date
80
- line and every line outside the markers belong to the user. For an existing date, show
88
+ own markers, `<!-- log:2026-07-31:start 5,a1b2c3d -->` / `<!-- log:2026-07-31:end -->`,
89
+ where the start marker stores the day's commit count and newest commit hash across the
90
+ scanned projects; the date line and every line outside the markers belong to the user.
91
+ Refresh an existing block when either value changed or the user explicitly asks;
92
+ otherwise leave it alone, because regenerated wording varies between runs. For an existing date, show
81
93
  the current block and the regenerated one before writing, then replace only that
82
94
  date's block. If the date exists without markers, append a marked block below the
83
- user's lines instead of editing them. Do not duplicate the date. On duplicate or
95
+ user's lines instead of editing them. Do not duplicate the date. Insert a new date
96
+ among the existing dated entries at its date-order position, inferring ascending or
97
+ descending from the dates already present (ascending when that is ambiguous); content
98
+ above or below the dated entries, such as notes or todo lists, stays where it is. On duplicate or
84
99
  unpaired markers, stop and propose the edit instead of writing. When Git shows no
85
100
  activity, leave the file unchanged and say so; the user can add a manual entry
86
- themselves.
101
+ themselves. Recording a range applies these rules to each day's block independently.
87
102
 
88
103
  Scheduling is separate; set it up only when the user asks. Prefer the OS scheduler
89
104
  (Task Scheduler, cron, launchd) over agent-internal timers, which stop with the agent:
90
105
  schedule a headless run of the CLI this skill is executing in, invoking the skill with
91
- a recording request (in Claude Code, `claude -p "/at-daily-log record the log"`; other
92
- CLIs have their own headless form). Keep projects and output in config so the command
93
- stays stable. Before registering, confirm the schedule (suggest workdays),
94
- make sure the output file is resolvable, and run the exact command once; register only
95
- after that test run records correctly, and show how to remove the task. Headless auth
106
+ the recording request the user asked for (in Claude Code,
107
+ `claude -p "/at-daily-log record the log"`; other CLIs have their own headless form).
108
+ Keep projects and output in config so the command stays stable. Before registering,
109
+ confirm the schedule, make sure the output file is resolvable, and run the exact
110
+ command once; register only after that test run records correctly, and show how to
111
+ remove the task. Headless auth
96
112
  differs from the interactive session, so a failed test run means stop instead of
97
113
  registering, and show the exact command, its error output, and the likely fix (log in
98
- for headless use, adjust the output path). An unattended run has nobody to confirm with, so it must follow the
99
- marker rules exactly and skip any file it cannot edit that way.
114
+ for headless use, adjust the output path). An unattended run has nobody to confirm
115
+ with, so it must follow the marker rules exactly and skip any file it cannot edit that
116
+ way: it fills missing days and refreshes days whose stored count or hash moved,
117
+ nothing else.
@@ -33,7 +33,9 @@ user can provide other author names if needed.
33
33
 
34
34
  ## Project evidence
35
35
 
36
- Read optional `workProjects` from `~/.agent-tools/config.jsonc`.
36
+ Read optional `workProjects` from `~/.agent-tools/config.jsonc`. An entry is a path
37
+ or `{ "path", "prompt" }`, where the prompt is free text this skill follows for that
38
+ project, such as how to label items or which commits to skip.
37
39
 
38
40
  - No project named: current Git repository plus configured projects.
39
41
  - Projects named directly: only those projects.