When a pull request is opened by someone with no prior merged PR in the repository, posts a welcome that is actually useful: the specific checks that will run and what they mean, the conventions their diff already violates, where the relevant tests live, and expected review timing. Suggests a maintainer familiar with the area touched, using file ownership rather than round-robin.
- Identifier
first-time-contributor-welcome- Version
- 1.0.0
- Steps
- 3
- Triggers
- 1
- welcome
- first-time
- contributor
- onboarding
- pull-request
- community
When it runs
pull_request.opened- Settle delay
- 15s after the event
Only when all hold
- pullRequest.isDraft not equals true
- actor.username not in dependabot, dependabot[bot], renovate, renovate[bot], github-actions, github-actions[bot]
- actor.username not contains [bot]
The pipeline
The graph below is the one the workflow opens with in the builder — same steps, same layout, drawn on the same canvas. The run playing through it is a simulation; the branches and conditions are real.
- 01PR Opened
triggerThe event that starts the run.
- 02Draft Welcome Message
agent.runOne agent works the task with its toolkit.
- 03Publish Welcome Comment
report.publishPosts or updates a deduplicated report comment.
The agent
First-Time Contributor Welcome Writer
- Base type
- Tech Writer
- Temperature
- 0.35
- Max iterations
- 25
- Tools
- 6
Git provider · 3
list_pull_requestsList Pull Requests · readget_pull_request_diffGet Pull Request Diff · readcreate_issue_commentCreate Issue Comment · write
Filesystem · 1
read_fileRead File · read
Code search · 1
code_searchCode Search · read
Status · 1
update_statusUpdate Status · write
Related playbooks
Interactive Mention Response
@mention the bot in any PR, issue, or ticket thread and get a repository-aware answer in place.
Auth Surface Diff
Compares the authentication and authorization surface of every route before and after a PR, flagging any route that gained public reachability.
Backport to Release Branch
Label a merged PR `backport/<version>` and the playbook opens a matching backport PR.