Agent skill

E2E Test

by Artexis10 in Artexis10/endstate-gui

Generate Playwright E2E tests following project conventions (Tauri fixture, storage isolation, helpers).

Apache-2.0Auto-check passedTesting & QA

Install E2E Test

skills CLI
$ npx skills add Artexis10/endstate-gui --skill e2e-test -a claude-code

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

GitHub CLI
$ gh skill install Artexis10/endstate-gui e2e-test --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/Artexis10/endstate-gui.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/e2e-test .claude/skills/e2e-test && 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
e2e-test
GitHub stars
116
Token cost
~775 tokens
SKILL.md length
223 words
Files
1
Skills in repo
5
Repo updated
First seen
Licence
Apache-2.0

At a glance

Generate Playwright E2E tests following project conventions (Tauri fixture, storage isolation, helpers).

  • Works in 4 steps: Determine spec file path: e2e/.spec.ts → Read relevant source to understand the… → Generate the spec following project… → …
  • Tasks that involve End-to-end testing
  • Calls npx
  • Tasks that involve Browser testing

What it does

E2E Test is an agent skill from Artexis10/endstate-gui. Generate Playwright E2E tests following project conventions (Tauri fixture, storage isolation, helpers).

Its SKILL.md is about 780 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Testing & QA, covering End-to-end testing and Browser testing. It works with Tauri and Playwright. The repository describes itself as: Endstate desktop app: reinstall your apps and restore your settings on a fresh Windows PC, from one portable file. Free, open source. Built with Tauri (React + Rust). The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve End-to-end testing
  • Tasks that involve Browser testing

Example prompts

  • “/e2e-test”

Requirements

  • Node.js

Workflow steps

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

  1. Determine spec file path: e2e/.spec.ts
  2. Read relevant source to understand the UI flow being tested
  3. Generate the spec following project conventions (see below)
  4. Verify syntax: npx playwright test e2e/ --list (lists tests without running)

What it can do on your machine

Read from SKILL.md and the folder at commit 4bcd1ac. 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

    Shell commands in SKILL.md call:

    • npx

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

  • Network

    No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.

    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

E2E Test loads about 775 tokens when it runs. Until then it costs about 28 tokens; SKILL.md has 223 words of instructions outside code blocks.

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

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from Artexis10/endstate-gui at commit 4bcd1ac, republished under its Apache-2.0 licence (© Artexis10). 223 words, ~775 tokens.

Download SKILL.mdSave it as .claude/skills/e2e-test/SKILL.md (or your agent's skills folder).
name
e2e-test
description
Generate Playwright E2E tests following project conventions (Tauri fixture, storage isolation, helpers).

Generate Playwright E2E tests for the specified feature or user flow.

Input: Feature or flow to test. Example: /e2e-test profile selection persistence across reload

Steps

  1. Determine spec file path: e2e/<descriptive-name>.spec.ts
  2. Read relevant source to understand the UI flow being tested
  3. Generate the spec following project conventions (see below)
  4. Verify syntax: npx playwright test e2e/<spec-file> --list (lists tests without running)

Project Conventions

  • Import test and expect from the Tauri fixture, NOT from @playwright/test directly:
    typescript
    import { test, expect } from './fixtures/tauri';
  • This fixture auto-injects __TAURI__ mock and __ENDSTATE_MOCK_ENGINE__ into the browser context
  • Use helpers from e2e/helpers/ui-mode.ts:
    • forceAdvancedMode(page) — enable sidebar navigation (call in addInitScript before goto)
    • forceDefaultMode(page) — Overview-centric mode
    • goToApplyPage(page) — navigate to and expand Apply card
    • goToCapturePage(page) — navigate to and expand Capture card
    • goToVerifyPage(page) — navigate to and expand Verify card
    • seedProfileSettings(page) — seed profile via addInitScript before goto
    • seedProfilesViaHook(page) — seed profiles after page loads via E2E hook
  • Storage is isolated: VITE_STORAGE_NS=test prefixes all localStorage keys with test:
  • Configure Tauri mock overrides via test.use({ tauriMockOptions: { invoke: { ... } } })
  • App always starts on Overview page — tests must navigate explicitly

Mock Pattern for Tauri Commands

typescript
test.use({
  tauriMockOptions: {
    invoke: {
      list_manifest_files: () => [
        { name: 'my-profile', path: 'C:\\profiles\\my-profile.jsonc', displayName: 'My Profile' }
      ],
      check_file_exists: () => true,
    }
  }
});

Spec Template

typescript
import { test, expect } from './fixtures/tauri';
import { forceDefaultMode, goToApplyPage } from './helpers/ui-mode';

test.describe('Feature Name', () => {
  test.use({
    tauriMockOptions: {
      invoke: {
        list_manifest_files: () => [],
      }
    }
  });

  test.beforeEach(async ({ page }) => {
    await page.goto('/');
    await page.waitForLoadState('networkidle');
  });

  test('describes expected behavior', async ({ page }) => {
    // Arrange: set up state
    // Act: user interactions
    // Assert: verify outcomes
    await expect(page.getByRole('heading', { name: /expected/i })).toBeVisible();
  });
});

Known Pitfalls

  • Radix Select cannot be automated with standard click → option. Use page.dispatchEvent() workaround or evaluate-based selection.
  • Always waitForLoadState('networkidle') after goto('/') before interacting
  • Use { timeout: 5000 } on assertions that depend on async rendering
  • Prefer getByRole and getByText locators. Use data-testid locators only for structural elements (cards, panels)

© Artexis10, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/e2e-test of Artexis10/endstate-gui.

Open the folder on GitHubat commit 4bcd1ac

Compare with similar skills

E2E Test 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.

E2E Test compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
E2E Test this skillArtexis10/endstate-gui116—~775Automated safety check: PassApache-2.0
Web Application Testinganthropics/skills180k51 repos~966Automated safety check: PassApache-2.0
playwright-cli Browser Automationgithub/gh-aw5.4k24 repos~2.8kAutomated safety check: PassMIT
Write and Verify Playwright Testsappsmithorg/appsmith41k—~2.9kAutomated safety check: NotesApache-2.0
Cucumber and Playwright E2E Testslanggenius/dify158k—~682Automated safety check: PassCustom licence
E2E Testinglangflow-ai/langflow156k—~3.3kAutomated safety check: PassMIT

Similar skills

  • Web Application Testing

    anthropics/skills

    Official

    Tests local web applications with Python Playwright scripts, checking frontend behavior, capturing screenshots and reading browser console logs.

    180k GitHub starsUsed in 51 repos~966 tokens
    Testing & QAAuto-check passed
  • Official

    Drives a real browser from the command line with playwright-cli to open pages, interact, mock requests, save state and work with Playwright tests.

    5.4k GitHub starsUsed in 24 repos~2.8k tokens
    Testing & QAAuto-check passed
  • Writes a Playwright end-to-end test from a prompt, runs it against a live Appsmith deployment and retries with fixes up to three times until it passes.

    41k GitHub stars~2.9k tokensUpdated today
    Testing & QAAuto-check: notes
  • Guides changes and reviews of the Cucumber and Playwright end-to-end suite under `e2e/`: feature files, step definitions, support code, tags, locators and assertions.

    158k GitHub stars~682 tokensUpdated today
    Testing & QAAuto-check passed
  • E2E Testing

    langflow-ai/langflow

    Write and review Playwright E2E tests for Langflow. An agent skill from langflow-ai/langflow.

    156k GitHub stars~3.3k tokensUpdated today
    Testing & QAAuto-check passed
  • Handsontable Playwright E2E Tests

    handsontable/handsontable

    Guides writing and changing Playwright end-to-end tests for Handsontable using page objects, data-testid hooks and deterministic waits.

    22k GitHub stars~1.8k tokensUpdated today
    Testing & QAAuto-check passed

More from Artexis10/endstate-gui

  • Livewire

    Artexis10/endstate-gui

    Drive the real GUI against the real engine via the standalone dev HTTP bridge (npm run dev:bridge).

    116 GitHub stars~2.9k tokensUpdated yesterday
    Auto-check passed
  • Gen Test

    Artexis10/endstate-gui

    Generate unit tests following project conventions. An agent skill from Artexis10/endstate-gui.

    116 GitHub stars~661 tokensUpdated yesterday
    Auto-check passed
  • New Component

    Artexis10/endstate-gui

    Scaffold a new React component with co-located test, shadcn/ui primitives, and barrel export registration.

    116 GitHub stars~524 tokensUpdated yesterday
    Auto-check passed
  • Tauri Command

    Artexis10/endstate-gui

    Scaffold a new Tauri command across Rust backend and TypeScript frontend with proper patterns.

    116 GitHub stars~606 tokensUpdated yesterday
    Auto-check passed

Works with

Categories

Questions about E2E Test

What does E2E Test do?

Generate Playwright E2E tests following project conventions (Tauri fixture, storage isolation, helpers). E2E Test is an agent skill from Artexis10/endstate-gui. Generate Playwright E2E tests following project conventions (Tauri fixture, storage isolation, helpers).

When should I use E2E Test?

E2E Test fits situations like: tasks that involve End-to-end testing; tasks that involve Browser testing.

How do I install E2E Test in Claude Code?

Run `npx skills add Artexis10/endstate-gui --skill e2e-test -a claude-code`. Or copy the skill folder (.claude/skills/e2e-test in Artexis10/endstate-gui) into .claude/skills/e2e-test in your project. Claude Code loads it when a task matches its description.

How do I install E2E Test in Codex?

Run `npx skills add Artexis10/endstate-gui --skill e2e-test -a codex`. Or copy the skill folder (.claude/skills/e2e-test in Artexis10/endstate-gui) into .agents/skills/e2e-test in your project. Codex loads it when a task matches its description.

Can I use E2E Test 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 Artexis10/endstate-gui --skill e2e-test -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/e2e-test, .gemini/skills/e2e-test, .github/skills/e2e-test and .opencode/skills/e2e-test in your project.

What does E2E Test need to run?

Going by SKILL.md and its folder, E2E Test needs the command-line tools its instructions call (npx). Our summary lists: Node.js.

Does E2E Test access the network?

SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is E2E Test 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. Review the folder before installing.

What licence does E2E Test use?

E2E Test is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does E2E Test use?

About 775 tokens (SKILL.md is roughly 3.1k 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 E2E Test?

Skills that share tags, products or a category with E2E Test: Web Application Testing (anthropics/skills, 180k stars), playwright-cli Browser Automation (github/gh-aw, 5.4k stars), Write and Verify Playwright Tests (appsmithorg/appsmith, 41k stars) and Cucumber and Playwright E2E Tests (langgenius/dify, 158k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains E2E Test?

Artexis10 (a GitHub user) maintains it in Artexis10/endstate-gui, which has 116 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 6, 2026.

Source: Artexis10/endstate-gui on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.