Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Ln 911 Github Triager

ASecurity

Scan open GitHub issues, PRs, discussions. Produce prioritized triage report with engagement metrics and recommended actions

3 stars
0 votes
0 copies
1 views
Added 9/7/2026
researchgobashnodegitapisecurity

Works with

api

Security Analysis

A100/100

Scanned 9/7/2026

Install to Claude Code

$npx -y skills add levalencia/agent-god-mode --skill ln-911-github-triager --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ln 911 Github Triager?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Ln 911 Github Triager
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/levalencia-ln-911-github-triager/badge)](https://www.skillsdirectory.com/skills/levalencia-ln-911-github-triager)

More formats (shields.io, HTML) on the badges page.

Download with Pro
Files
SKILL.md
---
name: ln-911-github-triager
description: "Scan open GitHub issues, PRs, discussions. Produce prioritized triage report with engagement metrics and recommended actions"
license: MIT
allowed-tools: Bash, Read
---

> **Paths:** File paths (`shared/`, `references/`, `../ln-*`) are relative to skills repo root. If not found at CWD, locate this SKILL.md directory and go up one level for repo root.

# ln-911-github-triager

**Type:** L3 Worker (standalone)
**Category:** 9XX Community Engagement
**Caller:** ln-910-community-engagement (or standalone)

Scans all open issues, PRs, and discussions in the current repository. Categorizes by urgency. Produces an actionable triage report.

---

## Arguments

`$ARGUMENTS` controls scope and staleness threshold:

| Token | Effect | Default |
|-------|--------|---------|
| `issues` | Scan issues only | All three |
| `prs` | Scan PRs only | All three |
| `discussions` | Scan discussions only | All three |
| Number (e.g., `14`) | Staleness threshold in days | 7 |
| `issues 30` | Combine: scope + threshold | -- |
| `summary` | Compact output for coordinator: skip Phase 4 preview, return red flags + priority counts + metrics only | Full interactive report |

Parse `$ARGUMENTS`: extract scope tokens (`issues`, `prs`, `discussions`), numeric threshold, and `summary` flag. If no scope tokens, scan all three. If no number, default to 7 days.

---

## Phase 0: GitHub Discovery

**MANDATORY READ:** Load `../ln-910-community-engagement/references/github_discovery.md`

Execute the discovery protocol. Extract:
- `{owner}/{repo}` for `--repo` flag and URLs
- `maintainer` login (authenticated user) for maintainer detection
- Verify `gh` is authenticated

Load strategy: check `docs/community_engagement_strategy.md` in target project, fallback to `../ln-910-community-engagement/references/community_strategy_template.md`. Extract Section 5 (Engagement Metrics) for targets and red flags.

---

## Phase 1: Fetch Data

Run these `gh` commands based on scope. Execute all applicable fetches in parallel.

### 1a. Issues

```bash
gh issue list --repo {owner}/{repo} --state open --limit 100 --json number,title,labels,createdAt,updatedAt,author,comments,assignees
```

### 1b. Pull Requests

```bash
gh pr list --repo {owner}/{repo} --state open --limit 100 --json number,title,labels,createdAt,updatedAt,author,reviewDecision,reviewRequests,isDraft,comments,assignees
```

### 1c. Discussions (GraphQL)

```bash
gh api graphql -f query='
  query($owner: String!, $name: String!) {
    repository(owner: $owner, name: $name) {
      discussions(first: 100, states: OPEN) {
        nodes {
          number
          title
          category { name }
          createdAt
          updatedAt
          author { login }
          answerChosenAt
          labels(first: 5) { nodes { name } }
          comments(first: 20) {
            totalCount
            nodes {
              author { login }
              createdAt
            }
          }
        }
      }
    }
  }
' -f owner="{owner}" -f name="{repo}"
```

**Gate:** If all sources return zero items, report "No open items. Triage complete." and stop.

---

## Phase 2: Classify Each Item

For every fetched item, evaluate these conditions. An item can match multiple -- use highest priority.

### Priority Matrix

| Priority | Condition | Applies to |
|----------|-----------|------------|
| **P0 Critical** | Label contains `bug` AND no assignee | Issues |
| **P0 Critical** | Label contains `breaking` | Issues, PRs |
| **P1 Urgent** | Author != maintainer AND zero comments from maintainer | Issues, Discussions |
| **P1 Urgent** | Q&A discussion with `answerChosenAt` is null AND author != maintainer | Discussions |
| **P1 Urgent** | `reviewDecision` is null or `REVIEW_REQUIRED` | PRs |
| **P2 Stale** | No activity for > threshold days (`updatedAt` older than threshold) | All |
| **P3 Monitor** | PR marked as draft (`isDraft` is true) | PRs |
| **P3 Monitor** | Author == maintainer AND 0 community replies | Discussions |
| **P4 Info** | Items not matching any above condition | All |

### Maintainer Detection

The maintainer login comes from Phase 0 discovery (`viewer.login`). An item "has maintainer reply" if any comment's `author.login` equals the maintainer login.

For issues: check `comments` array authors. For discussions: check `comments.nodes[].author.login`.

### Staleness Calculation

Days since last activity: `(today - updatedAt)` in days. Compare against threshold (default 7, or from `$ARGUMENTS`).

### Label Urgency Signals

Labels that elevate priority: `bug`, `breaking`, `security`, `urgent`.

Labels that signal engagement opportunity (not urgency): `help wanted`, `good first issue`.

---

## Phase 3: Engagement Metrics

Calculate aggregate metrics per strategy Section 5:

| Metric | Calculation | Target | Red Flag |
|--------|-------------|--------|----------|
| Time to First Response | Avg(first maintainer comment - item created) for items WITH reply | <24h | >72h |
| Unanswered discussions | Count where author != maintainer AND no maintainer comment AND age > threshold | 0 | Any >7 days |
| Community-to-maintainer ratio | Non-maintainer comments / maintainer comments across all items | >0.3 | 0 |
| New discussions this month | Discussions created in last 30 days | >2 | 0 |
| Zero-engagement items | Items with 0 comments total | -- | -- |

---

## Phase 4: Preview Table

If `$ARGUMENTS` contains `summary` → skip this phase entirely. Output compact summary (red flags, priority counts per category, health metrics table) and stop. Do NOT compose the full Phase 5 report.

**Otherwise (standalone mode):** present a compact summary table of ALL classified items for user review. **Wait for user approval before proceeding to Phase 5.**

```
### Triage Preview -- {total count} items found

| # | Type | Title | Priority | Age | Key Signal |
|---|------|-------|----------|-----|------------|
| {number} | {Issue/PR/Discussion} | {title (truncated to 50 chars)} | {P0/P1/P2/P3/P4} | {days}d | {short reason} |
```

Sort by priority (P0 first), then by age (oldest first) within each priority group.

After presenting, ask the user:
- Confirm priorities look correct
- Whether to exclude any items from the full report
- Whether to adjust the staleness threshold

Proceed to Phase 5 only after user confirms.

---

## Phase 5: Compose Report

Present the full triage report in this format:

```
## GitHub Triage Report -- {YYYY-MM-DD}

**Scope:** {issues/PRs/discussions or "all"} | **Threshold:** {N} days | **Open items:** {total count}
```

### Red Flag Alerts

If any red flags from Phase 3 are triggered, add BEFORE Health Metrics:

```
> [!WARNING]
> **Red flags detected:**
> - {description, e.g., "2 unanswered discussions older than 7 days"}
```

### Health Metrics Table

```
| Metric | Value | Target | Status |
|--------|-------|--------|--------|
| Unanswered (>{N}d) | {count} | 0 | {OK / RED FLAG} |
| Avg first response | {hours}h | <24h | {OK / RED FLAG} |
| Community:maintainer ratio | {ratio} | >0.3 | {OK / RED FLAG} |
| New discussions (30d) | {count} | >2 | {OK / RED FLAG} |
| Zero-engagement items | {count} | -- | {count} |
```

### Priority Tables

For each priority P0..P3, show header with count. If count is 0, show header `(0)` and skip table.

**P0 Critical:**

| # | Type | Title | Labels | Age | Action Needed |
|---|------|-------|--------|-----|---------------|

**P1 Urgent:**

| # | Type | Title | Author | Age | Why |
|---|------|-------|--------|-----|-----|

**P2 Stale:**

| # | Type | Title | Last Activity | Days Stale |
|---|------|-------|---------------|------------|

**P3 Monitor:**

| # | Type | Title | Note |
|---|------|-------|------|

**P4 Info:** Do NOT list individually -- only include in total count.

### Recommended Actions

```
### Recommended Actions

1. **Respond:** {items needing maintainer reply, with GitHub URLs}
2. **Review:** {PRs needing review, with GitHub URLs}
3. **Close or bump:** {stale items -- suggest close if resolved, bump if relevant}
4. **Engage:** {items that could benefit from community call-to-action}
```

### Formatting Rules

- Sort items within each priority group by age (oldest first)
- URL format: `https://github.com/{owner}/{repo}/{issues|discussions|pull}/{number}`
- Dates in `YYYY-MM-DD`, ages in days
- All items in Recommended Actions must have direct GitHub URLs

---

## Rules

- **Read-only:** this skill fetches and reports -- never create, modify, or close any GitHub item
- **No publishing:** do not create issues, comments, labels, or any other GitHub state change
- **Maintainer login:** from Phase 0 discovery (authenticated user)
- **Default threshold:** 7 days (per strategy Section 5)
- **Rate limits:** if GraphQL rate limit hit, report partial results with a warning

---

## Definition of Done

- [ ] GitHub data fetched for all scoped item types (issues/PRs/discussions)
- [ ] Every item classified by priority (P0-P4)
- [ ] Engagement metrics calculated per strategy targets
- [ ] Report composed (full interactive report OR compact summary for coordinator)

---

**Version:** 1.0.0
**Last Updated:** 2026-03-13

Attribution

levalencialevalencia
View sourceMore from levalencia →
SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Related Skills

Competitor Analysis

This skill provides comprehensive analysis of competitor SEO and GEO strategies, revealing what's working in your market and identifying opportunities to outperform the competition.

1823 votes

Deep Research

Universal deep research agent team. 13-agent pipeline for rigorous academic research on any topic. 8 modes: full research, quick brief, paper review, lit-review, fact-check, three-way literature scan, Socratic guided research dialogue, and systematic review with optional meta-analysis. Covers research question formulation, Socratic mentoring, methodology design, systematic literature search, source verification, cross-source synthesis, risk of bias assessment, meta-analysis, APA 7.0 report co...

494352 votes

Paperclip Distill

Use when an operation issue is a Paperclip cursor-window, distill, or backfill — `operationType: "distill"` or `"backfill"` and the body references a Paperclip source bundle for a project or root issue. Turn raw Paperclip activity into a wiki-insightful project page, decisions log, and history note. This skill exists specifically to replace the stiff, datestamp-heavy templated output that the deterministic distiller produces.

813271 votes

Academic Pipeline

Orchestrator for the full academic research pipeline: research -> write -> integrity check -> review -> revise -> re-review -> re-revise -> final integrity check -> finalize. Coordinates deep-research, academic-paper, and academic-paper-reviewer into a seamless 10-stage workflow with mandatory, coverage-bounded integrity checks, two-stage peer review, and auditable quality-assurance artifacts. Triggers on: academic pipeline, research to paper, full paper workflow, paper pipeline, end-to-end p...

494351 votes

Exa Search

Semantic search, similar content discovery, and structured research using Exa API

304951 votes
View all in research →