Daily Standup Skill
Automate the bridge between synchronized engineering discussions and asynchronous project tracking.
Scope
Transcript in, plan and updates out. Related skills:
meeting-notes — general transcript → minutes extraction. This skill calls it.
daily-status — your own activity from git/gh/Jira, no transcript.
iteration-planner — sprint boundaries, not the daily cycle.
Purpose
- Status Updates: Move cards and post technical rationale to GitHub issues.
- Bias for Action: Enforce an options-based resolution format for blockers.
- Proactive Intervention: Detect stalled items and flag "Reality Gaps" between claims and system state.
Capabilities
- Context Discovery: Auto-infer Project and current Iteration.
- Semantic Mapping: Link transcript discussion points to specific GitHub issues.
- Stall Detection: Flag items blocked for 2+ days without progress.
- Lead Briefing: Prioritize critical path unblocking for the Engineering Lead.
Technical Guides
references/status-update.template.md: Mandatory action-oriented comment format.
references/intervention-logic.md: Rules for stall detection and reality checking.
Phase 0: Locate the transcript
Look for a Teams transcript among the newest files in ~/Downloads:
find ~/Downloads -maxdepth 1 -type f \
\( -iname '*.vtt' -o -iname '*.srt' -o -iname '*transcript*' -o -iname '*recap*' \) \
-printf '%T@ %p\n' 2>/dev/null | sort -rn | head -5
Decide as follows:
- A recent transcript is found (within ~24h): state the filename and its
timestamp, and confirm it is the right meeting before proceeding.
- Nothing matches, or the newest match is stale: do not guess and do not
scan the wider filesystem. Ask the user for the transcript location, and say
what you looked for. Accept a path, a paste of the transcript text, or a
Teams chat name to pull via the
teams-headless skill (--recap).
Never proceed on an unconfirmed file. Acting on the wrong meeting means writing
wrong decisions into real issues.
Orchestration Flow
- Phase 1: Knowledge Gathering
- Identify Project, Iteration, and Working Set.
- Load the transcript confirmed in Phase 0.
- Phase 2: Deep Analysis
- Call
meeting-notes skill to parse transcript.
- Fetch issue history for all matches to detect stalls.
- Perform Reality Checks (Refer to
intervention-logic.md).
- Phase 3: Proposal Generation
- Apply the Bias for Action template to each update.
- Generate Lead Briefing with priority escalations.
- Assemble the day's plan (see Outputs below).
- Phase 4: User Validation & Execution
- Display Plan and Briefing; execute confirmed updates via
gh.
Outputs
Produce all four, in this order:
- The day's plan — what the user should do today, ordered by priority,
derived from actions assigned to them plus anything the Reality Check
flagged as a gap.
- Decisions — material decisions reached in the meeting, each with the
issue or PR it belongs to. Post as issue comments using the
status-update.template.md format.
- Issue updates — status moves, comments, new issues for unowned action
items. Proposed first, executed only after confirmation.
- Reminders — time-bound commitments made in the meeting ("I'll check
with Priya by Thursday"). Write to the user's usual capture point: append
to the Obsidian vault via
obsidian-notetaker, or ~/projects/dailies/
if the vault is unavailable. Ask once which, then keep to it.
Execution Safety
Issue comments and status changes are visible to your team and are hard to
retract. Therefore:
- Show every proposed write — target, action, exact body — before executing.
- Batch the confirmation: one list, one approval, then execute.
- Never invent an action item, owner, or decision that is not in the transcript.
If attribution is ambiguous, mark it
[owner unclear] and ask.
- A Reality Gap is reported, never silently corrected.
Maintained by: contributors | Version: 1.2 | Last Updated: 2026-03-14
1---2name: daily-standup3description: Turn a Teams meeting transcript or minutes into a plan for the day — map discussion to GitHub issues, record decisions, detect stalls, update issues, and set reminders. Use after a standup or team call when you have a transcript to act on. For reporting your own recent activity with no meeting involved, use `daily-status` instead. Triggers on: 'daily standup', 'standup', 'process the standup', 'meeting transcript', 'what came out of the call'.4---56# Daily Standup Skill78Automate the bridge between synchronized engineering discussions and asynchronous project tracking.910## Scope1112Transcript in, plan and updates out. Related skills:1314- `meeting-notes` — general transcript → minutes extraction. This skill calls it.15- `daily-status` — your own activity from git/gh/Jira, no transcript.16- `iteration-planner` — sprint boundaries, not the daily cycle.1718## Purpose1920- **Status Updates**: Move cards and post technical rationale to GitHub issues.21- **Bias for Action**: Enforce an options-based resolution format for blockers.22- **Proactive Intervention**: Detect stalled items and flag "Reality Gaps" between claims and system state.2324## Capabilities25261. **Context Discovery**: Auto-infer Project and current Iteration.272. **Semantic Mapping**: Link transcript discussion points to specific GitHub issues.283. **Stall Detection**: Flag items blocked for 2+ days without progress.294. **Lead Briefing**: Prioritize critical path unblocking for the Engineering Lead.3031## Technical Guides3233- `references/status-update.template.md`: Mandatory action-oriented comment format.34- `references/intervention-logic.md`: Rules for stall detection and reality checking.3536## Phase 0: Locate the transcript3738Look for a Teams transcript among the newest files in `~/Downloads`:3940```bash41find ~/Downloads -maxdepth 1 -type f \42 \( -iname '*.vtt' -o -iname '*.srt' -o -iname '*transcript*' -o -iname '*recap*' \) \43 -printf '%T@ %p\n' 2>/dev/null | sort -rn | head -544```4546Decide as follows:4748- **A recent transcript is found** (within ~24h): state the filename and its49 timestamp, and confirm it is the right meeting before proceeding.50- **Nothing matches, or the newest match is stale**: do not guess and do not51 scan the wider filesystem. Ask the user for the transcript location, and say52 what you looked for. Accept a path, a paste of the transcript text, or a53 Teams chat name to pull via the `teams-headless` skill (`--recap`).5455Never proceed on an unconfirmed file. Acting on the wrong meeting means writing56wrong decisions into real issues.5758## Orchestration Flow59601. **Phase 1: Knowledge Gathering**61 - Identify Project, Iteration, and Working Set.62 - Load the transcript confirmed in Phase 0.632. **Phase 2: Deep Analysis**64 - Call `meeting-notes` skill to parse transcript.65 - Fetch issue history for all matches to detect stalls.66 - Perform **Reality Checks** (Refer to `intervention-logic.md`).673. **Phase 3: Proposal Generation**68 - Apply the **Bias for Action** template to each update.69 - Generate **Lead Briefing** with priority escalations.70 - Assemble the day's plan (see Outputs below).714. **Phase 4: User Validation & Execution**72 - Display Plan and Briefing; execute confirmed updates via `gh`.7374## Outputs7576Produce all four, in this order:77781. **The day's plan** — what the user should do today, ordered by priority,79 derived from actions assigned to them plus anything the Reality Check80 flagged as a gap.812. **Decisions** — material decisions reached in the meeting, each with the82 issue or PR it belongs to. Post as issue comments using the83 `status-update.template.md` format.843. **Issue updates** — status moves, comments, new issues for unowned action85 items. Proposed first, executed only after confirmation.864. **Reminders** — time-bound commitments made in the meeting ("I'll check87 with Priya by Thursday"). Write to the user's usual capture point: append88 to the Obsidian vault via `obsidian-notetaker`, or `~/projects/dailies/`89 if the vault is unavailable. Ask once which, then keep to it.9091## Execution Safety9293Issue comments and status changes are visible to your team and are hard to94retract. Therefore:9596- Show every proposed write — target, action, exact body — before executing.97- Batch the confirmation: one list, one approval, then execute.98- Never invent an action item, owner, or decision that is not in the transcript.99 If attribution is ambiguous, mark it `[owner unclear]` and ask.100- A **Reality Gap** is reported, never silently corrected.101102---103**Maintained by**: contributors | **Version**: 1.2 | **Last Updated**: 2026-03-14