daily-report
Summarise today's trace activity, merged MRs, and closed issues into a single report.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Summarise today's trace activity, merged MRs, and closed issues into a single report.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Walk a project from "no values provisioned" to "doctor --secrets is green" — eight idempotent steps with resume support via setup-state.toml. Wraps the secret framework (ADR-023 §3.8) for AI agents and headless onboarding.
Bootstrap devboy from scratch — install the CLI if missing, register the MCP server, run `devboy onboard` for the active agent, optionally bootstrap the secret framework, verify with `doctor`. First-run skill for both manual installs and the Claude Code / Codex plugin.
First-run wizard for the devboy secret framework — walk a fresh project from "no secret manifest, no router, no daemon" to "every required secret provisioned and verified". Idempotent eight-step flow per ADR-023 §3.8 with state at ~/.devboy/secrets/setup-state.toml so the user can resume or skip.
Analyse the user's Claude Code (or other agent) logs and auto-configure the layered-pipeline compression profiles for their tools, models, and workflow.
Diagnose and fix a broken devboy-tools setup — corrupt config, missing tokens, keychain trouble, wrong paths, plugin install failures.
Enumerate and introspect the active tool bundle — names, categories, schemas, how to invoke each tool from the CLI.
| name | daily-report |
| description | Summarise today's trace activity, merged MRs, and closed issues into a single report. |
| category | self-feedback |
| version | 1 |
| compatibility | devboy-tools >= 0.18 |
| activation | ["daily report","what did I do today","summarise today"] |
| tools | ["trace","get_merge_requests","get_issues"] |
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.