.qwen/skills/agent-reproduce-align/SKILL.md
Use this skill when Qwen Code already has a candidate implementation and needs evidence-based parity with a selected reference agent: codex or claude-code. The goal is not byte-for-byte equality; it is matching the observable contract that matters for the feature.
Default target repo: the current working directory. Use a user-specified path only when the user explicitly provides one.
Use the same reference agent selected during $agent-reproduce-feature. If the earlier choice is unavailable, ask once and record the answer in the scenario or run notes.
scripts/normalize_trace.py.scripts/compare_traces.py.Read references/alignment-workflow.md before the first comparison pass.
Normalize:
.qwen/skills/agent-reproduce-align/scripts/normalize_trace.py \
.repro-runs/reference/http.jsonl \
> .repro-runs/reference/normalized.json
Compare:
.qwen/skills/agent-reproduce-align/scripts/compare_traces.py \
.repro-runs/reference/normalized.json \
.repro-runs/qwen/normalized.json
Run a paired shell scenario:
REPRO_REFERENCE_AGENT=codex \
.qwen/skills/agent-reproduce-align/scripts/run_pair_capture.sh \
.repro-runs/slash-help \
"codex exec '/help'" \
"npm test -- --runInBand"
For Claude Code, set REPRO_REFERENCE_AGENT=claude-code and replace the first
command with the discovered Claude Code command. When REPRO_REFERENCE_AGENT
is set, the paired runner writes reference/state-before,
reference/state-after, and reference/state-diff. Use the paired runner only
when shell quoting is simple. For interactive slash commands, run the two
captures manually with tmux so each side can receive the same keystrokes. Use
REPRO_REFERENCE_STATE_ROOT=/tmp/some-root only for tests or custom state
directories.