skills/daily-log/SKILL.md
Generate a daily work log by scanning Claude Code (~/.claude/projects/) and Codex (~/.codex/sessions/) session JSONL files and compiling them into ~/moz_artifacts/daily-log-YYYY-MM-DD.md. Use when summarizing a day's sessions or reviewing what the user worked on.
npx skillsauth add jwmossmoz/agent-skills daily-logInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Generate a daily work log by scanning session JSONL files from known locations.
| Agent | Location | Format |
|-------|----------|--------|
| Claude Code | ~/.claude/projects/*/ | JSONL files in per-project dirs |
| Codex | ~/.codex/sessions/YYYY/MM/DD/ | JSONL files with local-time filenames |
moz collection so the new log is searchable# Claude Code sessions modified today
fd -e jsonl --changed-within 1d . ~/.claude/projects/
# Codex sessions with today's date in the filename (YYYY-MM-DD pattern)
fd -e jsonl "2026-04-14" ~/.codex/sessions/
For a specific date, adjust the --changed-within or filename pattern accordingly.
Filter out subagent sessions (paths containing /subagents/) — only
summarize top-level sessions.
Read each JSONL file directly. Each line is a JSON object representing a message in the conversation.
See references/jsonl-formats.md for detailed field descriptions.
Claude Code lines have type: "user" or type: "assistant"; Codex lines
have type: "response_item" with payload.role of user / assistant /
developer.
For each session:
For large sessions, read only the first 200 and last 100 lines to get the topic and outcome without consuming excessive context.
Group sessions by agent. Use the output format in references/output-format.md.
Derive session times from:
Save to: ~/moz_artifacts/daily-log-YYYY-MM-DD.md
After the log file is written, re-index the moz qmd collection so the new
log is queryable immediately:
qmd update && qmd embed
Both are incremental — they only scan/embed new or changed chunks, so this is cheap even when run at the end of every log generation.
/subagents/) are noise. Skip them — only top-level sessions are worth summarizing.qmd update && qmd embed after writing the log so the new file is searchable; both are incremental and cheap.development
Download Azure Cost Management exports and query local Parquet/CSV in DuckDB. Use when refreshing local Azure cost caches or writing DuckDB SQL over exports. DO NOT USE FOR live Cost Management API diagnosis; use azure-cost-analysis.
data-ai
Use when creating performance self-reviews from local notes, prior reviews, review prompts, and verified evidence. Helps draft H1/H2, annual, and promotion self evaluations, example answers, and rich review-form paste output. Do not use for routine status or 1:1 summaries; use one-on-one.
tools
Prepare one-on-one/status bullets from ~/moz_artifacts using qmd and copy a topic-organized HTML/RTF list with embedded links to the macOS clipboard. Use when summarizing recent Mozilla work for a manager, 1:1, or status update. DO NOT USE FOR generating raw daily logs; use daily-log.
development
Use when tracing Taskcluster Azure VM startup from worker-manager request through in-VM boot scripts to generic-worker `workerReady` with tc-logview, paperctl, Splunk Web, and Yardstick Prometheus. Applies to Windows worker provisioning latency. DO NOT USE FOR task failure triage (use worker-image-investigation).