Install
$ agentstack add skill-chemaclass-agnostic-ai-gh-issues ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
GitHub Issues Watcher
Purpose
Process every open GitHub issue that is unassigned or assigned to the current user (@me), one after another, by delegating each to the gh-issue skill. Stop on first hard failure so it can be inspected.
Args
--limit N— process at most N issues this run (default: all).--label foo— only issues carrying labelfoo.--dry-run— list issues that would be processed; do not invokegh-issue.
Strip leading # if user passes #123 style.
Phase 1: Discover
Fetch open issues that are unassigned or assigned to @me, oldest first. GitHub search does not OR these cleanly, so run two queries and merge:
# Unassigned
gh issue list \
--state open \
--search "no:assignee" \
--json number,title,labels,assignees,createdAt \
--limit 200
# Assigned to me
gh issue list \
--state open \
--assignee "@me" \
--json number,title,labels,assignees,createdAt \
--limit 200
Merge:
- Deduplicate by
number. - Keep only issues whose
assigneesarray is empty or contains the current user (gh api user -q .login). - Drop issues assigned to anyone else (defensive).
- Apply
--labelfilter if given. - Apply
--limitif given. - Sort ascending by
createdAt(FIFO).
Print the queue: # [assignee] per line, where [assignee] is unassigned or @me. If empty, exit cleanly.
Phase 2: Worktree Sanity
Before touching any issue:
git status --porcelain
git fetch origin main
git checkout main && git reset --hard origin/main
Abort if worktree dirty. Never auto-stash.
Phase 3: Process Loop
For each issue in the queue:
- Re-check assignment state (someone else may have grabbed it):
``bash gh issue view --json assignees -q '.assignees[].login' me=$(gh api user -q .login) ``
- Empty output → unassigned, proceed.
- Only
$melisted → already mine, proceed (skip self-assign step). - Any other login present → skip this issue.
- Invoke the
gh-issueskill with the issue number. That skill owns:
- self-assign via
gh issue edit --add-assignee @me(no-op if already assigned). - branch from fresh
main(prefix from labels:fix/,feat/,docs/). - TDD implementation.
go test ./...green locally.- regen of derived artifacts (schema / sync / playground) when applicable.
- changelog entry under
## [Unreleased]. - commit with
Related to #. - mandatory final refactor pass over every touched file (separate
ref(...)commit) before opening the PR. - PR opened with
--assignee Chemaclass, matching label,Closes #in body.
- After
gh-issuereturns, wait for CI green on the PR:
``bash gh pr checks --watch `` Fix red checks on the branch before moving on.
- Merge when allowed:
``bash gh pr merge --squash --admin --delete-branch ` Fall back to --auto --squash --delete-branch if --admin` is rejected.
- Sync
mainfor next iteration:
``bash git checkout main && git fetch origin main && git reset --hard origin/main ``
- Continue with next issue.
Stop Conditions
Halt the loop and surface the failure when:
gh-issueerrors out or leaves the worktree dirty.go test ./...fails after implementation.agnostic-ai sync --checkdrifts after spec/adapter edits.- CI stays red after one fix attempt.
- Merge is blocked by branch protection beyond
--adminbypass. --limitreached.- Queue empty.
Do not retry blindly. Report which issue failed and why.
Dry Run
With --dry-run, only execute Phase 1 and print the queue. No assignment, no branching, no commits.
Preconditions
ghauthenticated, can read issues, open and merge PRs.- Worktree clean.
mainexists and tracksorigin/main.gh-issueskill available in this session.
Notes
- Treat GitHub CI as the full quality gate; locally run focused tests during implementation, full
go test ./...once before commit. - Never split bundled changes into multiple PRs unless the issue explicitly demands it.
- One concern per PR (
.claude/rules/go-style.md). Open separate PRs for refactors that the issue did not ask for.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Chemaclass
- Source: Chemaclass/agnostic-ai
- License: MIT
- Homepage: https://chemaclass.github.io/agnostic-ai/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.