issue-prioritizer

0
0
Source

Prioritize GitHub issues by ROI, solution sanity, and architectural impact. Identifies quick wins, over-engineered proposals, and actionable bugs. Use for issue triage, contributor matching, and filtering non-actionable items. Read-only — never modifies repositories.

Install

mkdir -p .claude/skills/issue-prioritizer && curl -L -o skill.zip "https://mcp.directory/api/skills/download/5570" && unzip -o skill.zip -d .claude/skills/issue-prioritizer && rm skill.zip

Installs to .claude/skills/issue-prioritizer

About this skill

Issue Prioritizer

Analyze issues from a GitHub repository and rank them by Adjusted Score — ROI penalized by Tripping Scale (solution sanity), Architectural Impact, and Actionability.

This is a read-only skill. It analyzes and presents information. The user makes all decisions.

When to use

  • Triaging or ranking issues in a repository
  • Identifying quick wins for contributors
  • Filtering out non-actionable items (questions, duplicates)
  • Detecting over-engineered proposals
  • Matching issues to contributor skill levels

When NOT to use

  • Managing forks or syncing with upstream → use fork-manager instead
  • General GitHub CLI queries (PR status, CI runs) → use github instead
  • Reviewing code changes before publishing → use pr-review instead

Requirements

  • gh CLI authenticated (gh auth login)

Instructions

Step 1: Get Repository

If the user didn't specify a repository, ask which one to analyze (format: owner/repo).

Step 2: Fetch Issues

Basic fetch (most recent):

gh issue list --repo {owner/repo} --state open --limit {limit} --json number,title,body,labels,createdAt,comments,url

Default limit is 30. Store the full JSON response.

Targeted fetch with --topic:

When the user specifies --topic <keyword> (e.g. --topic telegram, --topic agents), use GitHub search to find issues matching that topic instead of just fetching the most recent:

# Search by topic keywords in title and body
gh issue list --repo {owner/repo} --state open --limit {limit} --search "{topic} in:title,body" --json number,title,body,labels,createdAt,comments,url

Multiple topics can be combined: --topic "telegram agents" searches for issues containing either term.

Targeted fetch with --search:

When the user specifies --search <query>, pass it directly as a GitHub search query for full control:

gh issue list --repo {owner/repo} --state open --limit {limit} --search "{query}" --json number,title,body,labels,createdAt,comments,url

Examples:

  • --search "telegram in:title" — only title matches
  • --search "label:bug telegram" — bugs mentioning telegram
  • --search "label:bug,enhancement telegram agents" — bugs or enhancements about telegram/agents
  • --search "comments:>5 telegram" — active discussions about telegram

Label-based fetch with --label:

gh issue list --repo {owner/repo} --state open --limit {limit} --label "{label}" --json number,title,body,labels,createdAt,comments,url

All fetch modes can be combined: --topic telegram --label bug --limit 50 fetches up to 50 open bugs about telegram.

Error handling:

  • Auth error → tell user to run gh auth login
  • Rate limited → inform user, suggest reducing --limit
  • Repo not found → check format owner/repo
  • No issues → report and exit (if using --topic/--search, suggest broadening the query)
  • Missing fields → treat null/missing body and labels as empty

Step 3: Filter Issues with Existing PRs

Note: If user specified --include-with-prs, skip this entire step and proceed to Step 4 with all fetched issues.

Before analyzing, check for open PRs that already address issues to avoid duplicate work.

gh pr list --repo {owner/repo} --state open --json number,title,body,url

Detect linked issues using ALL of these methods:

Method 1 — Explicit Keywords (high confidence): Scan PR title and body (case-insensitive):

  • fixes #N, fix #N, fixed #N
  • closes #N, close #N, closed #N
  • resolves #N, resolve #N, resolved #N

Method 2 — Issue References (medium confidence):

  • #N anywhere in text
  • issue N, issue #N, related to #N, addresses #N

Method 3 — Title Similarity (fuzzy): Normalize titles (lowercase, remove punctuation/common words). If 70%+ word overlap → likely linked.

Method 4 — Semantic Matching (ambiguous cases): Extract key terms from issue (error names, function names, components). Check if PR body discusses same things.

Confidence icons:

  • 🔗 Explicit link (fixes/closes/resolves)
  • 📎 Referenced (#N mentioned)
  • 🔍 Similar title (fuzzy match)
  • 💡 Semantic match (same components)

Remove linked issues from analysis. Report them separately before the main report.

If all issues have PRs, report that and exit.

Step 4: Analyze Each Issue

For each remaining issue, score the following:

Difficulty (1-10)

Base score: 5. Adjustments:

SignalAdjustment
Documentation only-3
Has proposed solution-2
Has reproduction steps-1
Clear error message-1
Unknown root cause+3
Architectural change+3
Race condition/concurrency+2
Security implications+2
Multiple systems involved+2

Importance (1-10)

RangeLevelExamples
8-10CriticalCrash, data loss, security vulnerability, service down
6-7HighBroken functionality, errors, performance issues
4-5MediumEnhancements, feature requests, improvements
1-3LowCosmetic, documentation, typos

Tripping Scale (1-5) — Solution Sanity (How "Out There" Is It?)

ScoreLabelDescription
1Total SanityProven approach, standard patterns
2Grounded w/FlairPractical with creative touches
3Dipping ToesExploring cautiously
4Wild AdventureBold, risky, unconventional
5TrippingQuestionable viability

Red Flags (+score): rewrite from scratch, buzzwords (blockchain, AI-powered, ML-based), experimental/unstable, breaking change, custom protocol Green Flags (-score): standard approach, minimal change, backward compatible, existing library, well-documented

Architectural Impact (1-5)

Always ask: "Is there a simpler way?" before scoring.

ScoreLabelDescription
1SurgicalIsolated fix, 1-2 files, no new abstractions
2LocalizedSmall addition, follows existing patterns exactly
3ModerateNew component within existing architecture
4SignificantNew subsystem, new patterns, affects multiple modules
5TransformationalRestructures core, changes paradigms, migration needed

Red Flags (+score): "rewrite", "refactor entire", new framework for existing capability, changes across >5 files, breaking API changes, scope creep Green Flags (-score): single file fix, uses existing utilities, follows established patterns, backward compatible, easily revertible

Critical: If a simple solution exists, architectural changes are wrong. Don't create a "validation framework" when a single if-check suffices.

Actionability (1-5) — Can it be resolved with a PR?

ScoreLabelDescription
1Not ActionableQuestion, discussion, duplicate, support request
2Needs TriageMissing info, unclear scope, needs clarification
3Needs InvestigationRoot cause unknown, requires debugging first
4Ready to WorkClear scope, may need some design decisions
5PR ReadySolution is clear, just needs implementation

Blockers (-score): questions ("how do I?"), discussions ("thoughts?"), labels (duplicate, wontfix, question), missing repro Ready signals (+score): action titles ("fix:", "add:"), proposed solution, repro steps, good-first-issue label, specific files mentioned

Derived Values

issueType: "bug" | "feature" | "docs" | "other"
suggestedLevel:
  - "beginner": difficulty 1-3, no security/architecture changes
  - "intermediate": difficulty 4-6
  - "advanced": difficulty 7+ OR security implications OR architectural changes

Calculation Formulas

ROI = Importance / Difficulty
AdjustedScore = ROI × TripMultiplier × ArchMultiplier × ActionMultiplier

Tripping Scale Multiplier:

ScoreLabelMultiplier
1Total Sanity1.00 (no penalty)
2Grounded w/Flair0.85
3Dipping Toes0.70
4Wild Adventure0.55
5Tripping0.40

Architectural Impact Multiplier:

ScoreLabelMultiplier
1Surgical1.00 (no penalty)
2Localized0.90
3Moderate0.75
4Significant0.50
5Transformational0.25

Actionability Multiplier:

ScoreLabelMultiplier
5PR Ready1.00 (no penalty)
4Ready to Work0.90
3Needs Investigation0.70
2Needs Triage0.40
1Not Actionable0.10

Step 5: Categorize

  • Quick Wins: ROI ≥ 1.5 AND Difficulty ≤ 5 AND Trip ≤ 3 AND Arch ≤ 2 AND Actionability ≥ 4
  • Critical Bugs: issueType = "bug" AND Importance ≥ 8
  • Tripping Issues: Trip ≥ 4
  • Over-Engineered: Arch ≥ 4 (simpler solution likely exists)
  • Not Actionable: Actionability ≤ 2

Sort all issues by AdjustedScore descending.

Step 6: Present Results

═══════════════════════════════════════════════════════════════
  ISSUE PRIORITIZATION REPORT
  Repository: {owner/repo}
  Filter: {topic/search/label or "latest"}
  Analyzed: {count} issues
  Excluded: {excluded} issues with existing PRs
═══════════════════════════════════════════════════════════════

  Quick Wins: {n} | Critical Bugs: {n} | Tripping: {n} | Over-Engineered: {n} | Not Actionable: {n}

═══════════════════════════════════════════════════════════════
  TOP 10 BY ADJUSTED SCORE
═══════════════════════════════════════════════════════════════

  #123 [Adj: 3.50] ⭐ Quick Win
  Fix typo in README
  ├─ Difficulty: 1/10 | Importance: 4/10 | ROI: 4.00
  ├─ Trip: ✅ Total Sanity (1/5) | Arch: ✅ Surgical (1/5)
  ├─ Act: ✅ PR Ready (5/5) | Level: beginner
  └─ https://github.com/owner/repo/issues/123

═══════════════════════════════════════════════════════════════
  QUICK WINS (High Impact, Low Effort, Sane & Actionable)
═══════════════════════════════════════════════

---

*Content truncated.*

seedream-image-gen

openclaw

Generate images via Seedream API (doubao-seedream models). Synchronous generation.

2359

ffmpeg-cli

openclaw

Comprehensive video/audio processing with FFmpeg. Use for: (1) Video transcoding and format conversion, (2) Cutting and merging clips, (3) Audio extraction and manipulation, (4) Thumbnail and GIF generation, (5) Resolution scaling and quality adjustment, (6) Adding subtitles or watermarks, (7) Speed adjustment (slow/fast motion), (8) Color correction and filters.

6623

context-optimizer

openclaw

Advanced context management with auto-compaction and dynamic context optimization for DeepSeek's 64k context window. Features intelligent compaction (merging, summarizing, extracting), query-aware relevance scoring, and hierarchical memory system with context archive. Logs optimization events to chat.

3622

a-stock-analysis

openclaw

A股实时行情与分时量能分析。获取沪深股票实时价格、涨跌、成交量,分析分时量能分布(早盘/尾盘放量)、主力动向(抢筹/出货信号)、涨停封单。支持持仓管理和盈亏分析。Use when: (1) 查询A股实时行情, (2) 分析主力资金动向, (3) 查看分时成交量分布, (4) 管理股票持仓, (5) 分析持仓盈亏。

9121

himalaya

openclaw

CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).

7921

garmin-connect

openclaw

Syncs daily health and fitness data from Garmin Connect into markdown files. Provides sleep, activity, heart rate, stress, body battery, HRV, SpO2, and weight data.

7321

You might also like

flutter-development

aj-geddes

Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.

643969

drawio-diagrams-enhanced

jgtolentino

Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.

591705

ui-ux-pro-max

nextlevelbuilder

"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."

318398

godot

bfollington

This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.

339397

nano-banana-pro

garg-aayush

Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.

451339

fastapi-templates

wshobson

Create production-ready FastAPI projects with async patterns, dependency injection, and comprehensive error handling. Use when building new FastAPI applications or setting up backend API projects.

304231

Stay ahead of the MCP ecosystem

Get weekly updates on new skills and servers.