local-dev

Instructions for starting, stopping, rebuilding, and checking Opik's local development environment. It includes separate modes for frontend work, backend-only work, and an internal platform setup.

In plain words
What is it for?
Use it to run Opik on a developer machine, restart services, check their status, or choose a faster backend-only setup. It also documents the optional platform mode.
Why use it?
It gives developers consistent commands and local addresses, reducing confusion about which services are running and when a full rebuild is needed.

Skill for Claude CodeCodex

▶ Opik Tutorial | Best Practices for Evaluating AI Agent Conversations w/ Thread-Level Expert Feedback Opik by Comet · about comet-ml/opik · on YouTube →
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/comet-ml/opik/local-dev
Any agent
npx skills add comet-ml/opik --skill local-dev
Clone the repo
git clone --depth 1 https://github.com/comet-ml/opik

Made for: Claude Code, Codex.

Per session 23 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 799 The whole file, excluding the scripts and references it only reads on demand.
Security scan C 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00023 $0.00799
Opus 5 $0.00012 $0.00400
Sonnet 5 $0.00005 $0.00160
Haiku 4.5 $0.00002 $0.00080

Measured 2d ago against content hash 60b225f3ef00, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade C, and why

local-dev scanned grade C with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Recursive force deletehighDestructive command

rm -rf with a variable or a broad path is one typo away from removing the wrong tree.

cd apps/opik-frontend && rm -rf node_modules && npm install
.agents/skills/local-dev/SKILL.md · 94 lines

How it starts

The opening of the file, as written. The whole thing — 94 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Local Development

Quick Start

./scripts/dev-runner.sh --restart   # First time / full rebuild
./scripts/dev-runner.sh --start     # Daily start (no rebuild)
./scripts/dev-runner.sh --stop      # Stop everything
./scripts/dev-runner.sh --verify    # Check status

Modes

Mode Command Frontend Use When
Standard --restart localhost:5174 Frontend work, full-stack
BE-only --be-only-restart localhost:5173 Backend-focused, faster rebuilds
Platform (EM) PLATFORM_ENABLED=true ./scripts/dev-runner.sh --restart localhost:9100 Opik-team only: run Opik connected to the Comet Platform

Platform (EM) mode — Opik-team only

PLATFORM_ENABLED=true runs the Comet EM/Platform stack (comet-backend + comet-react, auto-detected sibling checkouts) alongside Opik behind a single-origin nginx proxy, with Opik in comet mode authenticating/resolving workspaces via comet-backend. Off by default — Standard/BE-only dev is unaffected. comet-backend builds under a detected JDK 17/21; Opik still uses JDK 25.

PLATFORM_ENABLED=true ./scripts/dev-runner.sh --restart   # then also --start/--stop/--verify
# Integrated UI:  http://localhost:9100        (comet-react / Platform)
#                 http://localhost:9100/opik   (Opik, comet mode)

Env vars (COMET_BACKEND_PATH, COMET_REACT_PATH, PLATFORM_JAVA_HOME, PLATFORM_*_PORT) and --platform-build are documented in ./scripts/dev-runner.sh --help.

URLs

Build Commands

./scripts/dev-runner.sh --build-be   # Backend only
./scripts/dev-runner.sh --build-fe   # Frontend only
./scripts/dev-runner.sh --lint-be    # Spotless
./scripts/dev-runner.sh --lint-fe    # ESLint
./scripts/dev-runner.sh --migrate    # DB migrations

Logs

tail -f /tmp/opik-backend.log        # Backend
tail -f /tmp/opik-frontend.log       # Frontend (standard)
docker logs -f opik-frontend-1       # Frontend (BE-only)

Read the full file on GitHub · 94 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 94 lines · 23 tokens per session scan C 60b225f3ef00

Subscribe to this mod's changes

local-dev is a skill published in the GitHub repository comet-ml/opik (21,685 stars, last pushed 2d ago), licensed Apache-2.0. It adds 23 tokens to every session and 799 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it C with 1 finding (recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.