Agent skill

Handsontable Playwright E2E Tests

by handsontable in handsontable/handsontable

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

Custom licenceAuto-check passedTesting & QA

Install Handsontable Playwright E2E Tests

skills CLI
$ npx skills add handsontable/handsontable --skill handsontable-playwright-e2e -a claude-code

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

GitHub CLI
$ gh skill install handsontable/handsontable handsontable-playwright-e2e --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/handsontable/handsontable.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/handsontable-playwright-e2e .claude/skills/handsontable-playwright-e2e && 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
handsontable-playwright-e2e
GitHub stars
22k
Token cost
~1.7k tokens
SKILL.md length
734 words
Files
5 (incl. references)
Skills in repo
31
Repo updated
First seen
Licence
Custom licence

At a glance

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

  • Works in 5 steps: Page Object Model. A spec expresses… → Hook by data-testid, not structural CSS.… → Web-first waits only. await… → …
  • Writing a new Playwright E2E spec for Handsontable
  • SKILL.md covers Where tests run, Five rules, Which test and Test granular user actions, plus 2 more sections
  • Calls npx and npm

What it does

New end-to-end tests for Handsontable are Playwright specs in tests/e2e, and the older Jasmine suite is frozen. Locally the agent runs only the specs it created or changed under the e2e-main project, while CI runs every spec across a matrix of themes and bundles, six projects in all. To run all legs for one spec it drops the project flag.

The skill warns to check port 8123 before trusting a local result, because Playwright reuses whatever server is already listening and could be testing a build you did not make. If the port is taken, HOT_TEST_PORT selects another one. Before an all-legs run both bundles must be rebuilt with the full build, since the umd build writes only one file, and mixed results are read per leg. Five rules follow, the first being the Page Object Model: specs state intent, and selectors and multi-step flows live in page objects under tests/fixtures/pages.

Reference files cover codegen recording, determinism, page objects and wrapper-specific gotchas, and the skill also helps decide between a new test and a modified one, and between E2E and unit tests. It is not meant for screenshot tests or the legacy Jasmine suite.

When your agent uses it

  • Writing a new Playwright E2E spec for Handsontable
  • Modifying an existing end-to-end test in tests/e2e
  • Debugging a spec that behaves differently between bundles or wrappers
  • Deciding whether a behavior needs an E2E test or a unit test

Example prompts

  • “Add a Playwright spec that checks cell editing in the grid and put the selectors in a page object.”
  • “My e2e spec passes locally but fails on the min bundle in CI. Find out why.”
  • “Check whether port 8123 is already in use before I run the e2e-main project.”

Requirements

  • Playwright, run from the tests folder with npx
  • A local Handsontable checkout built with npm run build

Workflow steps

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

  1. Page Object Model. A spec expresses intent; selectors and multi-step flows live in a page object under tests/fixtures/pages/.
  2. Hook by data-testid, not structural CSS. Stamp ids in the fixture (or add them to the component when it removes ambiguity). Fall back to…
  3. Web-first waits only. await expect(locator).toBeVisible(); await every assertion. Inside a page object the same rule has six shapes lint…
  4. Isolation. One instance per test; page.route() / page.clock() for network/time. failOnFlakyTests is on in CI: pass-on-retry is a hard…
  5. Thread the bundle axis. Import test from tests/fixtures/test.ts, destructure { page, theme, bundle }, and pass both to the page object. A…

What it can do on your machine

Read from SKILL.md and the folder at commit 68b5e97. 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
    • npm

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

  • Network

    No URLs in SKILL.md. Its commands use npx and npm, 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

Handsontable Playwright E2E Tests loads about 1.7k tokens when it runs, and up to ~4.1k if it reads all its reference files. Until then it costs about 118 tokens; SKILL.md has 734 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~118
When it runs · the whole SKILL.md, loaded when a task matches
~1.7k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.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); files beside SKILL.md are not scanned.

SKILL.md

Its licence (Custom licence) doesn't allow us to republish the file, so here is its outline and opening line. It has 734 words (~1,670 tokens).

“New E2E is Playwright in tests/e2e/ (*.spec.ts). The legacy Jasmine *.spec.js suite is frozen: add new specs only in Playwright. Reference: tests/e2e/grid.spec.ts + tests/fixtures/pages/GridPage.ts.”

— opening of SKILL.md by handsontable, Custom licence
name
handsontable-playwright-e2e

Read the full SKILL.md on GitHub

Files

SKILL.md and 4 other files (references) in .claude/skills/handsontable-playwright-e2e of handsontable/handsontable.

  • SKILL.md
  • references/codegen.md
  • references/determinism.md
  • references/page-objects.md
  • references/wrappers.md

Open the folder on GitHubat commit 68b5e97

Compare with similar skills

Handsontable Playwright E2E Tests 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.

Handsontable Playwright E2E Tests compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Handsontable Playwright E2E Tests this skillhandsontable/handsontable22k—~1.7kAutomated safety check: PassCustom licence
Web Application Testinganthropics/skills180k51 repos~966Automated safety check: PassApache-2.0
playwright-cli Browser Automationgithub/gh-aw5.3k23 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.3k GitHub starsUsed in 23 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
  • E2E Testing

    OpenHands/OpenHands

    This skill should be used when the user asks to "add an E2E test", "run live E2E", "run mock-LLM tests", "debug Playwright CI", "test the Docker image", or changes tests/e2e, Playwright configs, E2E…

    90k GitHub stars~308 tokensUpdated today
    Testing & QAAuto-check passed

More from handsontable/handsontable

All 31 skills in this repo
  • Guides changes to the @handsontable/angular-wrapper package: the HotTableComponent lifecycle, NgZone performance handling, settings services and the ng-packagr build.

    22k GitHub stars~1k tokensUpdated today
    Auto-check passed
  • BrowserStack Live Testing

    handsontable/handsontable

    Opens a live BrowserStack session on a real Android, iOS or desktop browser for a local or public URL, tunneling localhost through Cloudflare when needed.

    22k GitHub stars~950 tokensUpdated today
    Auto-check passed
  • Handsontable Changelog Entry

    handsontable/handsontable

    Decides whether a code change needs a changelog entry and creates the JSON file in .changelogs with the right type, framework and user-facing title.

    22k GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Code Review Graph Navigator

    handsontable/handsontable

    Queries a pre-built, Tree-sitter-based code graph of the whole monorepo instead of grepping call chains, for exploring, debugging, refactoring or reviewing code.

    22k GitHub stars~939 tokensUpdated today
    Auto-check passed
  • Handsontable Coordinate Systems

    handsontable/handsontable

    Explains Handsontable's physical, visual and renderable row and column coordinate spaces and how to convert between them with IndexMapper, for debugging misplaced rows or columns.

    22k GitHub stars~721 tokensUpdated today
    Auto-check passed
  • Creating Docs Code Examples

    handsontable/handsontable

    Sets the rules for writing Handsontable documentation examples in JavaScript, TypeScript, React, Angular and Vue, with the imports, registration and licence key each needs.

    22k GitHub stars~2.2k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Handsontable Playwright E2E Tests

What does Handsontable Playwright E2E Tests do?

Guides writing and changing Playwright end-to-end tests for Handsontable using page objects, data-testid hooks and deterministic waits. New end-to-end tests for Handsontable are Playwright specs in tests/e2e, and the older Jasmine suite is frozen. Locally the agent runs only the specs it created or changed under the e2e-main project, while CI runs every spec across a matrix of themes and bundles, six projects in all.

When should I use Handsontable Playwright E2E Tests?

Handsontable Playwright E2E Tests fits situations like: writing a new Playwright E2E spec for Handsontable; modifying an existing end-to-end test in tests/e2e; debugging a spec that behaves differently between bundles or wrappers; deciding whether a behavior needs an E2E test or a unit test.

How do I install Handsontable Playwright E2E Tests in Claude Code?

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

How do I install Handsontable Playwright E2E Tests in Codex?

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

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

What does Handsontable Playwright E2E Tests need to run?

Going by SKILL.md and its folder, Handsontable Playwright E2E Tests needs the command-line tools its instructions call (npx and npm). Our summary lists: Playwright, run from the tests folder with npx; A local Handsontable checkout built with npm run build.

Does Handsontable Playwright E2E Tests access the network?

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

Is Handsontable Playwright E2E Tests 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 Handsontable Playwright E2E Tests use?

Handsontable Playwright E2E Tests has a licence file (the repository's licence) that doesn't match a standard licence. Read it on GitHub before reusing the skill.

How many tokens does Handsontable Playwright E2E Tests use?

About 1.7k tokens (SKILL.md is roughly 6.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.4k tokens, read only when the agent opens those files.

What are the alternatives to Handsontable Playwright E2E Tests?

Skills that share tags, products or a category with Handsontable Playwright E2E Tests: Web Application Testing (anthropics/skills, 180k stars), playwright-cli Browser Automation (github/gh-aw, 5.3k 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 Handsontable Playwright E2E Tests?

handsontable (a GitHub organization) maintains it in handsontable/handsontable, which has 22,059 GitHub stars. The repository holds 31 skills in this directory. The repository was last updated on October 7, 2026.

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