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>&1npx skills add n8n-io/n8n/.claude/skills/reproduce-bugانسخ الأمر أعلاه وشغّله في الطرفية للتثبيت العام.
أضف متغيرات البيئة المطلوبة إلى عميل MCP وفقاً لوصف المهارة.
ثبّت هذه المهارة وفعّلها في تطبيق متوافق مع MCP (مثل Claude أو Cursor).