Svelte Testing
spences10/sveltest
Fix and create Svelte 5 tests with vitest-browser-svelte and Playwright.
Home Assistant frontend testing and validation workflow. An agent skill from home-assistant/frontend.
$ npx skills add home-assistant/frontend --skill ha-frontend-testing -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install home-assistant/frontend ha-frontend-testing --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/home-assistant/frontend.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/ha-frontend-testing .claude/skills/ha-frontend-testing && rm -rf skills-srcUse ~/.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/
Install the "ha-frontend-testing" agent skill from https://github.com/home-assistant/frontend/tree/dev/.agents/skills/ha-frontend-testing into .claude/skills/ha-frontend-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ha-frontend-testing", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/home-assistant/frontend/tree/dev/.agents/skills/ha-frontend-testingType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add home-assistant/frontend --skill ha-frontend-testing -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install home-assistant/frontend ha-frontend-testing --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/home-assistant/frontend.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/ha-frontend-testing .agents/skills/ha-frontend-testing && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ha-frontend-testing" agent skill from https://github.com/home-assistant/frontend/tree/dev/.agents/skills/ha-frontend-testing into .agents/skills/ha-frontend-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ha-frontend-testing", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add home-assistant/frontend --skill ha-frontend-testing -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install home-assistant/frontend ha-frontend-testing --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/home-assistant/frontend.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/ha-frontend-testing .cursor/skills/ha-frontend-testing && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "ha-frontend-testing" agent skill from https://github.com/home-assistant/frontend/tree/dev/.agents/skills/ha-frontend-testing into .cursor/skills/ha-frontend-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ha-frontend-testing", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/home-assistant/frontend.git --path .agents/skills/ha-frontend-testing--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add home-assistant/frontend --skill ha-frontend-testing -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install home-assistant/frontend ha-frontend-testing --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/home-assistant/frontend.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/ha-frontend-testing .gemini/skills/ha-frontend-testing && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "ha-frontend-testing" agent skill from https://github.com/home-assistant/frontend/tree/dev/.agents/skills/ha-frontend-testing into .gemini/skills/ha-frontend-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ha-frontend-testing", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install home-assistant/frontend ha-frontend-testingInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add home-assistant/frontend --skill ha-frontend-testing -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/home-assistant/frontend.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/ha-frontend-testing .github/skills/ha-frontend-testing && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "ha-frontend-testing" agent skill from https://github.com/home-assistant/frontend/tree/dev/.agents/skills/ha-frontend-testing into .github/skills/ha-frontend-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ha-frontend-testing", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add home-assistant/frontend --skill ha-frontend-testing -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install home-assistant/frontend ha-frontend-testing --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/home-assistant/frontend.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/ha-frontend-testing .opencode/skills/ha-frontend-testing && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "ha-frontend-testing" agent skill from https://github.com/home-assistant/frontend/tree/dev/.agents/skills/ha-frontend-testing into .opencode/skills/ha-frontend-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ha-frontend-testing", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
ha-frontend-testingHome Assistant frontend testing and validation workflow. An agent skill from home-assistant/frontend.
Ha Frontend Testing is an agent skill from home-assistant/frontend. Home Assistant frontend testing and validation workflow. Use when adding or updating tests, running lint, TypeScript checks, Vitest, Playwright e2e suites, dev servers, or chart-data benchmarks.
Its SKILL.md is about 1.7k 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, Unit testing and Browser testing. It works with Home Assistant, Playwright, TypeScript and Vitest. The repository describes itself as: :lollipop: Frontend for Home Assistant. The licence is Apache-2.0.
Read from SKILL.md and the folder at commit e11cdc1. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
pnpmFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pnpm, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Ha Frontend Testing loads about 1.7k tokens when it runs. Until then it costs about 54 tokens; SKILL.md has 825 words of instructions outside code blocks.
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.
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.
The full file from home-assistant/frontend at commit e11cdc1, republished under its Apache-2.0 licence (© home-assistant). 825 words, ~1,721 tokens.
.claude/skills/ha-frontend-testing/SKILL.md (or your agent's skills folder).Use this skill when choosing or running validation for frontend changes.
pnpm lint # ESLint + Prettier + TypeScript + Lit
pnpm format # Auto-fix ESLint + Prettier
pnpm lint:types # TypeScript compiler, run without file arguments
pnpm test # Vitest
pnpm build # Full production build
pnpm dev # App dev server
pnpm dev:serve # Local serving dev serverNever run tsc or pnpm lint:types with file arguments. File arguments make tsc ignore tsconfig.json and can emit .js files into src/.
For focused type feedback on one file, use editor diagnostics instead of a file-scoped tsc command.
Production builds support foreground and managed background execution:
pnpm build # Full foreground build
pnpm build --background # Full managed background build
pnpm build --modern # Modern frontend_latest bundle only
pnpm build --modern --background # Modern managed background build
pnpm build --status
pnpm build --logs [--follow]
pnpm build --stopUse pnpm build --modern --background for production bundle-size or browser performance comparisons that only need modern browser output. It runs the normal metadata and static preparation, minifies and compresses the modern frontend_latest bundle and shared static assets, and generates modern-only entry pages and service workers. It deliberately skips the legacy bundle and its service worker.
Do not pass --help, --background, or --modern to script/build_frontend; that raw script does not parse arguments and always starts the full foreground build. Use pnpm build for managed builds. App builds and development servers keep exclusive ownership of hass_frontend/ for their lifetime.
Managed app, demo, gallery, and E2E app workflows share one lifetime lock, so only one build or development server can run at a time.
callWS, callApi, and the connection with fakes.pnpm dev builds and watches the app, served by a running Home Assistant core configured through development_repo.
pnpm dev:serve also serves locally and supports -c for the core URL and -p for the port. The default is 8124, or 8123 in a devcontainer.
Dev server commands support --background, --status, --stop, and --logs [--follow]. pnpm dev, pnpm dev:serve, pnpm dev:demo, and pnpm dev:gallery also support --fetch-translations; this runs translation fetching, including first-time GitHub device authentication, under the workflow lock before starting the watcher. It works in foreground and background modes. Prefer managed background mode while iterating so the watcher stays available across test runs without occupying the terminal. pnpm dev and pnpm dev:serve share one managed process slot because both write the app output.
Each suite has its own dev server port. Playwright reuses an existing server locally when its configured URL responds; otherwise it performs a slow full build. When a development watcher is being reused, rspack recompiles on save and reruns should not need a restart.
Start the relevant suite server, then run that suite:
| Suite | Background server | Test command |
|---|---|---|
| App | pnpm test:e2e:app:dev --background on 8095 | pnpm test:e2e:app |
| Demo | pnpm dev:demo --background on 8090 | pnpm test:e2e:demo |
| Gallery | pnpm dev:gallery --background on 8100 | pnpm test:e2e:gallery |
The custom development wrappers use /__ha_dev_status to identify and manage their own suites. Playwright server reuse checks the configured URL instead. Wrapper start and stop operations are idempotent for a matching suite and reject an unrelated process occupying the port.
Local runs against a watched development server do not always match CI's clean build artifacts, environment, sharding, or worker configuration. Use background servers for the fast iteration loop, but confirm the relevant CI jobs complete successfully before considering E2E changes verified.
Use -g "<title>" --project=chromium to narrow a run. pnpm test:e2e runs suites sequentially when managed servers are unavailable to prevent cold builds racing over shared generated assets. Run suites directly; piping through output truncation hides progress and failures.
The app suite uses a stripped-down harness for e2e. Demo and gallery use their normal dev servers.
For chart data transforms such as history, statistics, energy, and downsampling, read and follow the complete workflow in test/benchmarks/README.md before making benchmark or optimization changes.
That workflow owns the baseline, noise analysis, guardrails, acceptance thresholds, and reporting requirements. In particular, optimizations must keep output bit-identical; never update snapshots or modify fixtures to make an optimization pass.
pnpm lint:types if practical.pnpm lint and relevant test suites when practical.© home-assistant, 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
Just SKILL.md in .agents/skills/ha-frontend-testing of home-assistant/frontend.
Open the folder on GitHubat commit e11cdc1
Ha Frontend Testing 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Ha Frontend Testing this skillhome-assistant/frontend | 5.7k | — | ~1.7k | Automated safety check: Pass | Apache-2.0 | |
| Svelte Testingspences10/sveltest | 113 | — | ~579 | Automated safety check: Pass | MIT | |
| Frontend Typescript Testingshinpr/ai-coding-project-boilerplate | 233 | — | ~1.5k | Automated safety check: Pass | MIT | |
| Test CommanderEliasOulkadi/shokunin | 114 | — | ~3k | Automated safety check: Notes | MIT | |
| Frontend Typescript Testingshinpr/ai-coding-project-boilerplate | 233 | — | ~843 | Automated safety check: Pass | MIT | |
| Frontend Typescript Testingshinpr/ai-coding-project-boilerplate | 233 | — | ~692 | Automated safety check: Pass | MIT |
spences10/sveltest
Fix and create Svelte 5 tests with vitest-browser-svelte and Playwright.
shinpr/ai-coding-project-boilerplate
Designs frontend tests using the repository's configured React test and browser harnesses, including RTL, MSW, Vitest, and Playwright when present.
EliasOulkadi/shokunin
Generate unit, integration, E2E, and visual regression tests following the Testing Trophy methodology (80% integration).
shinpr/ai-coding-project-boilerplate
リポジトリで設定済みのReactテスト・ブラウザハーネスを使用してフロントエンドテストを設計。RTL、MSW、Vitest、Playwrightが存在する場合に適用。コンポーネント、loading/error state、統合、フロントエンドE2Eテストの追加・レビュー時に使用。
shinpr/ai-coding-project-boilerplate
使用仓库已配置的 React 测试与浏览器测试工具(包括 RTL、MSW、Vitest,以及存在时的 Playwright)设计前端测试。适用于新增或评审组件测试、加载/错误状态测试、集成测试或前端 E2E 测试时。
Kilo-Org/kilo-marketplace
Write unit and integration tests for Angular v20+ applications using Vitest or Jasmine with TestBed and modern testing patterns.
home-assistant/frontend
Home Assistant frontend component patterns. An agent skill from home-assistant/frontend.
home-assistant/frontend
Home Assistant frontend Lit context and hass migration guidance.
home-assistant/frontend
Home Assistant standalone demo structure, configurations, URL navigation, mocked APIs, shared demo stubs used by gallery, and verification.
home-assistant/frontend
Home Assistant frontend gallery structure, pages, demos, content, and verification.
home-assistant/frontend
Home Assistant frontend styling, theming, spacing, responsive layout, RTL, and View Transitions guidance.
home-assistant/frontend
Home Assistant frontend TypeScript conventions. An agent skill from home-assistant/frontend.
Categories
Home Assistant frontend testing and validation workflow. An agent skill from home-assistant/frontend. Ha Frontend Testing is an agent skill from home-assistant/frontend. Home Assistant frontend testing and validation workflow.
Ha Frontend Testing fits situations like: typeScript checks; playwright e2e suites; chart-data benchmarks.
Run `npx skills add home-assistant/frontend --skill ha-frontend-testing -a claude-code`. Or copy the skill folder (.agents/skills/ha-frontend-testing in home-assistant/frontend) into .claude/skills/ha-frontend-testing in your project. Claude Code loads it when a task matches its description.
Run `npx skills add home-assistant/frontend --skill ha-frontend-testing -a codex`. Or copy the skill folder (.agents/skills/ha-frontend-testing in home-assistant/frontend) into .agents/skills/ha-frontend-testing in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add home-assistant/frontend --skill ha-frontend-testing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ha-frontend-testing, .gemini/skills/ha-frontend-testing, .github/skills/ha-frontend-testing and .opencode/skills/ha-frontend-testing in your project.
Going by SKILL.md and its folder, Ha Frontend Testing needs the command-line tools its instructions call (pnpm).
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.
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.
Ha Frontend Testing 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.
About 1.7k tokens (SKILL.md is roughly 6.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Ha Frontend Testing: Svelte Testing (spences10/sveltest, 113 stars), Frontend Typescript Testing (shinpr/ai-coding-project-boilerplate, 233 stars), Test Commander (EliasOulkadi/shokunin, 114 stars) and Frontend Typescript Testing (shinpr/ai-coding-project-boilerplate, 233 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
home-assistant (a GitHub organization) maintains it in home-assistant/frontend, which has 5,694 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on October 9, 2026.
Source: home-assistant/frontend on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.