--- description: Draft a standup from the latest Fidelity workspace context --- Generate a standup update using the latest workspace state. First, refresh Mattermost context before drafting: !`if [ -n "$FIDELITY_MATTERMOST_SYNC_CMD" ]; then bash -lc "$FIDELITY_MATTERMOST_SYNC_CMD" >/dev/null 2>&1 || true; elif [ -f scripts/mattermost/sync.sh ]; then bash scripts/mattermost/sync.sh >/dev/null 2>&1 || true; fi` Read: @prompts/standup.md @ai/AGENTS.md @ai/context/index.md @ai/context/project.md @ai/context/workstreams/index.md @ai/context/process/communication.md @ai/context/process/jira-story-rules.md @ai/context/people/manager.md @ai/work-items/index.md @ai/state/current.md @ai/state/work-items.md @knowledge/communication-rules.md @knowledge/agent-memory-rules.md Yesterday's log, if present: !`y=$(date -v-1d +%F 2>/dev/null || python3 - <<'PY'\nfrom datetime import datetime, timedelta\nprint((datetime.now().astimezone() - timedelta(days=1)).strftime('%Y-%m-%d'))\nPY\n); if [ -f "ai/logs/$y.md" ]; then echo "$y"; cat "ai/logs/$y.md"; else echo "No log exists for yesterday."; fi` Today's log, if present: !`if [ -f ai/logs/$(date +%F).md ]; then cat ai/logs/$(date +%F).md; else echo "No log exists for today yet."; fi` Latest Mattermost context, preferring inbox and falling back to generated JSONL: !`if [ -s ai/inbox/mattermost-latest.md ]; then cat ai/inbox/mattermost-latest.md; elif [ -s scripts/mattermost/generated/mattermost_context.jsonl ]; then cat scripts/mattermost/generated/mattermost_context.jsonl; else echo "No Mattermost context available."; fi` Detailed active work item files, if available: !`if [ -d ai/work-items ]; then for f in ai/work-items/*.md; do case "$f" in *README.md|*index.md) continue;; esac; echo "\n### $f"; cat "$f"; done; else echo "No work item files available."; fi` Before drafting: - update workspace memory if the refreshed context introduced clear high-confidence project facts - prefer existing memory when the latest context is ambiguous - mention Jira IDs and approved titles when they map cleanly to yesterday's work - prioritize story-based updates over side questions, memory refreshes, or manager-only context - if documentation or root cause updates directly support a story, roll them into that story's update instead of listing them separately - exclude items that are not directly tied to a story unless they are true blockers Return a standup that is: - specific - concise - grounded in the latest context - safe to send without overstating certainty - written in natural US English that can be sent externally without rewriting - written as David's progress report - free of any mention of Jeff by name - free of any mention of Mattermost, since it is internal-only communication - uses bullet points for each item - uses `JIRA-ID - Title` or `JIRA-ID Title` formatting instead of comma-separated ID/title formatting