What goes wrong

What CoIsland watches

One monitor per question, in each tool's own language, reporting to the notch.

How engineering teams use CoIsland: one day in the notch

Your GitHub email, a Slack channel of bot posts and a Jira board each hold a part of what needs you today. CoIsland runs one monitor per question on your Mac and turns what changed into an alert in the notch: the monitor’s ring turns yellow, a sound plays, and its card lists the new pull request, run or issue. Here is one day of it, with the search or JQL behind each monitor.

9:00, the review queue

A Review requests monitor runs a GitHub search limited to pull requests (CoIsland adds is:pr for you). Two searches cover most teams: what you were asked to review yourself, and what your team was asked to review. draft:false leaves out drafts, which are not ready for review yet.

user-review-requested:@me is:open draft:false
team-review-requested:acme/platform is:open

The first check is a baseline and raises nothing, so the requests already open stay quiet. After that, each new request alerts once; if the author asks you again after your review, it alerts again. Keep the search narrow: only a result of 100 matches or fewer is compared.

Every monitor, GitHub and Jira ones included, is a small file in ~/.coisland/watches, written by the editor or by hand:

-- name: Reviews waiting on me
-- kind: github.review-requests
-- connector: acme_github
-- every: 10m
-- alert: new-rows
-- sound: Glass

user-review-requested:@me is:open draft:false
New GitHub monitor: issues and pull requests, review requests, failed workflow runs, new releases and security alerts, then eight example searches.
The five GitHub monitor kinds, then examples to start from, among them Reviews waiting on me and Reviews for my team.

10:40, main goes red

GitHub notifies you when a run you triggered completes. A teammate’s merge that breaks main, or a deploy that fails, reaches whoever looks next. A Failed workflow runs monitor watches the repositories you name, whoever started the run:

repo:acme/api repo:acme/web branch:main
repo:acme/api workflow:deploy.yml

The first line alerts on any failed run on main in two repositories; the second on the deploy workflow, on any branch. event:, actor: and status: narrow it further (status: is failure unless you pick another, such as timed_out). It reads runs of the last 7 days, and a re-run that fails again alerts again. These key:value filters are CoIsland’s own, turned into GitHub API calls; only review requests and issues are GitHub searches.

New GitHub failed workflow runs monitor: repositories, status, branch, event, workflow and actor fields that build the query, Edit as Text and Test, then the alert rule and the sound.
Failed workflow runs: the repository, status, branch, event, workflow and actor fields write the query; Test runs it once without saving or alerting.

13:00, a critical Dependabot alert

A Security alerts monitor lists the open alerts of repositories or a whole organization, filtered by severity, so a critical one reaches you at the next check:

org:acme severity:critical,high
repo:acme/api tool:dependabot,code-scanning,secret-scanning

Without tool: it asks for Dependabot and code scanning. Secret scanning is asked for only by name, because GitHub lists those alerts only to administrators, and the secret itself is never fetched. For org:, GitHub requires an organization owner or security manager. A fixed or dismissed alert leaves the result.

New GitHub security alerts monitor: repositories or organizations, Dependabot, code scanning and secret scanning, and the severities to watch, then the alert rule and the sound.
Security alerts: repositories or organizations, the three tools and the severities. Leave every severity unchecked to watch them all.

15:30, a dependency ships a release

A New releases monitor tells you when a project you depend on publishes a release, so the upgrade starts on your schedule:

repo:apple/swift-nio -is:prerelease

It reads releases published in the last 30 days. Drafts never count, and -is:prerelease leaves pre-releases out.

16:00, Jira bugs assigned to you, and a sprint that grows

The Jira connector works with Jira Cloud (email and API token) and Data Center (personal access token). An Issues monitor alerts when an issue starts matching your JQL, so a bug assigned to you after lunch reaches you at the next check, not at tomorrow’s stand-up:

assignee = currentUser() AND issuetype = Bug AND statusCategory != Done

A Sprint scope monitor alerts when an issue joins the active sprint:

project = APP AND sprint in openSprints()

Prefer one alert when the sprint passes a size? Set the rule to count > 40: it fires once, when it becomes true.

New Jira monitor: issues, status changes, comments, SLAs and sprint scope, then six examples, each with its JQL query.
The five Jira monitor kinds with example JQL. Assigned to me and Added to the active sprint start the two monitors above.

Friday, see what fires most

Dashboards show the last 24 hours, 7 or 30 days: alerts raised, actionability (the share someone acknowledged or resolved), median time to acknowledge and resolve, and the noisiest monitors. One that fires all day and is never acknowledged needs a narrower search.

Hand a failed GitHub Actions run to Claude Code or Codex

On the alert, click Claude, Codex or Cortex. CoIsland opens that agent’s own CLI in a terminal under the alert, signed in with your account. Its first message is the whole alert: the monitor and its rule, the query, the run as GitHub has it (repository, workflow, branch, commit, event, attempt, link) and the alert’s activity. The agent is told to treat it as data, sum it up and ask what you want.

It starts in the mode that asks before acting, with these flags:

claude --permission-mode manual
codex --sandbox read-only --ask-for-approval on-request

Ask it to read the failed steps, for example with GitHub CLI:

gh run view <run-id> --log-failed

That command reaches GitHub, so both agents ask before running it. Then it explains what broke and proposes a fix. It works in CoIsland’s own folder, ~/.coisland/agents: point it at your clone if you want the patch written, and every edit waits for your yes.

Claude Code's terminal under a CoIsland alert: it proposes to verify the order with a read-only query, look into a timestamp gap, adjust the monitor or do nothing, and asks which one.
Claude Code under an alert, in Manual mode: it sums up, proposes four next steps and waits for your number. This one is a Snowflake alert; a failed run gets the same treatment.

The Agents section keeps each session to resume, stop or archive. More on agents.

Keep GitHub notifications and Slack, add the notch

CoIsland does not replace what you already have:

Keep them, and put the few things you act on in the notch. CoIsland calls GitHub’s and Jira’s APIs from your Mac, with no CoIsland server or account. Next: Connect GitHub, the GitHub connector, the Actions failure guide, the GitHub notifications comparison, and data teams or every use case.

Then an agent takes it

Hand a failed run or a security alert to Claude Code, Codex or Cortex Code. The agent gets the whole alert, sums it up and asks before it changes anything.

Questions

How do I get GitHub Actions failure notifications on my Mac?

Add a Failed workflow runs monitor with the repositories to watch, and optionally a branch such as main or a workflow file such as deploy.yml. It alerts on every failed run, whoever started it, and again when a re-run fails. GitHub's own notifications cover the runs you triggered.

Can CoIsland remind me about pull requests waiting for my review?

Yes. A Review requests monitor runs a GitHub search such as user-review-requested:@me is:open draft:false and alerts once per new request. When the author asks you again after your review, the request comes back and alerts again.

Does CoIsland need write access to our repositories?

No. The GitHub connector uses a read-only fine-grained token with Issues, Pull requests, Actions and Contents, plus the alert permissions you need, such as Dependabot alerts and Code scanning alerts. The token stays in the macOS Keychain.

Can I watch Dependabot alerts for a whole GitHub organization?

Yes, with org:acme in a Security alerts monitor, filtered by severity. GitHub lets organization owners and security managers list an organization's alerts; if you are neither, list the repositories instead.

How do I see the Jira bugs assigned to me without opening Jira?

Add a Jira Issues monitor with assignee = currentUser() AND issuetype = Bug AND statusCategory != Done. Each bug alerts when it starts matching. It works with Jira Cloud (email and API token) and Data Center (personal access token).

Should we turn off GitHub notifications or the GitHub app in Slack?

No. Keep them for the full record and the team channel. CoIsland only alerts on what your monitors ask, and talks to each tool's API directly from your Mac, with no CoIsland server or account.

Does it work with GitHub Enterprise?

Yes. The GitHub connector takes github.com, a GitHub Enterprise Server host (its API at /api/v3) or a GHE.com address.

Can an AI agent fix a failed build on its own?

No. Claude Code starts in Manual mode and Codex in a read-only sandbox that asks on request, so every edit waits for your yes. The agent explains the failure and proposes a fix; you decide what happens.

Other teams

Put your work stack in the notch

Regular price: $59.99 Early bird price: $19.99 once, for 2 Macs. Native for Apple Silicon, macOS 14 and later.

Early bird price until October 25