Jakość

Front-end testing

Writes reliable front-end tests with the project's own runner - unit and component tests with Vitest or Jest and Testing Library queries by role, end-to-end tests with Playwright 1.65 or Cypress, network mocking, accessibility scans with axe-core, without flakes. Use when adding or fixing tests, a flaky test or CI test setup, or when asked "test this component" or "write an e2e test".

fe-testingvitest, jest, playwright, cypress, testing-library5 regułładowane zawsze: 91 tokenów; przy użyciu: 949 tokenów; w referencjach na żądanie: 1636 tokenów.

Instalacja

init instaluje ten skill, gdy projekt używa: vitest, jest, playwright, cypress, testing-library. Wybierz agenta, aby zobaczyć, gdzie trafią jego pliki.

Agent
npx github:dawidolko/frontend-skills init

Bez --agents polecenie init rozpoznaje agentów po tym, co projekt już ma, a gdy nie znajdzie żadnego, pyta:

Po czym init rozpoznaje każdego z agentów (17)
AgentRozpoznawany po
Claude CodeCLAUDE.md .claude CLAUDE.local.md
OpenAI Codex.codex AGENTS.override.md
Cursor.cursor .cursorrules
GitHub Copilot.github/copilot-instructions.md .github/instructions .github/skills .github/prompts
Gemini CLIGEMINI.md .gemini
Antigravity CLI.agents/rules .agent/rules
Devin / Windsurf.devin .windsurf .windsurfrules
OpenCodeopencode.json opencode.jsonc .opencode
Cline.clinerules .cline
Zed.rules .zed
JetBrains Junie.junie
Kiro.kiro
Augment.augment .augment-guidelines
Trae.trae
Continue.continue
Amazon Q Developer.amazonq
Aider.aider.conf.yml CONVENTIONS.md

Gdzie trafia fe-testing dla: Claude Code

  • .claude/skills/fe-testing/SKILL.mdskill
  • .claude/skills/fe-testing/references/testing.mdskill
  • .claude/rules/fe-testing.mdplik reguł
  • CLAUDE.mdblok instrukcji

Dla każdego agenta także: .frontend-skills/profile.json, .frontend-skills/lessons.md i .frontend-skills/install.json.

Zaplanowane przez sam instalator dla przykładowego projektu React z repozytorium.

.claude/rules/fe-testing.md
---
paths:
  - "**/*.test.*"
  - "**/*.spec.*"
  - "**/__tests__/**"
  - "**/e2e/**"
  - "**/tests/**"
  - "**/cypress/**"
  - "**/playwright.config.*"
  - "**/vitest.config.*"
---

# Front-end testing (frontend-skills)

Writes reliable front-end tests with the project's own runner - unit and component tests with Vitest or Jest and Testing Library queries by role, end-to-end tests with Playwright 1.65 or Cypress, network mocking, accessibility scans with axe-core, without flakes. Use when adding or fixing tests, a flaky test or CI test setup, or when asked "test this component" or "write an e2e test".

- Run tests through the project's own script and runner (`npm test`, `pnpm test:e2e`); never install a second runner.
- Never commit `.only`, `fit` or `fdescribe`; make CI refuse them (test/no-focused-tests).
- Wait for conditions, never for time: no `waitForTimeout`, `cy.wait(ms)` or sleeps (test/no-fixed-wait).
- In Playwright, assert with web-first matchers: `await expect(locator).toBeVisible()` (test/web-first-assertions).
- Find elements by role and name first, then label and text; test ids last (test/query-by-role).
- Scan key pages and states with axe-core and the WCAG tags you target; automated checks find only part of the problems (test/axe-in-e2e).
- Await every async call: `findBy*`, `user.*`, Playwright actions and assertions.
- Each test sets up its own state and passes alone; reset in `beforeEach`, not `afterEach`.
- Mock HTTP at the network boundary (MSW, `page.route`, `cy.intercept`); never hit third-party services.
- Every test asserts something a user would notice; no tests of implementation details.

Before larger changes, read the full skill: `.claude/skills/fe-testing/SKILL.md`. Explain any rule id with `npx github:dawidolko/frontend-skills explain <id>`.
Prawdziwy plik

Gdzie trafia fe-testing dla: OpenAI Codex

  • .agents/skills/fe-testing/SKILL.mdskill
  • .agents/skills/fe-testing/references/testing.mdskill
  • AGENTS.mdblok instrukcji

Dla każdego agenta także: .frontend-skills/profile.json, .frontend-skills/lessons.md i .frontend-skills/install.json.

OpenAI Codex nie ma plików reguł zawężonych do typów plików; czyta skille i blok instrukcji.

Zaplanowane przez sam instalator dla przykładowego projektu React z repozytorium.

AGENTS.md
## Front-end work (frontend-skills)

- Before front-end work, read `.frontend-skills/profile.json` (the stack) and `.frontend-skills/lessons.md` (confirmed conventions of this project; they win over any skill).
- Use the installed `fe-*` skill that matches the files you edit.
- After changing UI code, run `npx github:dawidolko/frontend-skills audit --changed --json` and fix findings at `serious` and above; `explain <rule id>` gives the reason, the source and the fix.
- Name rule ids (such as `a11y/img-alt`) in reviews and commit messages.
Prawdziwy plik

Gdzie trafia fe-testing dla: Cursor

  • .agents/skills/fe-testing/SKILL.mdskill
  • .agents/skills/fe-testing/references/testing.mdskill
  • .cursor/rules/fe-testing.mdcplik reguł
  • AGENTS.mdblok instrukcji

Dla każdego agenta także: .frontend-skills/profile.json, .frontend-skills/lessons.md i .frontend-skills/install.json.

Zaplanowane przez sam instalator dla przykładowego projektu React z repozytorium.

.cursor/rules/fe-testing.mdc
---
description: Writes reliable front-end tests with the project's own runner - unit and component tests with Vitest or Jest and Testing Library queries by role, end-to-end tests with Playwright 1.65 or Cypress, network mocking, accessibility scans with axe-core, without flakes. Use when adding or fixing tests, a flaky test or CI test setup, or when asked "test this component" or "write an e2e test".
globs: **/*.test.*, **/*.spec.*, **/__tests__/**, **/e2e/**, **/tests/**, **/cypress/**, **/playwright.config.*, **/vitest.config.*
alwaysApply: false
---

# Front-end testing (frontend-skills)

- Run tests through the project's own script and runner (`npm test`, `pnpm test:e2e`); never install a second runner.
- Never commit `.only`, `fit` or `fdescribe`; make CI refuse them (test/no-focused-tests).
- Wait for conditions, never for time: no `waitForTimeout`, `cy.wait(ms)` or sleeps (test/no-fixed-wait).
- In Playwright, assert with web-first matchers: `await expect(locator).toBeVisible()` (test/web-first-assertions).
- Find elements by role and name first, then label and text; test ids last (test/query-by-role).
- Scan key pages and states with axe-core and the WCAG tags you target; automated checks find only part of the problems (test/axe-in-e2e).
- Await every async call: `findBy*`, `user.*`, Playwright actions and assertions.
- Each test sets up its own state and passes alone; reset in `beforeEach`, not `afterEach`.
- Mock HTTP at the network boundary (MSW, `page.route`, `cy.intercept`); never hit third-party services.
- Every test asserts something a user would notice; no tests of implementation details.

Before larger changes, read the full skill: `.agents/skills/fe-testing/SKILL.md`. Explain any rule id with `npx github:dawidolko/frontend-skills explain <id>`.
Prawdziwy plik

Gdzie trafia fe-testing dla: GitHub Copilot

  • .agents/skills/fe-testing/SKILL.mdskill
  • .agents/skills/fe-testing/references/testing.mdskill
  • .github/instructions/fe-testing.instructions.mdplik reguł
  • AGENTS.mdblok instrukcji

Dla każdego agenta także: .frontend-skills/profile.json, .frontend-skills/lessons.md i .frontend-skills/install.json.

Zaplanowane przez sam instalator dla przykładowego projektu React z repozytorium.

.github/instructions/fe-testing.instructions.md
---
applyTo: "**/*.test.*,**/*.spec.*,**/__tests__/**,**/e2e/**,**/tests/**,**/cypress/**,**/playwright.config.*,**/vitest.config.*"
description: "Writes reliable front-end tests with the project's own runner - unit and component tests with Vitest or Jest and Testing Library queries by role, end-to-end tests with Playwright 1.65 or Cypress, network mocking, accessibility scans with axe-core, without flakes. Use when adding or fixing tests, a flaky test or CI test setup, or when asked \"test this component\" or \"write an e2e test\"."
---

# Front-end testing (frontend-skills)

- Run tests through the project's own script and runner (`npm test`, `pnpm test:e2e`); never install a second runner.
- Never commit `.only`, `fit` or `fdescribe`; make CI refuse them (test/no-focused-tests).
- Wait for conditions, never for time: no `waitForTimeout`, `cy.wait(ms)` or sleeps (test/no-fixed-wait).
- In Playwright, assert with web-first matchers: `await expect(locator).toBeVisible()` (test/web-first-assertions).
- Find elements by role and name first, then label and text; test ids last (test/query-by-role).
- Scan key pages and states with axe-core and the WCAG tags you target; automated checks find only part of the problems (test/axe-in-e2e).
- Await every async call: `findBy*`, `user.*`, Playwright actions and assertions.
- Each test sets up its own state and passes alone; reset in `beforeEach`, not `afterEach`.
- Mock HTTP at the network boundary (MSW, `page.route`, `cy.intercept`); never hit third-party services.
- Every test asserts something a user would notice; no tests of implementation details.

Before larger changes, read the full skill: `.agents/skills/fe-testing/SKILL.md`. Explain any rule id with `npx github:dawidolko/frontend-skills explain <id>`.
Prawdziwy plik

Gdzie trafia fe-testing dla: Gemini CLI

  • .agents/skills/fe-testing/SKILL.mdskill
  • .agents/skills/fe-testing/references/testing.mdskill
  • GEMINI.mdblok instrukcji

Dla każdego agenta także: .frontend-skills/profile.json, .frontend-skills/lessons.md i .frontend-skills/install.json.

Gemini CLI: Gemini CLI was replaced by Antigravity CLI for unpaid tiers on 2026-06-18; choose "antigravity" too if you use it.

Gemini CLI nie ma plików reguł zawężonych do typów plików; czyta skille i blok instrukcji.

Zaplanowane przez sam instalator dla przykładowego projektu React z repozytorium.

GEMINI.md
## Front-end work (frontend-skills)

- Before front-end work, read `.frontend-skills/profile.json` (the stack) and `.frontend-skills/lessons.md` (confirmed conventions of this project; they win over any skill).
- Use the installed `fe-*` skill that matches the files you edit.
- After changing UI code, run `npx github:dawidolko/frontend-skills audit --changed --json` and fix findings at `serious` and above; `explain <rule id>` gives the reason, the source and the fix.
- Name rule ids (such as `a11y/img-alt`) in reviews and commit messages.
Prawdziwy plik

Gdzie trafia fe-testing dla: Antigravity CLI

  • .agents/skills/fe-testing/SKILL.mdskill
  • .agents/skills/fe-testing/references/testing.mdskill
  • .agents/rules/fe-testing.mdplik reguł
  • AGENTS.mdblok instrukcji

Dla każdego agenta także: .frontend-skills/profile.json, .frontend-skills/lessons.md i .frontend-skills/install.json.

Zaplanowane przez sam instalator dla przykładowego projektu React z repozytorium.

.agents/rules/fe-testing.md
---
trigger: glob
globs: "**/*.test.*, **/*.spec.*, **/__tests__/**, **/e2e/**, **/tests/**, **/cypress/**, **/playwright.config.*, **/vitest.config.*"
description: "Writes reliable front-end tests with the project's own runner - unit and component tests with Vitest or Jest and Testing Library queries by role, end-to-end tests with Playwright 1.65 or Cypress, network mocking, accessibility scans with axe-core, without flakes. Use when adding or fixing tests, a flaky test or CI test setup, or when asked \"test this component\" or \"write an e2e test\"."
---

# Front-end testing (frontend-skills)

- Run tests through the project's own script and runner (`npm test`, `pnpm test:e2e`); never install a second runner.
- Never commit `.only`, `fit` or `fdescribe`; make CI refuse them (test/no-focused-tests).
- Wait for conditions, never for time: no `waitForTimeout`, `cy.wait(ms)` or sleeps (test/no-fixed-wait).
- In Playwright, assert with web-first matchers: `await expect(locator).toBeVisible()` (test/web-first-assertions).
- Find elements by role and name first, then label and text; test ids last (test/query-by-role).
- Scan key pages and states with axe-core and the WCAG tags you target; automated checks find only part of the problems (test/axe-in-e2e).
- Await every async call: `findBy*`, `user.*`, Playwright actions and assertions.
- Each test sets up its own state and passes alone; reset in `beforeEach`, not `afterEach`.
- Mock HTTP at the network boundary (MSW, `page.route`, `cy.intercept`); never hit third-party services.
- Every test asserts something a user would notice; no tests of implementation details.

Before larger changes, read the full skill: `.agents/skills/fe-testing/SKILL.md`. Explain any rule id with `npx github:dawidolko/frontend-skills explain <id>`.
Prawdziwy plik

Gdzie trafia fe-testing dla: Devin / Windsurf

  • .agents/skills/fe-testing/SKILL.mdskill
  • .agents/skills/fe-testing/references/testing.mdskill
  • .devin/rules/fe-testing.mdplik reguł
  • AGENTS.mdblok instrukcji

Dla każdego agenta także: .frontend-skills/profile.json, .frontend-skills/lessons.md i .frontend-skills/install.json.

Devin / Windsurf: Devin CLI also reads .cursor/rules; with Cursor chosen too, the CLI sees both rule files of a skill.

Zaplanowane przez sam instalator dla przykładowego projektu React z repozytorium.

.devin/rules/fe-testing.md
---
trigger: glob
globs: "**/*.test.*,**/*.spec.*,**/__tests__/**,**/e2e/**,**/tests/**,**/cypress/**,**/playwright.config.*,**/vitest.config.*"
---

# Front-end testing (frontend-skills)

Writes reliable front-end tests with the project's own runner - unit and component tests with Vitest or Jest and Testing Library queries by role, end-to-end tests with Playwright 1.65 or Cypress, network mocking, accessibility scans with axe-core, without flakes. Use when adding or fixing tests, a flaky test or CI test setup, or when asked "test this component" or "write an e2e test".

- Run tests through the project's own script and runner (`npm test`, `pnpm test:e2e`); never install a second runner.
- Never commit `.only`, `fit` or `fdescribe`; make CI refuse them (test/no-focused-tests).
- Wait for conditions, never for time: no `waitForTimeout`, `cy.wait(ms)` or sleeps (test/no-fixed-wait).
- In Playwright, assert with web-first matchers: `await expect(locator).toBeVisible()` (test/web-first-assertions).
- Find elements by role and name first, then label and text; test ids last (test/query-by-role).
- Scan key pages and states with axe-core and the WCAG tags you target; automated checks find only part of the problems (test/axe-in-e2e).
- Await every async call: `findBy*`, `user.*`, Playwright actions and assertions.
- Each test sets up its own state and passes alone; reset in `beforeEach`, not `afterEach`.
- Mock HTTP at the network boundary (MSW, `page.route`, `cy.intercept`); never hit third-party services.
- Every test asserts something a user would notice; no tests of implementation details.

Before larger changes, read the full skill: `.agents/skills/fe-testing/SKILL.md`. Explain any rule id with `npx github:dawidolko/frontend-skills explain <id>`.
Prawdziwy plik

Gdzie trafia fe-testing dla: OpenCode

  • .agents/skills/fe-testing/SKILL.mdskill
  • .agents/skills/fe-testing/references/testing.mdskill
  • AGENTS.mdblok instrukcji

Dla każdego agenta także: .frontend-skills/profile.json, .frontend-skills/lessons.md i .frontend-skills/install.json.

OpenCode nie ma plików reguł zawężonych do typów plików; czyta skille i blok instrukcji.

Zaplanowane przez sam instalator dla przykładowego projektu React z repozytorium.

AGENTS.md
## Front-end work (frontend-skills)

- Before front-end work, read `.frontend-skills/profile.json` (the stack) and `.frontend-skills/lessons.md` (confirmed conventions of this project; they win over any skill).
- Use the installed `fe-*` skill that matches the files you edit.
- After changing UI code, run `npx github:dawidolko/frontend-skills audit --changed --json` and fix findings at `serious` and above; `explain <rule id>` gives the reason, the source and the fix.
- Name rule ids (such as `a11y/img-alt`) in reviews and commit messages.
Prawdziwy plik

Gdzie trafia fe-testing dla: Cline

  • .claude/skills/fe-testing/SKILL.mdskill
  • .claude/skills/fe-testing/references/testing.mdskill
  • .clinerules/fe-testing.mdplik reguł
  • AGENTS.mdblok instrukcji

Dla każdego agenta także: .frontend-skills/profile.json, .frontend-skills/lessons.md i .frontend-skills/install.json.

Cline: If .clinerules is a single file rather than a folder, Cline rule files are not written; skills still are.

Zaplanowane przez sam instalator dla przykładowego projektu React z repozytorium.

.clinerules/fe-testing.md
---
paths:
  - "**/*.test.*"
  - "**/*.spec.*"
  - "**/__tests__/**"
  - "**/e2e/**"
  - "**/tests/**"
  - "**/cypress/**"
  - "**/playwright.config.*"
  - "**/vitest.config.*"
---

# Front-end testing (frontend-skills)

Writes reliable front-end tests with the project's own runner - unit and component tests with Vitest or Jest and Testing Library queries by role, end-to-end tests with Playwright 1.65 or Cypress, network mocking, accessibility scans with axe-core, without flakes. Use when adding or fixing tests, a flaky test or CI test setup, or when asked "test this component" or "write an e2e test".

- Run tests through the project's own script and runner (`npm test`, `pnpm test:e2e`); never install a second runner.
- Never commit `.only`, `fit` or `fdescribe`; make CI refuse them (test/no-focused-tests).
- Wait for conditions, never for time: no `waitForTimeout`, `cy.wait(ms)` or sleeps (test/no-fixed-wait).
- In Playwright, assert with web-first matchers: `await expect(locator).toBeVisible()` (test/web-first-assertions).
- Find elements by role and name first, then label and text; test ids last (test/query-by-role).
- Scan key pages and states with axe-core and the WCAG tags you target; automated checks find only part of the problems (test/axe-in-e2e).
- Await every async call: `findBy*`, `user.*`, Playwright actions and assertions.
- Each test sets up its own state and passes alone; reset in `beforeEach`, not `afterEach`.
- Mock HTTP at the network boundary (MSW, `page.route`, `cy.intercept`); never hit third-party services.
- Every test asserts something a user would notice; no tests of implementation details.

Before larger changes, read the full skill: `.claude/skills/fe-testing/SKILL.md`. Explain any rule id with `npx github:dawidolko/frontend-skills explain <id>`.
Prawdziwy plik

Gdzie trafia fe-testing dla: Zed

  • .agents/skills/fe-testing/SKILL.mdskill
  • .agents/skills/fe-testing/references/testing.mdskill
  • CLAUDE.mdblok instrukcji

Dla każdego agenta także: .frontend-skills/profile.json, .frontend-skills/lessons.md i .frontend-skills/install.json.

Zed: Zed reads only the first instruction file of its list; the block is placed in that file.

Zed nie ma plików reguł zawężonych do typów plików; czyta skille i blok instrukcji.

Zaplanowane przez sam instalator dla przykładowego projektu React z repozytorium.

CLAUDE.md
## Front-end work (frontend-skills)

- Before front-end work, read `.frontend-skills/profile.json` (the stack) and `.frontend-skills/lessons.md` (confirmed conventions of this project; they win over any skill).
- Use the installed `fe-*` skill that matches the files you edit.
- After changing UI code, run `npx github:dawidolko/frontend-skills audit --changed --json` and fix findings at `serious` and above; `explain <rule id>` gives the reason, the source and the fix.
- Name rule ids (such as `a11y/img-alt`) in reviews and commit messages.
Prawdziwy plik

Gdzie trafia fe-testing dla: JetBrains Junie

  • .agents/skills/fe-testing/SKILL.mdskill
  • .agents/skills/fe-testing/references/testing.mdskill
  • AGENTS.mdblok instrukcji

Dla każdego agenta także: .frontend-skills/profile.json, .frontend-skills/lessons.md i .frontend-skills/install.json.

JetBrains Junie: Junie reads .agents/skills only in a trusted project.

JetBrains Junie nie ma plików reguł zawężonych do typów plików; czyta skille i blok instrukcji.

Zaplanowane przez sam instalator dla przykładowego projektu React z repozytorium.

AGENTS.md
## Front-end work (frontend-skills)

- Before front-end work, read `.frontend-skills/profile.json` (the stack) and `.frontend-skills/lessons.md` (confirmed conventions of this project; they win over any skill).
- Use the installed `fe-*` skill that matches the files you edit.
- After changing UI code, run `npx github:dawidolko/frontend-skills audit --changed --json` and fix findings at `serious` and above; `explain <rule id>` gives the reason, the source and the fix.
- Name rule ids (such as `a11y/img-alt`) in reviews and commit messages.
Prawdziwy plik

Gdzie trafia fe-testing dla: Kiro

  • .kiro/skills/fe-testing/SKILL.mdskill
  • .kiro/skills/fe-testing/references/testing.mdskill
  • .kiro/steering/fe-testing.mdplik reguł
  • AGENTS.mdblok instrukcji

Dla każdego agenta także: .frontend-skills/profile.json, .frontend-skills/lessons.md i .frontend-skills/install.json.

Zaplanowane przez sam instalator dla przykładowego projektu React z repozytorium.

.kiro/steering/fe-testing.md
---
inclusion: fileMatch
fileMatchPattern: ["**/*.test.*", "**/*.spec.*", "**/__tests__/**", "**/e2e/**", "**/tests/**", "**/cypress/**", "**/playwright.config.*", "**/vitest.config.*"]
---

# Front-end testing (frontend-skills)

Writes reliable front-end tests with the project's own runner - unit and component tests with Vitest or Jest and Testing Library queries by role, end-to-end tests with Playwright 1.65 or Cypress, network mocking, accessibility scans with axe-core, without flakes. Use when adding or fixing tests, a flaky test or CI test setup, or when asked "test this component" or "write an e2e test".

- Run tests through the project's own script and runner (`npm test`, `pnpm test:e2e`); never install a second runner.
- Never commit `.only`, `fit` or `fdescribe`; make CI refuse them (test/no-focused-tests).
- Wait for conditions, never for time: no `waitForTimeout`, `cy.wait(ms)` or sleeps (test/no-fixed-wait).
- In Playwright, assert with web-first matchers: `await expect(locator).toBeVisible()` (test/web-first-assertions).
- Find elements by role and name first, then label and text; test ids last (test/query-by-role).
- Scan key pages and states with axe-core and the WCAG tags you target; automated checks find only part of the problems (test/axe-in-e2e).
- Await every async call: `findBy*`, `user.*`, Playwright actions and assertions.
- Each test sets up its own state and passes alone; reset in `beforeEach`, not `afterEach`.
- Mock HTTP at the network boundary (MSW, `page.route`, `cy.intercept`); never hit third-party services.
- Every test asserts something a user would notice; no tests of implementation details.

Before larger changes, read the full skill: `.kiro/skills/fe-testing/SKILL.md`. Explain any rule id with `npx github:dawidolko/frontend-skills explain <id>`.
Prawdziwy plik

Gdzie trafia fe-testing dla: Augment

  • .agents/skills/fe-testing/SKILL.mdskill
  • .agents/skills/fe-testing/references/testing.mdskill
  • AGENTS.mdblok instrukcji

Dla każdego agenta także: .frontend-skills/profile.json, .frontend-skills/lessons.md i .frontend-skills/install.json.

Augment nie ma plików reguł zawężonych do typów plików; czyta skille i blok instrukcji.

Zaplanowane przez sam instalator dla przykładowego projektu React z repozytorium.

AGENTS.md
## Front-end work (frontend-skills)

- Before front-end work, read `.frontend-skills/profile.json` (the stack) and `.frontend-skills/lessons.md` (confirmed conventions of this project; they win over any skill).
- Use the installed `fe-*` skill that matches the files you edit.
- After changing UI code, run `npx github:dawidolko/frontend-skills audit --changed --json` and fix findings at `serious` and above; `explain <rule id>` gives the reason, the source and the fix.
- Name rule ids (such as `a11y/img-alt`) in reviews and commit messages.
Prawdziwy plik

Gdzie trafia fe-testing dla: Trae

  • .trae/skills/fe-testing/SKILL.mdskill
  • .trae/skills/fe-testing/references/testing.mdskill
  • .trae/rules/fe-testing.mdplik reguł
  • AGENTS.mdblok instrukcji

Dla każdego agenta także: .frontend-skills/profile.json, .frontend-skills/lessons.md i .frontend-skills/install.json.

Trae: Trae reads AGENTS.md only after it is enabled in its settings.

Zaplanowane przez sam instalator dla przykładowego projektu React z repozytorium.

.trae/rules/fe-testing.md
---
description: "Writes reliable front-end tests with the project's own runner - unit and component tests with Vitest or Jest and Testing Library queries by role, end-to-end tests with Playwright 1.65 or Cypress, network mocking, accessibility scans with axe-core, without flakes. Use when adding or fixing tests, a flaky test or CI test setup, or when asked \"test this component\" or \"write an e2e test\"."
globs: **/*.test.*,**/*.spec.*,**/__tests__/**,**/e2e/**,**/tests/**,**/cypress/**,**/playwright.config.*,**/vitest.config.*
alwaysApply: false
---

# Front-end testing (frontend-skills)

- Run tests through the project's own script and runner (`npm test`, `pnpm test:e2e`); never install a second runner.
- Never commit `.only`, `fit` or `fdescribe`; make CI refuse them (test/no-focused-tests).
- Wait for conditions, never for time: no `waitForTimeout`, `cy.wait(ms)` or sleeps (test/no-fixed-wait).
- In Playwright, assert with web-first matchers: `await expect(locator).toBeVisible()` (test/web-first-assertions).
- Find elements by role and name first, then label and text; test ids last (test/query-by-role).
- Scan key pages and states with axe-core and the WCAG tags you target; automated checks find only part of the problems (test/axe-in-e2e).
- Await every async call: `findBy*`, `user.*`, Playwright actions and assertions.
- Each test sets up its own state and passes alone; reset in `beforeEach`, not `afterEach`.
- Mock HTTP at the network boundary (MSW, `page.route`, `cy.intercept`); never hit third-party services.
- Every test asserts something a user would notice; no tests of implementation details.

Before larger changes, read the full skill: `.trae/skills/fe-testing/SKILL.md`. Explain any rule id with `npx github:dawidolko/frontend-skills explain <id>`.
Prawdziwy plik

Gdzie trafia fe-testing dla: Continue

  • .frontend-skills/skills/fe-testing/SKILL.mdskill
  • .frontend-skills/skills/fe-testing/references/testing.mdskill
  • .continue/rules/fe-testing.mdplik reguł

Dla każdego agenta także: .frontend-skills/profile.json, .frontend-skills/lessons.md i .frontend-skills/install.json.

Zaplanowane przez sam instalator dla przykładowego projektu React z repozytorium.

.continue/rules/fe-testing.md
---
name: "Front-end testing"
description: "Writes reliable front-end tests with the project's own runner - unit and component tests with Vitest or Jest and Testing Library queries by role, end-to-end tests with Playwright 1.65 or Cypress, network mocking, accessibility scans with axe-core, without flakes. Use when adding or fixing tests, a flaky test or CI test setup, or when asked \"test this component\" or \"write an e2e test\"."
globs: ["**/*.test.*", "**/*.spec.*", "**/__tests__/**", "**/e2e/**", "**/tests/**", "**/cypress/**", "**/playwright.config.*", "**/vitest.config.*"]
alwaysApply: false
---

# Front-end testing (frontend-skills)

- Run tests through the project's own script and runner (`npm test`, `pnpm test:e2e`); never install a second runner.
- Never commit `.only`, `fit` or `fdescribe`; make CI refuse them (test/no-focused-tests).
- Wait for conditions, never for time: no `waitForTimeout`, `cy.wait(ms)` or sleeps (test/no-fixed-wait).
- In Playwright, assert with web-first matchers: `await expect(locator).toBeVisible()` (test/web-first-assertions).
- Find elements by role and name first, then label and text; test ids last (test/query-by-role).
- Scan key pages and states with axe-core and the WCAG tags you target; automated checks find only part of the problems (test/axe-in-e2e).
- Await every async call: `findBy*`, `user.*`, Playwright actions and assertions.
- Each test sets up its own state and passes alone; reset in `beforeEach`, not `afterEach`.
- Mock HTTP at the network boundary (MSW, `page.route`, `cy.intercept`); never hit third-party services.
- Every test asserts something a user would notice; no tests of implementation details.

Before larger changes, read the full skill: `.frontend-skills/skills/fe-testing/SKILL.md`. Explain any rule id with `npx github:dawidolko/frontend-skills explain <id>`.
Prawdziwy plik

Gdzie trafia fe-testing dla: Amazon Q Developer

  • .frontend-skills/skills/fe-testing/SKILL.mdskill
  • .frontend-skills/skills/fe-testing/references/testing.mdskill
  • .amazonq/rules/frontend-skills.mdblok instrukcji

Dla każdego agenta także: .frontend-skills/profile.json, .frontend-skills/lessons.md i .frontend-skills/install.json.

Amazon Q Developer: Amazon Q Developer IDE plugins reach end of support on 2027-04-30; AWS points to Kiro.

Amazon Q Developer nie ma plików reguł zawężonych do typów plików; czyta skille i blok instrukcji.

Zaplanowane przez sam instalator dla przykładowego projektu React z repozytorium.

.amazonq/rules/frontend-skills.md
## Front-end work (frontend-skills)

- Before front-end work, read `.frontend-skills/profile.json` (the stack) and `.frontend-skills/lessons.md` (confirmed conventions of this project; they win over any skill).
- Use the installed `fe-*` skill that matches the files you edit.
- After changing UI code, run `npx github:dawidolko/frontend-skills audit --changed --json` and fix findings at `serious` and above; `explain <rule id>` gives the reason, the source and the fix.
- Name rule ids (such as `a11y/img-alt`) in reviews and commit messages.

### Skills

- `fe-testing` (Front-end testing): when editing `**/*.test.*`, `**/*.spec.*`, `**/__tests__/**`, `**/e2e/**`, `**/tests/**`, `**/cypress/**`, `**/playwright.config.*`, `**/vitest.config.*`, first read `.frontend-skills/skills/fe-testing/SKILL.md`.
Prawdziwy plik

Gdzie trafia fe-testing dla: Aider

  • .frontend-skills/skills/fe-testing/SKILL.mdskill
  • .frontend-skills/skills/fe-testing/references/testing.mdskill
  • CONVENTIONS.mdblok instrukcji
  • .aider.conf.ymlkonfiguracja

Dla każdego agenta także: .frontend-skills/profile.json, .frontend-skills/lessons.md i .frontend-skills/install.json.

Aider nie ma plików reguł zawężonych do typów plików; czyta skille i blok instrukcji.

Zaplanowane przez sam instalator dla przykładowego projektu React z repozytorium.

CONVENTIONS.md
## Front-end work (frontend-skills)

- Before front-end work, read `.frontend-skills/profile.json` (the stack) and `.frontend-skills/lessons.md` (confirmed conventions of this project; they win over any skill).
- Use the installed `fe-*` skill that matches the files you edit.
- After changing UI code, run `npx github:dawidolko/frontend-skills audit --changed --json` and fix findings at `serious` and above; `explain <rule id>` gives the reason, the source and the fix.
- Name rule ids (such as `a11y/img-alt`) in reviews and commit messages.

### Skills

- `fe-testing` (Front-end testing): when editing `**/*.test.*`, `**/*.spec.*`, `**/__tests__/**`, `**/e2e/**`, `**/tests/**`, `**/cypress/**`, `**/playwright.config.*`, `**/vitest.config.*`, first read `.frontend-skills/skills/fe-testing/SKILL.md`.
Prawdziwy plik

Jak go używać

Po instalacji agent sam ładuje skill, gdy zadanie pasuje do jego opisu. Możesz też poprosić o niego własnymi słowami, na przykład:

Frazy z opisu skilla, po których agent go wybiera (po angielsku, jak w skillu):

  • test this component
  • write an e2e test

A żeby sprawdzić i poprawić pracę:

  • Użyj skilla fe-testing na tym pliku.
  • Uruchom audyt front-endu na moich zmianach i popraw wszystko, co poważne.
  • Wyjaśnij test/no-focused-tests i popraw to tutaj.

Reguły, których uczy

  • test/no-focused-tests

    No focused tests (.only, fit, fdescribe) are committed; they silently skip the rest of the suite.

    poważnastatyczne

  • test/no-fixed-wait

    Tests wait for conditions, never for a fixed time (no waitForTimeout, cy.wait(ms) or setTimeout sleeps).

    umiarkowanastatyczne

  • test/web-first-assertions

    Playwright tests assert with auto-retrying web-first matchers (toBeVisible, toHaveText), not on values read once.

    umiarkowanastatyczne

  • test/query-by-role

    Tests find elements the way users do - getByRole with a name first, then label and text; test ids only as a last resort.

    drobnaręczne

  • test/axe-in-e2e

    End-to-end tests run an axe scan with the WCAG tags you target on each key page and state, and fail on violations.

    umiarkowanaręczne

Skrót reguł

Ta część jest kopiowana do zawężonego pliku reguł każdego agenta, więc musi być zrozumiała sama w sobie:

  • Run tests through the project's own script and runner (npm test, pnpm test:e2e); never install a second runner.
  • Never commit .only, fit or fdescribe; make CI refuse them (test/no-focused-tests).
  • Wait for conditions, never for time: no waitForTimeout, cy.wait(ms) or sleeps (test/no-fixed-wait).
  • In Playwright, assert with web-first matchers: await expect(locator).toBeVisible() (test/web-first-assertions).
  • Find elements by role and name first, then label and text; test ids last (test/query-by-role).
  • Scan key pages and states with axe-core and the WCAG tags you target; automated checks find only part of the problems (test/axe-in-e2e).
  • Await every async call: findBy*, user.*, Playwright actions and assertions.
  • Each test sets up its own state and passes alone; reset in beforeEach, not afterEach.
  • Mock HTTP at the network boundary (MSW, page.route, cy.intercept); never hit third-party services.
  • Every test asserts something a user would notice; no tests of implementation details.

Kroki, które wykonuje agent

  1. Read the profile and package.json scripts to find the runners: vitest.config.* (or test in vite.config.*), jest.config.*, playwright.config.*, cypress.config.*, .storybook/.
  2. Component test: render, act with userEvent.setup(), assert on what is on screen (getByRole, findByText); in jsdom or happy-dom, or Vitest browser mode for anything that needs real layout.
  3. End-to-end: one user journey per test, user-facing locators, web-first assertions, test data created through the API in beforeEach or a setup project for sign-in.
  4. Add an axe scan to the e2e tests of each page type, and again after opening dialogs and menus.
  5. When a test flakes: find the race (a missing await, a fixed wait, shared state), fix it, and keep retries only as a safety net that is reported.

Jak agent sprawdza swoją pracę

  • npx github:dawidolko/frontend-skills audit --changed finds focused tests, fixed waits and one-shot Playwright assertions in .js, .jsx and .tsx test files.
  • Run the project's lint with the runner's plugin (eslint-plugin-vitest, eslint-plugin-jest, eslint-plugin-playwright, eslint-plugin-testing-library) if it is installed.
  • Run the changed tests alone and several times (--repeat-each=5 in Playwright) before calling them stable.

Sprawdzane audytem

Testy statyczne tych reguł działają w audit; to prawdziwa sesja na przykładowym projekcie:

Nagranie terminala: audit wypisuje znaleziska według wagi z identyfikatorami reguł i miejscem plik:linia i kończy się błędem od progu serious.
audit: liczby według wagi, każda reguła z pierwszym miejscem, kod wyjścia.

Pliki referencyjne