.agents/skills/opik-external-integrations/SKILL.md
This skill builds Opik integrations whose code does not live in this repository. Two shapes:
opik-* package / plugin — its own repo or package that depends on the published Opik SDK. Examples: opik-openclaw, opik-claude-code-plugin.Activation gate — read this first. Use this skill only when the target lives in an external repo or external package. If the user wants an integration that ships inside
sdks/python/src/opik/integrations/orsdks/typescript/src/opik/integrations/, this is the wrong skill — useopik-integrations. When in doubt, ask the "where does it live" question (below) and route accordingly.
sdks/ layout, fake_backend, or Fern docs on an external repo. Read its CONTRIBUTING/AGENTS.md and mirror its closest existing integration/plugin.opik (Python) / opik (TypeScript) SDK or the REST API — the same surface end users get. Never import this repo's internal modules (opik.decorator.*, rest_api, message-processing internals); they are not available outside this repo and are not a stable contract.Collect everything up front, free-form — do not propose a target. See workflow.md Phase 0 for the full list. The essentials: which external repo/package (URL + links), integration shape (standalone package vs. upstream contribution vs. plugin), host language/stack, where the Opik code goes, how the host tests and documents, and how to run it to verify.
Once you know the target, check references.md — a curated list of known external integrations (standalone opik-* plugins incl. the cookiecutter template, and third-party host repos like LiteLLM / Dify / n8n) with their repo and Opik-docs URLs. If the target is listed or resembles one, start from its links and clone the closest sibling instead of researching blind.
Multi-step and autonomous by default (front-load preparation, run through, self-verify, end with a report); ask for the interactive variant to approve the design first. Full playbook in workflow.md. At a glance:
@opik.track / track_* wrappers, the low-level client, or REST. Lean on the opik and instrument skills for the public API.write-docs).The mechanism knowledge is shared — how a provider/framework exposes hooks, streaming, and usage is the same problem as in opik-integrations. Read that skill's python.md / typescript.md for the patterns (method patching, callback handler, OTel), but apply them against the published SDK surface and inside the host repo's structure.
opik / instrument — the user-facing public API surface (the right way to consume Opik from outside).opik-integrations — the integration mechanism patterns (patching / callback / OTel) and field mapping.write-docs — only if you also add an Opik-side docs page pointing at the external integration.