Agent skill

N8n Workflow Testing Fundamentals

by proffesor-for-testing in proffesor-for-testing/agentic-qe

Comprehensive n8n workflow testing including execution lifecycle, node connection patterns, data flow validation, and error handling strategies.

MITAuto-check passedProductivity & Automation

Install N8n Workflow Testing Fundamentals

skills CLI
$ npx skills add proffesor-for-testing/agentic-qe --skill n8n-workflow-testing-fundamentals -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install proffesor-for-testing/agentic-qe n8n-workflow-testing-fundamentals --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/proffesor-for-testing/agentic-qe.git skills-src && mkdir -p .claude/skills && cp -r skills-src/assets/skills/n8n-workflow-testing-fundamentals .claude/skills/n8n-workflow-testing-fundamentals && rm -rf skills-src

Use ~/.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/

Facts

Skill name
n8n-workflow-testing-fundamentals
GitHub stars
495
Token cost
~3.1k tokens
SKILL.md length
316 words
Files
4 (incl. scripts)
Skills in repo
93
Repo updated
First seen
Licence
MIT

At a glance

Comprehensive n8n workflow testing including execution lifecycle, node connection patterns, data flow validation, and error handling strategies.

  • Works in 5 steps: VALIDATE workflow structure before… → TEST with realistic test data → VERIFY node-to-node data flow → …
  • Testing n8n workflow automation applications
  • SKILL.md covers Quick Reference Card, Workflow Structure Validation, Execution Testing and Data Flow Validation, plus 6 more sections
  • Tasks that involve Workflow automation

What it does

N8n Workflow Testing Fundamentals is an agent skill from proffesor-for-testing/agentic-qe. Comprehensive n8n workflow testing including execution lifecycle, node connection patterns, data flow validation, and error handling strategies. Use when testing n8n workflow automation applications.

Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including scripts (for example `evals/n8n-workflow-testing-fundamentals.yaml`, `schemas/output.json` and `scripts/validate-config.json`).

It sits in Productivity & Automation, covering Workflow automation. It works with n8n. The repository describes itself as: Agentic QE Fleet is an open-source AI-powered QA/QE platform designed for use with Coding Agents (works best with Claude Code) featuring specialized agents and skills to support… The licence is MIT.

When your agent uses it

  • Testing n8n workflow automation applications
  • Tasks that involve Workflow automation

Example prompts

  • “/n8n-workflow-testing-fundamentals”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. VALIDATE workflow structure before execution
  2. TEST with realistic test data
  3. VERIFY node-to-node data flow
  4. CHECK error handling paths
  5. MEASURE execution performance

What it can do on your machine

Read from SKILL.md and the folder at commit 829d030. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Ships 1 file in scripts/, which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

N8n Workflow Testing Fundamentals loads about 3.1k tokens when it runs. Until then it costs about 58 tokens; SKILL.md has 316 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~58
When it runs · the whole SKILL.md, loaded when a task matches
~3.1k

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.

Safety

Auto-check passed

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); the scripts in this folder are not scanned.

SKILL.md

The full file from proffesor-for-testing/agentic-qe at commit 829d030, republished under its MIT licence (© proffesor-for-testing). 316 words, ~3,051 tokens.

Download SKILL.mdSave it as .claude/skills/n8n-workflow-testing-fundamentals/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
n8n-workflow-testing-fundamentals
description
Comprehensive n8n workflow testing including execution lifecycle, node connection patterns, data flow validation, and error handling strategies. Use when testing n8n workflow automation applications.
category
n8n-testing
priority
high
tokenEstimate
1200
agents
n8n-workflow-executor, n8n-node-validator, n8n-trigger-test
implementation_status
production
optimization_version
1
last_optimized
2025-12-15
quick_reference_card
true
tags
n8n, workflow, automation, testing, data-flow, nodes, triggers
trust_tier
3

n8n Workflow Testing Fundamentals

<default_to_action> When testing n8n workflows:

  1. VALIDATE workflow structure before execution
  2. TEST with realistic test data
  3. VERIFY node-to-node data flow
  4. CHECK error handling paths
  5. MEASURE execution performance

Quick n8n Testing Checklist:

  • All nodes properly connected (no orphans)
  • Trigger node correctly configured
  • Data mappings between nodes valid
  • Error workflows defined
  • Credentials properly referenced

Critical Success Factors:

  • Test each execution path separately
  • Validate data transformations at each node
  • Check retry and error handling behavior
  • Verify integrations with external services </default_to_action>

Quick Reference Card

When to Use
  • Testing new n8n workflows
  • Validating workflow changes
  • Debugging failed executions
  • Performance optimization
  • Pre-deployment validation
n8n Workflow Components
ComponentPurposeTesting Focus
TriggerStarts workflowReliable activation, payload handling
Action NodesProcess dataConfiguration, data mapping
Logic NodesControl flowConditional routing, branches
Integration NodesExternal APIsAuth, rate limits, errors
Error WorkflowHandle failuresRecovery, notifications
Workflow Execution States
StateMeaningTest Action
runningCurrently executingMonitor progress
successCompleted successfullyValidate outputs
failedExecution failedAnalyze error
waitingWaiting for triggerTest trigger mechanism

Workflow Structure Validation

typescript
// Validate workflow structure before execution
async function validateWorkflowStructure(workflowId: string) {
  const workflow = await getWorkflow(workflowId);

  // Check for trigger node
  const triggerNode = workflow.nodes.find(n =>
    n.type.includes('trigger') || n.type.includes('webhook')
  );
  if (!triggerNode) {
    throw new Error('Workflow must have a trigger node');
  }

  // Check for orphan nodes (no connections)
  const connectedNodes = new Set();
  for (const [source, targets] of Object.entries(workflow.connections)) {
    connectedNodes.add(source);
    for (const outputs of Object.values(targets)) {
      for (const connections of outputs) {
        for (const conn of connections) {
          connectedNodes.add(conn.node);
        }
      }
    }
  }

  const orphans = workflow.nodes.filter(n => !connectedNodes.has(n.name));
  if (orphans.length > 0) {
    console.warn('Orphan nodes detected:', orphans.map(n => n.name));
  }

  // Validate credentials
  for (const node of workflow.nodes) {
    if (node.credentials) {
      for (const [type, ref] of Object.entries(node.credentials)) {
        if (!await credentialExists(ref.id)) {
          throw new Error(`Missing credential: ${type} for node ${node.name}`);
        }
      }
    }
  }

  return { valid: true, orphans, triggerNode };
}

Execution Testing

typescript
// Test workflow execution with various inputs
async function testWorkflowExecution(workflowId: string, testCases: TestCase[]) {
  const results: TestResult[] = [];

  for (const testCase of testCases) {
    const startTime = Date.now();

    // Execute workflow
    const execution = await executeWorkflow(workflowId, testCase.input);

    // Wait for completion
    const result = await waitForCompletion(execution.id, testCase.timeout || 30000);

    // Validate output
    const outputValid = validateOutput(result.data, testCase.expected);

    results.push({
      testCase: testCase.name,
      success: result.status === 'success' && outputValid,
      duration: Date.now() - startTime,
      actualOutput: result.data,
      expectedOutput: testCase.expected
    });
  }

  return results;
}

// Example test cases
const testCases = [
  {
    name: 'Valid customer data',
    input: { name: 'John Doe', email: 'john@example.com' },
    expected: { processed: true, customerId: /^cust_/ },
    timeout: 10000
  },
  {
    name: 'Missing email',
    input: { name: 'Jane Doe' },
    expected: { error: 'Email required' },
    timeout: 5000
  },
  {
    name: 'Invalid email format',
    input: { name: 'Bob', email: 'not-an-email' },
    expected: { error: 'Invalid email' },
    timeout: 5000
  }
];

Data Flow Validation

typescript
// Trace data through workflow nodes
async function validateDataFlow(executionId: string) {
  const execution = await getExecution(executionId);
  const nodeResults = execution.data.resultData.runData;

  const dataFlow: DataFlowStep[] = [];

  for (const [nodeName, runs] of Object.entries(nodeResults)) {
    for (const run of runs) {
      dataFlow.push({
        node: nodeName,
        input: run.data?.main?.[0]?.[0]?.json || {},
        output: run.data?.main?.[0]?.[0]?.json || {},
        executionTime: run.executionTime,
        status: run.executionStatus
      });
    }
  }

  // Validate data transformations
  for (let i = 1; i < dataFlow.length; i++) {
    const prev = dataFlow[i - 1];
    const curr = dataFlow[i];

    // Check if expected data passed through
    validateDataMapping(prev.output, curr.input);
  }

  return dataFlow;
}

// Validate data mapping between nodes
function validateDataMapping(sourceOutput: any, targetInput: any) {
  // Check all required fields are present
  const missingFields: string[] = [];

  for (const [key, value] of Object.entries(targetInput)) {
    if (value === undefined && sourceOutput[key] === undefined) {
      missingFields.push(key);
    }
  }

  if (missingFields.length > 0) {
    console.warn('Missing fields in data mapping:', missingFields);
  }

  return missingFields.length === 0;
}

Error Handling Testing

typescript
// Test error handling paths
async function testErrorHandling(workflowId: string) {
  const errorScenarios = [
    {
      name: 'API timeout',
      inject: { delay: 35000 }, // Trigger timeout
      expectedError: 'timeout'
    },
    {
      name: 'Invalid data',
      inject: { invalidField: true },
      expectedError: 'validation'
    },
    {
      name: 'Missing credentials',
      inject: { removeCredentials: true },
      expectedError: 'authentication'
    }
  ];

  const results: ErrorTestResult[] = [];

  for (const scenario of errorScenarios) {
    // Execute with error injection
    const execution = await executeWithErrorInjection(workflowId, scenario.inject);

    // Check error was caught
    const result = await waitForCompletion(execution.id);

    // Validate error handling
    results.push({
      scenario: scenario.name,
      errorCaught: result.status === 'failed',
      errorType: result.data?.resultData?.error?.type,
      expectedError: scenario.expectedError,
      errorWorkflowTriggered: await checkErrorWorkflowTriggered(execution.id),
      alertSent: await checkAlertSent(execution.id)
    });
  }

  return results;
}

// Verify error workflow was triggered
async function checkErrorWorkflowTriggered(executionId: string): Promise<boolean> {
  const errorExecutions = await getExecutions({
    filter: {
      metadata: { errorTriggeredBy: executionId }
    }
  });

  return errorExecutions.length > 0;
}

Node Connection Patterns

Linear Flow
Trigger → Process → Transform → Output

Testing: Execute once, validate each node output

Branching Flow
Trigger → IF → [Branch A] → Merge → Output
              → [Branch B] →

Testing: Test both branches separately, verify merge behavior

Parallel Flow
Trigger → Split → [Process A] → Merge → Output
                → [Process B] →

Testing: Validate parallel execution, check merge timing

Loop Flow
Trigger → SplitInBatches → Process → [Loop back until done] → Output

Testing: Test with varying batch sizes, verify all items processed


Common Testing Patterns

Test Data Generation
typescript
// Generate test data for common n8n patterns
const testDataGenerators = {
  webhook: () => ({
    body: { event: 'test', timestamp: new Date().toISOString() },
    headers: { 'Content-Type': 'application/json' },
    query: { source: 'test' }
  }),

  slack: () => ({
    type: 'message',
    channel: 'C123456',
    user: 'U789012',
    text: 'Test message'
  }),

  github: () => ({
    action: 'opened',
    issue: {
      number: 1,
      title: 'Test Issue',
      body: 'Test body'
    },
    repository: {
      full_name: 'test/repo'
    }
  }),

  stripe: () => ({
    type: 'payment_intent.succeeded',
    data: {
      object: {
        id: 'pi_test123',
        amount: 1000,
        currency: 'usd'
      }
    }
  })
};
Execution Assertions
typescript
// Common assertions for workflow execution
const workflowAssertions = {
  // Assert workflow completed
  assertCompleted: (execution) => {
    expect(execution.finished).toBe(true);
    expect(execution.status).toBe('success');
  },

  // Assert specific node executed
  assertNodeExecuted: (execution, nodeName) => {
    const nodeData = execution.data.resultData.runData[nodeName];
    expect(nodeData).toBeDefined();
    expect(nodeData[0].executionStatus).toBe('success');
  },

  // Assert data transformation
  assertDataTransformed: (execution, nodeName, expectedData) => {
    const nodeOutput = execution.data.resultData.runData[nodeName][0].data.main[0][0].json;
    expect(nodeOutput).toMatchObject(expectedData);
  },

  // Assert execution time
  assertExecutionTime: (execution, maxMs) => {
    const duration = new Date(execution.stoppedAt) - new Date(execution.startedAt);
    expect(duration).toBeLessThan(maxMs);
  }
};

Agent Coordination Hints

Memory Namespace
aqe/n8n/
├── workflows/*          - Cached workflow definitions
├── test-results/*       - Test execution results
├── validations/*        - Validation reports
├── patterns/*           - Discovered testing patterns
└── executions/*         - Execution tracking
Fleet Coordination
typescript
// Comprehensive n8n testing with fleet
const n8nFleet = await FleetManager.coordinate({
  strategy: 'n8n-testing',
  agents: [
    'n8n-workflow-executor',  // Execute and validate
    'n8n-node-validator',     // Validate configurations
    'n8n-trigger-test',       // Test triggers
    'n8n-expression-validator', // Validate expressions
    'n8n-integration-test'    // Test integrations
  ],
  topology: 'parallel'
});


Remember

n8n workflows are JSON-based execution flows that connect 400+ services. Testing requires validating:

  • Workflow structure (nodes, connections)
  • Trigger reliability (webhooks, schedules)
  • Data flow (transformations between nodes)
  • Error handling (retry, fallback, notifications)
  • Performance (execution time, resource usage)

With Agents: Use n8n-workflow-executor for execution testing, n8n-node-validator for configuration validation, and coordinate multiple agents for comprehensive workflow testing.

© proffesor-for-testing, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (scripts) in assets/skills/n8n-workflow-testing-fundamentals of proffesor-for-testing/agentic-qe.

  • SKILL.md
  • evals/n8n-workflow-testing-fundamentals.yaml
  • schemas/output.json
  • scripts/validate-config.json

Open the folder on GitHubat commit 829d030

Compare with similar skills

N8n Workflow Testing Fundamentals 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.

N8n Workflow Testing Fundamentals compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
N8n Workflow Testing Fundamentals this skillproffesor-for-testing/agentic-qe495—~3.1kAutomated safety check: PassMIT
N8n Docs Assistantn8n-io/n8n207k—~550Automated safety check: PassCustom licence
Planningn8n-io/n8n207k—~2.5kAutomated safety check: PassCustom licence
Suggest Automationsn8n-io/n8n207k—~2kAutomated safety check: PassCustom licence
N8n Add Workflowkhanhduyvt0101/workflows110—~1.3kAutomated safety check: PassNone
Intent Recognitionn8n-io/n8n207k—~7.1kAutomated safety check: PassCustom licence

Similar skills

  • Official

    Answers n8n product, setup, credential, node, hosting, API, and usage questions from current n8n docs.

    207k GitHub stars~550 tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Planning

    n8n-io/n8n

    Official

    ONLY for coordinated multi-artifact work: multiple workflows with dependencies, shared data-table schema/migration across tasks, or the user explicitly asked to review a plan first.

    207k GitHub stars~2.5k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Official

    Offer the three most common automations for a user as a single-choice card, from your own knowledge of their team and their apps, then build the one they choose once they confirm, or offer more.

    207k GitHub stars~2k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • N8n Add Workflow

    khanhduyvt0101/workflows

    Add a new n8n workflow template to the repository. An agent skill from khanhduyvt0101/workflows.

    110 GitHub stars~1.3k tokensUpdated 4 mo ago
    Productivity & AutomationAuto-check passed
  • Official

    Classifies automation requests using two decisions: anchor (which primitive owns the top-level control flow — workflow-anchored, agent-anchored, needs-clarification, or out-of-scope) and embedsother…

    207k GitHub stars~7.1k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Airtable Automation

    claude-office-skills/skills

    Airtable database automation - views, automations, integrations, and workflow triggers

    502 GitHub stars~2.7k tokensUpdated 8 mo ago
    Productivity & AutomationAuto-check passed

More from proffesor-for-testing/agentic-qe

All 93 skills in this repo
  • Contract Testing

    proffesor-for-testing/agentic-qe

    Consumer-driven contract testing for microservices using Pact, schema validation, API versioning, and backward compatibility testing.

    495 GitHub stars~1.8k tokensUpdated 5 days ago
    Auto-check passed
  • Mutation Testing

    proffesor-for-testing/agentic-qe

    Test quality validation through mutation testing, assessing test suite effectiveness by introducing code mutations and measuring kill rate.

    495 GitHub stars~1.7k tokensUpdated 5 days ago
    Auto-check passed
  • Performance Testing

    proffesor-for-testing/agentic-qe

    Profiles application performance under load using k6, Artillery, or JMeter to measure latency, throughput, and error rates.

    495 GitHub stars~2.4k tokensUpdated 5 days ago
    Auto-check passed
  • Code Review Quality

    proffesor-for-testing/agentic-qe

    Conduct context-driven code reviews focusing on quality, testability, and maintainability.

    495 GitHub starsUsed in 1 repo~1.9k tokens
    Auto-check passed
  • Security Testing

    proffesor-for-testing/agentic-qe

    Scans for security vulnerabilities including XSS, SQL injection, CSRF, and auth flaws using OWASP Top 10 methodology.

    495 GitHub stars~2.7k tokensUpdated 5 days ago
    Auto-check: notes
  • Database Testing

    proffesor-for-testing/agentic-qe

    Database schema validation, data integrity testing, migration testing, transaction isolation, and query performance.

    495 GitHub starsUsed in 1 repo~1.7k tokens
    Auto-check passed

Works with

Questions about N8n Workflow Testing Fundamentals

What does N8n Workflow Testing Fundamentals do?

Comprehensive n8n workflow testing including execution lifecycle, node connection patterns, data flow validation, and error handling strategies. N8n Workflow Testing Fundamentals is an agent skill from proffesor-for-testing/agentic-qe. Comprehensive n8n workflow testing including execution lifecycle, node connection patterns, data flow validation, and error handling strategies.

When should I use N8n Workflow Testing Fundamentals?

N8n Workflow Testing Fundamentals fits situations like: testing n8n workflow automation applications; tasks that involve Workflow automation.

How do I install N8n Workflow Testing Fundamentals in Claude Code?

Run `npx skills add proffesor-for-testing/agentic-qe --skill n8n-workflow-testing-fundamentals -a claude-code`. Or copy the skill folder (assets/skills/n8n-workflow-testing-fundamentals in proffesor-for-testing/agentic-qe) into .claude/skills/n8n-workflow-testing-fundamentals in your project. Claude Code loads it when a task matches its description.

How do I install N8n Workflow Testing Fundamentals in Codex?

Run `npx skills add proffesor-for-testing/agentic-qe --skill n8n-workflow-testing-fundamentals -a codex`. Or copy the skill folder (assets/skills/n8n-workflow-testing-fundamentals in proffesor-for-testing/agentic-qe) into .agents/skills/n8n-workflow-testing-fundamentals in your project. Codex loads it when a task matches its description.

Can I use N8n Workflow Testing Fundamentals in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add proffesor-for-testing/agentic-qe --skill n8n-workflow-testing-fundamentals -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/n8n-workflow-testing-fundamentals, .gemini/skills/n8n-workflow-testing-fundamentals, .github/skills/n8n-workflow-testing-fundamentals and .opencode/skills/n8n-workflow-testing-fundamentals in your project.

What does N8n Workflow Testing Fundamentals need to run?

SKILL.md names no scripts, command-line tools or credentials: N8n Workflow Testing Fundamentals is instructions for the agent only.

Does N8n Workflow Testing Fundamentals access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is N8n Workflow Testing Fundamentals safe to install?

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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does N8n Workflow Testing Fundamentals use?

N8n Workflow Testing Fundamentals is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does N8n Workflow Testing Fundamentals use?

About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to N8n Workflow Testing Fundamentals?

Skills that share tags, products or a category with N8n Workflow Testing Fundamentals: N8n Docs Assistant (n8n-io/n8n, 207k stars), Planning (n8n-io/n8n, 207k stars), Suggest Automations (n8n-io/n8n, 207k stars) and N8n Add Workflow (khanhduyvt0101/workflows, 110 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains N8n Workflow Testing Fundamentals?

proffesor-for-testing (a GitHub user) maintains it in proffesor-for-testing/agentic-qe, which has 495 GitHub stars. The repository holds 93 skills in this directory. The repository was last updated on October 4, 2026.

Source: proffesor-for-testing/agentic-qe on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.