Loading...
Loading...
Generates a daily standup post from GitHub activity and agent session history, and posts it to the mitodl/hq Check-ins discussion. Use when asked to write, generate, or post a daily standup — fetches PR, issue, and code-review activity via the gh CLI, queries recent agent sessions, asks clarifying questions about timing and off-GitHub work, renders the standup in the team's standard format, and posts it as a discussion comment with user confirmation.
npx skill4agent add mitodl/agent-kit generate-standupmitodl/hqghjqbash skills/process/generate-standup/scripts/get-standup-context.sh [-t YYYY-MM-DD] [-o org1,org2]| Flag | Description | Default |
|---|---|---|
| "Today" date ( | today (UTC) |
| Comma-separated orgs to search | |
{
"meta": { "username", "today", "yesterday", "tomorrow", "since" },
"checkin_discussion": { "id", "number", "title", "url", "createdAt" },
"prs_authored": [...],
"prs_reviewed": [...],
"issues": [...],
"rfc_discussions": [...]
}meta.yesterdaymeta.tomorrowmeta.sincemeta.yesterdaycheckin_discussionmitodl/hqidurlsqldatabase: "session_store"meta.sinceSELECT
s.id,
s.repository,
s.branch,
s.summary,
s.created_at,
s.updated_at,
c.title AS checkpoint_title,
c.overview AS checkpoint_overview,
c.work_done AS checkpoint_work_done
FROM sessions s
LEFT JOIN checkpoints c ON c.session_id = s.id
WHERE s.updated_at >= '<meta.since>'
ORDER BY s.updated_at DESCSELECT s.id, s.repository, s.branch, t.user_message
FROM sessions s
JOIN turns t ON t.session_id = s.id AND t.turn_index = 0
WHERE s.updated_at >= '<meta.since>'
AND NOT EXISTS (SELECT 1 FROM checkpoints c WHERE c.session_id = s.id)
ORDER BY s.updated_at DESC| Evidence available | Action |
|---|---|
Checkpoint with | Use as session summary |
| No checkpoint; has repo + branch + concrete first turn | Derive brief summary from repo/branch + turn intent |
| No checkpoint; NULL repo or trivial/meta prompt | Skip |
| Session is for generating this standup | Skip |
ask_userrepository: nullprs_authoredoff_githubtiming{
"timing": {
"type": "string",
"title": "When are you posting?",
"enum": ["EOD — reporting today's work (today/tomorrow headers)",
"BOD — reporting yesterday's work (yesterday/today headers)"],
"description": "EOD: post at end of your work day; yesterday section covers today's date (meta.today). BOD: post at start of your work day; yesterday section covers meta.yesterday."
},
"blockers": {
"type": "string",
"title": "Blockers",
"description": "Are you blocked on anything? Include a link and the @handle of whoever needs to unblock you. Leave blank if none."
},
"announcements": {
"type": "string",
"title": "Announcements",
"description": "Anything to announce not in GitHub? (OOO, special review requests, schedule changes, etc.) Leave blank if none."
},
"off_github": {
"type": "string",
"title": "Off-GitHub work",
"description": "Meetings, planning, research, design, or other work that won't appear in GitHub. Leave blank if none.\n\nPossible session-only work detected:\n<bullet list of session-only summaries, or 'none detected'>"
}
}timing| Timing | | | Past header | Future header |
|---|---|---|---|---|
| EOD | | | | |
| BOD | | | | |
updatedAtmergedAtreport_dateupdatedAtmeta.sinceprs_authoredprs_reviewedupdated_atreport_datemeta.username<Display Name>
> Standup announcements
- <item>
> <past header>
- <item>
> <future header>
- <item>- None@handle[text](url)ask_user{
"action": {
"type": "string",
"title": "Post this standup?",
"enum": ["Post it", "Edit first", "Cancel"],
"description": "Post as a comment on <title> (<checkin_discussion.url>), make edits, or cancel."
}
}echo "<rendered standup>" \
| bash skills/process/generate-standup/scripts/post-standup-comment.sh \
-d "<checkin_discussion.id>"Anna G
> Standup announcements
- https://github.com/mitodl/mitxonline/pull/3600 needs review
> What did I work on today?
- worked on https://github.com/mitodl/mitxonline/pull/3600
- updated UI and fixed tests https://github.com/mitodl/mit-learn/pull/3346, received review
> What am I working on tomorrow?
- address feedback https://github.com/mitodl/mit-learn/pull/3346
- resolve https://github.com/mitodl/hq/issues/11440Tobias Macey
> Standup announcements
- PRs needing review:
- [ol-infrastructure #4659: add Archive/Deep Archive access tier support to OLBucket](https://github.com/mitodl/ol-infrastructure/pull/4659)
- [ol-data-platform #2238: automate Iceberg table maintenance across the lakehouse](https://github.com/mitodl/ol-data-platform/pull/2238)
> What did I work on yesterday?
- Worked on addressing the hanging open issue for Dagster assets using Polars to read Iceberg tables
- Opened https://github.com/mitodl/ol-infrastructure/pull/4659 for S3 cost optimization
> What am I working on today?
- Finish fixing the Polars/Iceberg hang in Dagster
- Test the Concourse release workflow end to end
- Wrap up self assessmentSar
> Standup announcements
- None
> What did I work on yesterday/today?
- Wrote and deployed https://github.com/mitodl/ol-infrastructure/pull/4658
- Continued investigating SCIM sync failures — updates are reaching Keycloak
logs but not propagating to Learn/MITx Online; restarting Keycloak temporarily
restores sync, root cause still unknown
> What am I working on today/tomorrow?
- Continue digging into the SCIM update issue