Qwen Code E2E Testing
QwenLM/qwen-code
Guides end-to-end testing of the Qwen Code CLI in headless mode with real model calls, MCP test servers and inspection of raw API traffic.
Autonomous, spec-driven, multi-agent pipeline that takes an EDT-MCP task or issue end-to-end — research → critics → architect → parallel development → review loop → tests → live-stand check →…
$ npx skills add DitriXNew/EDT-MCP --skill edt-mcp-autopilot -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install DitriXNew/EDT-MCP edt-mcp-autopilot --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/DitriXNew/EDT-MCP.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/edt-mcp-autopilot .claude/skills/edt-mcp-autopilot && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "edt-mcp-autopilot" agent skill from https://github.com/DitriXNew/EDT-MCP/tree/master/.claude/skills/edt-mcp-autopilot into .claude/skills/edt-mcp-autopilot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "edt-mcp-autopilot", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/DitriXNew/EDT-MCP/tree/master/.claude/skills/edt-mcp-autopilotType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add DitriXNew/EDT-MCP --skill edt-mcp-autopilot -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install DitriXNew/EDT-MCP edt-mcp-autopilot --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DitriXNew/EDT-MCP.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/edt-mcp-autopilot .agents/skills/edt-mcp-autopilot && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "edt-mcp-autopilot" agent skill from https://github.com/DitriXNew/EDT-MCP/tree/master/.claude/skills/edt-mcp-autopilot into .agents/skills/edt-mcp-autopilot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "edt-mcp-autopilot", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add DitriXNew/EDT-MCP --skill edt-mcp-autopilot -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install DitriXNew/EDT-MCP edt-mcp-autopilot --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DitriXNew/EDT-MCP.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/edt-mcp-autopilot .cursor/skills/edt-mcp-autopilot && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "edt-mcp-autopilot" agent skill from https://github.com/DitriXNew/EDT-MCP/tree/master/.claude/skills/edt-mcp-autopilot into .cursor/skills/edt-mcp-autopilot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "edt-mcp-autopilot", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/DitriXNew/EDT-MCP.git --path .claude/skills/edt-mcp-autopilot--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add DitriXNew/EDT-MCP --skill edt-mcp-autopilot -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install DitriXNew/EDT-MCP edt-mcp-autopilot --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DitriXNew/EDT-MCP.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/edt-mcp-autopilot .gemini/skills/edt-mcp-autopilot && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "edt-mcp-autopilot" agent skill from https://github.com/DitriXNew/EDT-MCP/tree/master/.claude/skills/edt-mcp-autopilot into .gemini/skills/edt-mcp-autopilot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "edt-mcp-autopilot", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install DitriXNew/EDT-MCP edt-mcp-autopilotInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add DitriXNew/EDT-MCP --skill edt-mcp-autopilot -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/DitriXNew/EDT-MCP.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/edt-mcp-autopilot .github/skills/edt-mcp-autopilot && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "edt-mcp-autopilot" agent skill from https://github.com/DitriXNew/EDT-MCP/tree/master/.claude/skills/edt-mcp-autopilot into .github/skills/edt-mcp-autopilot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "edt-mcp-autopilot", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add DitriXNew/EDT-MCP --skill edt-mcp-autopilot -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install DitriXNew/EDT-MCP edt-mcp-autopilot --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DitriXNew/EDT-MCP.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/edt-mcp-autopilot .opencode/skills/edt-mcp-autopilot && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "edt-mcp-autopilot" agent skill from https://github.com/DitriXNew/EDT-MCP/tree/master/.claude/skills/edt-mcp-autopilot into .opencode/skills/edt-mcp-autopilot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "edt-mcp-autopilot", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
edt-mcp-autopilotAutonomous, spec-driven, multi-agent pipeline that takes an EDT-MCP task or issue end-to-end — research → critics → architect → parallel development → review loop → tests → live-stand check →…
Edt MCP Autopilot is an agent skill from DitriXNew/EDT-MCP. Autonomous, spec-driven, multi-agent pipeline that takes an EDT-MCP task or issue end-to-end — research → critics → architect → parallel development → review loop → tests → live-stand check → Russian issue comment + PR. Use when asked to take a whole task/issue to completion autonomously (not for a single quick edit or a pure question).
Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including reference files (for example `references/autonomy.md`, `references/build.workflow.js` and `references/discover.workflow.js`).
It sits in Agent Workflows, covering MCP servers, Spec-driven development and End-to-end testing. It works with Model Context Protocol. The licence is AGPL-3.0.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 6d18531. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships script files (JavaScript), which the agent can run.
Shell commands in SKILL.md call:
gitbashFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
claude.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Edt MCP Autopilot loads about 2.5k tokens when it runs, and up to ~10k if it reads all its reference files. Until then it costs about 89 tokens; SKILL.md has 1,271 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from DitriXNew/EDT-MCP at commit 6d18531, republished under its AGPL-3.0 licence (© DitriXNew). 1,271 words, ~2,516 tokens.
.claude/skills/edt-mcp-autopilot/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.A repeatable pipeline for delivering a whole EDT-MCP task with minimal human input. You are
the conductor running in the main loop: you prepare the stand, drive each fan-out phase
with the Workflow tool, hold the gates a workflow cannot (waiting/polling, human confirm,
irreversible ship), and finish by commenting the issue and opening a PR.
It runs unattended. The only mandatory human touchpoint is the operator confirming the live stand result (Phase 8). Principal design questions are posted to the issue and polled until answered (Phase 4 gate). Everything else proceeds on its own.
.claude/work/<task-slug>/ (this path is
git-ignored — safe for internal notes, issue numbers, stand details).edt-mcp-build-test, edt-mcp-e2e-testing, edt-mcp-ready-to-deploy) and
the project context — do not re-derive commands here.size and a token budget directive to the workflows so they size themselves.discover.workflow.js)build.workflow.js)master → git pull → git checkout -b feature/<slug> (or fix/<slug>). Use a worktree
to keep the main clone clean.edt-mcp-build-test). If a fresh build is needed for the stand, kick it off..claude/work/<slug>/ and write spec.md from references/sdd-templates.md.Run the discover workflow (it implements: 2 doc researchers → ≥3 code-research agents in waves with loop-until-dry → adversarial critics that drop refuted findings and bounce "rework" back into another wave → an architect that synthesises the surviving findings into a concrete spec and a file-disjoint developer partition):
Workflow({
scriptPath: ".claude/skills/edt-mcp-autopilot/references/discover.workflow.js",
args: { task: "<the task statement>", size: "small|medium|large" }
})It returns { spec, devPartition, escalations }. Save spec + devPartition into
.claude/work/<slug>/architecture.md (template in references/sdd-templates.md).
If escalations is non-empty, do not guess. For each, post the question to the issue in
Russian (with the 2–3 options), then enter the poll loop in references/autonomy.md
(ScheduleWakeup ≈ every 10 min) until the maintainer answers. Fold the answer into
architecture.md, then continue. What counts as "principal" (wire contract, architecture
choice, bilingual semantics, breaking change, destructive op, ambiguous requirement) is listed
in references/review-checklist.md.
Run the build workflow (parallel developers over the file-disjoint slices → a review loop where each round both COMPILES + runs the unit tests (the build gate) AND applies 3–4 reviewers; build failures and review findings both go to fixers, and a round is "clean" only when the build is green AND no findings remain — with a max-round safeguard that escalates instead of spinning):
Workflow({
scriptPath: ".claude/skills/edt-mcp-autopilot/references/build.workflow.js",
args: {
task: "<the task statement>",
spec: <spec from discover>,
devPartition: <devPartition from discover>,
reviewChecklist: "<contents of references/review-checklist.md>",
maxRounds: 4,
buildCommand: "<the project build + unit-test command, WITH the machine's JDK17/maven — e.g.
bash source/compile.sh --java-home <..> --maven-home <..>>"
}
})Always pass
buildCommand. Reviewers read the diff but cannot compile — so an unverified API or a broken test churns rounds forever until a real build settles it. The build gate makes the compiler the arbiter inside the loop (it reads the surefire reports and feeds failing tests to the fixers as blockers). Take the exact command from the project context / CLAUDE.md (it is machine-specific, so it lives inargs, not in the release-clean script). If you ever see the loop "reviewing and fixing the same thing round after round", that is the symptom of a missing/failing build gate — checkreviewLog[].buildOk.
It returns { changedFiles, reviewLog, openProblems, rounds, clean }. If clean is false after
maxRounds, treat the remaining openProblems as an escalation (Phase 4 gate). Record the
review outcome in .claude/work/<slug>/review-log.md.
The developers edit disjoint files in the shared working tree and do not touch git — you commit at the end. If two slices must touch the same file, re-partition or run that slice with
isolation:'worktree'and merge.
Run the project build + unit tests yourself (delegate to edt-mcp-build-test). With buildCommand
set, the review loop already compiled + tested each round, so when it returned clean: true this
is a fast confirmation on your own deterministic build (it should pass first try). It is still the
real safety net — it catches missing throws, ratchet failures (unit XxxToolTest, schema/execute
parity) and golden drift. Red → back to Phase 5/6 with the failures as the brief. Green →
continue. If a tool's wire surface changed, regenerate the golden and review the diff.
If the loop hit
maxRoundsstill red (or you did NOT passbuildCommand), do NOT keep spawning review rounds — stop the workflow and run the build yourself; the compiler settles what the reviewers were guessing at, and you fix the concrete failures directly.
If the task is live-verifiable (a tool behaviour, a form/metadata effect, a runtime contract):
edt-mcp-e2e-testing / edt-mcp-ready-to-deploy.<workspace>/.metadata/.log
for stack traces / errors from our code (com.ditrix.edt.mcp.server) logged since the redeploy.
Runtime failures often log there WITHOUT surfacing through the MCP wire — an exception in a UI
Job, a caught Activator.logError, or a per-item failure swallowed into a degraded result
(a real case: a single-image CommonPicture whose decode threw but showed only as "No variants"
in the gallery, found only in .log). A green tool response does NOT prove a clean run — treat
any such stack as a real finding to diagnose BEFORE the operator gate, not after a user hits it.AskUserQuestion to show the live result
and ask the operator to confirm it before shipping (see references/autonomy.md). Do not open
the PR until the operator confirms.If the task is not live-verifiable (pure refactor, hygiene, docs), skip the stand run and the operator gate — the green build + e2e already prove it.
On all-green and operator OK:
Co-Authored-By trailer), push the branch.🤖 Generated with [Claude Code](https://claude.com/claude-code).references/discover.workflow.js — Phases 1–4 (research → critics → architect).references/build.workflow.js — Phases 5–6 (parallel dev → review loop).references/review-checklist.md — the MUST-ENFORCE criteria reviewers and the architect apply.references/sdd-templates.md — spec.md / architecture.md / review-log.md templates.references/autonomy.md — the issue-poll gate and the operator-confirm gate recipes..claude/work/).© DitriXNew, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 5 other files (references) in .claude/skills/edt-mcp-autopilot of DitriXNew/EDT-MCP.
Open the folder on GitHubat commit 6d18531
Edt MCP Autopilot next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Edt MCP Autopilot this skillDitriXNew/EDT-MCP | 296 | — | ~2.5k | Automated safety check: Pass | AGPL-3.0 | |
| Qwen Code E2E TestingQwenLM/qwen-code | 28k | — | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| Exploring The WizardPostHog/wizard | 197 | — | ~2.2k | Automated safety check: Pass | MIT | |
| Glance TestDebugBase/glance | 156 | — | ~827 | Automated safety check: Pass | MIT | |
| Testing Livepeerdaydreamlive/scope | 452 | — | ~2.5k | Automated safety check: Pass | Custom licence | |
| Tauri Dev MCP Bridgejerrywu001/cc-sessions-viewer | 396 | — | ~1.4k | Automated safety check: Warn | MIT |
QwenLM/qwen-code
Guides end-to-end testing of the Qwen Code CLI in headless mode with real model calls, MCP test servers and inspection of raw API traffic.
PostHog/wizard
Drive the PostHog wizard headlessly against a throwaway app through wizard-ci MCP tools, inspect decisions, and capture the real TUI.
DebugBase/glance
Run E2E browser tests on any web application using Glance MCP.
daydreamlive/scope
Test Scope locally in Livepeer mode end to end using a prebuilt go-livepeer artifact from the ja/serverless PR, uv run --extra livepeer livepeer-runner, and Scope.
jerrywu001/cc-sessions-viewer
Launches a Tauri app's dev build with the MCP bridge compiled in, so an agent can take screenshots, read the live DOM, click real buttons and call real backend commands.
radimsem/remindb
Explains how to add an end-to-end test scenario to remindb, choosing between a direct API test and an MCP test and using the shared helpers and fixtures.
DitriXNew/EDT-MCP
How to build the EDT-MCP Eclipse plugin (Tycho/Maven) and run its unit and e2e tests, plus the test conventions for this repo.
DitriXNew/EDT-MCP
How to write/run the AUTOMATED black-box e2e suite (tests/e2e/) that covers every EDT-MCP tool (62 today) against a live server with git-fixture isolation, happy + negative + error-quality coverage…
DitriXNew/EDT-MCP
How to size, write and A/B-test the text of a tool — its description and its inputSchema parameter prose — so that cutting it does not cost call quality, and so that a tool that IS getting called…
DitriXNew/EDT-MCP
How to write and run YAXUnit unit tests for a 1C configuration through 1C:EDT + the EDT-MCP runyaxunittests / debugyaxunittests tools.
DitriXNew/EDT-MCP
How to manually e2e-test each EDT-MCP server tool against a live EDT workbench + TestConfiguration.
DitriXNew/EDT-MCP
Map of the EDT-MCP plugin's target architecture — where the shared helpers live, the layering rules, and the canonical way to do project/metadata/code resolution.
Works with
Categories
Autonomous, spec-driven, multi-agent pipeline that takes an EDT-MCP task or issue end-to-end — research → critics → architect → parallel development → review loop → tests → live-stand check →…. Edt MCP Autopilot is an agent skill from DitriXNew/EDT-MCP. Autonomous, spec-driven, multi-agent pipeline that takes an EDT-MCP task or issue end-to-end — research → critics → architect → parallel development → review loop → tests → live-stand check → Russian issue comment + PR.
Edt MCP Autopilot fits situations like: asked to take a whole task/issue to completion autonomously (not for a single quick edit; A pure question).
Run `npx skills add DitriXNew/EDT-MCP --skill edt-mcp-autopilot -a claude-code`. Or copy the skill folder (.claude/skills/edt-mcp-autopilot in DitriXNew/EDT-MCP) into .claude/skills/edt-mcp-autopilot in your project. Claude Code loads it when a task matches its description.
Run `npx skills add DitriXNew/EDT-MCP --skill edt-mcp-autopilot -a codex`. Or copy the skill folder (.claude/skills/edt-mcp-autopilot in DitriXNew/EDT-MCP) into .agents/skills/edt-mcp-autopilot in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add DitriXNew/EDT-MCP --skill edt-mcp-autopilot -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/edt-mcp-autopilot, .gemini/skills/edt-mcp-autopilot, .github/skills/edt-mcp-autopilot and .opencode/skills/edt-mcp-autopilot in your project.
Going by SKILL.md and its folder, Edt MCP Autopilot needs JavaScript for the scripts in its folder and the command-line tools its instructions call (git and bash). Our summary lists: Node.js.
SKILL.md names 1 domain. In commands or code: claude.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Edt MCP Autopilot is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 7.9k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Edt MCP Autopilot: Qwen Code E2E Testing (QwenLM/qwen-code, 28k stars), Exploring The Wizard (PostHog/wizard, 197 stars), Glance Test (DebugBase/glance, 156 stars) and Testing Livepeer (daydreamlive/scope, 452 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
DitriXNew (a GitHub user) maintains it in DitriXNew/EDT-MCP, which has 296 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on October 7, 2026.
Source: DitriXNew/EDT-MCP on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.