The standup, written from GitHub, before anyone asks.
Async standup is an AI agent that writes your team's standup from GitHub, so nobody has to type one. It lists the pull requests merged on the last working day, the ones waiting over a day for review and the blocked or stale high-priority issues, grouped by person, in one Slack message. It never changes GitHub.
- 09:00Schedule fired
- 09:009 PRs merged Monday
- 09:01Read reviews on 3 PRs
- 09:01Found 12 stale issues
- 09:02Posted · 2 PRs waiting
Why do standups take so long?
Because people recite what GitHub already knows. Each person tries to remember yesterday's pull requests, nobody mentions the review that has waited two days, and the high-priority issue nobody touched since summer never comes up. Fifteen minutes a day go to status, and the blockers still slip through.
Without it
- Fifteen minutes a day to hear what GitHub already knows.
- Updates typed from memory, with links missing.
- Pull requests waiting days before anyone notices.
- High-priority issues untouched for months.
With Async standup
- Yesterday's merges, grouped by person.
- Every pull request waiting over a day, with its age.
- Approved and draft pull requests left out.
- Stuck issues listed, longest first.
What goes into an async standup?
Four answers every morning, straight from the repository: what merged, what's waiting, what's stuck and what the bots did.
What merged
Every pull request merged on the last working day, under the person who opened it.
What's waiting
Open pull requests with no approving review, over 24 hours old, each with how long it has waited.
What's stuck
Blocked issues, and high-priority issues untouched for 7 days, under their assignee or Unassigned.
What bots did
Release and dependency pull requests on one line, counted but kept out of the people's lists.
How does an async standup agent work?
Every run follows the same five steps, then posts one message. GitHub is only read, and only the last step writes anything.
- 1
Finds what merged
Pull requests merged on the last working day. On a Monday, Friday to Sunday.
- 2
Lists open pull requests
Not drafts, and open over 24 hours, each age worked out from when it was opened.
- 3
Checks each review
An approved pull request is dropped; one whose reviews can't be read is marked unverified.
- 4
Finds stuck issues
Blocked issues, and high-priority ones untouched for 7 days, longest first.
- 5
Posts the standup
Grouped by person, bots on one line, under 350 words.
- Weekdays at 9:00, before the team starts
- @async-standup what's waiting on review?
- Run when another tool calls its webhook, such as before sprint planning
From one sentence to the morning standup.
Describe the job, let Arclyx draft the agent, test it once on your real repository, create it, then read what lands in #eng-standup. Every pull request carries its link.
Paste the sentence. Arclyx picks the tools it needs and asks what it can't work out.
What should it do?
Every weekday at 9, write the async standup for our GitHub repository: which PRs merged yesterday, which open PRs have waited on review for over a day, and which open issues are blocked or haven't moved in 7 days, grouped by person, and post it to #eng-standup.
- Tools it can use
- Which time zone decides what yesterday means?
- Toronto, and Friday to Sunday on Mondays
It writes the instructions, and you sign in to each tool once. Nothing runs until you say so.
- Reading your description
- Writing the instructions
- Picking the tools
Async standup
Weekdays, 9:00
Try it once as a dry run. It reads your real tools, and what it would post is shown to you, not posted.
- Finds what merged
- Lists open pull requests
- Checks each review
- Finds stuck issues
- Posts the standup
Once it's created, the output lands where you said, with a source for every item.
#512 Add retry to webhook sender, #515 Show invoice totals in the account currency, and three more.
Each with its link, so nobody has to say it out loud.
↗ example-a.com/pull/512#518 Paginate the audit log export, open 31 hours. #521 Cache dashboard charts per workspace, open 26 hours.
Left out: one approved pull request and one draft.
↗ example-a.com/pull/518#509 Fix the date picker in Safari, and three more.
Merged Monday, in your time zone.
↗ example-a.com/pull/509#204 Retry failed CSV imports automatically: high priority, 64 days untouched.
The ten longest shown, then +2 more. Nothing is marked blocked.
↗ example-a.com/issues/204
One standup, four readers.
The same morning message answers a different question for each person who reads it.
Engineering managers
Who shipped what, and which reviews are stuck, before the day starts.
Tech leads
The pull requests waiting on them, with how long each has waited.
Engineers
Their own work listed for them, with no update to write.
Product managers
What merged yesterday without asking in a thread.
How do you run an async standup?
Agree on three questions: what got done, what's waiting and what's stuck. Then let an AI agent answer them from GitHub every morning: merged pull requests, reviews waiting over a day and issues that stopped moving, grouped by person in one message. In Arclyx that's five steps, starting with one sentence.
“Every weekday at 9, write the async standup for our GitHub repository: which PRs merged yesterday, which open PRs have waited on review for over a day, and which open issues are blocked or haven't moved in 7 days, grouped by person, and post it to #eng-standup.”
- 1
Describe the job
One sentence: which repository, what counts as stuck, and where the standup goes.
- 2
Connect GitHub
The agent gets only tools that search and read pull requests and issues, so it can't change one.
- 3
Choose a channel
One Slack channel for the team, a direct message, or an email to you.
- 4
Watch a dry run
Optional. See today's standup from your real repository before anything is posted.
- 5
Schedule it
Weekdays at 9:00, or @mention it when you want one.
Or start from one of these sentences
“Every weekday at 9, list the open pull requests in our repository waiting over a day for review, oldest first, and post them to #eng-reviews.”
“Every Monday at 9, list what merged last week by person and the issues untouched for 14 days, and post it to #eng.”
“Every weekday at 8:30, send me the pull requests waiting on my review and the issues assigned to me that haven't moved in a week.”
“Every weekday at 9, write the standup for our app and API repositories, one section each, and post it to #eng-standup.”
Async standup vs a meeting and GitHub reminders.
A live standup and GitHub's scheduled reminders each cover part of it. Here is what each one does, and doesn't, do.
| Live standup | GitHub scheduled reminders | Async standup | |
|---|---|---|---|
| What merged yesterday | If people remember | No: open pull requests only | Yes, by person, with links |
| Pull requests waiting on review | If someone mentions it | Yes, with options to skip drafts and approved ones | Yes, over 24 hours, each review read |
| Blocked and stale issues | Sometimes | No: pull requests only | Yes, longest untouched first |
| Grouped by person | One speaker at a time | No | Yes |
| Setup | 15 minutes a day | Team settings in GitHub | One sentence |
Source: GitHub docs: managing scheduled reminders for your team, checked 24 October 2026.
Is it safe to give an AI agent your GitHub?
It searches and reads your repository and writes only one message to Slack or your inbox. Every run is recorded and has a spend ceiling by default.
Every run is recorded
Every step, in order
Every run records the tools it called, with a short preview of each result. Only the person who started a run can open its content.
Every age, from GitHub
Its instructions say to work out each wait from when the pull request was opened, never from list order or a guess.
What each run cost
Tokens and cost are recorded per run and per agent, next to your plan's limits.
A spend ceiling, on by default
Each run has a dollar ceiling unless you remove it. A run stops before it goes over it, and tells you.
It can
- Search and read pull requests and their reviews
- List and read issues in the repository you name
- Post to one Slack channel you name, message you, or email you
It can't
- Comment on, approve or merge a pull request
- Label, assign or close an issue
- Push to a branch
- Email anyone but you
Async standup questions, answered.
What is an async standup?
A standup written down instead of spoken: what got done, what's waiting and what's stuck, read when it suits each person. Async standup writes it from GitHub, so the facts come from the pull requests and issues themselves, not from memory.
Does it ask the team for updates?
No. It doesn't message anyone for answers. It reads the repository and posts one message, so nobody fills in a form and the standup still arrives on days half the team is away.
Does it comment on, approve or merge pull requests?
No. It's given only GitHub tools that search, list and read. It can't comment, review, merge, label or change a branch, and its instructions tell it to decline if asked mid-run.
When is a pull request waiting on review?
When it's open, not a draft, has no approving review and was opened more than 24 hours ago. It works out each age from the time the pull request was opened and reads the reviews of every candidate.
What counts as yesterday on a Monday?
Friday to Sunday. Tuesday to Friday it's the day before, and on a weekend it's Friday. The message states the dates and time zone it used, so nobody wonders what was left out.
Which issues does it flag?
Open issues labelled blocked, and open issues labelled high or urgent priority that haven't been updated in 7 days. It lists the ten longest untouched and counts the rest. If the repository has no blocked label, it says so.
What about bots?
Release and dependency bot pull requests aren't listed under people. They get one line with their count and numbers, so a busy release week doesn't bury the human work.
Do I need to write code?
No. Describe the standup in one sentence. Arclyx drafts the agent, you sign in to GitHub and Slack once, and you can watch a dry run on your real repository before you create it.
Agents that work well with it.
Build your async standup.
One sentence in, a working agent out. Join the beta and we'll set you up.
