{
  "schemaVersion": "1.0",
  "item": {
    "slug": "issue-prioritizer",
    "name": "Issue Prioritizer",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/Glucksberg/issue-prioritizer",
    "canonicalUrl": "https://clawhub.ai/Glucksberg/issue-prioritizer",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/issue-prioritizer",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=issue-prioritizer",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "commands/CLAUDE.md",
      "commands/issue-prioritizer.md",
      "tests/trigger-prompts.csv"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/issue-prioritizer"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/issue-prioritizer",
    "agentPageUrl": "https://openagent3.xyz/skills/issue-prioritizer/agent",
    "manifestUrl": "https://openagent3.xyz/skills/issue-prioritizer/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/issue-prioritizer/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Issue Prioritizer",
        "body": "Analyze issues from a GitHub repository and rank them by Adjusted Score — ROI penalized by Tripping Scale (solution sanity), Architectural Impact, and Actionability.\n\nThis is a read-only skill. It analyzes and presents information. The user makes all decisions."
      },
      {
        "title": "When to use",
        "body": "Triaging or ranking issues in a repository\nIdentifying quick wins for contributors\nFiltering out non-actionable items (questions, duplicates)\nDetecting over-engineered proposals\nMatching issues to contributor skill levels"
      },
      {
        "title": "When NOT to use",
        "body": "Managing forks or syncing with upstream → use fork-manager instead\nGeneral GitHub CLI queries (PR status, CI runs) → use github instead\nReviewing code changes before publishing → use pr-review instead"
      },
      {
        "title": "Requirements",
        "body": "gh CLI authenticated (gh auth login)"
      },
      {
        "title": "Step 1: Get Repository",
        "body": "If the user didn't specify a repository, ask which one to analyze (format: owner/repo)."
      },
      {
        "title": "Step 2: Fetch Issues",
        "body": "Basic fetch (most recent):\n\ngh issue list --repo {owner/repo} --state open --limit {limit} --json number,title,body,labels,createdAt,comments,url\n\nDefault limit is 30. Store the full JSON response.\n\nTargeted fetch with --topic:\n\nWhen 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:\n\n# Search by topic keywords in title and body\ngh issue list --repo {owner/repo} --state open --limit {limit} --search \"{topic} in:title,body\" --json number,title,body,labels,createdAt,comments,url\n\nMultiple topics can be combined: --topic \"telegram agents\" searches for issues containing either term.\n\nTargeted fetch with --search:\n\nWhen the user specifies --search <query>, pass it directly as a GitHub search query for full control:\n\ngh issue list --repo {owner/repo} --state open --limit {limit} --search \"{query}\" --json number,title,body,labels,createdAt,comments,url\n\nExamples:\n\n--search \"telegram in:title\" — only title matches\n--search \"label:bug telegram\" — bugs mentioning telegram\n--search \"label:bug,enhancement telegram agents\" — bugs or enhancements about telegram/agents\n--search \"comments:>5 telegram\" — active discussions about telegram\n\nLabel-based fetch with --label:\n\ngh issue list --repo {owner/repo} --state open --limit {limit} --label \"{label}\" --json number,title,body,labels,createdAt,comments,url\n\nAll fetch modes can be combined: --topic telegram --label bug --limit 50 fetches up to 50 open bugs about telegram.\n\nError handling:\n\nAuth error → tell user to run gh auth login\nRate limited → inform user, suggest reducing --limit\nRepo not found → check format owner/repo\nNo issues → report and exit (if using --topic/--search, suggest broadening the query)\nMissing fields → treat null/missing body and labels as empty"
      },
      {
        "title": "Step 3: Filter Issues with Existing PRs",
        "body": "Note: If user specified --include-with-prs, skip this entire step and proceed to Step 4 with all fetched issues.\n\nBefore analyzing, check for open PRs that already address issues to avoid duplicate work.\n\ngh pr list --repo {owner/repo} --state open --json number,title,body,url\n\nDetect linked issues using ALL of these methods:\n\nMethod 1 — Explicit Keywords (high confidence):\nScan PR title and body (case-insensitive):\n\nfixes #N, fix #N, fixed #N\ncloses #N, close #N, closed #N\nresolves #N, resolve #N, resolved #N\n\nMethod 2 — Issue References (medium confidence):\n\n#N anywhere in text\nissue N, issue #N, related to #N, addresses #N\n\nMethod 3 — Title Similarity (fuzzy):\nNormalize titles (lowercase, remove punctuation/common words). If 70%+ word overlap → likely linked.\n\nMethod 4 — Semantic Matching (ambiguous cases):\nExtract key terms from issue (error names, function names, components). Check if PR body discusses same things.\n\nConfidence icons:\n\n🔗 Explicit link (fixes/closes/resolves)\n📎 Referenced (#N mentioned)\n🔍 Similar title (fuzzy match)\n💡 Semantic match (same components)\n\nRemove linked issues from analysis. Report them separately before the main report.\n\nIf all issues have PRs, report that and exit."
      },
      {
        "title": "Step 4: Analyze Each Issue",
        "body": "For each remaining issue, score the following:\n\nDifficulty (1-10)\n\nBase score: 5. Adjustments:\n\nSignalAdjustmentDocumentation only-3Has proposed solution-2Has reproduction steps-1Clear error message-1Unknown root cause+3Architectural change+3Race condition/concurrency+2Security implications+2Multiple systems involved+2\n\nImportance (1-10)\n\nRangeLevelExamples8-10CriticalCrash, data loss, security vulnerability, service down6-7HighBroken functionality, errors, performance issues4-5MediumEnhancements, feature requests, improvements1-3LowCosmetic, documentation, typos\n\nTripping Scale (1-5) — Solution Sanity (How \"Out There\" Is It?)\n\nScoreLabelDescription1Total SanityProven approach, standard patterns2Grounded w/FlairPractical with creative touches3Dipping ToesExploring cautiously4Wild AdventureBold, risky, unconventional5TrippingQuestionable viability\n\nRed Flags (+score): rewrite from scratch, buzzwords (blockchain, AI-powered, ML-based), experimental/unstable, breaking change, custom protocol\nGreen Flags (-score): standard approach, minimal change, backward compatible, existing library, well-documented\n\nArchitectural Impact (1-5)\n\nAlways ask: \"Is there a simpler way?\" before scoring.\n\nScoreLabelDescription1SurgicalIsolated fix, 1-2 files, no new abstractions2LocalizedSmall addition, follows existing patterns exactly3ModerateNew component within existing architecture4SignificantNew subsystem, new patterns, affects multiple modules5TransformationalRestructures core, changes paradigms, migration needed\n\nRed Flags (+score): \"rewrite\", \"refactor entire\", new framework for existing capability, changes across >5 files, breaking API changes, scope creep\nGreen Flags (-score): single file fix, uses existing utilities, follows established patterns, backward compatible, easily revertible\n\nCritical: If a simple solution exists, architectural changes are wrong. Don't create a \"validation framework\" when a single if-check suffices.\n\nActionability (1-5) — Can it be resolved with a PR?\n\nScoreLabelDescription1Not ActionableQuestion, discussion, duplicate, support request2Needs TriageMissing info, unclear scope, needs clarification3Needs InvestigationRoot cause unknown, requires debugging first4Ready to WorkClear scope, may need some design decisions5PR ReadySolution is clear, just needs implementation\n\nBlockers (-score): questions (\"how do I?\"), discussions (\"thoughts?\"), labels (duplicate, wontfix, question), missing repro\nReady signals (+score): action titles (\"fix:\", \"add:\"), proposed solution, repro steps, good-first-issue label, specific files mentioned\n\nDerived Values\n\nissueType: \"bug\" | \"feature\" | \"docs\" | \"other\"\nsuggestedLevel:\n  - \"beginner\": difficulty 1-3, no security/architecture changes\n  - \"intermediate\": difficulty 4-6\n  - \"advanced\": difficulty 7+ OR security implications OR architectural changes\n\nCalculation Formulas\n\nROI = Importance / Difficulty\nAdjustedScore = ROI × TripMultiplier × ArchMultiplier × ActionMultiplier\n\nTripping Scale Multiplier:\n\nScoreLabelMultiplier1Total Sanity1.00 (no penalty)2Grounded w/Flair0.853Dipping Toes0.704Wild Adventure0.555Tripping0.40\n\nArchitectural Impact Multiplier:\n\nScoreLabelMultiplier1Surgical1.00 (no penalty)2Localized0.903Moderate0.754Significant0.505Transformational0.25\n\nActionability Multiplier:\n\nScoreLabelMultiplier5PR Ready1.00 (no penalty)4Ready to Work0.903Needs Investigation0.702Needs Triage0.401Not Actionable0.10"
      },
      {
        "title": "Step 5: Categorize",
        "body": "Quick Wins: ROI ≥ 1.5 AND Difficulty ≤ 5 AND Trip ≤ 3 AND Arch ≤ 2 AND Actionability ≥ 4\nCritical Bugs: issueType = \"bug\" AND Importance ≥ 8\nTripping Issues: Trip ≥ 4\nOver-Engineered: Arch ≥ 4 (simpler solution likely exists)\nNot Actionable: Actionability ≤ 2\n\nSort all issues by AdjustedScore descending."
      },
      {
        "title": "Step 6: Present Results",
        "body": "═══════════════════════════════════════════════════════════════\n  ISSUE PRIORITIZATION REPORT\n  Repository: {owner/repo}\n  Filter: {topic/search/label or \"latest\"}\n  Analyzed: {count} issues\n  Excluded: {excluded} issues with existing PRs\n═══════════════════════════════════════════════════════════════\n\n  Quick Wins: {n} | Critical Bugs: {n} | Tripping: {n} | Over-Engineered: {n} | Not Actionable: {n}\n\n═══════════════════════════════════════════════════════════════\n  TOP 10 BY ADJUSTED SCORE\n═══════════════════════════════════════════════════════════════\n\n  #123 [Adj: 3.50] ⭐ Quick Win\n  Fix typo in README\n  ├─ Difficulty: 1/10 | Importance: 4/10 | ROI: 4.00\n  ├─ Trip: ✅ Total Sanity (1/5) | Arch: ✅ Surgical (1/5)\n  ├─ Act: ✅ PR Ready (5/5) | Level: beginner\n  └─ https://github.com/owner/repo/issues/123\n\n═══════════════════════════════════════════════════════════════\n  QUICK WINS (High Impact, Low Effort, Sane & Actionable)\n═══════════════════════════════════════════════════════════════\n\n  #123: Fix typo in README [Adj: 3.50]\n        Difficulty: 1 | Importance: 4 | beginner\n\n═══════════════════════════════════════════════════════════════\n  RECOMMENDATIONS BY LEVEL\n═══════════════════════════════════════════════════════════════\n\n  BEGINNER (Difficulty 1-3, no security/architecture):\n  - #123: Fix typo - Low risk, good first contribution\n\n  INTERMEDIATE (Difficulty 4-6):\n  - #456: Add validation - Medium complexity, clear scope\n\n  ADVANCED (Difficulty 7-10 or security/architecture):\n  - #789: Refactor auth - Architectural knowledge needed\n\n═══════════════════════════════════════════════════════════════\n  CRITICAL BUGS (Importance ≥ 8)\n═══════════════════════════════════════════════════════════════\n\n  #111 [Adj: 1.67] 🔴 Critical\n  App crashes on startup with large datasets\n  ├─ Difficulty: 6/10 | Importance: 9/10 | ROI: 1.50\n  ├─ Trip: ✅ (2/5) | Arch: ✅ (2/5) | Act: ⚠️ (3/5)\n  └─ https://github.com/owner/repo/issues/111\n\n═══════════════════════════════════════════════════════════════\n  TRIPPING ISSUES (Trip ≥ 4 — Review Carefully)\n═══════════════════════════════════════════════════════════════\n\n  #999 [Trip: 🚨 5/5 — Tripping]\n  Rewrite entire backend in Rust with blockchain storage\n  ├─ Red Flags: \"rewrite from scratch\", \"blockchain\"\n  ├─ Adjusted Score: 0.12 (heavily penalized)\n  └─ Consider: Is this complexity really needed?\n\n═══════════════════════════════════════════════════════════════\n  OVER-ENGINEERED (Arch ≥ 4 — Simpler Solution Likely Exists)\n═══════════════════════════════════════════════════════════════\n\n  #777 [Arch: 🏗️ 5/5 — Transformational]\n  Add form validation\n  ├─ Proposed: New validation framework with schema definitions\n  ├─ Simpler Alternative: Single validation function, 20 lines\n  └─ Ask: Why create a framework for one form?\n\n  💡 TIP: Maintainers often reject PRs that change architecture\n     unnecessarily. Always start with the simplest fix.\n\n═══════════════════════════════════════════════════════════════\n  NOT ACTIONABLE (Actionability ≤ 2)\n═══════════════════════════════════════════════════════════════\n\n  - #222: \"How do I deploy to Kubernetes?\" (Act: 1/5 — question)\n  - #333: Duplicate of #111 (Act: 1/5 — duplicate)\n\n═══════════════════════════════════════════════════════════════\n  EXCLUDED — EXISTING PRs\n═══════════════════════════════════════════════════════════════\n\n  #123: Login crashes on empty password\n        └─ 🔗 PR #456: \"Fix login validation\" (explicit: fixes #123)\n\n  Detection: 🔗 Explicit link | 📎 Referenced | 🔍 Similar title | 💡 Semantic match\n\n═══════════════════════════════════════════════════════════════\n  SCALE LEGEND\n═══════════════════════════════════════════════════════════════\n\n  Trip (Solution Sanity):        Arch (Structural Impact):\n  ✅ 1-2 = Sane                  ✅ 1-2 = Minimal change\n  ⚠️  3  = Cautious              ⚠️  3  = Moderate\n  🚨 4-5 = Risky                 🏗️ 4-5 = Over-engineered\n\n  Actionability:\n  ✅ 4-5 = Ready for PR\n  ⚠️  3  = Needs Investigation\n  ❌ 1-2 = Not Actionable\n\n  AdjustedScore = ROI × TripMult × ArchMult × ActionMult\n  Higher = Better (prioritize first)\n\n  🎯 SIMPLICITY PRINCIPLE: If a 10-line fix exists,\n     a 200-line refactor is wrong.\n\n  Mode: SKILL (read-only) — analyzes only, never modifies.\n═══════════════════════════════════════════════════════════════"
      },
      {
        "title": "Options",
        "body": "--json: Raw JSON output\n--markdown / --md: Markdown table output\n--quick-wins: Show only quick wins\n--level beginner|intermediate|advanced: Filter by contributor level\n--limit N: Number of issues to analyze (default: 30)\n--topic <keywords>: Search issues by topic (e.g. --topic telegram, --topic \"agents telegram\")\n--search <query>: Raw GitHub search query for full control (e.g. --search \"label:bug telegram in:title\")\n--label <name>: Filter by GitHub label (e.g. --label bug)\n--include-with-prs: Skip PR filtering, include all issues"
      },
      {
        "title": "LLM Deep Analysis (Optional)",
        "body": "For higher-quality scoring, use an LLM to analyze each issue individually. For each issue, prompt the model with the issue details and scoring criteria, requesting structured JSON output:\n\n{\n  \"number\": 123,\n  \"difficulty\": 5,\n  \"difficultyReasoning\": \"base 5; has repro (-1); unknown cause (+3) = 7\",\n  \"importance\": 7,\n  \"importanceReasoning\": \"broken functionality affecting users\",\n  \"tripScore\": 2,\n  \"tripLabel\": \"Grounded with Flair\",\n  \"tripRedFlags\": [],\n  \"tripGreenFlags\": [\"minimal change\", \"standard approach\"],\n  \"archScore\": 2,\n  \"archLabel\": \"Localized\",\n  \"archRedFlags\": [],\n  \"archGreenFlags\": [\"uses existing patterns\"],\n  \"archSimplerAlternative\": null,\n  \"actionScore\": 4,\n  \"actionLabel\": \"Ready to Work\",\n  \"actionBlockers\": [],\n  \"actionReadySignals\": [\"has proposed solution\"],\n  \"issueType\": \"bug\",\n  \"suggestedLevel\": \"intermediate\",\n  \"roi\": 1.40,\n  \"adjustedScore\": 0.96\n}\n\nTruncate issue bodies longer than 2000 characters before sending to the model.\n\nWhen to use LLM Deep Analysis:\n\nComplex repositories with nuanced issues\nWhen accuracy matters more than speed\nFor repositories you're unfamiliar with\n\nTradeoffs: Slower (~2-5s per issue) but more accurate. 1 API call per issue.\n\nIntegration: For each issue, call the LLM with the analysis prompt, parse the JSON response, and merge into results before Step 5 (Categorize)."
      }
    ],
    "body": "Issue Prioritizer\n\nAnalyze issues from a GitHub repository and rank them by Adjusted Score — ROI penalized by Tripping Scale (solution sanity), Architectural Impact, and Actionability.\n\nThis is a read-only skill. It analyzes and presents information. The user makes all decisions.\n\nWhen to use\nTriaging or ranking issues in a repository\nIdentifying quick wins for contributors\nFiltering out non-actionable items (questions, duplicates)\nDetecting over-engineered proposals\nMatching issues to contributor skill levels\nWhen NOT to use\nManaging forks or syncing with upstream → use fork-manager instead\nGeneral GitHub CLI queries (PR status, CI runs) → use github instead\nReviewing code changes before publishing → use pr-review instead\nRequirements\ngh CLI authenticated (gh auth login)\nInstructions\nStep 1: Get Repository\n\nIf the user didn't specify a repository, ask which one to analyze (format: owner/repo).\n\nStep 2: Fetch Issues\n\nBasic fetch (most recent):\n\ngh issue list --repo {owner/repo} --state open --limit {limit} --json number,title,body,labels,createdAt,comments,url\n\n\nDefault limit is 30. Store the full JSON response.\n\nTargeted fetch with --topic:\n\nWhen 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:\n\n# Search by topic keywords in title and body\ngh issue list --repo {owner/repo} --state open --limit {limit} --search \"{topic} in:title,body\" --json number,title,body,labels,createdAt,comments,url\n\n\nMultiple topics can be combined: --topic \"telegram agents\" searches for issues containing either term.\n\nTargeted fetch with --search:\n\nWhen the user specifies --search <query>, pass it directly as a GitHub search query for full control:\n\ngh issue list --repo {owner/repo} --state open --limit {limit} --search \"{query}\" --json number,title,body,labels,createdAt,comments,url\n\n\nExamples:\n\n--search \"telegram in:title\" — only title matches\n--search \"label:bug telegram\" — bugs mentioning telegram\n--search \"label:bug,enhancement telegram agents\" — bugs or enhancements about telegram/agents\n--search \"comments:>5 telegram\" — active discussions about telegram\n\nLabel-based fetch with --label:\n\ngh issue list --repo {owner/repo} --state open --limit {limit} --label \"{label}\" --json number,title,body,labels,createdAt,comments,url\n\n\nAll fetch modes can be combined: --topic telegram --label bug --limit 50 fetches up to 50 open bugs about telegram.\n\nError handling:\n\nAuth error → tell user to run gh auth login\nRate limited → inform user, suggest reducing --limit\nRepo not found → check format owner/repo\nNo issues → report and exit (if using --topic/--search, suggest broadening the query)\nMissing fields → treat null/missing body and labels as empty\nStep 3: Filter Issues with Existing PRs\n\nNote: If user specified --include-with-prs, skip this entire step and proceed to Step 4 with all fetched issues.\n\nBefore analyzing, check for open PRs that already address issues to avoid duplicate work.\n\ngh pr list --repo {owner/repo} --state open --json number,title,body,url\n\n\nDetect linked issues using ALL of these methods:\n\nMethod 1 — Explicit Keywords (high confidence): Scan PR title and body (case-insensitive):\n\nfixes #N, fix #N, fixed #N\ncloses #N, close #N, closed #N\nresolves #N, resolve #N, resolved #N\n\nMethod 2 — Issue References (medium confidence):\n\n#N anywhere in text\nissue N, issue #N, related to #N, addresses #N\n\nMethod 3 — Title Similarity (fuzzy): Normalize titles (lowercase, remove punctuation/common words). If 70%+ word overlap → likely linked.\n\nMethod 4 — Semantic Matching (ambiguous cases): Extract key terms from issue (error names, function names, components). Check if PR body discusses same things.\n\nConfidence icons:\n\n🔗 Explicit link (fixes/closes/resolves)\n📎 Referenced (#N mentioned)\n🔍 Similar title (fuzzy match)\n💡 Semantic match (same components)\n\nRemove linked issues from analysis. Report them separately before the main report.\n\nIf all issues have PRs, report that and exit.\n\nStep 4: Analyze Each Issue\n\nFor each remaining issue, score the following:\n\nDifficulty (1-10)\n\nBase score: 5. Adjustments:\n\nSignal\tAdjustment\nDocumentation only\t-3\nHas proposed solution\t-2\nHas reproduction steps\t-1\nClear error message\t-1\nUnknown root cause\t+3\nArchitectural change\t+3\nRace condition/concurrency\t+2\nSecurity implications\t+2\nMultiple systems involved\t+2\nImportance (1-10)\nRange\tLevel\tExamples\n8-10\tCritical\tCrash, data loss, security vulnerability, service down\n6-7\tHigh\tBroken functionality, errors, performance issues\n4-5\tMedium\tEnhancements, feature requests, improvements\n1-3\tLow\tCosmetic, documentation, typos\nTripping Scale (1-5) — Solution Sanity (How \"Out There\" Is It?)\nScore\tLabel\tDescription\n1\tTotal Sanity\tProven approach, standard patterns\n2\tGrounded w/Flair\tPractical with creative touches\n3\tDipping Toes\tExploring cautiously\n4\tWild Adventure\tBold, risky, unconventional\n5\tTripping\tQuestionable viability\n\nRed 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\n\nArchitectural Impact (1-5)\n\nAlways ask: \"Is there a simpler way?\" before scoring.\n\nScore\tLabel\tDescription\n1\tSurgical\tIsolated fix, 1-2 files, no new abstractions\n2\tLocalized\tSmall addition, follows existing patterns exactly\n3\tModerate\tNew component within existing architecture\n4\tSignificant\tNew subsystem, new patterns, affects multiple modules\n5\tTransformational\tRestructures core, changes paradigms, migration needed\n\nRed 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\n\nCritical: If a simple solution exists, architectural changes are wrong. Don't create a \"validation framework\" when a single if-check suffices.\n\nActionability (1-5) — Can it be resolved with a PR?\nScore\tLabel\tDescription\n1\tNot Actionable\tQuestion, discussion, duplicate, support request\n2\tNeeds Triage\tMissing info, unclear scope, needs clarification\n3\tNeeds Investigation\tRoot cause unknown, requires debugging first\n4\tReady to Work\tClear scope, may need some design decisions\n5\tPR Ready\tSolution is clear, just needs implementation\n\nBlockers (-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\n\nDerived Values\nissueType: \"bug\" | \"feature\" | \"docs\" | \"other\"\nsuggestedLevel:\n  - \"beginner\": difficulty 1-3, no security/architecture changes\n  - \"intermediate\": difficulty 4-6\n  - \"advanced\": difficulty 7+ OR security implications OR architectural changes\n\nCalculation Formulas\nROI = Importance / Difficulty\nAdjustedScore = ROI × TripMultiplier × ArchMultiplier × ActionMultiplier\n\n\nTripping Scale Multiplier:\n\nScore\tLabel\tMultiplier\n1\tTotal Sanity\t1.00 (no penalty)\n2\tGrounded w/Flair\t0.85\n3\tDipping Toes\t0.70\n4\tWild Adventure\t0.55\n5\tTripping\t0.40\n\nArchitectural Impact Multiplier:\n\nScore\tLabel\tMultiplier\n1\tSurgical\t1.00 (no penalty)\n2\tLocalized\t0.90\n3\tModerate\t0.75\n4\tSignificant\t0.50\n5\tTransformational\t0.25\n\nActionability Multiplier:\n\nScore\tLabel\tMultiplier\n5\tPR Ready\t1.00 (no penalty)\n4\tReady to Work\t0.90\n3\tNeeds Investigation\t0.70\n2\tNeeds Triage\t0.40\n1\tNot Actionable\t0.10\nStep 5: Categorize\nQuick Wins: ROI ≥ 1.5 AND Difficulty ≤ 5 AND Trip ≤ 3 AND Arch ≤ 2 AND Actionability ≥ 4\nCritical Bugs: issueType = \"bug\" AND Importance ≥ 8\nTripping Issues: Trip ≥ 4\nOver-Engineered: Arch ≥ 4 (simpler solution likely exists)\nNot Actionable: Actionability ≤ 2\n\nSort all issues by AdjustedScore descending.\n\nStep 6: Present Results\n═══════════════════════════════════════════════════════════════\n  ISSUE PRIORITIZATION REPORT\n  Repository: {owner/repo}\n  Filter: {topic/search/label or \"latest\"}\n  Analyzed: {count} issues\n  Excluded: {excluded} issues with existing PRs\n═══════════════════════════════════════════════════════════════\n\n  Quick Wins: {n} | Critical Bugs: {n} | Tripping: {n} | Over-Engineered: {n} | Not Actionable: {n}\n\n═══════════════════════════════════════════════════════════════\n  TOP 10 BY ADJUSTED SCORE\n═══════════════════════════════════════════════════════════════\n\n  #123 [Adj: 3.50] ⭐ Quick Win\n  Fix typo in README\n  ├─ Difficulty: 1/10 | Importance: 4/10 | ROI: 4.00\n  ├─ Trip: ✅ Total Sanity (1/5) | Arch: ✅ Surgical (1/5)\n  ├─ Act: ✅ PR Ready (5/5) | Level: beginner\n  └─ https://github.com/owner/repo/issues/123\n\n═══════════════════════════════════════════════════════════════\n  QUICK WINS (High Impact, Low Effort, Sane & Actionable)\n═══════════════════════════════════════════════════════════════\n\n  #123: Fix typo in README [Adj: 3.50]\n        Difficulty: 1 | Importance: 4 | beginner\n\n═══════════════════════════════════════════════════════════════\n  RECOMMENDATIONS BY LEVEL\n═══════════════════════════════════════════════════════════════\n\n  BEGINNER (Difficulty 1-3, no security/architecture):\n  - #123: Fix typo - Low risk, good first contribution\n\n  INTERMEDIATE (Difficulty 4-6):\n  - #456: Add validation - Medium complexity, clear scope\n\n  ADVANCED (Difficulty 7-10 or security/architecture):\n  - #789: Refactor auth - Architectural knowledge needed\n\n═══════════════════════════════════════════════════════════════\n  CRITICAL BUGS (Importance ≥ 8)\n═══════════════════════════════════════════════════════════════\n\n  #111 [Adj: 1.67] 🔴 Critical\n  App crashes on startup with large datasets\n  ├─ Difficulty: 6/10 | Importance: 9/10 | ROI: 1.50\n  ├─ Trip: ✅ (2/5) | Arch: ✅ (2/5) | Act: ⚠️ (3/5)\n  └─ https://github.com/owner/repo/issues/111\n\n═══════════════════════════════════════════════════════════════\n  TRIPPING ISSUES (Trip ≥ 4 — Review Carefully)\n═══════════════════════════════════════════════════════════════\n\n  #999 [Trip: 🚨 5/5 — Tripping]\n  Rewrite entire backend in Rust with blockchain storage\n  ├─ Red Flags: \"rewrite from scratch\", \"blockchain\"\n  ├─ Adjusted Score: 0.12 (heavily penalized)\n  └─ Consider: Is this complexity really needed?\n\n═══════════════════════════════════════════════════════════════\n  OVER-ENGINEERED (Arch ≥ 4 — Simpler Solution Likely Exists)\n═══════════════════════════════════════════════════════════════\n\n  #777 [Arch: 🏗️ 5/5 — Transformational]\n  Add form validation\n  ├─ Proposed: New validation framework with schema definitions\n  ├─ Simpler Alternative: Single validation function, 20 lines\n  └─ Ask: Why create a framework for one form?\n\n  💡 TIP: Maintainers often reject PRs that change architecture\n     unnecessarily. Always start with the simplest fix.\n\n═══════════════════════════════════════════════════════════════\n  NOT ACTIONABLE (Actionability ≤ 2)\n═══════════════════════════════════════════════════════════════\n\n  - #222: \"How do I deploy to Kubernetes?\" (Act: 1/5 — question)\n  - #333: Duplicate of #111 (Act: 1/5 — duplicate)\n\n═══════════════════════════════════════════════════════════════\n  EXCLUDED — EXISTING PRs\n═══════════════════════════════════════════════════════════════\n\n  #123: Login crashes on empty password\n        └─ 🔗 PR #456: \"Fix login validation\" (explicit: fixes #123)\n\n  Detection: 🔗 Explicit link | 📎 Referenced | 🔍 Similar title | 💡 Semantic match\n\n═══════════════════════════════════════════════════════════════\n  SCALE LEGEND\n═══════════════════════════════════════════════════════════════\n\n  Trip (Solution Sanity):        Arch (Structural Impact):\n  ✅ 1-2 = Sane                  ✅ 1-2 = Minimal change\n  ⚠️  3  = Cautious              ⚠️  3  = Moderate\n  🚨 4-5 = Risky                 🏗️ 4-5 = Over-engineered\n\n  Actionability:\n  ✅ 4-5 = Ready for PR\n  ⚠️  3  = Needs Investigation\n  ❌ 1-2 = Not Actionable\n\n  AdjustedScore = ROI × TripMult × ArchMult × ActionMult\n  Higher = Better (prioritize first)\n\n  🎯 SIMPLICITY PRINCIPLE: If a 10-line fix exists,\n     a 200-line refactor is wrong.\n\n  Mode: SKILL (read-only) — analyzes only, never modifies.\n═══════════════════════════════════════════════════════════════\n\nOptions\n--json: Raw JSON output\n--markdown / --md: Markdown table output\n--quick-wins: Show only quick wins\n--level beginner|intermediate|advanced: Filter by contributor level\n--limit N: Number of issues to analyze (default: 30)\n--topic <keywords>: Search issues by topic (e.g. --topic telegram, --topic \"agents telegram\")\n--search <query>: Raw GitHub search query for full control (e.g. --search \"label:bug telegram in:title\")\n--label <name>: Filter by GitHub label (e.g. --label bug)\n--include-with-prs: Skip PR filtering, include all issues\nLLM Deep Analysis (Optional)\n\nFor higher-quality scoring, use an LLM to analyze each issue individually. For each issue, prompt the model with the issue details and scoring criteria, requesting structured JSON output:\n\n{\n  \"number\": 123,\n  \"difficulty\": 5,\n  \"difficultyReasoning\": \"base 5; has repro (-1); unknown cause (+3) = 7\",\n  \"importance\": 7,\n  \"importanceReasoning\": \"broken functionality affecting users\",\n  \"tripScore\": 2,\n  \"tripLabel\": \"Grounded with Flair\",\n  \"tripRedFlags\": [],\n  \"tripGreenFlags\": [\"minimal change\", \"standard approach\"],\n  \"archScore\": 2,\n  \"archLabel\": \"Localized\",\n  \"archRedFlags\": [],\n  \"archGreenFlags\": [\"uses existing patterns\"],\n  \"archSimplerAlternative\": null,\n  \"actionScore\": 4,\n  \"actionLabel\": \"Ready to Work\",\n  \"actionBlockers\": [],\n  \"actionReadySignals\": [\"has proposed solution\"],\n  \"issueType\": \"bug\",\n  \"suggestedLevel\": \"intermediate\",\n  \"roi\": 1.40,\n  \"adjustedScore\": 0.96\n}\n\n\nTruncate issue bodies longer than 2000 characters before sending to the model.\n\nWhen to use LLM Deep Analysis:\n\nComplex repositories with nuanced issues\nWhen accuracy matters more than speed\nFor repositories you're unfamiliar with\n\nTradeoffs: Slower (~2-5s per issue) but more accurate. 1 API call per issue.\n\nIntegration: For each issue, call the LLM with the analysis prompt, parse the JSON response, and merge into results before Step 5 (Categorize)."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/Glucksberg/issue-prioritizer",
    "publisherUrl": "https://clawhub.ai/Glucksberg/issue-prioritizer",
    "owner": "Glucksberg",
    "version": "1.2.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/issue-prioritizer",
    "downloadUrl": "https://openagent3.xyz/downloads/issue-prioritizer",
    "agentUrl": "https://openagent3.xyz/skills/issue-prioritizer/agent",
    "manifestUrl": "https://openagent3.xyz/skills/issue-prioritizer/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/issue-prioritizer/agent.md"
  }
}