Codex's sandbox blocks hardware/process access — browser-rendering skills (Browser Demo Recorder was fully blocked; HyperFrames needed --single-process) and GPU skills (mlx-whisper fell back to CPU) hit it, while Claude Code's looser sandbox runs them directly.
Efficiency flips by complexity — on simple deterministic tasks Codex is often faster (ImageMagick card 45s, thumbnail 15s); on complex or unfamiliar ones it balloons (the 15s showcase reel took Codex ~19 min + a retry vs Claude's 12 min).
Deterministic tasks produce equivalent output (ffmpeg / transcript results were byte-identical); creative tasks show a real split — Codex renders more visual polish, Claude writes cleaner code.
Action-count, not wall-clock, is the reliable efficiency metric — wall time carries latency noise (auto-editor: Claude's 235s wall-clock was just 3 actions / 28k tokens).
Skills compose into pipelines — agents chain several skills end-to-end (e.g. thumbnail extractor → ImageMagick to turn a video into a branded social card), and the deterministic→identical / creative→divergent split holds within a single pipeline (the frame selection was byte-identical, the card design diverged).
API-client skills are testable without a key, up to the auth boundary — for the paid AI Image/Video generators both agents did deterministic OpenAPI extraction → schema-valid requests → an expected 401 (well-formed, auth-gated, not 400/404); only the final generate step needs the key.
Methodology: symmetric cold start — Codex via codex exec vs a fresh Claude Code subagent. Open a skill to see per-task inputs, rounds, outputs, and verdicts.