| name | review-tracing-code |
| description | Reviews tracing integration code for correctness against the repo's established patterns and checklists. |
| argument-hint | <agent_path> |
| disable-model-invocation | true |
Review Tracing Code
Usage: /review-tracing-code <agent_path>
Example: /review-tracing-code agents/autogen/chat_agent
You are reviewing the MLflow tracing integration code for an agent template to confirm it follows the repo's established patterns and is correctly wired.
You must read every file and check every item yourself. Do not ask the user to review files or run checks. Execute the full checklist and produce the report.
Input
The agent path is: $ARGUMENTS
You also need the package name and coverage level (A, B, or C). If not provided, determine them by reading the agent's pyproject.toml, src/ directory, and tracing.py.
Review Checklist
1. tracing.py exists and follows the pattern
Read <agent_path>/src/<package>/tracing.py and verify:
Level A: Verify mlflow.<framework>.autolog() is called. No wrap_func_with_mlflow_trace() should exist.
Level B: Verify:
Level C: Verify:
Compare against the reference file for the matching level:
- Level A:
agents/langgraph/react_agent/src/react_agent/tracing.py
- Level B:
agents/crewai/websearch_agent/src/crewai_web_search/tracing.py
- Level C:
agents/vanilla_python/openai_responses_agent/src/openai_responses_agent/tracing.py
2. main.py wiring
Read <agent_path>/main.py and verify:
3. Manual wrapping (Level B and C only)
Skip this section for Level A.
Tool wrapping — find where tools are registered/created and verify:
Agent wrapping — find the main agent entry point and verify:
Streaming path — read _handle_stream in main.py and verify:
4. No direct MLflow imports in main.py
5. .env.example has MLflow variables
Read <agent_path>/.env.example and verify:
6. README.md has tracing documentation
Read <agent_path>/README.md and verify:
7. pyproject.toml lists MLflow as optional
8. Makefile auto-installs MLflow when tracing is enabled
9. Dockerfile installs tracing extra (if Dockerfile exists)
Output
## Code Review Report: <agent_name>
### tracing.py
- Exists: YES / NO
- Follows pattern: YES / NO
- Issues: <list or "None">
### main.py wiring
- enable_tracing() imported: YES / NO
- Called first in lifespan: YES / NO
- Issues: <list or "None">
### Manual wrapping (Level B/C only)
- Tools wrapped: YES / NO / N/A
- Agent entry point wrapped: YES / NO / N/A
- Streaming path covered: YES / NO / N/A
- Issues: <list or "None">
### .env.example
- Local tracing section: YES / NO
- OpenShift tracing section: YES / NO
- Issues: <list or "None">
### README.md
- Tracing (optional) section exists: YES / NO
- Local MLflow config: YES / NO
- OpenShift MLflow config: YES / NO
- MLflow server start step: YES / NO
- Behavioral notes: YES / NO
- Issues: <list or "None">
### pyproject.toml
- MLflow in optional tracing extra: YES / NO
### Makefile
- run target has --extra tracing flag: YES / NO
- run-cli target has --extra tracing flag: YES / NO / N/A
### Dockerfile
- Installs .[tracing] extra: YES / NO
### Overall: PASS / FAIL
If FAIL, specify which skill or step to re-run to fix the issues (e.g., "create-tracing-module — missing graceful degradation", "integrate-tracing Step 9 — .env.example missing OpenShift section", or "integrate-tracing Step 10 — README missing local MLflow install").
Self-Update
Before finishing, check whether this skill file needs updating. If any of the following are true, propose the specific changes to the user and only update this file if they approve:
- You deviated from these instructions because they were inaccurate, outdated, or insufficient — and your deviation worked.
- You encountered a new pattern not covered here (e.g., a framework that uses OpenTelemetry instead of autolog, or a new provider path).
- File paths, function names, or API patterns referenced here have changed.
- A step didn't work as described and needed a different approach.
If nothing needed changing, move on.