# Integrate without duplicating the rules

Keep the domain contract shared. Make harness-specific adapters small.

## Give an agent a clear entry point

An agent can start with `evx --help`, read the relevant documentation, and call the shared API through the CLI. [Full documentation as Markdown](/docs/full.md) remains available when a short entry point is insufficient.

A skill should explain when the capability is useful and where its authoritative contract lives. A hook should translate a runtime event into the shared telemetry schema. Neither should maintain its own version of the experiment method or claim that an observed behavior is universally better.

## Use the bundled skill or plugin

The [versioned CLI package](/downloads/evx-0.7.1.tgz) includes `integrations/evals-ax`. After installing with your preferred package manager, run `evx integrations path` to find its absolute path. This works for Bun installations as well as npm and the other runners.

The integration contains `skills/evx/SKILL.md` and manifests for Codex and Claude Code. Install the skill through your host's skill installer, or load the directory through its plugin installation interface. The skill points to `evx --help` and these docs; it does not embed a second copy of the method.

For one Claude Code session, use its [local plugin loader](https://code.claude.com/docs/en/plugins-reference#debugging-and-development-tools):

```sh
evx integrations path
claude --plugin-dir "/absolute/path/returned/by/evx"
```

The release includes both plugin manifests, but does not install anything into your agent host automatically. A bundled README records supported formats and qualification limits.

Installing the skill or plugin does not enable telemetry. The `examples` directory contains optional host configuration snippets; preserve existing configuration when applying them. Codex accepts one notification command, so integrate with an existing command before changing that setting.

## Enable lifecycle observations deliberately

The bundled `scripts/observe.mjs` accepts the documented Codex notification or Claude lifecycle event. It stays inactive unless the host sets `EVX_HOOKS_UPLOAD=1` and `EVX_BIN` to the absolute path of an installed, authenticated `evx` executable. The example configuration files show where to connect that script in each host.

The wrapper uploads only the allowlisted [provider event fields](/docs/telemetry#provider-events). It produces no standard output or agent decision fields, returns exit status zero, and limits observation delivery to five seconds. Failed delivery is reported generically on standard error, with no automatic retry. This is best-effort telemetry, so an absent event is not evidence that no work occurred.

Lifecycle hooks do not report tokens or costs. Capture explicit provider result output when those measurements are needed, and use an independently verified experiment to assess whether a change improved the intended outcome.

## Ask CodeRabbit to review AX effects

The [AX review template](/templates/coderabbit-ax.yaml) is a small CodeRabbit configuration derived from the thin collaborator approach. It asks the reviewer for concrete evidence about discoverability, instruction consistency, and behavioral changes. It does not turn preferences about agent interfaces into hard rules.

Copy the relevant guidance into an existing `.coderabbit.yaml`, preserving your repository's settings. Installing the file does not install the CodeRabbit GitHub app; enable repository access separately.

A useful finding names the affected agent task and the code or contract behind the concern. When an effect is uncertain, propose a test. Investigate disagreements with the reviewer rather than treating approval as a substitute for evidence.
