# Standup Prompt > **Format note (2026-05-13):** Mattermost requires a visible blank line before section headers like `Today:` and `Blockers:` for proper rendering. Always emit two newline characters between the previous bullet/list item and the next section header; never place `Today:` immediately after a list item. Use `project-knowledge/01-current/current-work.md`, `project-knowledge/01-current/work-items.md`, the detailed files referenced from that active-work summary, `project-knowledge/03-context/project.md`, `project-knowledge/03-context/workstreams/index.md`, `project-knowledge/03-context/process/communication.md`, `project-knowledge/04-people/manager.md`, the previous workday communication context, today's daily note if present, and the latest available communication context. Generate a standup update for the active project profile. ## Required refresh - At the start of the day, fetch or read refreshed Mattermost evidence before drafting. Prefer the local proxy mirror through `scripts/mattermost-proxy/read-context.py` when it exists; legacy sync output is fallback evidence. - Fetch both latest available messages and previous-workday activity when the connector supports both modes. - If Mattermost refresh fails, say so internally and use only saved workspace memory with clear caution; do not invent fresher context. - Do not skip communication refresh for standup just to reduce latency, because stale standups cost more time to correct later. ## Temporal grounding - Use the injected `Temporal Context` block as the source of truth for today's date, weekday, calendar yesterday, and default previous workday. - Resolve relative terms before drafting: `today` means the injected `today`; `yesterday` means the injected `calendar_yesterday`; `previous workday` means the injected `default_previous_workday` unless refreshed Mattermost evidence found a later prior day with activity. - For a Tuesday report, the previous-work section normally describes Monday's work. - Do not infer dates from model memory, conversation history, or file modification times when the injected temporal context is available. - If a requested report date conflicts with the injected current date, state the exact date being used before drafting. ## Output contract - Use the greeting required by the active profile or command. If no greeting is specified, omit the greeting and start with the previous-work section. - Return the greeting, a previous-work section, and `Today:` with a visible blank line before `Today:` - Include `Blockers:` only when there is a real blocker to report; omit the entire section when there are no blockers - Use `Yesterday:` only when the previous-work section truly refers to yesterday; otherwise use a truthful label such as `Last workday:` or the weekday/date when clearer - Return Markdown that is ready to copy/paste directly into the configured team communication tool - Use one top-level bullet per work item - Use indented sub-bullets only when they improve clarity - Prefer one concise sub-bullet when nearby events are part of the same continuous context - Keep sub-bullets in chronological order within each work item - Keep the whole standup concise and ready to send ## Selection rules - Use the most recent context only - `Yesterday` must describe work that actually happened on the previous workday, not older status changes that still appear in current memory - On Mondays, use Friday's work context unless a later prior day has Mattermost activity - If the previous calendar day has no work activity or is OOO/weekend, use the latest prior day with Mattermost activity - Treat the previous workday communication context as the primary source for the previous-work section - When the previous-workday evidence is itself a standup, do not promote that standup's nested `Yesterday` lines as work performed on the previous workday. Use same-day follow-up evidence, same-day daily logs, or explicit user-provided context for what actually happened on that date. - If a latest daily log exists, use its `Work Done` and same-day findings as the primary source for `Yesterday`; use current memory only to disambiguate, not to backfill unrelated older events - Do not reuse older investigation context from `current-work.md` as `Yesterday` unless the latest daily log or previous-workday communication confirms it happened on that workday - Prefer updates directly tied to active work items over side questions, context refreshes, or manager-only reminders - Exclude items that are not directly tied to a story unless they are true blockers - Do not mention stories assigned to a future sprint unless they are a real blocker for today's work - Do not include `Today` items that are known not to be worked on today ## Story handling rules - Mention work item IDs and approved titles when they are available and clearly tied to the reported work - Prefer including story titles whenever a reported update maps clearly to a Jira item - Prefer story-based reporting when the work maps clearly to a Jira item - If documentation, root-cause analysis, or implementation analysis directly supports a story, group that work under the related story instead of listing it separately - When one work item has multiple concrete updates, keep them under one top-level `ID - Title` bullet - When pairing a work item ID with a title, prefer `ID - Title` or `ID Title`; do not use commas between them ## Writing rules - Write in natural US English that can be forwarded externally without rewriting - Write the standup as the workspace user's progress report - Be specific, concise, and evidence-backed - Avoid vague phrases and generic progress language - Mention debugging findings only if they materially changed understanding - Clarify auth-dependent behavior when relevant - Separate external issues from regressions when that distinction matters - For standups that may also be sent outside the immediate team, prefer plain outcome language over internal implementation jargon; avoid unexplained terms like `fallback` - If a release or propagation step is waiting on approvals or pipeline work, make the parallel work explicit instead of sounding like the day is blocked on waiting alone - Do not mention manager or stakeholder names except in the configured greeting or when the user explicitly asks - Do not mention internal evidence sources or communication tools unless the user explicitly asks ## Compression rules - Combine closely related events into one sentence when they share the same context and timeline - Split into multiple sub-bullets only when separation improves accuracy or readability - Prefer direct chronological phrasing such as `Started by...`, `Then...`, `Later...` when that keeps one bullet accurate and concise ## Anti-patterns to avoid - Do not report a work item as worked yesterday just because it is now `Done` - Do not pull old closure events from durable memory into a new standup unless they happened on the previous workday - Do not mention next-sprint work in `Today` when today's plan is already known and different - Do not turn context notes into fake progress lines Format: Yesterday: - ITEM-#### - Title - Update 1 - Update 2 Today: - ITEM-#### - Title - Next action 1 - Next action 2 Blockers: - ... If there are no blockers, omit `Blockers:` entirely. **Mattermost rendering note:** use a visible blank line (two newline characters) before `Today:` and before `Blockers:` so Mattermost renders the section headers as proper headings rather than inline text. Before returning the final answer, visually verify there is an empty line immediately above `Today:`.