Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Triage FiftyOne GitHub issues by validating status, categorizing resolution, and generating standardized responses. Use when reviewing issues to determine if fixed, won't fix, not reproducible, no longer relevant, or still valid.
.claude/skills/aiskillstore-fiftyone-pr-triage/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 54% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 12% | 0% |
| case-20 | ✗→✓ | ▲ Improved | 44% | 0% |
| case-02 | ✓→✗ | ▼ Worse | -11% | 0% |
| case-05 | ✓→✓ | = Same ✓ | 44% | 0% |
| Category | When to Use | |----------|-------------| | Already Fixed | Issue resolved in recent commits/releases | | Won't Fix | By design, out of scope, or not aligned with project goals | | Not Reproducible | Cannot reproduce with provided info | | No Longer Relevant | Outdated FiftyOne version, deprecated feature, or stale | | Still Valid | Confirmed bug or valid feature request |
Extract key information:
- Issue type: [BUG] / [FR] / [?]
- FiftyOne version reported
- Code to reproduce
- Error message/traceback
- Related module/featurebash# Search for related code grep -r "keyword" fiftyone/ grep -r "ClassName" fiftyone/core/ # Find the module mentioned in issue find fiftyone/ -name "*.py" | xargs grep -l "function_name"
bash# Recent commits related to issue git log --oneline --since="2024-01-01" -- fiftyone/path/to/module.py # Search commit messages git log --oneline --grep="keyword" # Check if specific function was modified git log -p --all -S "function_name" -- "*.py" # Blame specific lines git blame fiftyone/path/to/file.py -L 100,120
bash# Search closed issues gh issue list --repo voxel51/fiftyone --state closed --search "keyword" # Search PRs gh pr list --repo voxel51/fiftyone --state merged --search "keyword"
Based on findings, select category and use appropriate response template.
Issue reported
│
├─ Can reproduce?
│ ├─ NO → "Not Reproducible"
│ └─ YES ↓
│
├─ Fixed in recent commit/release?
│ ├─ YES → "Already Fixed"
│ └─ NO ↓
│
├─ Is this by design or out of scope?
│ ├─ YES → "Won't Fix"
│ └─ NO ↓
│
├─ Is issue still relevant? (version, feature exists)
│ ├─ NO → "No Longer Relevant"
│ └─ YES → "Still Valid"markdownHi @{author}, This issue has been addressed in {version/commit}. **Fix details:** - PR: #{pr_number} or Commit: `{commit_hash}` - File: `{filepath}` - Change: {brief description} **To resolve:**
pip install --upgrade fiftyone
Please update and let us know if the issue persists.markdownHi @{author}, Thank you for the detailed report. After investigation, we've determined this is {reason}: **Reason:** {explanation} {alternative_if_applicable} We're closing this issue, but feel free to reopen if you have additional context.
Common reasons:
markdownHi @{author}, We were unable to reproduce this issue with the provided information. **Environment tested:** - FiftyOne: v{version} - Python: {python_version} - OS: {os} **Could you provide:** 1. Minimal reproducible example 2. Complete error traceback 3. Sample data (if applicable) We'll reopen once we can reproduce.
markdownHi @{author}, This issue appears to be no longer relevant: **Reason:** {reason} {details} If you're still experiencing this on FiftyOne v{current_version}, please open a new issue with updated details.
Common reasons:
markdownHi @{author}, Confirmed this issue. Here's our analysis: **Summary:** {brief description of the bug/feature} **Root cause:** {technical explanation with code reference} **Suggested fix:** {approach or PR if proposing one} **Affected code:** - File: `{filepath}:{line_number}` - Function: `{function_name}` {next_steps}
When referencing code in responses:
markdown**Location:** `fiftyone/core/module.py:123` **Current behavior:**
def problematic_function(): ...
**Suggested change:**def fixed_function(): ...
Before categorizing, verify:
| Category | Key Indicator | Response Action | |----------|---------------|-----------------| | Already Fixed | Found fix in git log | Point to PR/commit, suggest upgrade | | Won't Fix | By design or out of scope | Explain reasoning, suggest alternative | | Not Reproducible | Can't reproduce | Request more info | | No Longer Relevant | Old version, stale, deprecated | Explain why, suggest new issue | | Still Valid | Confirmed, no fix exists | Document root cause, propose fix |
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 4,360 | 58,100 | +1233% | 1 | 1 | 0% | 243 | 1,687 | +594% | 0 | 0 | — |
case-02 | pass→fail | 10,617 | 5,572 | -48% | 1 | 1 | 0% | 1,806 | 1,601 | -11% | 0 | 0 | — |
case-03 | fail→fail | 8,686 | 5,035 | -42% | 1 | 1 | 0% | 1,443 | 2,276 | +58% | 0 | 0 | — |
case-04 | fail→pass | 7,632 | 4,464 | -42% | 1 | 1 | 0% | 1,343 | 2,069 | +54% | 0 | 0 | — |
case-05 | pass→pass | 6,722 | 2,913 | -57% | 1 | 1 | 0% | 1,304 | 1,872 | +44% | 0 | 0 | — |
case-06 | pass→pass | 3,461 | 2,657 | -23% | 1 | 1 | 0% | 603 | 1,807 | +200% | 0 | 0 | — |
case-07 | pass→pass | 5,907 | 4,362 | -26% | 1 | 1 | 0% | 1,029 | 2,031 | +97% | 0 | 0 | — |
case-08 | pass→pass | 5,408 | 1,566 | -71% | 1 | 1 | 0% | 1,091 | 1,630 | +49% | 0 | 0 | — |
case-09 | pass→pass | 6,422 | 2,075 | -68% | 1 | 1 | 0% | 1,160 | 1,675 | +44% | 0 | 0 | — |
case-10 | pass→pass | 2,680 | 1,413 | -47% | 1 | 1 | 0% | 441 | 1,602 | +263% | 0 | 0 | — |
case-11 | pass→pass | 3,806 | 2,561 | -33% | 1 | 1 | 0% | 664 | 1,803 | +172% | 0 | 0 | — |
case-12 | fail→pass | 12,445 | 4,243 | -66% | 1 | 1 | 0% | 1,977 | 2,216 | +12% | 0 | 0 | — |
case-13 | pass→pass | 9,449 | 1,330 | -86% | 1 | 1 | 0% | 947 | 1,606 | +70% | 0 | 0 | — |
case-14 | pass→pass | 11,435 | 5,806 | -49% | 1 | 1 | 0% | 2,099 | 2,475 | +18% | 0 | 0 | — |
case-15 | pass→pass | 8,856 | 6,386 | -28% | 1 | 1 | 0% | 1,874 | 2,645 | +41% | 0 | 0 | — |
case-16 | pass→pass | 12,266 | 4,280 | -65% | 1 | 1 | 0% | 2,258 | 2,201 | -3% | 0 | 0 | — |
case-17 | pass→pass | 4,376 | 1,909 | -56% | 1 | 1 | 0% | 667 | 1,623 | +143% | 0 | 0 | — |
case-18 | pass→pass | 4,553 | 1,634 | -64% | 1 | 1 | 0% | 671 | 1,548 | +131% | 0 | 0 | — |
case-19 | pass→pass | 7,224 | 1,829 | -75% | 1 | 1 | 0% | 1,155 | 1,685 | +46% | 0 | 0 | — |
case-20 | fail→pass | 6,780 | 1,731 | -74% | 1 | 1 | 0% | 1,129 | 1,631 | +44% | 0 | 0 | — |
case-21 | pass→pass | 7,281 | 1,906 | -74% | 1 | 1 | 0% | 1,168 | 1,670 | +43% | 0 | 0 | — |
case-22 | pass→pass | 14,178 | 4,826 | -66% | 1 | 1 | 0% | 2,266 | 2,211 | -2% | 0 | 0 | — |
case-23 | pass→pass | 2,756 | 1,719 | -38% | 1 | 1 | 0% | 528 | 1,608 | +205% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 21 counted toward the lift figure. The other 2 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +9 percentage points is the difference between those two pass rates over the 21 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.