Files
log/skills/worklog/SKILL.md
T

46 lines
2.6 KiB
Markdown

---
name: worklog
description: After finishing a work package, collect ten facts (repo, branch, plan link, work package link, elapsed time from session-timer, token usage per CLI, status, details, difficulties, PR target) and append a templated entry to wiki LOG_{yyyyMM}_W{week} plus LOG_CONTENTS. Week number is derived from the Friday of the work week. Trigger at the end of implement or maintain; not for planning notes.
---
# worklog — work log
After work completes, collect the ten items below and append a `templates/log-entry.md` entry to the wiki log page. Collection and writing MUST run as a sub agent. The entry content is written in Traditional Chinese (STE100).
## Items to collect
| # | Item | Source |
| --- | --- | --- |
| 1 | Repository name | Parse `{owner}/{repo}` from `git remote get-url origin` |
| 2 | Branch name | `git branch --show-current` |
| 3 | Plan name | Link to the plan page `[[PLAN_{...}]]` |
| 4 | Work package id | Link to the work package heading on the analyze page `[[ANALYZE_{...}#WP-xx]]` |
| 5 | Elapsed time | `jsc-hooks/hooks/session-timer.sh report {session_id}` (seconds; convert to h/m) |
| 6 | Token usage | See the table below; per-CLI methods differ. Fill `N/A` when unavailable |
| 7 | Task status | One of the literal values 「完成」、「部分完成」、「阻塞」 (with reason when blocked) |
| 8 | Details and outputs | Summarize what changed and which files or pages were produced |
| 9 | Difficulties and resolutions | One pair per line |
| 10 | PR target branch | Link to the PR page |
### How to get token usage
| CLI | Method |
| --- | --- |
| claude | Sum the `usage` fields in transcript JSONL (`~/.claude/projects/**/*.jsonl`), or read `usage` from `claude -p --output-format json` |
| codex | Token counters under `~/.codex/sessions/**`, or `/status` inside the session |
| copilot | `/usage` inside the session |
| antigravity | Value shown in the UI; `N/A` when unreadable |
| kiro | No public source; fill `N/A` |
## Target page and week number
- Page name: `LOG_{yyyyMM}_W{週數}`. Both values come from the Friday of the current work week:
```sh
dow=$(date +%u)
if [ "$dow" -ge 6 ]; then f=$(date -d 'last friday' +%Y%m%d); else f=$(date -d 'friday' +%Y%m%d); fi
yyyyMM=$(printf '%s' "$f" | cut -c1-6)
W=$(( ( $(printf '%s' "$f" | cut -c7-8 | sed 's/^0//') - 1 ) / 7 + 1 )) # which Friday of the month
```
- Read the page via `jsc-gitea:wiki`. If it does not exist, create it with the structure described in `templates/log-contents.md`; otherwise APPEND the new entry at the end.
- Update `LOG_CONTENTS` in the same pass (apply `templates/log-contents.md`; add the week's row if missing).