fiftyone-pr-triage
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.
Best use case
fiftyone-pr-triage is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
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.
Teams using fiftyone-pr-triage should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/fiftyone-pr-triage/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How fiftyone-pr-triage Compares
| Feature / Agent | fiftyone-pr-triage | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
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.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# FiftyOne Issue Triage
## Triage Categories
| 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 |
## Triage Workflow
### Step 1: Read Issue Details
Extract key information:
```
- Issue type: [BUG] / [FR] / [?]
- FiftyOne version reported
- Code to reproduce
- Error message/traceback
- Related module/feature
```
### Step 2: Search Codebase
```bash
# 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"
```
### Step 3: Check Git History
```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
```
### Step 4: Check Related PRs/Issues
```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"
```
### Step 5: Categorize and Respond
Based on findings, select category and use appropriate response template.
## Category Decision Tree
```
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"
```
## Response Templates
### Already Fixed
```markdown
Hi @{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:**
```bash
pip install --upgrade fiftyone
```
Please update and let us know if the issue persists.
```
### Won't Fix
```markdown
Hi @{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:**
- Working as designed
- Out of project scope
- Would break backward compatibility
- Performance/complexity tradeoff
### Not Reproducible
```markdown
Hi @{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.
```
### No Longer Relevant
```markdown
Hi @{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:**
- Reported version is significantly outdated
- Related feature was deprecated/removed
- No activity for 6+ months
- Duplicate of resolved issue
### Still Valid
```markdown
Hi @{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}
```
## Code Reference Format
When referencing code in responses:
```markdown
**Location:** `fiftyone/core/module.py:123`
**Current behavior:**
```python
# Line 123-130
def problematic_function():
...
```
**Suggested change:**
```python
def fixed_function():
...
```
```
## Investigation Checklist
Before categorizing, verify:
- [ ] Read full issue description and comments
- [ ] Checked FiftyOne version reported vs current
- [ ] Searched codebase for related code
- [ ] Checked git history for recent fixes
- [ ] Searched closed issues for duplicates
- [ ] Attempted reproduction (if bug)
- [ ] Identified root cause or reason
## Quick Reference
| 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 |Related Skills
gws-gmail-triage
Gmail: Show unread inbox summary (sender, subject, date).
debian-linux-triage
Triage and resolve Debian Linux issues with apt, systemd, and AppArmor-aware guidance.
centos-linux-triage
Triage and resolve CentOS issues using RHEL-compatible tooling, SELinux-aware practices, and firewalld.
arch-linux-triage
Triage and resolve Arch Linux issues with pacman, systemd, and rolling-release best practices.
issue-triage
GitHub Issue 处理协作流程。当用户收到 issue 需要分析和回复时使用。通过"诊断 → 定性 → 决策 → 回复"四步法,从一个 issue 产出准确的根因分析和得体的用户回复,避免误判问题类型或回复不专业。
fiftyone-find-duplicates
Find duplicate or near-duplicate images in FiftyOne datasets using brain similarity computation. Use when users want to deduplicate datasets, find similar images, cluster visually similar content, or remove redundant samples. Requires FiftyOne MCP server with @voxel51/brain plugin installed.
fiftyone-embeddings-visualization
Visualize datasets in 2D using embeddings with UMAP or t-SNE dimensionality reduction. Use when users want to explore dataset structure, find clusters in images, identify outliers, color samples by class or metadata, or understand data distribution. Requires FiftyOne MCP server with @voxel51/brain plugin installed.
fiftyone-develop-plugin
Develop custom FiftyOne plugins (operators and panels) from scratch. Use when user wants to create a new plugin, extend FiftyOne with custom operators, build interactive panels, or integrate external APIs into FiftyOne. Guides through requirements, design, coding, testing, and iteration.
fiftyone-dataset-inference
Create a FiftyOne dataset from a directory of media files (images, videos, point clouds), optionally import labels in common formats (COCO, YOLO, VOC), run model inference, and store predictions. Use when users want to load local files into FiftyOne, apply ML models for detection, classification, or segmentation, or build end-to-end inference pipelines.
fiftyone-dataset-import
Universal dataset import for FiftyOne supporting all media types (images, videos, point clouds, 3D scenes), all label formats (COCO, YOLO, VOC, CVAT, KITTI, etc.), and multimodal grouped datasets. Use when users want to import any dataset regardless of format, automatically detect folder structure, handle autonomous driving data with multiple cameras and LiDAR, or create grouped datasets from multimodal data. Requires FiftyOne MCP server.
fiftyone-code-style
Write Python code following FiftyOne's official conventions. Use when contributing to FiftyOne, developing plugins, or writing code that integrates with FiftyOne's codebase.
binary-re-triage
Use when first encountering an unknown binary, ELF file, executable, or firmware blob. Fast fingerprinting via rabin2 - architecture detection (ARM, x86, MIPS), ABI identification, dependency mapping, string extraction. Keywords - "what is this binary", "identify architecture", "check file type", "rabin2", "file analysis", "quick scan"