开发与工程 ✓ Microsoft · 官方 azure-devopsazure-clielectronsmoke-testingflaky-testsgittypescript

VS Code 冒烟测试故障诊断

定位并验证 Azure DevOps 中间歇性 VS Code Electron 冒烟测试失败。

FollowSkills 评估 · FSRS-2.0
不推荐
45/ 100 五分制 2.3 / 5
信任安全12 / 25 · 2.4/5

文档明确限定 Azure DevOps 项目、流水线定义、平台和日志范围,并要求核对源版本;但使用 Azure CLI、登录、下载日志、取消旧运行和排队新运行会产生外部影响,未要求用户确认、未说明凭据/日志敏感数据处理,也未提供撤销或恢复方案,因此扣分。

可靠稳定8 / 20 · 2.0/5

步骤、命令、时间关联规则和异常诊断链条较完整,且说明认证失败、依赖缺失和工件发布时间;但未提供可执行的错误分支、权限不足处理、CLI 版本兼容性或本地重现证据,静态评估不超过10分,因此扣分。

适用触发7 / 15 · 2.3/5

目标用户和适用场景清楚,覆盖失败迭代、日志关联、根因追踪和定向验证,并列出不应混淆的日志/会话边界;但未明确非适用场景、输入前提和触发语义,中文支持缺失,核心功能依赖可能受中国大陆网络可达性影响的 Azure DevOps,因此扣分。

规范维护8 / 15 · 2.7/5

文档按前置条件、诊断、定位、验证和报告逐步展开,命令、平台映射、限制和 MIT 许可可由仓库材料支持;但技能自身没有版本、变更记录、维护责任、更新路径、FAQ 或安装依赖说明,部分治理信息只能由仓库间接推断,因此扣分。

有效结果6 / 15 · 2.0/5

该技能为定位 flaky smoke test 提供了具体的流水线查询、日志下载、时间关联、根因分析和验证运行流程,预期报告格式也明确;但结果依赖 Azure 权限、真实运行数据和人工判断,静态材料未验证输出可直接交付,且排队运行具有成本和外部影响,因此扣分。

证据核验4 / 10 · 2.0/5

固定流水线定义、任务名称、工件命名、时间范围和命令使关键结论具备审计线索,并要求以源版本和日志证据支撑根因;但没有针对该技能的提交测试、第三方执行记录或交叉验证材料,静态评估不超过5分,因此扣分。

证据充分度: 评估于 2026年7月20日 审查版本 5b3e1be7be9e
使用前请注意
  • 执行 az login、下载日志、取消运行或排队验证前,应明确获得用户确认并确认账户权限与目标分支/提交。
  • 日志和崩溃工件可能包含代码、提示词、路径或其他敏感信息;文档未规定脱敏、保存期限或共享边界。
  • 核心流程依赖 Azure DevOps 和 Azure CLI;中国大陆网络不可达或认证受限时,技能可能无法完成主要任务。
  • 未执行本次静态审查,不能据此确认命令、工件名称或流水线行为在该修订中实际可运行。
查看完整评分方法 →

它能做什么 & 适用场景

该技能专门诊断 VS Code Azure DevOps Flaky Smoke Tests 流水线中的间歇性 Electron 冒烟测试失败。它检查定义 ID 为 700 的流水线、逐次迭代任务、任务日志和平台级日志工件,并将失败时间段与运行器日志关联起来。它还指导用户从构建源版本追踪引入问题的提交、排查会话与响应路由竞争,并队列化聚焦验证运行。它适合能够访问 Monaco Azure DevOps 项目和相关代码仓库的工程团队。

使用 Azure CLI 查看构建状态、源版本和模板参数;下载并筛选构建时间线中的 Smoke test iteration 任务;读取权威的迭代任务日志;列出并下载 macOS arm64、Windows x64 或 Linux x64 平台日志及崩溃工件;依据时间戳、测试标题、场景 ID、请求内容和模型轮次分析手势、调度、请求、工具循环、渲染与会话路由;使用 git show、git log、git blame 和 git show 检查引入提交;使用 az pipelines run 队列化定义 700 的聚焦验证;使用 npm run compile 和 build/hygiene.ts 验证本地 TypeScript 修改。

  1. VS Code 维护者发现定义 700 的某个平台只在部分迭代中失败,需要逐个检查失败迭代而不是依赖整体构建结果。
  2. Electron 冒烟测试的任务摘要显示失败,但团队需要从平台级 smoke-test-runner.log 中确认请求是否发出、工具循环是否完成以及响应是否渲染。
  3. 测试结果可能受到历史会话、陈旧 DOM 或重复预热请求影响,工程师需要核对活动会话身份和实际状态转换。
  4. 开发者已经定位到可疑测试文件,需要用构建的 sourceVersion、git blame 和提交差异判断哪个提交真正引入了竞争条件。
  5. 修复已推送到 microsoft/vscode,维护者希望只启用相关平台并运行六次迭代进行快速验证。

优缺点一览

优点
  • 明确限定于 VS Code Flaky Smoke Tests 流水线定义 700,包含组织、项目、YAML 路径和平台工件命名规则。
  • 强调逐个检查迭代任务,并区分任务级权威日志与包含多个迭代的作业级运行器日志。
  • 覆盖从失败证据、会话与渲染诊断到引入提交追踪和聚焦验证的完整调查链路。
  • 提供可复制的 Azure CLI、Git、npm 和 Node.js 命令。
局限
  • 仅针对 VS Code Electron 冒烟测试和指定的 Azure DevOps Monaco 流水线,不是通用测试故障诊断技能。
  • 需要 Azure DevOps 访问权限、网络访问和本地命令行环境;认证失败时还需要 az login。
  • 平台日志工件要等平台作业发布输出后才能下载,调查早期可能只能依赖任务日志。
  • 源材料没有说明独立安装流程,也没有提供自动化脚本或完整的本地测试环境配置。

如何安装

将该技能目录放置在目标 Agent Skills 目录的 .github/skills/flaky-smoke-tests/ 路径下,并保留其中的 SKILL.md。源材料没有提供独立的安装命令或完整的 Agent 客户端安装流程;技能位于 https://github.com/microsoft/vscode 的指定路径。

如何使用

先准备 Azure CLI 和 Azure DevOps 扩展,然后执行:
az extension show --name azure-devops
az devops configure --defaults organization=https://dev.azure.com/monacotools project=Monaco

如未认证,执行 az login。向支持该技能的客户端提出类似请求:“诊断 Azure DevOps Monaco 项目定义 700 的构建 <BUILD_ID> 中所有失败的 Electron 冒烟测试迭代,下载对应任务日志和平台工件,定位根因,并在修复提交已推送后安排聚焦验证。”技能会要求核对准确的 sourceVersion、迭代任务 ID、任务日志、平台工件、失败时间范围和验证运行结果。

对比同类

该技能明确要求使用 Azure CLI 而不是浏览器来查询构建、时间线和工件;它不是一个独立的日志平台或通用测试框架。

常见问题

它能诊断任意 VS Code 测试失败吗?
不能。它的范围是 Azure DevOps Monaco 项目中定义 ID 为 700 的 Flaky Smoke Tests 流水线,以及其中的 VS Code Electron 冒烟测试。
为什么不能只看整体构建或作业结果?
每次迭代使用 continueOnError,因此失败迭代通常是 succeededWithIssues,后续迭代仍会运行。必须检查每个名为 Smoke test iteration 的时间线任务。
它是否会自动修改代码或提交修复?
源材料只说明如何读取代码、追踪引入提交、验证本地修改和队列化流水线;没有说明自动修改或提交代码。
验证运行应使用多少次迭代?
六次迭代适合快速验证;如果故障罕见,或要宣布反复出现的波动已解决,则应使用默认的 20 次迭代。

同仓库的其他 Skills

均来自 microsoft/vscode

开发与工程 ✓ Microsoft · 官方

工具重命名兼容性检查

防止内置工具重命名破坏现有提示词与工具配置。

开发与工程 ✓ Microsoft · 官方

Copilot Chat OpenTelemetry 埋点指南

为 Copilot Chat 统一设计和维护 OpenTelemetry 埋点。

开发与工程 ✓ Microsoft · 官方

VS Code 配置策略维护助手

规范 VS Code 企业配置策略的注册、导出与验证。

设计与前端 ✓ Microsoft · 官方

VS Code 设计哲学

用价值、原则和设计动作,把“看起来不对”转化为可执行的界面改进。

开发与工程 ✓ Microsoft · 官方

Agent 主机端到端测试助手

用严格的回放夹具维护 VS Code Agent 主机端到端测试。

开发与工程 ✓ Microsoft · 官方

VS Code 集成浏览器架构指南

帮助开发者安全理解和修改 VS Code 集成浏览器的跨进程架构。

开发与工程 ✓ Microsoft · 官方

VS Code Agents 窗口会话架构

帮助代理安全实现和修复 VS Code Agents 窗口功能。

开发与工程 ✓ Microsoft · 官方

智能提交助手

根据仓库惯例生成提交信息并安全提交代码变更。

开发与工程 ✓ Microsoft · 官方

Agent Host 日志分析

定位 Agent Host 导出日志中的会话、传输与主机问题。

开发与工程 ✓ Microsoft · 官方

VS Code 单元测试助手

在 VS Code 源码仓库中按文件、测试名称或匹配模式运行单元测试。

开发与工程 ✓ Microsoft · 官方

VS Code Agent 定制助手

帮助创建、修复和排查 VS Code Agent 定制文件及其加载问题。

开发与工程 ✓ Microsoft · 官方

Code OSS 启动与调试

为 VS Code 源码构建提供隔离启动、Playwright 自动化和多进程调试端口。

开发与工程 ✓ Microsoft · 官方

VS Code 无障碍开发助手

为 VS Code 交互式功能提供可执行的无障碍实现规范。

设计与前端 ✓ Microsoft · 官方

VS Code CSS 布局规范

用 VS Code 规范构建稳健的 CSS 布局与文本截断体验

开发与工程 ✓ Microsoft · 官方

VS Code Chat 性能实验室

基准测试聊天渲染性能,并检测会话中的内存泄漏。

开发与工程 ✓ Microsoft · 官方

组件夹具与截图测试

帮助你为 VS Code 组件创建稳定、可主题化的截图测试夹具。

开发与工程 ✓ Microsoft · 官方

VS Code 冒烟测试助手

运行、筛选并调试 VS Code 端到端冒烟测试。

开发与工程 ✓ Microsoft · 官方

VS Code 崩溃转储符号化

将原生 VS Code 崩溃转储转换为带方法名的可读回溯。

开发与工程 ✓ Microsoft · 官方

VS Code 本地 Web 工作台

在本地 vscode.dev 中验证 VS Code 工作台和 Agents 窗口改动。

开发与工程 ✓ Microsoft · 官方

反馈执行器

读取当前会话反馈并落实对应代码修改。

相关 Skills