npx skills add https://github.com/n8n-io/n8n --skill reproduce-bug给定 Linear 工单上下文($ARGUMENTS),通过失败的回归测试系统地复现 Bug。
从提供的工单上下文中提取以下信息:
根据受影响区域,选择测试层和模式:
| 区域 | 测试层 | 模式 | 关键位置 |
|---|---|---|---|
| 节点操作 | Jest 单元测试 | NodeTestHarness + nock | packages/nodes-base/nodes/*/test/ |
| 节点凭据 | Jest 单元测试 | jest-mock-extended | packages/nodes-base/nodes/*/test/ |
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
| 触发器 Webhook | Jest 单元测试 | mock IHookFunctions + jest.mock GenericFunctions | packages/nodes-base/nodes/*/test/ |
| 二进制数据 | Jest 单元测试 | NodeTestHarness assertBinaryData | packages/core/nodes-testing/ |
| 执行引擎 | Jest 集成测试 | WorkflowRunner + DI 容器 | packages/cli/src/__tests__/ |
| CLI / API | Jest 集成测试 | setupTestServer + supertest | packages/cli/test/integration/ |
| 配置 | Jest 单元测试 | GlobalConfig + Container | packages/@n8n/config/src/__tests__/ |
| 编辑器 UI | Vitest | Vue Test Utils + Pinia | packages/frontend/editor-ui/src/**/__tests__/ |
| 端到端 / 画布 | Playwright | 测试容器 + 可组合项 | packages/testing/playwright/ |
查找受影响区域的源代码:
git log --oneline -10 -- <path>)阅读源代码并追踪触发 Bug 的执行路径:
陈述一个清晰、可测试的假设:
在同一区域查找现有测试:
test/ 目录编写一个回归测试,该测试:
从包目录运行测试(例如 cd packages/nodes-base && pnpm test <file>)。
对结果进行分类:
| 置信度 | 标准 | 输出 |
|---|---|---|
| 已确认 | 测试持续失败,失败模式与假设匹配 | 复现报告 |
| 很可能 | 测试失败但失败模式略有不同 | 报告 + 注意事项 |
| 未确认 | 无法触发失败 | 报告:已尝试的内容 |
| 已跳过 | 遇到硬性退出触发条件 | 报告:跳过的原因 |
| 已修复 | Bug 在当前代码上不再复现 | 报告:何时修复 |
如果首次尝试后结果为未确认:
硬性退出触发条件(立即停止):
按以下格式呈现发现:
工单: [ID] — [标题] 置信度: [已确认 | 很可能 | 未确认 | 已跳过 | 已修复]
[1-2 句话解释 Bug 机制]
| 文件 | 行号 | 问题 |
|---|---|---|
path/to/file.ts | XX-YY | 问题描述 |
path/to/test/file.test.ts — X/Y 个测试失败:
测试名称 — [失败描述][修复方法的伪代码或描述]
pushd packages/nodes-base && pnpm test <file> && popd)pnpm build > build.log 2>&1每周安装量
166
仓库
GitHub 星标数
180.9K
首次出现
2026年2月21日
安全审计
安装于
codex164
opencode163
kimi-cli163
amp163
gemini-cli163
github-copilot163
Given a Linear ticket context ($ARGUMENTS), systematically reproduce the bug with a failing regression test.
Extract the following from the provided ticket context:
Based on the affected area, pick the test layer and pattern:
| Area | Test Layer | Pattern | Key Location |
|---|---|---|---|
| Node operation | Jest unit | NodeTestHarness + nock | packages/nodes-base/nodes/*/test/ |
| Node credential | Jest unit | jest-mock-extended | packages/nodes-base/nodes/*/test/ |
| Trigger webhook | Jest unit | mock IHookFunctions + jest.mock GenericFunctions | packages/nodes-base/nodes/*/test/ |
| Binary data | Jest unit | NodeTestHarness assertBinaryData | packages/core/nodes-testing/ |
| Execution engine | Jest integration | WorkflowRunner + DI container | packages/cli/src/__tests__/ |
| CLI / API | Jest integration | setupTestServer + supertest | packages/cli/test/integration/ |
| Config | Jest unit | GlobalConfig + Container | packages/@n8n/config/src/__tests__/ |
| Editor UI | Vitest | Vue Test Utils + Pinia | packages/frontend/editor-ui/src/**/__tests__/ |
| E2E / Canvas | Playwright | Test containers + composables | packages/testing/playwright/ |
Find the source code for the affected area:
git log --oneline -10 -- <path>)Read the source code and trace the execution path that triggers the bug:
State a clear, testable hypothesis:
Look for existing tests in the same area:
test/ directories near the affected codeWrite a regression test that:
Run the test from the package directory (e.g., cd packages/nodes-base && pnpm test <file>).
Classify the result:
| Confidence | Criteria | Output |
|---|---|---|
| CONFIRMED | Test fails consistently, failure matches hypothesis | Reproduction Report |
| LIKELY | Test fails but failure mode differs slightly | Report + caveat |
| UNCONFIRMED | Cannot trigger the failure | Report: what was tried |
| SKIPPED | Hit a hard bailout trigger | Report: why skipped |
| ALREADY_FIXED | Bug no longer reproduces on current code | Report: when fixed |
If UNCONFIRMED after first attempt:
Hard bailout triggers (stop immediately):
Present findings in this format:
Ticket: [ID] — [title] Confidence: [CONFIRMED | LIKELY | UNCONFIRMED | SKIPPED | ALREADY_FIXED]
[1-2 sentences explaining the bug mechanism]
| File | Lines | Issue |
|---|---|---|
path/to/file.ts | XX-YY | Description of the problem |
path/to/test/file.test.ts — X/Y tests fail:
test name — [failure description][Pseudocode or description of the fix approach]
pushd packages/nodes-base && pnpm test <file> && popd)pnpm build > build.log 2>&1Weekly Installs
166
Repository
GitHub Stars
180.9K
First Seen
Feb 21, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
codex164
opencode163
kimi-cli163
amp163
gemini-cli163
github-copilot163
通过 LiteLLM 代理让 Claude Code 对接 GitHub Copilot 运行 | 高级变通方案指南
33,600 周安装