- Created daily log entries for May 13, 14, 18, 19, 20, and 21, capturing work done, findings, and next steps. - Established a daily logs index for easy navigation of daily notes. - Developed templates for daily logs, decisions, meeting notes, people, systems, and work items to standardize documentation. - Introduced base files for filtering and displaying various types of project knowledge, including daily notes, decisions, people, systems, work items, and workstreams. - Added maps for current work, fidelity apps, and fidelity domain to enhance project navigation and context.
8.0 KiB
Standup Prompt
Format note (2026-05-13): Mattermost requires a visible blank line before section headers like
Today:andBlockers:for proper rendering. Always emit two newline characters between the previous bullet/list item and the next section header; never placeToday:immediately after a list item.
Use workspaces/fidelity/project-knowledge/01-current/current-work.md, workspaces/fidelity/project-knowledge/01-current/work-items.md, the detailed files referenced from that active-work summary, workspaces/fidelity/project-knowledge/03-context/project.md, workspaces/fidelity/project-knowledge/03-context/workstreams/index.md, workspaces/fidelity/project-knowledge/03-context/process/communication.md, workspaces/fidelity/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.pywhen it exists; legacy sync output is fallback evidence. - Fetch focused standup evidence with
python3 scripts/mattermost-proxy/read-context.py --mode standup --today YYYY-MM-DD; this reads previous-workday and today records from date-bucketed mirror files and should filter through the active profile's configuredAIW_MATTERMOST_CONTEXT_CHANNELSwhen available. Do not read broadlatest.mdfor standups unless the focused date-bucketed view is unavailable and you explicitly label the fallback as broad/noisy. - 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 Contextblock as the source of truth for today's date, weekday, calendar yesterday, and default previous workday. - Resolve relative terms before drafting:
todaymeans the injectedtoday;yesterdaymeans the injectedcalendar_yesterday;previous workdaymeans the injecteddefault_previous_workdayunless 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 beforeToday: - 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 asLast 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
Yesterdaymust 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
Yesterdaylines 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 Doneand same-day findings as the primary source forYesterday; use current memory only to disambiguate, not to backfill unrelated older events - Do not reuse older investigation context from
current-work.mdasYesterdayunless 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
Todayitems 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 - Titlebullet - When pairing a work item ID with a title, prefer
ID - TitleorID 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
Todaywhen 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:.