Not in the top 1,000 by GitHub stars
comet-ml/opik-mcp
Model Context Protocol (MCP) server for Opik, the open-source LLM observability and evaluation platform, built by Comet. Read traces, log scores, and manage prompts from Claude Code, Cursor, or VS Code.
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
plugins/opik/skills/opik/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
9f66464c5fb5 → 9f66464c5fb5
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 9f66464c5fb5
No earlier version was observed for comparison.
plugins/opik/skills/opik-annotate/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
9f66464c5fb5 → 9f66464c5fb5
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 9f66464c5fb5
No earlier version was observed for comparison.
plugins/opik/skills/opik-compare/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
9f66464c5fb5 → 9f66464c5fb5
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 9f66464c5fb5
No earlier version was observed for comparison.
plugins/opik/skills/opik-diagnose/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
9f66464c5fb5 → 9f66464c5fb5
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 9f66464c5fb5
No earlier version was observed for comparison.
plugins/opik/skills/opik-evaluate/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
9f66464c5fb5 → 9f66464c5fb5
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 9f66464c5fb5
No earlier version was observed for comparison.
plugins/opik/skills/opik-explain/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
9f66464c5fb5 → 9f66464c5fb5
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 9f66464c5fb5
No earlier version was observed for comparison.
plugins/opik/skills/opik-instrument/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
9f66464c5fb5 → 9f66464c5fb5
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 9f66464c5fb5
No earlier version was observed for comparison.
plugins/opik/skills/opik-online-eval/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
9f66464c5fb5 → 9f66464c5fb5
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 9f66464c5fb5
No earlier version was observed for comparison.
plugins/opik/skills/opik-optimize/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
9f66464c5fb5 → 9f66464c5fb5
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 9f66464c5fb5
No earlier version was observed for comparison.
plugins/opik/skills/opik-test/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
9f66464c5fb5 → 9f66464c5fb5
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 9f66464c5fb5
No earlier version was observed for comparison.
plugins/opik/skills/opik-verify/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
9f66464c5fb5 → 9f66464c5fb5
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 9f66464c5fb5
No earlier version was observed for comparison.
Verified commit 9f66464c5fb5f58f70f277f48cbccdb93025bfdd
git clone --filter=blob:none --no-checkout https://github.com/comet-ml/opik-mcp.git .hotskills/comet-ml-opik-mcp && git -C .hotskills/comet-ml-opik-mcp checkout --detach 9f66464c5fb5f58f70f277f48cbccdb93025bfdd
# Copy each selected skill directory from .hotskills/comet-ml-opik-mcp into .claude/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/comet-ml/opik-mcp.git .hotskills/comet-ml-opik-mcp && git -C .hotskills/comet-ml-opik-mcp checkout --detach 9f66464c5fb5f58f70f277f48cbccdb93025bfdd
# Copy each selected skill directory from .hotskills/comet-ml-opik-mcp into .agents/skills/<skill-name>/Heat
1.8- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- opik
plugins/opik/skills/opik - opik-annotate
plugins/opik/skills/opik-annotate - opik-compare
plugins/opik/skills/opik-compare - opik-diagnose
plugins/opik/skills/opik-diagnose - opik-evaluate
plugins/opik/skills/opik-evaluate - opik-explain
plugins/opik/skills/opik-explain - opik-instrument
plugins/opik/skills/opik-instrument - opik-online-eval
plugins/opik/skills/opik-online-eval - opik-optimize
plugins/opik/skills/opik-optimize - opik-test
plugins/opik/skills/opik-test - opik-verify
plugins/opik/skills/opik-verify
How it works
opik
When your agent uses it
Reference for the Opik SDK — tracing, span types, framework integrations, threads, and the prompt library (Python, TypeScript, REST). Use for "what span types exist", "how do I flush", "track_openai", "add OpikTracer", "version a prompt". To instrument a repo end to end, use the `opik-instrument` skill.
What it loads into context
Frontmatter
242 tokensAlways available to the agent
SKILL.md
2,304 tokensWhen the skill is activated
Reference documents
32,063 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Core concepts
- Python — tracing
- TypeScript — tracing
- Framework integrations
- Threads (conversations)
- Prompt library
- How a project is doing
- Searching traces
- Anti-patterns
- References
Files
../../../../.claude-plugin/marketplace.jsonasset444 bytes../../.claude-plugin/plugin.jsonasset953 bytesSKILL.mdcore8,908 bytesSKILL.mdcore8,908 bytesSKILL.mdcore8,908 bytesSKILL.mdcore8,908 bytesSKILL.mdcore8,908 bytesSKILL.mdcore8,908 bytesSKILL.mdcore8,908 bytesSKILL.mdcore8,908 bytesreferences/agent-patterns.mddoc17,188 bytesreferences/best-practices.mddoc4,913 bytesreferences/evaluation-datasets.mddoc17,281 bytesreferences/evaluation-test-suites.mddoc17,230 bytesreferences/integrations.mddoc15,368 bytesreferences/observability.mddoc2,446 bytesreferences/production.mddoc11,543 bytesreferences/tracing-python.mddoc23,416 bytesreferences/tracing-rest-api.mddoc9,568 bytesreferences/tracing-typescript.mddoc11,180 bytes
Read SKILL.md
# Opik SDK Reference
Opik is an open-source LLM observability platform. This skill is a **reference**
for the SDK. To instrument a codebase step by step (detect frameworks, add
config, emit and verify a trace), use the task-shaped `opik-instrument` skill.
## Core concepts
A trace is one execution path (one request → one response). Spans are the
operations inside it and form a hierarchy.
### Span types — the ONLY valid values
| Type | Use for |View the complete source on GitHubopik-annotate
When your agent uses it
Set up human review in Opik — create an annotation queue for a project's traces or threads and give it a custom annotator view, an HTML page that shows annotators each item the way they need to judge it (the email beside the reply, the conversation as chat bubbles) instead of raw JSON. Writes through the Opik MCP when connected, the Opik SDK otherwise. Returns the queue, its link, and what annotators will see. Use for "build a custom annotator view", "set up an annotation queue", "make the review queue show the email and the reply side by side", "change what annotators see", "remove the custom view". Not for automatic scoring (use online-eval) or for finding which traces to review (use diagnose).
What it loads into context
Frontmatter
335 tokensAlways available to the agent
SKILL.md
2,584 tokensWhen the skill is activated
Reference documents
2,724 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Inputs
- Activation — the only in-scope work
- Blockers
- Output
- Example (thread queue)
- Anti-patterns
- References
Files
SKILL.mdcore10,358 bytesSKILL.mdcore10,358 bytesSKILL.mdcore10,358 bytesreferences/kit-v1.mddoc7,909 bytes../opik/references/observability.mddoc2,446 bytes
Read SKILL.md
# Annotate — A Review Queue Annotators Can Read
**Definition of done:** the **queue exists with the view saved, and the user knows where to check it** — the write returned without a `warning`, and the answer carries the queue's link. A view is built from the project's **real** traces or threads, never from a guessed shape. If the queue or the view can't be saved, stop at the **first** genuine blocker and return **exactly one** next step.
Operate: **look at real items first, cover every shape you saw, show text not JSON, keep scoring in Opik's own panel.** This skill writes to Opik only and changes no application code.
## Inputs
`/opik-annotate <what annotators judge>` ("the drafted reply", "whether the agent solved the ticket"), `/opik-annotate <queue name or id>` (change that queue's view), or a request to remove a view. Infer the rest; optional overrides: project (default: configured) · scope (default: `trace`; `thread` for whole conversations) · feedback definitions (default: the queue's own).
## Activation — the only in-scope work
### 1. Resolve the project and the queue
With the Opik MCP connected: `list('annotation_queue', project_name=…)` shows the project's queues with their scope and item count; `read('annotation_queue', id_or_name)` returns one with its instructions, feedback definitions and view summary. The view's html is stated by size; `read('annotation_queue', id, fields=['annotator_view.html'])` returns it whole — read it before changing a view, and change only what was asked.View the complete source on GitHubopik-compare
When your agent uses it
Run a candidate against the baseline over an Opik test suite and read the numbers back — which cases broke, which got fixed, the per-metric deltas, worst rows, and whether the two runs are comparable — with the Opik compare-view link. Runs via the SDK; reads results via the MCP when connected. Does not issue a ship/no-ship verdict. Use for "did my fix work", "compare against the baseline", "run the regression suite", "why did quality drop", "which cases regressed", "compare these two experiments". Not for the ship/hold decision itself (use verify), live production triage (use diagnose), building an evaluation from scratch (use evaluate), or capturing a single case (use test).
What it loads into context
Frontmatter
312 tokensAlways available to the agent
SKILL.md
2,555 tokensWhen the skill is activated
Reference documents
12,127 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Inputs
- Activation — the only in-scope work
- Blockers
- Output
- Examples
- Anti-patterns
- References
Files
SKILL.mdcore10,663 bytesSKILL.mdcore10,663 bytesSKILL.mdcore10,663 bytesreferences/examples.mddoc1,242 bytesreferences/output-shape.mddoc936 bytesreferences/sdk-snippets.mddoc2,434 bytes../opik/references/evaluation-datasets.mddoc17,281 bytes../opik/references/evaluation-test-suites.mddoc17,230 bytes../opik/references/production.mddoc11,543 bytes
Read SKILL.md
# Compare — Candidate vs Baseline Over a Suite
**Definition of done:** two experiments on the same suite — a **baseline** and a **candidate** — read back item by item, with the **per-metric deltas**, the cases that went **pass → fail** (regressions) and **fail → pass** (fixes), the worst rows, a note on whether the runs are comparable, and the **Opik compare-view link**. If only one run exists, the done state is "baseline created — rerun after the change". If the suite can't be run or read, stop at the **first** genuine blocker and return **exactly one** next step. Aggregate scores alone are not a comparison; a verdict is not this skill's job.
Operate: **run the candidate the same way the baseline was run, read both back from Opik rather than from the run's console output, name the specific cases that changed — and change no application code.** The only file this skill writes is a throwaway runner outside the repo.
## Inputs
The entry point is `/opik-compare <suite>` (run the suite now as the candidate, compare against the latest prior run), `/opik-compare <experiment-A> <experiment-B>` (read two existing runs, no new run), or `/opik-compare` right after `/opik-test` (that suite). Infer the rest; treat these as **optional overrides**:
- suite (default: `<project>-regressions`, or the one `/opik-test` just wrote to) · baseline (default: the most recent earlier experiment on the suite) · candidate name (default: `candidate-<short git sha>`) · judge model for assertions (default: the suite's / the baseline's) · runs per item (default: the suite's policy).
Ask only at a genuine, non-inferable blocker (see **Blockers**).
View the complete source on GitHubopik-diagnose
When your agent uses it
Surface the Opik traces worth a developer's attention, ranked by signal — Diagnostics issues first, then errors, failed tool calls, latency, regressions, and low online-eval scores. With the Opik MCP connected it lists the project's agent_insights_issue entities, offers to turn Diagnostics on when the project has it switched off, then fills the gaps with list (filters, sort, a time window); without the MCP it reads the same via the SDK (agent_insights and search_traces), so it works with no MCP. Returns a ranked shortlist, each item ready to hand to the explain skill. Use for "what is broken in production", "which traces need attention", "find failing or slow traces", "which tool calls are failing", "triage my agent". Not for offline experiment results (use evaluate or compare) and not for root-causing one trace (use explain).
What it loads into context
Frontmatter
330 tokensAlways available to the agent
SKILL.md
2,641 tokensWhen the skill is activated
Reference documents
13,224 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Inputs
- Activation — the only in-scope work
- Blockers
- Output
- Examples
- Anti-patterns
- References
Files
SKILL.mdcore11,057 bytesSKILL.mdcore11,057 bytesreferences/diagnostics-list.mddoc3,515 bytesreferences/examples.mddoc1,442 bytesreferences/output-shape.mddoc798 bytesreferences/trace-queries.mddoc1,555 bytes../opik/SKILL.mddoc8,908 bytes../opik/references/observability.mddoc2,446 bytes../opik/references/production.mddoc11,543 bytes../opik/references/tracing-python.mddoc23,416 bytes
Read SKILL.md
# Diagnose — Surface the Traces Worth Attention
**Definition of done:** a **ranked shortlist** of the online/production traces (and Diagnostics issues) worth attention, each carrying the **signal that flagged it** and its **trace id**, scoped to a project and a recent window, and ready to hand to `/opik-explain`. "Worth attention" means errored, slow, regressed, or low online-eval score — not a dump of every trace, and never offline experiment results. If the project can't be read, stop at the first genuine blocker and return one next step.
Operate: **rank by real signal over live data, surface the few things worth a look, hand the top one to `/opik-explain` — and change no code.** This skill is read-only by design.
## Inputs
The entry point is `/opik-diagnose` (the current project), `/opik-diagnose <project>`, or `/opik-diagnose <what to look for>` (e.g. "slow traces", "errors today"). Infer the rest; treat these as **optional overrides**:
- project (default: inferred from config/repo) · window (default: recent) · signal focus (default: all — errors, latency, regressions, low scores) · shortlist size (default: a handful).
Ask only at a genuine, non-inferable blocker (see **Blockers**).
View the complete source on GitHubopik-evaluate
When your agent uses it
Build an LLM evaluation and run it against the app, returning an Opik experiment with scores and its link. Picks a test suite with judge assertions or a dataset with metrics, sources cases from traces or synthetic data, scores heuristics-first then one-failure-mode judges, runs client-side via the SDK or server-side for prompt-only targets, and reads the scores back. Covers RAG evaluation, error analysis, writing and validating LLM judges against human labels, and auditing an existing eval pipeline. Use for "evaluate my agent", "measure quality", "build an eval", "write an LLM judge for hallucinations", "audit our evaluation pipeline", "how good is my RAG", "set up evals for this". Not for before/after on an existing suite (use compare), one regression case (use test), scoring production traffic (use online-eval), or the ship/hold decision (use verify).
What it loads into context
Frontmatter
338 tokensAlways available to the agent
SKILL.md
2,424 tokensWhen the skill is activated
Reference documents
21,309 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Inputs
- Activation — the only in-scope work
- Blockers
- Output
- Examples
- Key principles
- Anti-patterns
- References
Files
SKILL.mdcore10,141 bytesreferences/error-analysis.mddoc8,119 bytesreferences/eval-audit.mddoc8,815 bytesreferences/evaluate-rag.mddoc4,675 bytesreferences/examples.mddoc1,178 bytesreferences/generate-synthetic-data.mddoc5,618 bytesreferences/output-shape.mddoc764 bytesreferences/sdk-snippets.mddoc1,514 bytesreferences/validate-evaluator.mddoc7,949 bytesreferences/write-judge-prompt.mddoc7,812 bytes../opik/references/evaluation-datasets.mddoc17,281 bytes../opik/references/evaluation-test-suites.mddoc17,230 bytes../opik/references/production.mddoc11,543 bytes
Read SKILL.md
# Evaluate — Build an Evaluation and Run It
**Definition of done:** an **experiment in Opik with scores**, its **link**, and a **score summary** the user can act on — produced by running the user's app (or prompt) over a set of cases with scoring that targets real failure modes. If the evaluation can't be built or run, stop at the **first** genuine blocker and return **exactly one** next step. A dataset with no run, a judge prompt with no scores, or a plan in prose is not success.
Operate: **ground the cases in what actually goes wrong, score with code before judges, judge one failure mode at a time, run once end to end, read the scores back from Opik — and change no application code.** The only file this skill writes is a runner outside the repo.
## Inputs
The entry point is `/opik-evaluate` (evaluate the app in this repo), `/opik-evaluate <what>` ("the RAG answers", "the refund flow"), or `/opik-evaluate <dataset-or-suite>` (run against existing cases). Infer the rest; treat these as **optional overrides**:
- cases source (default: existing suite/dataset → recent traces → synthetic) · scoring (default: heuristics where an expected output exists, else one judge per failure mode) · approach (default: **test suite** for agents; **dataset + `evaluate()`** when you need built-in metrics or exact matching) · judge model · sample size (default: 20–50 items).
Ask only at a genuine, non-inferable blocker (see **Blockers**).
View the complete source on GitHubopik-explain
When your agent uses it
Root-cause a specific Opik trace, or a pattern across traces, and return a grounded explanation. Uses the hosted Opik MCP when it is connected, and falls back to SDK scripting otherwise. Returns the root cause, the evidence spans as clickable Opik UI links, and one suggested next step. Use for "why did this trace fail", "explain this trace", "debug this trace", "why is my agent slow or wrong". Not for adding tracing to an app (use the instrument skill) or for changing code.
What it loads into context
Frontmatter
256 tokensAlways available to the agent
SKILL.md
2,416 tokensWhen the skill is activated
Reference documents
11,363 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Inputs
- Activation — the only in-scope work
- Blockers
- Output
- Examples
- Anti-patterns
- References
Files
SKILL.mdcore9,704 bytesSKILL.mdcore9,704 bytesSKILL.mdcore9,704 bytes../opik/SKILL.mddoc8,908 bytes../opik/references/observability.mddoc2,446 bytes../opik/references/production.mddoc11,543 bytes../opik/references/tracing-python.mddoc23,416 bytes
Read SKILL.md
# Explain — Root-Cause an Opik Trace and Ground It in the Code
**Definition of done:** a grounded root cause for the requested trace (or pattern), tied to **specific evidence spans** and paired with **exactly one** suggested next step. "Grounded" means the explanation names the failing/anomalous span and connects it to the code or data that produced it — not a restatement of the trace. If the target can't be fetched or read, stop at the **first** genuine blocker and return one concrete next step. A trace dump is not an explanation.
Operate: **investigate over the real trace data, reason against the repo, commit to a single most-likely root cause with its evidence — and change no code.** This skill is read-only by design.
## Inputs
The entry point is `/opik-explain <trace-id>` (one trace) or `/opik-explain <describe the behavior>` (a pattern to find and explain). Infer the rest; treat these as **optional overrides**:
- project name (default: inferred from config/repo) · time window for a pattern (default: recent) · a known-good trace to compare against.
Ask only at a genuine, non-inferable blocker (see **Blockers**).
View the complete source on GitHubopik-instrument
When your agent uses it
Add Opik tracing to an existing app and verify a real trace lands. Installs the Opik package, detects the language and LLM framework, adds the minimum tracing, runs a safe representative path, confirms a trace in Opik, and returns the trace link. Use for "instrument my code", "add opik tracing", "add observability", "trace my agent". Not for building a new app from scratch, or a review-only pass with no code changes.
What it loads into context
Frontmatter
237 tokensAlways available to the agent
SKILL.md
2,630 tokensWhen the skill is activated
Reference documents
14,002 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Inputs
- Activation — the only in-scope work
- Blockers
- Expansion — after the trace lands (one offer, not a funnel)
- Output
- Examples
- Anti-patterns
- References
Files
SKILL.mdcore10,990 bytesSKILL.mdcore10,990 bytesreferences/examples.mddoc1,017 bytesreferences/output-shape.mddoc703 bytesreferences/verify-ingestion.mddoc1,585 bytes../opik/references/integrations.mddoc15,368 bytes../opik/references/observability.mddoc2,446 bytes../opik/references/tracing-python.mddoc23,416 bytes../opik/references/tracing-typescript.mddoc11,180 bytes
Read SKILL.md
# Instrument — Add Opik Tracing and Verify a Real Trace
**Definition of done:** a representative, safely-executed path produces a trace that is confirmed in Opik and a direct trace link is returned. If verification can't be completed safely or autonomously, stop at the **first** genuine blocker and return **exactly one** concrete next step. Code edits alone are not success.
Operate: **opinionated in execution, conservative in code changes, automatic in routine decisions, uncompromising about verifying value — but never by running something unsafe.**
## Inputs
The entry point is just `/opik-instrument` (optionally `/opik-instrument <path>`). Infer everything else; treat these only as **optional overrides** the user may pass, never as required setup:
- target path (default: project root) · project name (default: inferred from the repo) · run command (default: an inferred safe path) · `migrate_prompts` (default: **false**).
Never turn inference into a questionnaire. Ask only when you hit a genuine, non-inferable blocker (see **Blockers**).
View the complete source on GitHubopik-online-eval
When your agent uses it
Take a judge live on production traffic — create an Opik online evaluation rule (LLM-as-judge or Python metric) on a project with sampling, filters, variable mapping, and a cost cap, then confirm new traces are being scored. Works over the SDK's REST client; reads rules and score names via the MCP when connected. Returns the rule, the score name it emits, and how to watch it. Use for "score production traces", "monitor hallucinations in prod", "take this judge live", "set up an online evaluation rule", "alert me when quality drops". Not for offline experiments (use evaluate or compare) or for finding what is already broken (use diagnose).
What it loads into context
Frontmatter
286 tokensAlways available to the agent
SKILL.md
2,959 tokensWhen the skill is activated
Reference documents
10,997 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Inputs
- Activation — the only in-scope work
- Blockers
- Output
- Examples
- Anti-patterns
- References
Files
../opik-evaluate/references/validate-evaluator.mddoc7,949 bytes../opik-evaluate/references/write-judge-prompt.mddoc7,812 bytesSKILL.mdcore12,016 bytesSKILL.mdcore12,016 bytesSKILL.mdcore12,016 bytesSKILL.mdcore12,016 bytesSKILL.mdcore12,016 bytes../opik/references/evaluation-datasets.mddoc17,281 bytes../opik/references/observability.mddoc2,446 bytes../opik/references/production.mddoc11,543 bytes
Read SKILL.md
# Online Eval — Take a Judge Live
**Definition of done:** an **online evaluation rule exists on the project, is enabled, and has scored at least one new trace** — confirmed by reading a fresh trace's feedback score, not by the create call returning. The rule scores one failure mode, samples at a rate the project's volume can afford, carries a cost cap, and maps its variables to the fields the traces actually have. If traffic hasn't arrived yet, the done state is "rule live, unverified — watch this filter". If the rule can't be created, stop at the **first** genuine blocker and return **exactly one** next step.
Operate: **one failure mode per rule, sample before you scale, cap the spend, verify on a real trace — and change no application code.** This skill writes to Opik only.
## Inputs
The entry point is `/opik-online-eval <what to score>` ("hallucinations", "the refund-window answer", "refusals"), `/opik-online-eval` right after `/opik-evaluate` validated a judge (take that judge live), or `/opik-online-eval <project>`. Infer the rest; treat these as **optional overrides**:
- project (default: configured) · scope (default: **trace**; `span` for one model call, `thread` for whole conversations) · sampling rate (default: 1.0 under ~1k traces/day, else 0.1–0.2) · filters (default: none; typical: an `environment` or tag filter) · judge model · cost cap (default: set one) · variable mapping (default: `input → input`, `output → output`).
Ask only at a genuine, non-inferable blocker (see **Blockers**).
View the complete source on GitHubopik-optimize
When your agent uses it
Improve a prompt with the Opik Agent Optimizer — resolve the prompt, a dataset, and a metric, pick the algorithm, run a bounded optimization, check the gain on held-out data, and save the winner as a new prompt version with the optimization run link. Runs via the opik-optimizer package; reads prompts and datasets via the MCP when connected. Use for "optimize this prompt", "improve my system prompt", "make the agent answer better", "tune the prompt against my dataset", "run the prompt optimizer". Not for measuring quality once (use evaluate), before/after on a suite (use compare), or hand-editing a prompt without data.
What it loads into context
Frontmatter
295 tokensAlways available to the agent
SKILL.md
2,478 tokensWhen the skill is activated
Reference documents
15,669 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Inputs
- Activation — the only in-scope work
- Blockers
- Output
- Examples
- Anti-patterns
- References
Files
../opik-evaluate/references/validate-evaluator.mddoc7,949 bytes../opik-evaluate/references/write-judge-prompt.mddoc7,812 bytesSKILL.mdcore10,492 bytesreferences/examples.mddoc971 bytesreferences/output-shape.mddoc928 bytesreferences/sdk-snippets.mddoc1,170 bytes../opik/references/best-practices.mddoc4,913 bytes../opik/references/evaluation-datasets.mddoc17,281 bytes../opik/references/tracing-python.mddoc23,416 bytes
Read SKILL.md
# Optimize — Improve a Prompt Against Data
**Definition of done:** an **optimized prompt** whose score on the metric **beats the baseline on data it was not tuned on**, the **optimization run link** in Opik, the cost of getting there, and the winner **saved as a new prompt version** (when the prompt lives in the library) — with the swap into code left as the next step. If the optimization can't run within a stated budget, stop at the **first** genuine blocker and return **exactly one** next step. A prompt that scores higher only on its own training items is not an improvement.
Operate: **measure the baseline first, state the budget before spending it, hold data out, pick the algorithm for the failure you see, save the winner where it can be versioned — and change no application code.** The only file this skill writes is a runner outside the repo; the prompt is saved to Opik, not into the codebase.
## Inputs
The entry point is `/opik-optimize <prompt-name>` (a prompt-library prompt), `/opik-optimize <path or function>` (a prompt in code), or `/opik-optimize` (find the system prompt in this repo). Infer the rest; treat these as **optional overrides**:
- dataset (default: existing dataset for the project → export the regression suite → build from traces) · metric (default: heuristic on `expected_output` if present, else one binary judge) · algorithm (default: `MetaPromptOptimizer`) · budget (default: `n_samples=50`, `max_trials=10`) · model · validation split (default: hold out 20%).
Ask only at a genuine, non-inferable blocker (see **Blockers**).
View the complete source on GitHubopik-test
When your agent uses it
Turn a failing Opik trace (or a described failure) into a repeatable regression check — a test-suite item with the trace's input and one or two binary assertions — so a fix can be verified by the compare skill. Works over the SDK; uses the MCP write tool when connected. Returns the suite, the item, and the assertion. Use for "turn this into a test", "add a regression case for this trace", "make sure this doesn't happen again", "capture this failure", "add this to the test suite". Not for running the suite (use compare), building an evaluation from scratch (use evaluate), or explaining why the trace failed (use explain).
What it loads into context
Frontmatter
292 tokensAlways available to the agent
SKILL.md
2,705 tokensWhen the skill is activated
Reference documents
12,591 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Inputs
- Activation — the only in-scope work
- Blockers
- Output
- Examples
- Anti-patterns
- References
Files
../opik-evaluate/references/write-judge-prompt.mddoc7,812 bytesSKILL.mdcore11,195 bytesSKILL.mdcore11,195 bytesSKILL.mdcore11,195 bytesSKILL.mdcore11,195 bytes../opik/references/evaluation-datasets.mddoc17,281 bytes../opik/references/evaluation-test-suites.mddoc17,230 bytes../opik/references/production.mddoc11,543 bytes
Read SKILL.md
# Test — Capture a Failing Case as a Repeatable Check
**Definition of done:** one test-suite item exists in Opik that reproduces the failure — its `data` carries the failing input (and the expected output when one is known), and it has **one or two binary assertions** that would have failed on the bad trace and pass on a correct one. The item is in a named suite scoped to the project, is confirmed by reading it back, and is ready for `/opik-compare` to run. If the case can't be captured, stop at the **first** genuine blocker and return **exactly one** next step. Writing a pytest file, or describing a test in prose, is not success.
Operate: **extract the case from real trace data, write assertions a judge can decide with a yes or no, store them where `/opik-compare` will find them — and change no application code.** This skill writes to Opik, never to the repo.
## Inputs
The entry point is `/opik-test <trace-id>` (capture that trace), `/opik-test <describe the failure>` (find the trace, or capture from the description alone), or `/opik-test` right after `/opik-explain` (capture the trace it just explained). Infer the rest; treat these as **optional overrides**:
- suite name (default: `<project>-regressions`) · project (default: the trace's project, else the configured one) · expected output (default: none — assertions carry the expectation) · execution policy (default: the suite's; `runs_per_item: 3, pass_threshold: 2` only for an intermittent failure).
Ask only at a genuine, non-inferable blocker (see **Blockers**).
View the complete source on GitHubopik-verify
When your agent uses it
Decide ship or hold for a candidate from the compare skill's numbers, against an explicit release policy — regressions, pass rate, safety-tagged cases, subgroup consistency, latency and cost budgets, flakiness, evidence size, and whether the judge is validated. Reads two experiments on an Opik test suite via the SDK (or the MCP when connected) and returns a verdict with every criterion shown pass/fail. Use for "is this safe to ship", "can I merge this", "go/no-go on this change", "gate this release", "should I roll this out". Not for producing the numbers (use compare), building an evaluation (use evaluate), or deploying anything.
What it loads into context
Frontmatter
297 tokensAlways available to the agent
SKILL.md
2,705 tokensWhen the skill is activated
Reference documents
14,418 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Inputs
- The policy
- Activation — the only in-scope work
- Blockers
- Output
- Examples
- Anti-patterns
- References
Files
../opik-compare/SKILL.mddoc10,663 bytes../opik-evaluate/references/validate-evaluator.mddoc7,949 bytesSKILL.mdcore11,145 bytesSKILL.mdcore11,145 bytesreferences/examples.mddoc1,289 bytesreferences/output-shape.mddoc1,368 bytesreferences/policy.mddoc1,158 bytesreferences/sdk-reads.mddoc1,795 bytes../opik/references/evaluation-datasets.mddoc17,281 bytes../opik/references/evaluation-test-suites.mddoc17,230 bytes
Read SKILL.md
# Verify — Ship or Hold, Against a Policy You Can Read
**Definition of done:** one verdict — **`ship`**, **`hold`**, **`needs_review`**, or **`insufficient_evidence`** — computed from a **declared policy** over the baseline-vs-candidate numbers, with **every criterion listed with its threshold, the observed value, and pass/fail**, the cases behind any failure named, and the compare-view link. The policy is either the repo's `opik-release-policy.yaml` or the documented defaults, and the report says which. If the two runs can't be read or aren't comparable, stop at the **first** genuine blocker and return **exactly one** next step. "Looks good to me" is not a verdict; a verdict without its criteria is not one either.
Operate: **apply the policy mechanically, show your arithmetic, refuse to ship on a judge nobody validated, and change no application code.** The only file this skill may write is the policy file, and only when the user says so. It never deploys.
## Inputs
The entry point is `/opik-verify` right after `/opik-compare` (its baseline and candidate), `/opik-verify <suite>` (the two most recent runs on the suite), or `/opik-verify <baseline-id> <candidate-id>`. Infer the rest; treat these as **optional overrides**:
- policy (default: `opik-release-policy.yaml` at the repo root or under `.opik/`, else the defaults below) · which experiments (default: as above) · `--record` (default: off — write the verdict into the candidate experiment's config).
Ask only at a genuine, non-inferable blocker (see **Blockers**).
View the complete source on GitHubSkills included
- opik
- opik-annotate
- opik-compare
- opik-diagnose
- opik-evaluate
- opik-explain
- opik-instrument
- opik-online-eval
- opik-optimize
- opik-test
- opik-verify
Repository facts
- License
- Apache-2.0
- Created
- Mar 11, 2025
- Last pushed
- Nov 6, 2026
- Forks
- 37
- Open issues
- 3
- Project activity
- Active
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 6, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 23 notes
plugins/opik/skills/opik/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/opik/skills/opik/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/opik/skills/opik/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/opik/skills/opik/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/opik/skills/opik/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/opik/skills/opik/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/opik/skills/opik/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/opik/skills/opik-annotate/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/opik/skills/opik-annotate/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/opik/skills/opik-compare/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/opik/skills/opik-compare/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/opik/skills/opik-diagnose/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/opik/skills/opik-explain/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/opik/skills/opik-explain/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/opik/skills/opik-instrument/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/opik/skills/opik-online-eval/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/opik/skills/opik-online-eval/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/opik/skills/opik-online-eval/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/opik/skills/opik-online-eval/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/opik/skills/opik-test/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- 11 broad permissionsin 10 files: opik-compare/SKILL.md:1 opik-annotate/SKILL.md:1 opik-diagnose/SKILL.md:1 and 7 more
- No dangerous shell commands
- 134 network referencesin 16 files: opik/references/integrations.md:246 opik/references/tracing-rest-api.md:9 opik/references/tracing-python.md:427 and 13 more
- No hidden or obfuscated text
- No instruction overrides
- No executable scripts
- 76 references to secretsin 15 files: opik/references/integrations.md:204 opik/references/tracing-python.md:11 opik/references/tracing-rest-api.md:253 and 12 more
- No requests to vote in Hot
Show all 221 signals by file
.claude-plugin/marketplace.json
plugins/opik/.claude-plugin/plugin.json
- Network accessline 5
"author": { "name": "Comet ML", "url": "https://www.comet.com" - Network accessline 6
"name": "Comet ML", "url": "https://www.comet.com" }, - Network accessline 7
"url": "https://www.comet.com" - Network accessline 8
}, "homepage": "https://www.comet.com/docs/opik/", "repository": "https://github.com/comet-ml/opik-mcp", - Network accessline 9
"homepage": "https://www.comet.com/docs/opik/", - Network accessline 10
"repository": "https://github.com/comet-ml/opik-mcp", - Network accessline 11
"license": "Apache-2.0", "keywords": ["opik", "comet", "llm", "observability", "tracing", "evaluation", "mcp", "skills"], "documentationUrl": "https://www.comet.com/docs/opik/mcp-server", - Network accessline 12
"keywords": ["opik", "comet", "llm", "observability", "tracing", "evaluation", "mcp", "skills"], "documentationUrl": "https://www.comet.com/docs/opik/mcp-server", "supportUrl": "https://github.com/comet-ml/opik-mcp/issues", - Network accessline 13
"documentationUrl": "https://www.comet.com/docs/opik/mcp-server", - Network accessline 14
"supportUrl": "https://github.com/comet-ml/opik-mcp/issues", - Network accessline 18
"title": "Opik MCP server URL", "description": "Keep the default for Opik Cloud. For a self-hosted Opik that serves the MCP server, enter its URL, such as https://<host>/opik/api/v1/mcp.", "default": "https://www.comet.com/opik/ - Network accessline 19
"description": "Keep the default for Opik Cloud. For a self-hosted Opik that serves the MCP server, enter its URL, such as https://<host>/opik/api/v1/mcp.", "default": "https://www.comet.com/opik/api/v1/mcp" } - Network accessline 20
"default": "https://www.comet.com/opik/api/v1/mcp"
plugins/opik/skills/opik-annotate/SKILL.md
plugins/opik/skills/opik-compare/SKILL.md
- Broad permissionsline 1
Bash - Broad permissionsline 1
Bash - Access to secretsline 37
[Credential-related source omitted] - Access to secretsline 37
[Credential-related source omitted] - Access to secretsline 91
[Credential-related source omitted] - Access to secretsline 91
[Credential-related source omitted] - Network accessline 112
If the `opik` skill isn't installed, say so in the report and use <https://www.comet.com/docs/opik/> rather than working from memory. - Network accessline 112
If the `opik` skill isn't installed, say so in the report and use <https://www.comet.com/docs/opik/> rather than working from memory.
plugins/opik/skills/opik-diagnose/SKILL.md
plugins/opik/skills/opik-diagnose/references/examples.md
- Access to secretsline 14
[Credential-related source omitted]
plugins/opik/skills/opik-evaluate/SKILL.md
- Broad permissionsline 1
Bash - Access to secretsline 34
[Credential-related source omitted] - Access to secretsline 79
[Credential-related source omitted] - Network accessline 109
If the `opik` skill isn't installed, say so in the report and use <https://www.comet.com/docs/opik/> rather than working from memory.
plugins/opik/skills/opik-explain/SKILL.md
plugins/opik/skills/opik-instrument/SKILL.md
- Broad permissionsline 1
Bash - Access to secretsline 35
[Credential-related source omitted] - Network accessline 50
Full list: read `../opik/references/integrations.md` (the `opik` skill, installed beside this one). If that file isn't there, read <https://www.comet.com/docs/opik/integrations/overview> — never settle for manual spans on a framework that h - Access to secretsline 69
[Credential-related source omitted] - Access to secretsline 97
[Credential-related source omitted] - Network accessline 125
If the `opik` skill isn't installed, say so in the report and use <https://www.comet.com/docs/opik/> rather than working from memory.
plugins/opik/skills/opik-instrument/references/examples.md
- Access to secretsline 10
[Credential-related source omitted]
plugins/opik/skills/opik-online-eval/SKILL.md
plugins/opik/skills/opik-optimize/SKILL.md
- Broad permissionsline 1
Bash - Access to secretsline 80
[Credential-related source omitted] - Network accessline 100
Optimizer API (`opik-optimizer`): <https://www.comet.com/docs/opik/agent_optimization/overview>. If the `opik` skill isn't installed, say so in the report and use <https://www.comet.com/docs/opik/> rather than working from memory.
plugins/opik/skills/opik-test/SKILL.md
- Broad permissionsline 1
Bash - Access to secretsline 35
[Credential-related source omitted] - Access to secretsline 131
[Credential-related source omitted] - Network accessline 140
If the `opik` skill isn't installed, say so in the report and use <https://www.comet.com/docs/opik/> rather than working from memory.
plugins/opik/skills/opik-verify/SKILL.md
plugins/opik/skills/opik/references/evaluation-test-suites.md
- Access to secretsline 518
[Credential-related source omitted] - Access to secretsline 518
[Credential-related source omitted] - Access to secretsline 518
[Credential-related source omitted] - Access to secretsline 518
[Credential-related source omitted] - Access to secretsline 518
[Credential-related source omitted]
plugins/opik/skills/opik/references/integrations.md
- Access to secretsline 204
[Credential-related source omitted] - Access to secretsline 204
[Credential-related source omitted] - Network accessline 246
[Credential-related source omitted] - Network accessline 246
[Credential-related source omitted] - Access to secretsline 246
[Credential-related source omitted] - Access to secretsline 246
[Credential-related source omitted] - Network accessline 247
[Credential-related source omitted] - Network accessline 247
[Credential-related source omitted] - Network accessline 248
[Credential-related source omitted] - Network accessline 248
[Credential-related source omitted] - Access to secretsline 248
[Credential-related source omitted] - Access to secretsline 248
[Credential-related source omitted] - Network accessline 255
[Credential-related source omitted] - Network accessline 255
[Credential-related source omitted] - Network accessline 256
[Credential-related source omitted] - Network accessline 256
[Credential-related source omitted] - Access to secretsline 256
[Credential-related source omitted] - Access to secretsline 256
[Credential-related source omitted] - Network accessline 267
[Credential-related source omitted] - Network accessline 267
[Credential-related source omitted] - Network accessline 268
[Credential-related source omitted] - Network accessline 268
[Credential-related source omitted] - Access to secretsline 268
[Credential-related source omitted] - Access to secretsline 268
[Credential-related source omitted] - Network accessline 275
[Credential-related source omitted] - Network accessline 275
[Credential-related source omitted] - Network accessline 276
[Credential-related source omitted] - Network accessline 276
[Credential-related source omitted] - Network accessline 277
[Credential-related source omitted] - Network accessline 277
[Credential-related source omitted] - Access to secretsline 277
[Credential-related source omitted] - Access to secretsline 277
[Credential-related source omitted] - Network accessline 285
[Credential-related source omitted] - Network accessline 285
[Credential-related source omitted] - Network accessline 286
[Credential-related source omitted] - Network accessline 286
[Credential-related source omitted] - Access to secretsline 286
[Credential-related source omitted] - Access to secretsline 286
[Credential-related source omitted] - Network accessline 293
[Credential-related source omitted] - Network accessline 293
[Credential-related source omitted] - Network accessline 294
[Credential-related source omitted] - Network accessline 294
[Credential-related source omitted] - Access to secretsline 294
[Credential-related source omitted] - Access to secretsline 294
[Credential-related source omitted] - Network accessline 301
[Credential-related source omitted] - Network accessline 301
[Credential-related source omitted] - Network accessline 302
[Credential-related source omitted] - Network accessline 302
[Credential-related source omitted] - Access to secretsline 302
[Credential-related source omitted] - Access to secretsline 302
[Credential-related source omitted] - Network accessline 309
[Credential-related source omitted] - Network accessline 309
[Credential-related source omitted] - Network accessline 310
[Credential-related source omitted] - Network accessline 310
[Credential-related source omitted] - Access to secretsline 310
[Credential-related source omitted] - Access to secretsline 310
[Credential-related source omitted] - Network accessline 317
client = track_openai( OpenAI( base_url="http://localhost:11434/v1", - Network accessline 317
client = track_openai( OpenAI( base_url="http://localhost:11434/v1", - Network accessline 318
[Credential-related source omitted] - Network accessline 318
[Credential-related source omitted] - Network accessline 319
base_url="http://localhost:11434/v1", - Network accessline 319
base_url="http://localhost:11434/v1", - Access to secretsline 320
[Credential-related source omitted] - Access to secretsline 320
[Credential-related source omitted] - Network accessline 405
export OTEL_EXPORTER_OTLP_ENDPOINT="https://www.comet.com/opik/api/v1/private/otel" - Network accessline 405
export OTEL_EXPORTER_OTLP_ENDPOINT="https://www.comet.com/opik/api/v1/private/otel" - Network accessline 524
export: { type: "otlp", endpoint: "https://www.comet.com/opik/api/v1/private/otel", - Network accessline 524
export: { type: "otlp", endpoint: "https://www.comet.com/opik/api/v1/private/otel", - Network accessline 525
type: "otlp", endpoint: "https://www.comet.com/opik/api/v1/private/otel", headers: { - Network accessline 525
type: "otlp", endpoint: "https://www.comet.com/opik/api/v1/private/otel", headers: { - Network accessline 526
endpoint: "https://www.comet.com/opik/api/v1/private/otel", - Network accessline 526
endpoint: "https://www.comet.com/opik/api/v1/private/otel", - Network accessline 635
[Credential-related source omitted] - Network accessline 635
[Credential-related source omitted] - Access to secretsline 635
[Credential-related source omitted] - Access to secretsline 635
[Credential-related source omitted] - Network accessline 636
export OPIK_URL_OVERRIDE="https://www.comet.com/opik/api" - Network accessline 636
export OPIK_URL_OVERRIDE="https://www.comet.com/opik/api"
plugins/opik/skills/opik/references/tracing-python.md
- Access to secretsline 11
[Credential-related source omitted] - Access to secretsline 11
[Credential-related source omitted] - Access to secretsline 11
[Credential-related source omitted] - Access to secretsline 11
[Credential-related source omitted] - Access to secretsline 11
[Credential-related source omitted] - Network accessline 427
response = httpx.post("https://service-b/api/process", json=data, headers=headers) - Network accessline 427
response = httpx.post("https://service-b/api/process", json=data, headers=headers) - Network accessline 427
response = httpx.post("https://service-b/api/process", json=data, headers=headers) - Network accessline 427
response = httpx.post("https://service-b/api/process", json=data, headers=headers) - Network accessline 427
response = httpx.post("https://service-b/api/process", json=data, headers=headers) - Network accessline 670
[Credential-related source omitted] - Network accessline 670
[Credential-related source omitted] - Network accessline 670
[Credential-related source omitted] - Network accessline 670
[Credential-related source omitted] - Network accessline 670
[Credential-related source omitted] - Network accessline 671
[Credential-related source omitted] - Network accessline 671
[Credential-related source omitted] - Network accessline 671
[Credential-related source omitted] - Network accessline 671
[Credential-related source omitted] - Network accessline 671
[Credential-related source omitted] - Access to secretsline 671
[Credential-related source omitted] - Access to secretsline 671
[Credential-related source omitted] - Access to secretsline 671
[Credential-related source omitted] - Access to secretsline 671
[Credential-related source omitted] - Access to secretsline 671
[Credential-related source omitted] - Network accessline 687
[Credential-related source omitted] - Network accessline 687
[Credential-related source omitted] - Network accessline 687
[Credential-related source omitted] - Network accessline 687
[Credential-related source omitted] - Network accessline 687
[Credential-related source omitted] - Access to secretsline 687
[Credential-related source omitted] - Access to secretsline 687
[Credential-related source omitted] - Access to secretsline 687
[Credential-related source omitted] - Access to secretsline 687
[Credential-related source omitted] - Access to secretsline 687
[Credential-related source omitted]
plugins/opik/skills/opik/references/tracing-rest-api.md
- Network accessline 9
http://localhost:5173/api/v1/private/ - Network accessline 14
https://www.comet.com/opik/api/v1/private/ - Network accessline 23
curl -X GET 'http://localhost:5173/api/v1/private/projects' - Network accessline 30
curl -X GET 'https://www.comet.com/opik/api/v1/private/projects' \ - Network accessline 45
curl -X POST 'https://www.comet.com/opik/api/v1/private/traces' \ - Network accessline 81
curl -X PATCH 'https://www.comet.com/opik/api/v1/private/traces/550e8400-e29b-41d4-a716-446655440000' \ - Network accessline 98
curl -X POST 'https://www.comet.com/opik/api/v1/private/spans' \ - Network accessline 137
curl -X POST 'https://www.comet.com/opik/api/v1/private/spans/batch' \ - Network accessline 170
curl -X POST 'https://www.comet.com/opik/api/v1/private/traces/feedback-scores' \ - Network accessline 204
curl -X GET 'https://www.comet.com/opik/api/v1/private/traces/550e8400-e29b-41d4-a716-446655440000' \ - Network accessline 214
curl -X GET 'https://www.comet.com/opik/api/v1/private/traces?project_name=my-project&limit=100' \ - Network accessline 226
curl -X GET 'https://www.comet.com/opik/api/v1/private/projects' \ - Network accessline 236
curl -X POST 'https://www.comet.com/opik/api/v1/private/projects' \ - Network accessline 252
[Credential-related source omitted] - Network accessline 253
[Credential-related source omitted] - Access to secretsline 253
[Credential-related source omitted] - Network accessline 254
BASE_URL="https://www.comet.com/opik/api/v1/private" - Network accessline 259
# Create trace curl -X POST "$BASE_URL/traces" \ - Network accessline 260
[Credential-related source omitted] - Access to secretsline 260
[Credential-related source omitted] - Access to secretsline 263
[Credential-related source omitted] - Network accessline 272
# Create LLM span curl -X POST "$BASE_URL/spans" \ - Network accessline 273
[Credential-related source omitted] - Access to secretsline 273
[Credential-related source omitted] - Access to secretsline 276
[Credential-related source omitted] - Network accessline 291
# Update span with output curl -X PATCH "$BASE_URL/spans/$SPAN_ID" \ - Network accessline 292
[Credential-related source omitted] - Access to secretsline 292
[Credential-related source omitted] - Access to secretsline 295
[Credential-related source omitted] - Network accessline 302
# Update trace with output curl -X PATCH "$BASE_URL/traces/$TRACE_ID" \ - Network accessline 303
[Credential-related source omitted] - Access to secretsline 303
[Credential-related source omitted] - Access to secretsline 306
[Credential-related source omitted] - Network accessline 312
# Add feedback score curl -X POST "$BASE_URL/traces/feedback-scores" \ - Network accessline 313
[Credential-related source omitted] - Access to secretsline 313
[Credential-related source omitted] - Access to secretsline 316
[Credential-related source omitted]
plugins/opik/skills/opik/references/tracing-typescript.md
- Access to secretsline 11
[Credential-related source omitted] - Access to secretsline 11
[Credential-related source omitted] - Network accessline 29
[Credential-related source omitted] - Network accessline 29
[Credential-related source omitted] - Network accessline 30
[Credential-related source omitted] - Network accessline 30
[Credential-related source omitted] - Network accessline 31
apiUrl: "https://www.comet.com/opik/api", - Network accessline 31
apiUrl: "https://www.comet.com/opik/api", - Access to secretsline 131
[Credential-related source omitted] - Access to secretsline 131
[Credential-related source omitted]
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Declared and executed: 10 facts
- Allows Bash without restrictions, though it has no scripts or shell blocksopik-annotate/SKILL.md:5High confidence
- Allows Bash without restrictions, though it has no scripts or shell blocksopik-compare/SKILL.md:5High confidence
- Allows Bash without restrictions, though it has no scripts or shell blocksopik-diagnose/SKILL.md:5High confidence
- Allows Bash without restrictions, though it has no scripts or shell blocksopik-evaluate/SKILL.md:5High confidence
- Allows Bash without restrictions, though it has no scripts or shell blocksopik-explain/SKILL.md:5High confidence
- Allows Bash without restrictions, though it has no scripts or shell blocksopik-instrument/SKILL.md:5High confidence
- Allows Bash without restrictions, though it has no scripts or shell blocksopik-online-eval/SKILL.md:5High confidence
- Allows Bash without restrictions, though it has no scripts or shell blocksopik-optimize/SKILL.md:5High confidence
- Allows Bash without restrictions, though it has no scripts or shell blocksopik-test/SKILL.md:5High confidence
- Allows Bash without restrictions, though it has no scripts or shell blocksopik-verify/SKILL.md:5High confidence
Signal confidence: 205 facts
- Broad permissions in the frontmatter of the SKILL.mdopik-annotate/SKILL.md:1High confidence
- Network access in prose of the SKILL.mdopik-annotate/SKILL.md:125Low confidence
- Broad permissions in the frontmatter of the SKILL.mdopik-compare/SKILL.md:1High confidence
- Broad permissions in the frontmatter of the SKILL.mdplugins/opik/skills/opik-compare/SKILL.md:1High confidence
- Access to secrets in prose of the SKILL.mdopik-compare/SKILL.md:37Low confidence
- Access to secrets in prose of the SKILL.mdplugins/opik/skills/opik-compare/SKILL.md:37Low confidence
- Access to secrets in prose of the SKILL.mdopik-compare/SKILL.md:91Low confidence
- Access to secrets in prose of the SKILL.mdplugins/opik/skills/opik-compare/SKILL.md:91Low confidence
- Network access in prose of the SKILL.mdopik-compare/SKILL.md:112Low confidence
- Network access in prose of the SKILL.mdplugins/opik/skills/opik-compare/SKILL.md:112Low confidence
- Broad permissions in the frontmatter of the SKILL.mdopik-diagnose/SKILL.md:1High confidence
- Access to secrets in prose of the SKILL.md: a variable, placeholder or call, not a stored valueopik-diagnose/SKILL.md:33Low confidence
- Network access in prose of the SKILL.mdopik-diagnose/SKILL.md:129Low confidence
- Access to secrets in prose of documentationopik-diagnose/references/examples.md:14Low confidence
- Broad permissions in the frontmatter of the SKILL.mdopik-evaluate/SKILL.md:1High confidence
- Access to secrets in prose of the SKILL.md: a variable, placeholder or call, not a stored valueopik-evaluate/SKILL.md:34Low confidence
- Access to secrets in prose of the SKILL.mdopik-evaluate/SKILL.md:79Low confidence
- Network access in prose of the SKILL.mdopik-evaluate/SKILL.md:109Low confidence
- Broad permissions in the frontmatter of the SKILL.mdopik-explain/SKILL.md:1High confidence
- Access to secrets in prose of the SKILL.mdopik-explain/SKILL.md:35Low confidence
- Network access in prose of the SKILL.mdopik-explain/SKILL.md:127Low confidence
- Broad permissions in the frontmatter of the SKILL.mdopik-instrument/SKILL.md:1High confidence
- Access to secrets in prose of the SKILL.mdopik-instrument/SKILL.md:35Low confidence
- Network access in prose of the SKILL.mdopik-instrument/SKILL.md:50Low confidence
- Access to secrets in prose of the SKILL.mdopik-instrument/SKILL.md:69Low confidence
- Access to secrets in prose of the SKILL.mdopik-instrument/SKILL.md:97Low confidence
- Network access in prose of the SKILL.mdopik-instrument/SKILL.md:125Low confidence
- Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valueopik-instrument/references/examples.md:10Low confidence
- Broad permissions in the frontmatter of the SKILL.mdopik-online-eval/SKILL.md:1High confidence
- Access to secrets in prose of the SKILL.md: a variable, placeholder or call, not a stored valueopik-online-eval/SKILL.md:33Low confidence
- Network access in prose of the SKILL.mdopik-online-eval/SKILL.md:156Low confidence
- Broad permissions in the frontmatter of the SKILL.mdopik-optimize/SKILL.md:1High confidence
- Access to secrets in prose of the SKILL.mdopik-optimize/SKILL.md:80Low confidence
- Network access in prose of the SKILL.mdopik-optimize/SKILL.md:100Low confidence
- Broad permissions in the frontmatter of the SKILL.mdopik-test/SKILL.md:1High confidence
- Access to secrets in prose of the SKILL.mdopik-test/SKILL.md:35Low confidence
- Access to secrets in prose of the SKILL.mdopik-test/SKILL.md:131Low confidence
- Network access in prose of the SKILL.mdopik-test/SKILL.md:140Low confidence
- Broad permissions in the frontmatter of the SKILL.mdopik-verify/SKILL.md:1High confidence
- Network access in prose of the SKILL.mdopik-verify/SKILL.md:104Low confidence
- Access to secrets in code of documentation: a variable, placeholder or call, not a stored valueopik/references/evaluation-test-suites.md:518Low confidence
- Access to secrets in code of documentation: a variable, placeholder or call, not a stored valueplugins/opik/skills/opik/references/evaluation-test-suites.md:518Low confidence
- Access to secrets in code of documentation: a variable, placeholder or call, not a stored valueplugins/opik/skills/opik/references/evaluation-test-suites.md:518Low confidence
- Access to secrets in code of documentation: a variable, placeholder or call, not a stored valueplugins/opik/skills/opik/references/evaluation-test-suites.md:518Low confidence
- Access to secrets in code of documentation: a variable, placeholder or call, not a stored valueplugins/opik/skills/opik/references/evaluation-test-suites.md:518Low confidence
- Access to secrets in code of documentation: a variable, placeholder or call, not a stored valueopik/references/integrations.md:204Low confidence
- Access to secrets in code of documentation: a variable, placeholder or call, not a stored valueplugins/opik/skills/opik/references/integrations.md:204Low confidence
- Network access in code of documentationopik/references/integrations.md:246Low confidence
- Network access in code of documentationplugins/opik/skills/opik/references/integrations.md:246Low confidence
- Access to secrets in code of documentationopik/references/integrations.md:246Low confidence
and 155 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Native | Manifest AGENTS.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md plugins/opik/skills/opik/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md plugins/opik/skills/opik/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md plugins/opik/skills/opik/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md plugins/opik/skills/opik/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.