cypress-core
Skill0 starsChanged 35 days agoMITView on GitHub
Battle-tested Cypress patterns for E2E, API, component, visual, accessibility, and security testing. Covers selectors, assertions, hooks, intercepts, auth flows, debugging, and framework recipes for React, Next.js, Vue, and Angular.
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 1 is distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 25
Use semantic locators first: prefer findByRole/findByLabelText over brittle CSS chains.
- Very specific: line 26
Do not use arbitrary sleeps: avoid cy.wait(2000) for synchronization.
- Distinctive: line 28
Keep tests isolated: no shared mutable state or order dependencies.
- Very specific: line 29
Use
baseUrland environment config: avoid hardcoded URLs. - Very specific: line 30
Use
cy.intercept()for external dependencies: avoid mocking your app internals.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Cypress Core Testing
Opinionated, production-tested Cypress guidance with explicit "when to use" and "when not to use" rules.
46 reference guides covering selectors, assertions, waiting, data setup, auth, network control, accessibility, component tests, visual checks, and debugging.
Golden Rules
- Use semantic locators first: prefer
findByRole/findByLabelTextover brittle CSS chains. - Do not use arbitrary sleeps: avoid
cy.wait(2000)for synchronization. - Use retryable assertions:
cy.get(...).should(...)is the default stability model. - Keep tests isolated: no shared mutable state or order dependencies.
- Use
baseUrland environment config: avoid hardcoded URLs. - Use
cy.intercept()for external dependencies: avoid mocking your app internals. - Use
cy.session()for repeat auth flows: cache login safely for speed. - Avoid
{ force: true }as a habit: fix actionability or UI state first. - Assert user-facing feedback for mutations: validate toasts, banners, and state changes.
- Capture artifacts in CI: screenshots/videos on failure are mandatory for triage.
Official References
- Cypress best practices: https://docs.cypress.io/guides/references/best-practices
Version Compatibility
| Dependency | Supported range | Why it matters |
| Cypress | >=13.0.0 | Core guides rely on Cypress retryability and cy.session() patterns from v13+. |
| Node.js (by Cypress major) | Cypress 13-14: >=18; Cypress 15+: 20.x, 22.x, >=24.x | Running unsupported Node versions causes install/runtime failures. |
| TypeScript (optional) | Cypress <=14: >=4; Cypress 15+: >=5 | Needed for typed config, commands, and examples in TS projects. |
@testing-library/cypress | 10.x | Enables semantic query examples such as findByRole. |
Guide Index
Writing Tests
| What you're doing | Guide | Deep dive |
| Choosing selectors | locators.md | locator-strategy.md |
| Assertions & waiting | assertions-and-waiting.md | |
| Organizing test suites | test-organization.md | test-architecture.md |
| Cypress config | configuration.md | |
| Fixtures & hooks | fixtures-and-hooks.md | |
| Test data | test-data-management.md | |
| Auth & login | authentication.md | auth-flows.md |
| API testing (REST/GraphQL) | api-testing.md | |
| Visual regression | visual-regression.md | |
| Accessibility | accessibility.md | |
| Mobile & responsive | mobile-and-responsive.md | |
| Component testing | component-testing.md | |
| Network mocking | network-mocking.md | when-to-mock.md |
| Forms & validation | forms-and-validation.md | |
| File uploads/downloads | file-operations.md | file-upload-download.md |
| Error & edge cases | error-and-edge-cases.md | |
| CRUD flows | crud-testing.md | |
| Drag and drop | drag-and-drop.md | |
| Search & filter UI | search-and-filter.md | |
| Route behavior & navigation parity | route-behavior.md | |
| Locator strictness & resilience | locator-resilience.md | |
| Testability hooks & automation contracts | testability-hooks.md | |
| API handler hardening | api-handler-hardening.md | |
| Contract-first mocking | contract-first-mocking.md | |
| Environment preflight checks | preflight.md |
Debugging & Fixing
| Problem | Guide |
| General debugging workflow | debugging.md |
| Specific error message | error-index.md |
| Flaky / intermittent tests | flaky-tests.md |
| Common beginner mistakes | common-pitfalls.md |
| Stability diagnostics | stability-diagnostics.md |
Framework Recipes
| Framework | Guide |
| Next.js (App Router + Pages Router) | nextjs.md |
| React (CRA, Vite) | react.md |
| Vue 3 / Nuxt | vue.md |
| Angular | angular.md |
Specialized Topics
| Topic | Guide |
| Multi-user & collaboration | multi-user-and-collaboration.md |
| WebSockets & real-time | websockets-and-realtime.md |
| Browser APIs (geo, clipboard, permissions) | browser-apis.md |
| iframes & Shadow DOM | iframes-and-shadow-dom.md |
| Canvas & WebGL | canvas-and-webgl.md |
| Service workers & PWA | service-workers-and-pwa.md |
| Electron apps | electron-testing.md |
| Browser extensions | browser-extensions.md |
| Security testing | security-testing.md |
| Performance & benchmarks | performance-testing.md |
| i18n & localization | i18n-and-localization.md |
| Multi-tab & popups | multi-context-and-popups.md |
| Clock & time mocking | clock-and-time-mocking.md |
| Third-party integrations | third-party-integrations.md |
Architecture Decisions
| Question | Guide |
| Which locator strategy? | locator-strategy.md |
| E2E vs component vs API? | test-architecture.md |
| Mock vs real services? | when-to-mock.md |
Other versions1 project uses a version of this.
Word for word · 1
- jovd83/Cypress-skill★ 0100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository7 other files it gives its agents.
- cypress-analysis-requirementsSkill
- cypress-ciSkill
- cypress-cliSkill
- cypress-migrationSkill
- cypress-orchestratorSkill
- cypress-pomSkill
- cypress-skillSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

