Skip to content

[NA] [DOCS] [FE] Point the Opik skill prompts at /opik-instrument - #8052

Merged
alexkuzmik merged 1 commit into
mainfrom
alexkuzmik/opik-instrument-skill-rename
Aug 28, 2026
Merged

[NA] [DOCS] [FE] Point the Opik skill prompts at /opik-instrument#8052
alexkuzmik merged 1 commit into
mainfrom
alexkuzmik/opik-instrument-skill-rename

Conversation

@alexkuzmik

@alexkuzmik alexkuzmik commented Aug 28, 2026

Copy link
Copy Markdown
Collaborator

Draft until comet-ml/opik-mcp#171 merges and the pack sync to comet-ml/opik-skills lands. Until then /opik-instrument does not exist, and merging this would point users at a command that isn't there yet.

Details

The published Opik skills are being namespaced under an opik- prefix in comet-ml/opik-mcp#171, because evaluate and instrument claimed unnamespaced names in a global namespace where the installer resolves a collision by overwriting — no prompt, no diff, no backup. Once that lands, every place telling a user to type /instrument breaks, and breaks silently: a user who has any other instrument skill installed gets that one instead, which is the exact collision the rename exists to prevent, triggered by our own onboarding copy.

This replaces using the /instrument command with using the /opik-instrument command in the five places that refer to the skill, plus the onboarding dialog's copy-button prompt.

  • fern/docs-v2/quickstart.mdx, observability/getting-started.mdx, observability/overview.mdx, prompt_engineering/getting-started.mdx — the four user-facing pages
  • .agents/skills/write-docs/SKILL.md — the canonical snippet docs authors copy; without it the old command regenerates into new pages
  • apps/opik-frontend/src/v2/pages-shared/onboarding/InstallWithAITab.tsx — the only non-docs file. Same defect on the highest-traffic surface; leaving it would have the product's own copy button contradict the docs beside it. Flagging since it routes to different reviewers — happy to split it out.

Ollie's /instrument is a different command and is deliberately untouched — it's an action button in the Ollie sidebar on the Agent Runner page, unrelated to the skill pack. Left alone: AgentRunnerEmptyState.tsx, tests_end_to_end/e2e/pom/ollie.page.ts, e2e/tests/ollie/ollie-connect.spec.ts, e2e/agents/README.md. Also untouched: OpenTelemetry instrumentation/ paths across the integrations docs, and the SDK's own evaluation/evaluate.ts.

Related but not resolved here: OPIK_7621.

Change checklist

  • User facing
  • Documentation update

Issues

AI-WATERMARK

AI-WATERMARK: yes

  • Tools: Claude Code
  • Model(s): Claude Opus 5
  • Scope: located the affected call sites, applied the string replacement, drafted this description. No logic or structural changes — six single-line text edits.
  • Human verification: pending reviewer sign-off. The scoping decision that needs a human eye is which /instrument occurrences belong to the skill versus Ollie's separate sidebar command; the reasoning and the full untouched list are spelled out above so that call can be checked directly.

Testing

Scoping was verified mechanically rather than by a test run, since the change is six text edits with no logic:

  • grep -rl "using the /instrument command" before the edit returned exactly the six files changed here, and grep -c on both Ollie sites returned 0 — so the pattern provably separates the skill's command from Ollie's.
  • After the edit, grep -rn "/instrument\b" across *.mdx/*.md/*.ts/*.tsx returns only Ollie sites and OpenTelemetry package paths.
  • grep for InstallWithAITab / Instrument my agent across *.test.*, *.spec.*, *.snap found no test or snapshot asserting the prompt string.

CI on this branch: lint (🌐 eslint — frontend) passed; lint (🌐 typecheck — frontend) and Test on Node 20 were still running at the time of writing.

Not run locally, with reasons:

  • Frontend build/typecheck — the edit is a one-line string literal inside an existing template literal; CI covers it.
  • Fern docs build — text-only changes inside existing code fences, no MDX structure touched.

Unrelated pre-existing CI failure: Checks with ai-spend plugin (Frontend Private Plugin Checks) fails with prettier errors in src/plugins/ai-spend/lib/policySettings.test.ts and manifest.ts, neither of which this PR touches. That workflow has been failing on unrelated branches since ~10:00 today (jacquesverre/OPIK-8105-quick-filter-view-handoff, andreic/OPIK-8102-gemini-thinking-config) and last succeeded at 03:29. Not introduced here.

Documentation

This PR is the documentation change. No further docs updates are needed — the install command itself (npx skills add comet-ml/opik-skills) is unchanged, since only the skill names inside the pack move, not the pack name.

One thing left alone deliberately: prompt_engineering/getting-started.mdx now reads "Version my prompts in Opik using the /opik-instrument command." Pairing prompt versioning with the instrument skill is pre-existing and not wrong (the skill takes a migrate_prompts option), but it reads oddly. I did the mechanical rename only rather than rewriting the guidance — worth a separate look.

The published skills are being namespaced under an `opik-` prefix
(comet-ml/opik-mcp#171), because `instrument` and `evaluate` claimed
unnamespaced names in a global namespace and the installer resolves a
collision by overwriting without a prompt or a backup.

Every place that tells a user to type `/instrument` therefore stops working.
Worse, it stops working silently: a user who has any other `instrument` skill
installed gets that one instead, which is the collision this rename exists to
prevent — triggered by our own onboarding copy.

Ollie's `/instrument` sidebar action is a different command in a different
namespace and is deliberately untouched, along with its e2e coverage.

One non-docs file is included: the onboarding dialog's copy-button prompt in
`InstallWithAITab.tsx`. It is the same defect on the highest-traffic surface,
and leaving it would have the product's own copy button contradict the docs.

Merge after the pack sync to comet-ml/opik-skills lands, not before — until
then `/opik-instrument` does not exist yet.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@github-actions github-actions Bot added documentation Improvements or additions to documentation Frontend typescript *.ts *.tsx labels Aug 28, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🌿 Preview your docs: https://opik-preview-01a04835-fbef-77fb-8ef3-6ad9322f680d.docs.buildwithfern.com/docs/opik

No broken links found

Unverified links (timeout / rate-limited / server error — not failing the check)

https://aistudio.google.com/apikey (401)
↳ on page: /docs/opik/development/optimization-runs/optimization/configure_models
https://console.cloud.google.com/iam-admin/iam (401)
↳ on page: /docs/opik/administration/workspace-settings/ai_providers
https://console.cloud.google.com/iam-admin/roles (401)
↳ on page: /docs/opik/administration/workspace-settings/ai_providers
https://console.cloud.google.com/iam-admin/serviceaccounts (401)
↳ on page: /docs/opik/administration/workspace-settings/ai_providers
https://console.mistral.ai/api-keys/ (timeout)
↳ on page: /docs/opik/integrations/mistral
https://console.x.ai/ (403)
↳ on page: /docs/opik/integrations/xai-grok
https://docs.predibase.com/integrations/comet (403)
↳ on page: /docs/opik/integrations/predibase
https://en.wikipedia.org/wiki/ROUGE_(metric) (timeout)
↳ on page: /docs/opik/evaluation/metrics/heuristic_metrics
https://portal.azure.com/ (403)
↳ on page: /docs/opik/administration/workspace-settings/ai_providers
https://x.ai/ (403)
↳ on page: /docs/opik/integrations/xai-grok


📌 Results for commit 1fb4432

@github-actions

Copy link
Copy Markdown
Contributor

⏱️ pre-commit per-hook timing

Hook Description Result Duration
🌐 typecheck — frontend Whole-project tsc type check 30.52s
🌐 eslint — frontend Lint + autofix JS/TS 3.35s
Total (2 ran) 33.87s
⏭️ 42 skipped (no matching files changed)
Hook Description Result
🐍 trim trailing whitespace — python sdk Strip trailing whitespace ⏭️
🐍 fix end of files — python sdk Ensure files end in a newline ⏭️
🐍 ruff — python sdk Lint + autofix Python (ruff) ⏭️
🐍 ruff-format — python sdk Format Python code (ruff) ⏭️
🐍 mypy — python sdk Static type check ⏭️
🤖 trim trailing whitespace — optimizer Strip trailing whitespace ⏭️
🤖 fix end of files — optimizer Ensure files end in a newline ⏭️
🤖 check yaml — optimizer Validate YAML syntax ⏭️
🤖 check json — optimizer Validate JSON syntax ⏭️
🤖 check toml — optimizer Validate TOML syntax ⏭️
🤖 check for added large files — optimizer Block large files (>1MB) ⏭️
🔐 detect private key — optimizer Block committed private keys ⏭️
🤖 check for merge conflicts — optimizer Block merge-conflict markers ⏭️
🤖 check for case conflicts — optimizer Block case-only name clashes ⏭️
🤖 pyupgrade — optimizer Modernize Python syntax ⏭️
🤖 ruff — optimizer Lint + autofix Python (ruff) ⏭️
🤖 ruff-format — optimizer Format Python code (ruff) ⏭️
🤖 mypy — optimizer Static type check ⏭️
📓 nbstripout — optimizer notebooks Strip notebook output ⏭️
📝 markdownlint — optimizer Lint Markdown ⏭️
🔤 codespell — optimizer Fix common misspellings ⏭️
📊 radon cc — optimizer Cyclomatic-complexity gate ⏭️
📊 radon raw — optimizer Raw size metrics gate ⏭️
📊 xenon — optimizer Fail on complexity thresholds ⏭️
📊 lizard — optimizer Cyclomatic-complexity gate ⏭️
🧹 vulture — optimizer Find dead code ⏭️
🛡️ trim trailing whitespace — guardrails Strip trailing whitespace ⏭️
🛡️ fix end of files — guardrails Ensure files end in a newline ⏭️
🛡️ ruff — guardrails Lint + autofix Python (ruff) ⏭️
🛡️ ruff-format — guardrails Format Python code (ruff) ⏭️
🛡️ mypy — guardrails Static type check ⏭️
⚓ helm-docs Regenerate Helm chart README ⏭️
block non-public FE plugins Block non-public FE plugins ⏭️
☕ spotless — java backend Format Java code ⏭️
🧪 pre-commit wrapper smoke tests Self-test the wrapper scripts ⏭️
🧪 rebaseline script tests Self-test the changelog re-baseline script ⏭️
📘 eslint — typescript sdk Lint + autofix JS/TS ⏭️
📘 typecheck — typescript sdk Whole-project tsc type check ⏭️
⚙️ actionlint — github workflows Lint GitHub Actions workflows ⏭️
🐳 hadolint — dockerfiles Lint Dockerfiles ⏭️
🌈 zizmor — github workflows security Security-scan GitHub Actions workflows ⏭️
🛡️ semgrep — java backend sql Block SQL injection-prone string formatting ⏭️

@alexkuzmik alexkuzmik changed the title docs: point the Opik skill prompts at /opik-instrument [NA] [DOCS] [FE] Point the Opik skill prompts at /opik-instrument Aug 28, 2026
Once the skill is installed, you can integrate with Opik using the following prompt:
```
Version my prompts in Opik using the /instrument command.
Version my prompts in Opik using the /opik-instrument command.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Prompt versioning routes to tracing-only skill

The prompt-library onboarding routes Version my prompts in Opik using the /opik-instrument command to /opik-instrument, whose default migrate_prompts is false and whose activation excludes prompt migration, so users get repository instrumentation instead of prompt versioning and lose the former /instrument outcome. The same wording appears across the other documentation and onboarding call sites; should we route it to the prompt-library opik skill, or add and synchronize an explicit prompt-only migration mode?

Severity web_search

Want Baz to fix this for you? Activate Fixer

Other fix methods

Fix in Cursor

Prompt for AI Agents
Before applying, verify this suggestion against the current code. In
`apps/opik-documentation/documentation/fern/docs-v2/prompt_engineering/getting-started.mdx`
around lines 35-35, update the prompt-library onboarding instruction in the integration
example so it invokes the dedicated `opik` prompt-library skill instead of
`/opik-instrument`. Ensure the wording explicitly requests prompt versioning and does
not route users through the repository-instrumentation workflow, which does not migrate
prompts by default.

Ask your coding agent to instrument your code:
```
Instrument my agent with Opik using the /instrument command.
Instrument my agent with Opik using the /opik-instrument command.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Onboarding fails before skill release

The new /opik-instrument instruction and prompt-engineering command addition land before the commands exist, so onboarding fails with unknown commands; according to the PR description, should we merge the matching observability/overview.mdx and quickstart.mdx changes atomically with opik-mcp#171 and the subsequent opik-skills pack sync, or retain /instrument until the renamed skill is available?

Severity

Want Baz to fix this for you? Activate Fixer

Other fix methods

Fix in Cursor

Prompt for AI Agents
Before applying, verify this suggestion against the current code. In
`apps/opik-documentation/documentation/fern/docs-v2/observability/getting-started.mdx`
around lines 45-45, update the coding-agent instrumentation instruction so it does not
reference `/opik-instrument` before that skill is available. Restore `/instrument` until
the dependent `opik-mcp#171` and `opik-skills` releases are published, and apply the
same sequencing fix to the identical instructions in `observability/overview.mdx` and
`quickstart.mdx` (including the prompt-engineering command addition), or coordinate all
documentation changes atomically with the skill release.

@alexkuzmik
alexkuzmik marked this pull request as ready for review August 28, 2026 12:44
@alexkuzmik
alexkuzmik requested review from a team as code owners August 28, 2026 12:44
@alexkuzmik
alexkuzmik merged commit 3652e65 into main Aug 28, 2026
25 of 28 checks passed
@alexkuzmik
alexkuzmik deleted the alexkuzmik/opik-instrument-skill-rename branch August 28, 2026 12:46
@CometActions

Copy link
Copy Markdown
Collaborator

No test needed here.

Five of the six files are docs, and the one product file is a single token inside a copy-to-clipboard string on the Install with AI tab (/instrument -> /opik-instrument). No logic, state, default or data path changes, so a spec here would only restate that string literal back at itself. Worth noting the Ollie sidebar's own /instrument action button is a different command and is correctly left alone, so nothing else in the frontend is now out of sync.

Run

Advisory, from the QA test radar. Nothing here blocks this PR, and anything it proposes is a draft for review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

baz: pending documentation Improvements or additions to documentation Frontend 🔵 size/XS typescript *.ts *.tsx

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants