--- 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).