github-triage
Use to triage open GitHub issues and PRs in parallel, read-only, one executor per item ("triage issues", "review open PRs").
Skill by UtsavBalar1231
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/utsavbalar1231-github-triage
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 26, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/github-triage
What's inside
- Skill name
github-triage- Description
- Use to triage open GitHub issues and PRs in parallel, read-only, one executor per item ("triage issues", "review open PRs").
- License
- MIT
- Instructions
- 479 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# GitHub triage: issue and PR processor
## Tool restrictions
Read-only GitHub and repository analysis. Do not modify repo files or GitHub state. Local report writes are allowed only under `.omca/scratch/github-triage-{datetime}/` in the project root. MCP tools: `notepad_write`, `evidence_log`, `ast_search`.
Fetch open issue/PR metadata, classify each, spawn 1 background executor per item. Each subagent fetches full details for its item and writes a report under `.omca/scratch/github-triage-{datetime}/` in the project root. Never take destructive action.
## Zero-action policy
This skill reads and reports; a human maintainer decides what happens to every item, and a mutation made during triage takes that decision away. Run only these read-only commands:
- `gh issue list`, `gh issue view`
- `gh pr list`, `gh pr view`
- `gh api --method GET repos/{REPO}/pulls/{number}/files`
- `gh repo view`
Never run a `gh` command that merges, closes, edits, comments on, labels, or reviews an item (`gh pr merge`, `gh pr close`, `gh issue close`, `gh issue edit`, `gh pr edit`, `gh pr review`), and never call `gh api` with `POST`, `PUT`, `PATCH`, or `DELETE`.
## Evidence rule (mandatory)
Every factual claim MUST cite a GitHub permalink containing a commit SHA. Branch permalinks (`blob/main`, `blob/master`, branch names) are forbidden.
Format:
```
CLAIM: "The handler for X is in Y"
EVIDENCE: https://github.com/{REPO}/blob/{COMMIT_SHA}/path/to/file.py#L42
```
Without a commit-SHA permalink, do not make the claim. Write "UNVERIFIED" instead.
Applies to: bug root cause (file + line), "feature exists" (cite where), "fix correct" (cite what), any code reference.
## Architecture
```
1 issue or PR = 1 Agent(subagent_type="oh-my-claudeagent:executor")
```
| Rule | Value |
|------|-------|
| Agent type for ALL items | `oh-my-claudeagent:executor` |
| Execution mode | Background by default, with the result in a `<task-notification>`; a subagent the platform runs in the foreground returns its result directly. Accept either |
| Parallelism | Bounded batches, max 5 concurrent agents |
| Total items per run | No platform cap. Bound the run yourself and record the overflow (see below) |
| Result storage | `issue-{number}.md` or `pr-{number}.md` under `.omca/scratch/github-triage-{datetime}/` in the project root |
| Final collection | Orchestrator reads all reports and writes `SUMMARY.md` |
---
## Phase 1: setup output directory
Set `{OUTDIR}` to the absolute path `<project root>/.omca/scratch/github-triage-<datetime>`, where `<datetime>` is the current date and time as `YYYYMMDD-HHMMSS`. When the session context gives only the date, append a short word of your own so two runs on one day get different directories. OMCA's server writes `.omca/.gitignore` when it starts, so reports stay out of commits.
Run no shell command to create the directory: the Write tool creates it when the first report is written. Tell the user the path now: `Reports will be written to: {OUTDIR}`.
---
## Phase 2: fetch open item metadata only
When no repo argument was given, run `gh repo view --json nameWithOwner -q .nameWithOwner` and use the `owner/name` it prints as `{REPO}` from here on.
```bash
# Issues: all open metadata only. Do not request body/comments here; control characters can break batching.
gh issue list --repo {REPO} --state open --limit 500 --json number,title,state,createdAt,updatedAt,labels,author
# PRs: all open metadata only. Subagents fetch body/comments/reviews/files per item.
gh pr list --repo {REPO} --state open --limit 500 --json number,title,state,createdAt,updatedAt,labels,author,headRefName,baseRefName,isDraft,mergeable,reviewDecision,statusCheckRollup
```
If either returns exactly 500 results, paginate using `--search "created:<LAST_CREATED_AT"` until exhausted.
---
## Phase 3: classify each item
For each item, determine its type from metadata only: title, labels, author, and PR state fields. Do not fetch body/comments during classification.
### Issues
Title prefixes and labels are strong signals. A `?` in a title is weak, because bug reports are often phrased as questions: an item that reports broken or unexpected behavior is `ISSUE_BUG` however it is phrased.
| Type | Signals |
|------|-----------|
| `ISSUE_BUG` | Title contains `[Bug]` or `Bug:`, labels indicate bug, or the title describes broken or unexpected behavior |
| `ISSUE_FEATURE` | Title contains `[Feature]`, `[RFE]`, `[Enhancement]`, `Feature Request`, `Proposal`, or labels indicate enhancement |
| `ISSUE_QUESTION` | Title contains `[Question]` or `[Discussion]`, or labels indicate question/discussion, and no defect is reported |
| `ISSUE_OTHER` | Anything else |
### PRs
| Type | Detection |
|------|-----------|
| `PR_BUGFIX` | Title starts with `fix`, `fix:`, `fix(`, branch contains `fix/` or `bugfix/`, or labels include `bug` |
| `PR_OTHER` | Everything else (feat, refactor, docs, chore, etc.) |
---
## Phase 4: spawn 1 background agent per item
### Run-size bound (decide before spawning anything)
No platform ceiling limits how many subagents a session spawns in total. The only
spawn limit that applies here is the concurrent one: the Agent tool refuses a spawn
with `Concurrent subagent limit reached` once the session's running count reaches
`CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` (default 20), and it starts succeeding again
as soon as running agents finish. Batches of 5 stay under that and under the
tool-call concurrency default of 10, so a batched run never trips it. A session
running with ultracode on is exempt from the concurrent limit entirely.
What actually bounds a run is wall-clock time and the orchestrator's own context:
every finished agent's result lands inline in this conversation. So the total is a
judgment call, not a constant. Pick a bound for the run, from the user's stated scope
if they gave one, otherwise from how large the classified list is against how much
room is left in the conversation. Then, if the classified list is longer than the
bound:
1. Sort by `updatedAt` descending and take the first N. Recently-touched items are
the ones a triage pass is for.From UtsavBalar1231/oh-my-claudeagent, MIT.
More from UtsavBalar1231/oh-my-claudeagent
- 0.604score
consolidate-memory
UtsavBalar1231
Use when a plan finishes or agent memories have piled up.
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
debugging
UtsavBalar1231
Use for runtime bugs: crashes, wrong output, intermittent or silent failures, flaky tests, code that works locally but not in prod.
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
init-deep
UtsavBalar1231
Use to generate or refresh hierarchical AGENTS.md files for a new, unfamiliar or restructured codebase ("init deep", "generate AGENTS.md").
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
remove-ai-slops
UtsavBalar1231
Use to strip AI slop from changed files (double guards, dead fallbacks, narrating comments, premature abstraction) while keeping load-bearing validation and…
SkillAFreshness: A★ 3Claude Code +9 - 0.599score
build-fixer
UtsavBalar1231
Use when a build, type check or dependency install fails, or the user pastes a compiler error or says "fix build".
SkillAFreshness: A★ 3Claude Code +9 - 0.599score
refactor
UtsavBalar1231
Use when restructuring code without changing its behavior, such as extracting a module or migrating off an API.
SkillAFreshness: A★ 3Claude Code +9 - 0.598score
plan
UtsavBalar1231
Create a strategic work plan via a planner-style interview and structured plan drafting.
SkillAFreshness: A★ 3Claude Code +9 - 0.596score
reviewer
UtsavBalar1231
Rigorous plan review via the reviewer.
SkillAFreshness: A★ 3Claude Code +9 - 0.596score
omca-setup
UtsavBalar1231
Use to install, check, repair or uninstall oh-my-claudeagent's setup in ~/.claude/ (dependencies, runtime, status line), or when the user says "setup omca".
SkillAFreshness: A★ 3Claude Code +9 - 0.593score
analyzer
UtsavBalar1231
Pre-planning analysis via the analyzer.
SkillAFreshness: A★ 3Claude Code +9 - 0.589score
handoff
UtsavBalar1231
Write a self-contained context summary that a new session can continue from.
SkillAFreshness: A★ 3Claude Code +9 - 0.586score
start-work
UtsavBalar1231
Start a work session from a planner-generated plan.
SkillAFreshness: A★ 3Claude Code +9
Signals
- Stars
- 3
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 22, 2026 (6 days ago)
- Last release
- Oct 20, 2026 (8 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from UtsavBalar1231
- 0.604score
consolidate-memory
UtsavBalar1231
Use when a plan finishes or agent memories have piled up.
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
debugging
UtsavBalar1231
Use for runtime bugs: crashes, wrong output, intermittent or silent failures, flaky tests, code that works locally but not in prod.
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
init-deep
UtsavBalar1231
Use to generate or refresh hierarchical AGENTS.md files for a new, unfamiliar or restructured codebase ("init deep", "generate AGENTS.md").
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
remove-ai-slops
UtsavBalar1231
Use to strip AI slop from changed files (double guards, dead fallbacks, narrating comments, premature abstraction) while keeping load-bearing validation and…
SkillAFreshness: A★ 3Claude Code +9 - 0.599score
build-fixer
UtsavBalar1231
Use when a build, type check or dependency install fails, or the user pastes a compiler error or says "fix build".
SkillAFreshness: A★ 3Claude Code +9 - 0.599score
refactor
UtsavBalar1231
Use when restructuring code without changing its behavior, such as extracting a module or migrating off an API.
SkillAFreshness: A★ 3Claude Code +9
Cite this page
github-triage skill. Agent Mart. https://agentmart.dev/skills/utsavbalar1231-github-triage (last updated 2026-10-24)