Skip to content
Agentmart
Submit a tool

pr-triage

Triage a GitHub PR by reading all review comments, security findings, code-quality comments, and human feedback, then fixing or responding to each thread.

Skill by MagmaMoose

IndexedApache-2.0
Write a review

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/magmamoose-pr-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.

We use your email only for this newsletter. Privacy

About

Triage a GitHub PR by reading all review comments, security findings, code-quality comments, and human feedback, then fixing or responding to each thread.

Use cases: security

No 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. Checked Oct 25, 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/pr-triage

What's inside

Skill name
pr-triage
Description
Triage a GitHub PR by reading all review comments, security findings, code-quality comments, and human feedback, then fixing or responding to each thread.
License
Apache-2.0
Instructions
86 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

Use the shared MagmaMoose PR triage workflow.

Read and follow, once each:
- `shared/pr-triage.md`
- The target repository's `CLAUDE.md`
- The target repository's `AGENTS.md`, unless Codex already loaded it into your context
- The target repository's `CONTRIBUTING.md`
- Relevant `README.md` files

Treat target-repository hard rules as blockers.

Expected input:
- PR number, PR URL, branch name, or enough context to identify the pull request.

## CRITICAL: CI-gate-first triage (READ BEFORE ANY OTHER SECTION)

**The end goal is a green PR that is ready to merge.** Replying "false positive"
and resolving a thread is NOT sufficient if the CI check that flagged it is still
failing. A security gate that blocks merge MUST be addressed with a code change:
either fix the underlying issue or add an inline suppression that the scanner
recognizes. Only then reply and resolve.

This is the most common failure mode — do not fall into the trap of explaining
why a finding is wrong without actually making the CI gate pass.

### Suppression strategy

When a security scanner flags a false positive on a PR that blocks merge:

1. **Find the scanner's suppression syntax.** Common patterns:
   - `# kics-scan disable=<rule-id>` (KICS / Checkov) — **must be at file
     line 1, column 0**; KICS silently ignores inline and indented
     suppression comments. Do NOT insert a `---` YAML document separator
     between the suppression and content — KICS may skip preceding comments.
   - `# kics-ignore` (KICS) — simpler inline fallback, place on the flagged
     line: `- secretKey: FOO  # kics-ignore`
   - `// nosemgrep: <rule-id>` (Semgrep)
   - `DevSkim: ignore <rule-id>` (DevSkim) — in a comment **on the flagged line
     itself**, not the line above. Splitting a long sentence so the suppression
     lands on the right line is normal.
   - `# nosec` (Bandit)
   - Inline `# trunk-ignore(<linter>/<rule>)` (Trunk)
   - Check the target repo's existing suppressions (grep for `disable=`,
     `nosem`, `nosec`, `suppress`) to find the right pattern — and **verify
     the placement** (inline vs file-top vs line-above) by inspecting a
     working example.

2. **Add the suppression using the exact placement the scanner recognizes.**
   If unsure, grep the repo for existing suppressions of the same type and
   copy their placement. A suppression in the wrong position (indented,
   inline when file-top is required) will be silently ignored. **If the
   first attempt fails** (CI still red): combine formats — file-top
   `# kics-scan disable=` plus inline `# kics-ignore` are harmless together.

3. **Commit, push, and verify the CI check turns green** before replying to
   the thread. If it doesn't, the suppression placement or format is wrong
   — try a different combination and push again. Never reply "false positive"
   and resolve while CI is still red.

Never dismiss a security alert through the API — dismissal is a human judgment
call. Always fix or suppress inline.

## Expected behavior

1. **Gather all feedback** — review threads (GraphQL), PR reviews, issue comments,
   GHAS code-scanning alerts, CI check results.
2. **Check CI status first** — if any CI check is failing, that is the top
   priority. A failing security gate means you MUST change code (fix or suppress).
3. **Decide whether each thread requires a code change, a reply, or no action.**
   Threads from CI-bot findings that block merge ALWAYS require a code change
   (fix or inline suppression) — **unless the finding is about a commit that is no
   longer the head.** A gate re-derives its findings from scratch every run, so a run
   that was not cancelled when you pushed finishes minutes later and comments on the
   OLD SHA, still labelled "net-new". Compare the thread's `originalCommit.oid` with
   `gh pr view <PR> --json headRefOid`; if they differ, leave the thread alone
   entirely. `isOutdated` does not catch it, because GitHub still maps the thread onto
   a live line. Judge a gate by its status on the HEAD, never by a thread.
4. **Make safe code changes where appropriate.** Commit and push them.
5. **Verify CI** — after pushing fixes, check that the failing check turns green.
6. **Reply clearly to each addressed thread** with the commit SHA and what was done.
7. **Resolve threads only when the issue has genuinely been handled** AND the
   corresponding CI check passes (if applicable).
8. **Produce a final summary** confirming CI status, mergeability, and anything
   still requiring human attention.

From MagmaMoose/agent-skills, Apache-2.0.

More from MagmaMoose/agent-skills

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Oct 3, 2026 (26 days ago)
Last release
Oct 23, 2026 (6 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from MagmaMoose

Cite this page

pr-triage skill. Agent Mart. https://agentmart.dev/skills/magmamoose-pr-triage (last updated 2026-10-24)