From devboy
Produces Markdown report summarizing daily devboy session traces (skill runs, outcomes, tool calls, errors, durations) cross-referenced with git provider's merged MRs and closed issues. Use for end-of-day reviews, standups, or audits.
npx claudepluginhub meteora-pro/devboy-tools --plugin devboyThis skill uses the workspace's default tool permissions.
Reads today's session traces and cross-references them with the git
Aggregates Claude Code sessions, Git commits, and Notion tasks into Chinese daily work summaries with timeline, key outputs, task completion, and unplanned work. Use /daily-summary or triggers like 'daily summary', '日报' with date args like today, yesterday, 24h, YYYY-MM-DD.
Generates daily analytics reports on GitHub Copilot usage: tasks completed, human effort equivalent, token usage, narrative story. Emails formatted summary. Useful for daily activity or productivity digests.
Generates standup summaries of recent Claude Code sessions: lists done commits by project/branch/duration, in-progress tasks, and metrics like total time/sessions.
Share bugs, ideas, or general feedback.
Reads today's session traces and cross-references them with the git
provider's recent activity to produce a short Markdown report. The
output goes to stdout — nothing is posted anywhere. Users who want the
report delivered to a chat pipe it into notify (category 5).
--date 2026-04-16).Pick the date (default: today in the local timezone) and the scope:
<repo>/.devboy/sessions/<YYYY-MM-DD>/.--global): ~/.devboy/sessions/<YYYY-MM-DD>/.If neither directory exists, exit with an error that tells the user which path was checked.
result=$(devboy trace begin --skill daily-report)
SESSION_DIR=$(echo "$result" | jq -r .session_dir)
SESSION_ID=$(echo "$result" | jq -r .session_id)
This skill is itself traceable — retro runs will see that a daily report ran, how long it took, and whether it succeeded.
The trace subsystem writes each session under
<YYYY-MM-DD>/<skill>/<session_id>/, so a single skill can produce
several sibling session directories on the same day. Walk every
<skill>/<session_id>/ pair under the day:
meta.json is missing, skip the directory — the session is
still in flight. Record a single note event listing the skipped
sessions so they show up in the report as "in progress".meta.json and pull:
skill, outcome, tool_calls, errors,summary, started_at, ended_at.Emit an artifact event per session directory so the retro skill
can later find the raw data:
devboy trace event ... --phase artifact \
--payload "$(jq -nc --arg path "$SESSION_DIR" '{path:$path,kind:"session-dir"}')"
Two tool calls, each wrapped in a tool_call / tool_result pair:
devboy tools call get_merge_requests \
'{"state":"merged","limit":50}'
devboy tools call get_issues \
'{"state":"closed","limit":50}'
Filter the returned lists down to items whose merge / close timestamp
falls on the report's date. Neither get_merge_requests nor
get_issues has a first-class since parameter in the current
schema — do the date filter in the skill, not on the provider side.
Record ok:false on the tool_result if the call fails, but keep
going; a daily report is useful even if the tracker is offline.
Structure:
# Daily report — <YYYY-MM-DD>
## Sessions
- run-and-verify — 8 runs (7 success, 1 failure, avg 4.2s)
- solve-issue — 2 runs (2 success, avg 2m31s)
...
## Merged MRs
- mr#482 — "fix(auth): refresh token rotation"
- mr#485 — "refactor(api): split user service"
## Closed issues
- DEV-411 — "Cannot invite user with plus-sign email"
## Notable failures
- run-and-verify 14:02 — "cargo test" failed on integration::auth
Skip any section that has no entries. Keep the report short — a hundred lines at most.
devboy trace end \
--session-dir "$SESSION_DIR" --session-id "$SESSION_ID" \
--skill daily-report \
--outcome "$OUTCOME" \
--summary "<N> sessions, <M> MRs merged, <K> issues closed"
Print the assembled Markdown to stdout and exit.
meta.json.meta.json) are listed under "in progress"
rather than silently dropped.<redacted:...>, carry it into the report verbatim; do not try to
reconstruct the original value.--global trace directories are absent,
exit with a non-zero status rather than producing an empty report.notify from
category 5 if delivery is needed.retro.