Skip to content

Add maintainer loop (orchestrator + triage skills)#1

Merged
adityash8 merged 1 commit into
mainfrom
chore/maintainer-loop
Jun 16, 2026
Merged

Add maintainer loop (orchestrator + triage skills)#1
adityash8 merged 1 commit into
mainfrom
chore/maintainer-loop

Conversation

@adityash8

Copy link
Copy Markdown
Owner

Adds the maintainer-loop tooling copied from gate-slip:

  • .claude/skills/maintainer-orchestrator/
  • .claude/skills/github-project-triage/
  • docs/MAINTAINER_LOOP.md

Generated by Claude Code

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces two Claude Code skills (github-project-triage and maintainer-orchestrator) along with documentation (docs/MAINTAINER_LOOP.md) to establish an automated maintainer loop. The reviewer feedback correctly identifies several out-of-context references copied from another repository (such as the ITSEZMONEY organization and unrelated technologies like Drizzle) that should be updated to match the current repository's environment (adityash8 and Supabase). Additionally, a referenced script (scripts/fanout-maintainer-skills.sh) is missing and needs to be added or removed from the documentation.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment on lines +20 to +21
- Only broaden to multiple repos / the whole `ITSEZMONEY` org when the prompt
explicitly says `all`, `broad`, `org-wide`, or `everything`.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The reference to the ITSEZMONEY organization is copied from the gate-slip repository. It should be updated to the current organization/user (adityash8) to ensure the AI agent scopes its triage correctly.

Suggested change
- Only broaden to multiple repos / the whole `ITSEZMONEY` org when the prompt
explicitly says `all`, `broad`, `org-wide`, or `everything`.
- Only broaden to multiple repos / the whole `adityash8` org when the prompt
explicitly says `all`, `broad`, `org-wide`, or `everything`.

Comment on lines +55 to +61
## Risk heuristics (ITSEZMONEY / gate-slip context)

Treat as **high risk** anything touching: auth/Passport/OAuth, payments/Stripe,
`certificates/` or any key/secret, DB schema or migrations (`shared/schema.ts`),
the parsing pipeline's output shape (`flightDataSchema`, the dual-AI parsers),
or CI/release/`.env` config. Treat docs, copy, tests, lockfile/dep bumps, and
formatting as **low risk**.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The risk heuristics reference technologies and files from the gate-slip repository (such as auth/Passport/OAuth, shared/schema.ts, and flightDataSchema) which do not exist in this repository. Since exit-zero uses Supabase and Stripe, the heuristics should be updated to reflect the actual tech stack so the AI agent can accurately assess risk.

Suggested change
## Risk heuristics (ITSEZMONEY / gate-slip context)
Treat as **high risk** anything touching: auth/Passport/OAuth, payments/Stripe,
`certificates/` or any key/secret, DB schema or migrations (`shared/schema.ts`),
the parsing pipeline's output shape (`flightDataSchema`, the dual-AI parsers),
or CI/release/`.env` config. Treat docs, copy, tests, lockfile/dep bumps, and
formatting as **low risk**.
## Risk heuristics (exit-zero context)
Treat as **high risk** anything touching: auth/Supabase, payments/Stripe,
`certificates/` or any key/secret, DB schema or migrations,
or CI/release/`.env` config. Treat docs, copy, tests, lockfile/dep bumps, and
formatting as **low risk**.

---
name: maintainer-orchestrator
description: >-
Control-plane loop for maintaining ITSEZMONEY repositories. Use when asked to

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The reference to the ITSEZMONEY organization should be updated to adityash8 to match the current repository's context.

Suggested change
Control-plane loop for maintaining ITSEZMONEY repositories. Use when asked to
Control-plane loop for maintaining adityash8 repositories. Use when asked to

Comment on lines +70 to +72
- It touches **none** of: auth, payments/Stripe, `certificates/` or any
key/secret, DB schema or migrations (`shared/schema.ts`, drizzle), CI/release
config, or anything in `.env*`.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The list of protected files and technologies includes shared/schema.ts and drizzle, which are not used in the exit-zero repository. Update this to reflect the actual database and authentication stack (Supabase).

Suggested change
- It touches **none** of: auth, payments/Stripe, `certificates/` or any
key/secret, DB schema or migrations (`shared/schema.ts`, drizzle), CI/release
config, or anything in `.env*`.
- It touches **none** of: auth/Supabase, payments/Stripe, `certificates/` or any
key/secret, DB schema or migrations, CI/release
config, or anything in `.env*`.

Comment thread docs/MAINTAINER_LOOP.md
@@ -0,0 +1,113 @@
# Maintainer Loop (cloud)

A self-running maintenance loop for ITSEZMONEY repos: wake on a trigger → triage

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Update the organization reference from ITSEZMONEY to adityash8.

Suggested change
A self-running maintenance loop for ITSEZMONEY repos: wake on a trigger → triage
A self-running maintenance loop for adityash8 repos: wake on a trigger → triage

Comment thread docs/MAINTAINER_LOOP.md
Comment on lines +43 to +45
1. **Commit the skills.** They must live in the repo(s) the routine clones —
that's what this PR does. The fan-out script (below) copies them to every
ITSEZMONEY repo.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Update the organization reference from ITSEZMONEY to adityash8.

Suggested change
1. **Commit the skills.** They must live in the repo(s) the routine clones —
that's what this PR does. The fan-out script (below) copies them to every
ITSEZMONEY repo.
1. **Commit the skills.** They must live in the repo(s) the routine clones —
that's what this PR does. The fan-out script (below) copies them to every
adityash8 repo.

Comment thread docs/MAINTAINER_LOOP.md Outdated
Comment on lines +89 to +95
## Fan out to all repos

```bash
# Copy the skills + this runbook into every ITSEZMONEY repo and open a PR each.
scripts/fanout-maintainer-skills.sh # all org repos (needs gh + perms)
scripts/fanout-maintainer-skills.sh repo-a repo-b # just these
```

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The documentation references scripts/fanout-maintainer-skills.sh, but this script is not included in the pull request and does not exist in the repository. Please add the script to the repository or remove this section if it is not applicable.

@adityash8
adityash8 marked this pull request as ready for review June 16, 2026 05:52

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ad0682ad23

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/MAINTAINER_LOOP.md Outdated
Comment on lines +93 to +94
scripts/fanout-maintainer-skills.sh # all org repos (needs gh + perms)
scripts/fanout-maintainer-skills.sh repo-a repo-b # just these

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Add the documented fan-out script

This setup step points users at scripts/fanout-maintainer-skills.sh, but that file is not present in the repo (the only file under scripts/ is scripts/setup.sh). Anyone following the documented "Fan out to all repos" workflow will hit a missing-file error before the skills can be copied or PRs opened, so either add the script in this change or remove/replace these commands.

Useful? React with 👍 / 👎.

Comment on lines +20 to +21
- Only broaden to multiple repos / the whole `ITSEZMONEY` org when the prompt
explicitly says `all`, `broad`, `org-wide`, or `everything`.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Remove the hard-coded source organization

When the routine is invoked with all/org-wide, this scope rule directs triage at the hard-coded ITSEZMONEY org even though this repository's metadata points to github.com/adityash8/exit-zero. That makes an org-wide ExitZero maintenance run inspect and potentially mutate the wrong organization while missing the intended owner/repo set; derive the org from the selected repositories instead of the copied source repo.

Useful? React with 👍 / 👎.

(see *Autonomy policy* below). Stop touching an item the moment it stops
meeting the bar and reclassify it as needs-owner.
5. **Escalate needs-owner items.** Don't guess at product/direction/secret
decisions. Label `needs-owner`, leave a one-paragraph comment stating the

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Ensure the needs-owner label before applying it

When a needs-owner item is encountered in a repo that has not already created this custom label, this step can fail or leave the escalation unlabeled: the loop only ensures maintainer-ledger exists before applying it, and the repo does not include any label setup for needs-owner. Since this runbook is meant to bootstrap new repos, create/ensure the label before using it so owner-blocked items stay discoverable.

Useful? React with 👍 / 👎.

Comment on lines +31 to +34
2. **Triage.** Invoke the `github-project-triage` skill to build item cards for
every open issue and PR (URL, what/why, author trust, fit, risk, proof/test
state, blockers, next action) and sort them into three buckets:
**autonomous · needs-owner · defer/close**.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Exclude the ledger issue from triage

After the first run creates the open ledger issue, this instruction still sends every open issue through triage on the next run, with no exception for the maintainer-ledger item. That means the durable ledger itself can be classified as backlog work and then deferred or closed by the later defer/close step, removing the state the loop relies on; filter the ledger issue out of the queue before building item cards.

Useful? React with 👍 / 👎.

@adityash8
adityash8 force-pushed the chore/maintainer-loop branch from ad0682a to 91e69ef Compare June 16, 2026 06:09
@adityash8
adityash8 force-pushed the chore/maintainer-loop branch from 91e69ef to d6c4e98 Compare June 16, 2026 06:14
@adityash8
adityash8 merged commit 43c9e8c into main Jun 16, 2026
1 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant