WorkerKit

AI workers for GitHub

Ready-made AI workers for GitHub: morning repository briefings, pull requests that have gone quiet, and release notes drafted from what actually merged.

What is an AI worker for GitHub?

An AI worker for GitHub is an AI agent scoped to one engineering-visibility job, such as briefing a team on what moved across its repositories or finding the pull requests nobody has reviewed. It reads through your connected GitHub account, limited to the repositories you scope it to, and writing back is a separate permission.

What these workers do

Brief the team each morning

Reports what merged, what opened, and what is now blocked across the repositories you follow, gathered before anyone starts asking.

Chase pull requests that went quiet

Finds review requests that have sat untouched and names them, since a stalled review is usually just an unnoticed one.

Draft release notes from merged work

Assembles what actually shipped into readable notes grouped by area, with references kept so each line can be traced.

Flag issues with no owner

Surfaces open issues nobody has picked up, so triage decisions get made rather than deferred indefinitely.

How an AI worker runs in GitHub

The daily briefing nobody has time to assemble

Say plainly what was not checked

Reading code is a separate decision

GitHub questions, answered.

Can an AI worker read our source code?

Only if you grant that access, and many GitHub workers do not have it. Reporting on pull requests, issues, and releases works from repository activity, so a briefing worker can be useful with the contents of your code entirely out of scope.

Will it merge or close things?

Only with write permission, which is normally withheld. The standard setup is read only: the worker reports and chases, while decisions about merging, closing, and releasing stay with your team. A briefing worker needs nothing more than read access to be useful every single morning.

Does it report on our CI runs?

No. This connection covers repository activity such as pull requests, issues, and releases rather than build and workflow runs, so a briefing will not tell you whether the pipeline is green. Well written kits say so instead of implying coverage they do not have.

Which repositories can it see?

Only those you scope it to, within what your connected account can already access. A private repository outside that scope is unreachable, and one your account cannot see is unreachable regardless of scope, so a worker briefing on two repositories gains no view of the other forty in the organisation.

What AI workers can do in GitHub

The tools a worker can be granted in GitHub once you connect it. A kit grants only the ones its job needs, and you can narrow them further on the worker.

List GitHub Accounts

List only the connected GitHub accounts selected for this worker. Use connectionId for account-scoped repository lists and searches.

List GitHub Repositories

List accessible repositories, filtered to the orgs/repos GitHub policy allows. Returns repo metadata (name, owner, default branch, visibility). Results are scoped to one selected account. Use has_more to request the next page, even when filtering leaves this page short or empty.

Get GitHub Repository

Get a single repository's metadata: description, default branch, visibility, counts, topics.

List GitHub Branches

List a repository's branches and the commit SHA each points at.

List GitHub Commits

List recent commits on a repository's default branch — author, message, SHA, date. Accepts a since/until ISO-8601 window for a dated delta.

List GitHub Releases

List a repository's releases — tag, name, notes, published date, assets.

List GitHub Workflows

List a repository's GitHub Actions workflows — name, file path, state, and id (use the id or file name as workflowId for github_workflow_run).

List GitHub Pull Requests

List a repository's pull requests — number, title, author, state, base/head branches. Returns open PRs only unless 'state' says otherwise.

Get GitHub Pull Request

Get one pull request's details: title, body, state, mergeability, base/head, author.

List GitHub PR Files

List the files changed in a pull request with per-file additions, deletions, and status.

List GitHub PR Comments

List the issue-level comments on a pull request — author, body, timestamps.

List GitHub Issues

List a repository's issues — number, title, author, state, labels, assignees. Returns open issues only unless 'state' says otherwise.

Get GitHub Issue

Get one issue's details: title, body, state, labels, assignees, author.

List GitHub Issue Comments

List the comments on an issue — author, body, timestamps.

Get GitHub File Content

Read a UTF-8 file as text (up to 1 MiB), with its blob sha for github_content_put. Pages contain up to 8,000 characters: keep calling with contentOffset=nextOffset until nextOffset is null. Pin ref to a commit when possible; if sha changes between pages, restart. contentUnavailable means unread, not empty. Use github_tree_list for folders.

Get GitHub Commit

Get one commit with the files it changed and each file's patch (diff): author, date, message, stats, files[{filename, status, additions, deletions, patch}]. The way to see WHAT a commit changed — github_commit_list shows only messages. Patches are bounded (6k chars per file, 24k in total; the rest is marked patch_omitted — read those files with github_content_get). Files outside this worker's path rules are withheld and counted in files_withheld.

Compare GitHub Refs

Everything that changed between two points in one call: the commits on head since it diverged from base (sha, date, author, message) and every file changed across them with its patch (diff). Use it for 'what changed this week' — compare the SHA a week ago (from github_commit_list with a since window) to the branch — instead of reading whole files one by one. Patches are bounded (6k chars per file, 24k in total; the rest is marked patch_omitted), commits stop at 50 (commits_truncated says so), and files outside this worker's path rules are withheld and counted in files_withheld.

List GitHub Repository Files

List every file and folder in a repository (recursive) with its type and size — the way to find out what exists under a folder without reading anything. Narrow it with a 'path' folder prefix (e.g. 'notes/daily'). At most 600 entries are listed (entries_truncated says so — narrow the prefix); entries outside this worker's path rules are withheld and counted in entries_withheld.

Search GitHub Code

Search code with GitHub's code-search syntax. Results are filtered to accessible repos; total_count reflects the post-filter set. Results are scoped to one selected account. Use has_more to request the next page, even when filtering leaves this page short or empty.

Search GitHub Issues & PRs

Search issues and pull requests with GitHub's issue-search syntax. Results are filtered to accessible repos. Results are scoped to one selected account. Use has_more to request the next page, even when filtering leaves this page short or empty.

Create GitHub Pull Request

Open a pull request from head into base. The base branch is subject to GitHub branch rules. Not idempotent.

Update GitHub Pull Request

Update a pull request's title and/or body. Provide at least one of title or body.

Comment on GitHub Pull Request

Add an issue-level comment to a pull request. Not idempotent — each call posts another comment.

Review GitHub Pull Request

Submit a pull request review. event must be APPROVE, REQUEST_CHANGES, or COMMENT; body is required for REQUEST_CHANGES and COMMENT.

Create GitHub Issue

Open a new issue. Not idempotent — each call creates another issue.

Update GitHub Issue

Update an issue's title and/or body. Provide at least one of title or body.

Comment on GitHub Issue

Add a comment to an issue. Not idempotent — each call posts another comment.

Create GitHub Branch

Create a new branch pointing at an existing commit. Get a source sha from github_branch_list or github_commit_list.

Create or Update GitHub File

Create or update a file's content with a commit. Pass raw UTF-8 content (WorkerKit base64-encodes it). To update an existing file, pass its current blob sha (from github_content_get); omit sha to create a new file. The target path is subject to GitHub path rules.

Run GitHub Workflow

Trigger a workflow_dispatch run of a GitHub Actions workflow on a given ref. The ref is subject to GitHub branch rules.

Merge GitHub Pull Request

Merge a pull request. WorkerKit gates on the PR's real base branch (you cannot dodge a branch rule by declaring a fake base). Requires the pr_merge permission, which the safe write preset excludes.

Browse GitHub kits

All apps