by @cush
Morning Standup
Opens Slack, drops yesterday's commits into the standup channel.
- focusfocus Slack
- key⌘K
- type/standup
- key↵
- waitwait 2s
- shellgit
- typepaste $stdout
- notifystandup posted
Readme
Why this exists
Every standup, I was tabbing to Slack, finding the channel, hunting through my terminal for what I shipped yesterday, and pasting it in. Took two minutes. Did it 200 times a year. 400 minutes of hunting and pasting.
This workflow does it in two seconds.
How it works
The git log flag does the real work:
git log --since=yesterday --oneline | head
That captures the last day of commits, one per line, capped at 10 so we don't dump a wall of text into the channel.
The type from="$stdout" step reads the previous command's stdout and
types it into whatever has focus. Slack's input is open at that point
(thanks to the Super+k quick-switcher chord + /standup), so it lands
in the right place.
Caveats
- Requires Slack to be running. If it's not, the
focus app="Slack"step will fail and nothing posts. Super+kis the Slack quick-switcher chord. Rebind in your KDL if your Slack uses a different one.- The
--onelineformatter strips body text. If you want the full commit message, swap to--pretty=format:%s%n%band increase theheadcount.
Tip: if your team uses a different standup channel name, edit the
/standupline to whatever your slash command is.
Variants
| Use case | Change |
|---|---|
| Async standup in a thread | Add a key "ArrowDown" after typing |
| Yesterday + today plan | Append a type "Today: " step at the end |
| Skip on Mondays | Wrap in unless with a date check |
Built for wflow. PRs and remixes welcome.
KDL source
// Morning Standup — by @matt
workflow "Morning Standup" {
focus app="Slack"
key "Super+k"
type "/standup"
key "Return"
wait 2.0
shell "git log --since=yesterday --oneline | head"
type from="$stdout"
notify "standup posted"
}