| name | project-daily-summary |
|---|---|
| description | Use when the user wants a same-day Codex work summary grouped by project folder or repository, combining today's Codex sessions, extracted plans, completed items, commits, and uncommitted changes, or says 项目日报, 日报, 今日工作总结, 按项目总结今天, 总结今天所有 Codex 会话, 总结今天会话+提交+未提交改动. |
Summarize today's Codex work by project. Use global Codex session transcripts as the primary evidence source, then enrich with git commits and uncommitted changes. Prioritize plans and final outcomes over process chatter.
Do not produce a chronological 流水账. Do not summarize reasoning noise. Always summarize by project and then by major workstream.
~/.codex/sessions/YYYY/MM/DD/rollout-*.jsonl~/.codex/history.jsonl<project>/.specstory/history/if it existsgit log,git status --short,git diff --stat
In this Codex environment, session transcripts are primarily stored under:
~/.codex/sessions/YYYY/MM/DD/
Do not assume each project stores its own sessions under <project>/.codex/sessions/.
Map sessions back to projects using:
session_meta.payload.cwd- then normalize with
git -C <cwd> rev-parse --show-toplevel - if git root cannot be resolved, fall back to
cwd
Summarize all projects that appear in today's Codex sessions.
Summarize only those folders or repositories.
Use the local machine date, not UTC.
Build the session directory path:
~/.codex/sessions/YYYY/MM/DD/
If the directory does not exist, report that no Codex sessions were found for today and stop.
Read all:
rollout-*.jsonl
For each session, extract from the first session_meta line:
- session id
- cwd
- branch
- commit hash
- repository url
- whether it is a subagent session
- parent thread id if present
For each session:
- Try:
git -C <cwd> rev-parse --show-toplevel
- If that fails, use
cwdas the project key.
Output one section per project, not one section per raw session.
Many sessions may be spawned subagents. Do not list each child session as a separate user-facing item.
Use this policy:
- Main sessions are the primary narrative units.
- Subagent sessions are supporting evidence only.
- If a same-day parent session exists, merge the subagent into the parent workstream.
- If the parent session is missing, keep the subagent as orphan evidence and merge it into the nearest matching project workstream instead of listing it standalone.
Prefer the first meaningful user_message.
Rewrite it into one short Chinese objective sentence.
Prefer the last update_plan call in the session.
Summarize it into:
- 已完成
- 进行中
- 待处理
Keep only high-level plan items.
Prefer the final agent_message where:
phase == final_answer
If present, extract sections such as:
STATUSCHANGED_FILESTESTS_RUNNOTES
Convert them into concise outcome statements.
If no final answer exists, fall back to:
- latest plan state
- changed files if detectable
- git evidence
- latest meaningful assistant message
Ignore by default:
- reasoning items
- token counts
- most system and developer prompt content
- most intermediate tool chatter
- repeated subagent scaffolding
Keep only:
- user goal
- extracted plan
- final outcome
- changed files
- tests run
- risks or blockers
Within each project, merge multiple sessions into a few major workstreams.
Use these signals:
- same branch or worktree
- same or similar user goal
- overlapping changed files
- same plan file
- same parent thread chain
- same feature, bug, review, or skill topic
Target 1 to 5 workstreams per project, not dozens of tiny entries.
For each project, run:
git -C <repo> log --since="YYYY-MM-DD 00:00" --until="YYYY-MM-DD 23:59" --pretty=format:"%h %s"
git -C <repo> status --short
git -C <repo> diff --statUse this to produce:
- 今日 commits
- 当前未提交改动
Do not claim commits came from Codex unless the session evidence supports that inference.
If <project>/.specstory/history/ exists, use it only as a supplementary source.
Do not let SpecStory override Codex transcript evidence when they conflict.
If the user also wants a same-day all-repo closeout appendix in addition to the daily summary, you may optionally invoke worktree-closeout.
Use it only as an additive supplement:
project-daily-summaryremains the primary same-day, by-project reportworktree-closeoutis optional and only for the appendix view- use this only for same-day all-repo closeout appendix scenarios
- if the user wants a standalone closeout scan, or a repo-scoped closeout scan, use
worktree-closeoutdirectly instead of this skill - if the user did not ask for the appendix, skip this step
When used, append the result as one extra appendix, for example:
## 附录:Closeout / 未收口 Worktree / 分支收口状态
- 扫描范围:当天所有 repos
- 需优先收口的 repo / branch / worktree:
- 建议后续动作 / artifact 路径:Do not replace the main daily summary structure with the closeout appendix.
# Codex Project Daily Summary
日期:YYYY-MM-DD
## 总览
- 项目数:
- 会话数:
- 主要推进:
- 今日仍未收尾:
## 项目:<repo-or-folder>
- 分支 / 仓库:
- 今日 Codex 目标:
- 今日计划提炼:
- 今日完成事项:
- 今日 commits:
- 当前未提交改动:
- 风险 / 未完成项:
- 建议下一步:
## 项目:<repo-or-folder>
...
## 跨项目总结
- 今天最重要的推进
- 重复出现的问题
- 明天最值得先做的 1-3 件事
## 附录:Closeout / 未收口 Worktree / 分支收口状态(可选)
- 仅当用户额外要求当天所有 repo 的 closeout / worktree / 分支收口状态时添加
- 可附 `worktree-closeout` 的摘要、优先级、artifact 路径- Write in Chinese.
- Group by project first.
- Lead with results, not process.
- Distinguish clearly between:
- 会话计划
- 已完成事项
- 已提交内容
- 未提交改动
- Do not repeat subagent outputs separately if already merged.
- If evidence is missing, say so explicitly.
- If a project has no git repository, say that commit and uncommitted sections are unavailable.
For public distribution, do not hardcode a personal sync folder.
Use this policy instead:
- If the current project's
AGENTS.mddefines a daily-summary output directory, follow it. - Otherwise, ask the user for the output directory the first time.
- Use a configurable filename pattern such as:
YYYY-MM-DD-project-daily.md
If the user does not explicitly override the path or filename, use this location and naming convention automatically.
If the user explicitly says not to save the report, skip file creation and return the summary in chat only.
- 项目日报
- 日报
- 今日工作总结
- 按项目总结今天
- 总结今天所有 Codex 会话
- 总结今天会话+提交+未提交改动
- codex project daily summary