一键导入
codex-time-report
Estimate human-active and agent-elapsed Codex coding vs cowork time from session logs and git commits by day, week, and month.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Estimate human-active and agent-elapsed Codex coding vs cowork time from session logs and git commits by day, week, and month.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | codex-time-report |
| description | Estimate human-active and agent-elapsed Codex coding vs cowork time from session logs and git commits by day, week, and month. |
Estimate how much human attention time the user spends interacting with Codex in
this project, split into coding and cowork time. Also report agent elapsed
time and async wait time so the user's leverage is visible.
This skill is Codex-only. Do not claim that it analyzes Claude Code sessions.
~/.codex/sessions/**/rollout-*.jsonl.memory/codex-time-YYYY-MM-DD.md.Use local Codex JSONL session logs and the current repository's git history.
git rev-parse --show-toplevel.git config --get remote.origin.url.~/.codex/sessions/**/rollout-*.jsonl.session_meta.payload.cwd is inside this repository or one of its
worktrees, orsession_meta.payload.git.repository_url matches the current repository
remote.event_msg contains
payload.thread_id; otherwise use session_meta.payload.id. Treat the
group as one reporting session.Do not include prompt text in the report unless the user explicitly asks for examples. Session ids, dates, durations, changed paths, and commit subjects are enough.
response_item whose payload is a
message with payload.role == "user".America/Los_Angeles for reporting.human_active_time: estimated time the user spent prompting, reviewing, and
steering.agent_elapsed_time: first prompt to cowork/coding endpoint.async_wait_time: agent_elapsed_time - human_active_time, never below
zero.Single-prompt cowork sessions may legitimately report 0m, because cowork time
elapsed is measured from first prompt to last prompt.
Default to the active-window model. This is intentionally conservative and should be described as an estimate, not a precise time tracker.
<skill>...</skill> blocks.<environment_context>...</environment_context> blocks.30s
and 8m.10m.Visible agent activity includes assistant messages, tool calls, tool results, and event messages before the prompt. If the last visible activity is missing, fall back to the prompt drafting estimate.
Classify the whole session as coding if it changes local workspace content
outside memory/. Otherwise classify it as cowork.
Strong coding signals:
apply_patch custom tool calls that add, update, delete, or move a path
outside memory/.memory/, such as
redirection, tee, touch, mkdir, cp, mv, git mv, code generators,
formatters that rewrite files, or Python snippets using write_text, open
in write/append mode, or similar write APIs.git commit or git add commands when the matching commit or staged paths
include non-memory/ files.Cowork signals:
memory/, including generated reports, cached context,
and transcripts. Temporary and intermediate report files belong in $TMPDIR.If a command looks like it may have written files but the changed path cannot be
determined, list the session under "Ambiguous Sessions" and explain the signal.
Do not classify remote writes as coding unless they also changed local
non-memory/ workspace files.
For coding sessions, find the endpoint from git history:
apply_patch and clear local write
commands, ignoring paths under memory/.memory/**.git commit, prefer that commit when it changes a
candidate path.uncommitted/no matching commit.When a coding session spans past the matching commit because the user kept chatting afterward, stop coding time at the commit time.
For each session:
agent_elapsed_time = endpoint - first_prompt, never below zero.human_active_time comes from the active-window heuristic, capped to
agent_elapsed_time for sessions with nonzero elapsed time.async_wait_time = agent_elapsed_time - human_active_time, never below zero.YYYY-Www.coding, cowork, and combined total for each timing metric.Write a Markdown report to memory/codex-time-YYYY-MM-DD.md unless
the user requested a different memory/ path.
Include:
human_active_time for coding, cowork, and overall time.End every generated report with exactly:
This report generated using [chase-sidekick](https://github.com/chase-seibert/chase-sidekick) and the [codex-time-report skill](https://github.com/chase-seibert/chase-sidekick/tree/main/.agents/skills/codex-time-report).
After writing the report:
memory/codex-time-YYYY-MM-DD.md unless the user requested
another memory/ path.cowork
when the date range includes one.Generate Quarto and HTML reports of local Codex session cost, token usage by model, project, coding vs cowork cost, weekly trends, annual projections, and top expensive sessions.
Check that core Sidekick integrations can authenticate and read common restricted files
Generate summary of 1:1 and meeting notes organized by audience, wins, and kudos
Capture missing TODOs from recent work context. Use when Codex needs to scan the user's Slack DMs with their manager or direct reports, manager/direct-report 1:1 docs, and leadership meeting notes for direct asks or action items assigned to the user, deduplicate against the user's configured todo app, and create missing tasks with source links and searchable metadata.
Draft concise interview scorecards from pasted long-form interview notes, nearby Google Calendar interview context, and memory/miclog/ transcript excerpts. Use when writing hiring feedback, interview scorecards, spikes/troughs, or candidate evaluation summaries.
Calculate a team's average Jira hours from Rovo Jira completed work, with optional Workday Approved Time Off absence adjustments for a date window and team roster.