.claude/skills/python-canary-fix/SKILL.md
Investigate and propose fixes for Python canary cron failures in the openinference repo. Use when the user mentions Python canary failures, Python cron failures, or when the auto-fix CI job reports Python instrumentation canary issues.
npx skillsauth add arize-ai/openinference python-canary-fixInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Investigate failures in the Python canary cron (python-cron.yaml) workflow and propose a fix for Python instrumentation packages.
*-latest test environment failuresauto-fix job in python-cron.yamlIdentify failures: Run gh run list --workflow=python-cron.yaml --limit=5 --repo Arize-ai/openinference to find the latest run, then gh run view <id> --repo Arize-ai/openinference and filter for X (failure markers) in the output.
Get failure logs: For each failed job, run gh run view <run_id> --repo Arize-ai/openinference --job <job_id> --log-failed to get the actual error output.
Identify the root cause: The canary cron tests against *-latest versions of upstream dependencies. Failures almost always mean an upstream package changed its API or behavior. Key signals:
py310-ci-openllmetry-latest)-latest env's uv pip install -U commands)Investigate the upstream change: Search PyPI versions, GitHub releases, or changelogs for the upstream package to find what changed. Focus on attribute/API changes that would break our instrumentation.
Draft and test the fix: Modify the instrumentor code and tests. Run both the pinned and -latest tox environments to verify backward compatibility:
uvx --with tox-uv tox r -e ruff-mypy-test-<package> (pinned deps, includes ruff formatting/linting + mypy + tests)uvx --with tox-uv tox r -e py310-ci-<package>-latest -- -ra -x (latest deps)Run /simplify: Review the changed code for reuse, quality, and efficiency. Fix any issues found.
Run the Python code reviewer: Run /python-code-reviewer against the changed package to verify it follows project conventions (test patterns, semantic conventions, CI config).
Check for existing PRs: Before creating a new PR, search for open PRs that already address the same failure (gh pr list --repo Arize-ai/openinference --search "<package>" --state open). If one exists, update it instead of creating a duplicate.
Create a PR: Branch, commit, push, and open a PR citing the upstream change that triggered the failure.
opentelemetry-sdk or opentelemetry-semantic-conventions-ai changed). Group related failures and fix them in a single PR rather than opening one PR per instrumentor.openinference-instrumentation- and replaces hyphens with underscores (e.g., openllmetry, llama_index, google_genai).-latest tox env typically just does uv pip install -U <upstream-package> on top of the pinned deps. Check python/tox.ini for the exact commands.development
Review Python OpenInference instrumentation code for correctness and completeness. Use this skill when reviewing a Python instrumentor package — whether it's a new instrumentor, a PR that modifies one, or when the user asks to audit/review/check an existing instrumentor's code quality. Trigger on phrases like "review the instrumentor", "check the code", "audit the package", "is this instrumentor correct", or any request to validate an OpenInference Python instrumentation package against project standards.
tools
Debug LLM applications using the Phoenix CLI. Fetch traces, analyze errors, review experiments, inspect datasets, and query the GraphQL API. Use when debugging AI/LLM applications, analyzing trace data, working with Phoenix observability, or investigating LLM performance issues.
development
Keep hand-written docs/ documentation in JS packages accurate and up to date with their source code. Use this skill whenever: (1) source files in a JS package that has a docs/ folder are modified — especially exports, function signatures, types, or public API changes, (2) the user asks to "update docs", "sync docs", "check if docs are accurate", "review the documentation", or similar, (3) new exports or features are added to a JS package and the docs need to reflect them. Also trigger when the user mentions documentation drift, stale examples, or missing API coverage in any JS package under js/packages/.
development
Review Java OpenInference instrumentation code for correctness and completeness. Use this skill when reviewing a Java instrumentor package — whether it's a new instrumentor, a PR that modifies one, or when the user asks to audit/review/check an existing instrumentor's code quality. Trigger on phrases like "review the instrumentor", "check the Java code", "audit the package", "is this instrumentor correct", or any request to validate an OpenInference Java instrumentation package against project standards.