# Build FiftyOne Plugins

FiftyOne plugin work can require many files, APIs, and testing steps. This skill guides agents through planning, code generation, local install, and iteration.

## Install

```bash
npx skillstore add adonaivera/fiftyone-develop-plugin
```

## Metadata

- Status: approved
- Slug: adonaivera-fiftyone-develop-plugin
- Skillstore revision: r1
- Version status: missing
- Tree hash: c597256723d70ead2f134dba14e8bba5aa9da9e7064d79c81b51dcc3a3d6635e
- Author: AdonaiVera
- GitHub username: AdonaiVera
- License: MIT
- Repository: https://github.com/AdonaiVera/fiftyone-skills/tree/main/develop-plugin/skills/fiftyone-develop-plugin
- Ref: 26421118b848d9f1efc0aa169d8a7a9e7e0a877e
- Supported tools: Claude, Codex, Claude Code
- Audit status: complete
- Agent install advisory: allowed
- Manual install advisory: allowed
- Artifact signature: available
- Audit attestation: unavailable
- Human verification: not\_verified
- Risk factors: external\_commands, network, filesystem, env\_access
- Quality score: 79
- Quality tier: bronze
- Public page: https://skillstore.pages.dev/skills/adonaivera-fiftyone-develop-plugin
- Manifest: https://skillstore.pages.dev/api/skills/adonaivera-fiftyone-develop-plugin/manifest

## Capabilities

- Guides requirements gathering for custom FiftyOne plugins.
- Plans plugin file structure and manifest fields.
- Explains Python operator patterns, inputs, outputs, and placements.
- Explains Python panel layout, state, data, and event handlers.
- Explains JavaScript panel setup with React and build commands.
- Provides local install and testing steps for the FiftyOne App.

## Use Cases

- Create A Dataset Operator: Build a Python operator that processes samples, collects user inputs, and reports progress in the FiftyOne App.
- Design An Analysis Panel: Create a panel that displays dataset statistics, controls, charts, and stateful interactions for repeated review work.
- Prototype A React Panel: Set up a JavaScript panel with React components, registration, build scripts, and local testing steps.

## Prompt Templates

### Start A Simple Operator

```
Create a minimal FiftyOne operator that shows one text input and returns a success message. Ask setup questions before coding.
```

### Plan A Statistics Panel

```
Design a FiftyOne panel for dataset statistics. Include the file structure, manifest fields, and a short test plan before coding.
```

### Build A Label Exporter

```
Build a FiftyOne operator that exports selected labels to a user chosen file. Validate inputs and avoid overwriting files without confirmation.
```

### Create A React Panel

```
Create a JavaScript FiftyOne panel with React controls for searching and selecting samples. Include build steps, registration, and local testing guidance.
```

## Limitations

- Generated plugins still need user review before running locally.
- External API integrations require user supplied endpoints and credentials.
- JavaScript panels require Node.js and the FiftyOne JavaScript tooling.
- The skill does not guarantee compatibility with every FiftyOne release.

## Best Practices

- Approve the plugin plan before generating files or running install commands.
- Keep secrets in FiftyOne secret configuration and never hardcode credential values.
- Test operators and panels on a small dataset before using production data.

## Anti Patterns

- Do not copy plugins into the local plugins directory without user approval.
- Do not call external APIs with dataset metadata before reviewing privacy impact.
- Do not overwrite export files unless the user confirms the destination.

## Security Audit

- Audited at: 2026-07-09T14:32:40.539\+00:00
- Summary: No malicious intent or prompt injection was found. The static findings are documentation examples for FiftyOne plugin development, including expected local plugin installation, placeholder API usage, and reference links.

## Stats

- Views: 324
- Downloads: 12
- Favorites: 0
- Popularity score: 0
