address-pr-comments
Collect unaddressed review comments on this branch's PR, fix or answer each, and reply in the thread.
Use this branch's MCP server like a customer, next to main, and report what a customer would notice changed.
> /plugin marketplace add comet-ml/opik-mcp > /plugin install opik@opik
How it fires
How this command gets triggered: by you, by Claude, or both.
/dogfoodContext preview
What this command does when you run it.
Use this branch's MCP server like a customer, next to main, and report what a customer would notice changed.
# A command, not a skill, and user-only: see .claude/rules/skills.md. disable-model-invocation: true description: Use this branch's MCP server like a customer, next to main, and report what a customer would notice changed. argument-hint: "[extra flows or focus]"
Test this branch the way a customer would use it, through a headless session that loads this branch's server next to main's, and tell me if it is ready to ship. Extra focus from me: $ARGUMENTS
If the branch doesn't touch `src/`, both servers run the same code and no differences is the expected result. Say that in one line and still report problems found on both.
Nothing gets registered in any Claude config, so no restart is needed and no other session pays for these servers.
python3 scripts/dev/install_branch.py dogfood-prepare [--workspace <ws>]
This builds this branch and a fresh `origin/main` into their own venvs and writes a private MCP config naming them `opik-branch` and `opik-base`, on the same workspace. The config holds `${OPIK_API_KEY}`, never the key.
(OPIK-<n> from the branch name, via Jira if available).
Core flows, phrased the way a customer would ask:
1. How is my project doing? 2. What is broken in production? 3. Compare these two experiments. 4. Find the case where the judge disagreed. 5. Show me the traces with errors from the last hour. 6. Explain this trace.
Add 2 to 4 flows aimed straight at what the diff changed. The servers load only in the headless run, so describe what to pick ("the largest recent trace", "two experiments on one dataset") and let that session find real ids with `list`. Don't invent ids.
Write the flows from step 3 to a prompt file under the scratchpad or `/tmp`, with these instructions for the headless session:
`opik-base`. Answer each flow as a customer would expect, then compare: is the answer right for the data, do the UI links look right, what does it cost (the size header, branch vs base), does anything say more than the data supports or cut without saying so?
ticket), **regression** (worse on the branch), **pre-existing** (wrong on both), **improvement** (better, and not the point of the change).
unless a file under its `recheck_when` changed in this branch; then ask for a re-check and a "same" or "changed" answer>.
Then run it:
python3 scripts/dev/install_branch.py dogfood-run --prompt-file <file>
The key reaches the headless session through its environment only.
A table: flow, call, branch answer, base answer (short), bucket, UI link. Then the verdict, one of:
Keep the report short. Don't list flows that matched and have nothing to say.
List the entries you suggest, numbered, with kind and one line each. Write `backlog` and `context` entries yourself and say so. Write an `accepted` entry only after I reply with its number. No workspace or customer names in entries.
Afterwards, offer to remove the venvs and the base worktree: `python3 scripts/dev/install_branch.py dogfood-clean`.
The official Model Context Protocol (MCP) server for Opik, the open-source LLM observability and evaluation platform, built by Comet.
Repo: comet-ml/opik-mcp
Collect unaddressed review comments on this branch's PR, fix or answer each, and reply in the thread.
Run what CI runs, review the branch, and open a draft PR in comet-ml/opik-mcp with the template filled in.
Install the current worktree as MCP server opik-<ticket>, for sessions in this repo only.