> cypress
Assists with end-to-end testing of web applications using Cypress. Use when writing E2E tests, setting up component testing, configuring CI pipelines with parallelization, or building custom test commands. Trigger words: cypress, e2e testing, end-to-end, cypress run, cy.get, integration testing, browser testing.
curl "https://skillshub.wtf/TerminalSkills/skills/cypress?format=md"Cypress
Overview
Cypress is an end-to-end testing framework for web applications that runs tests directly in the browser for fast, reliable feedback. It provides element selection, network interception, component testing, and CI integration with parallelization and video recording.
Instructions
- When selecting elements, use
data-testidordata-cyattributes withcy.get("[data-testid='submit']")instead of CSS classes or IDs for resilient selectors. - When testing interactions, use
cy.get().type(),.click(),.select(), and.check()for user actions, and chain.should()assertions for expected outcomes. - When handling API calls, use
cy.intercept()to stub external APIs with fixtures or spy on requests, andcy.wait("@alias")after actions that trigger calls instead ofcy.wait(ms). - When writing custom commands, use
Cypress.Commands.add()for reusable patterns like login, database seeding, and common workflows, with TypeScript declarations for IntelliSense. - When testing components, use
cy.mount()with framework-specific mounting libraries (@cypress/react,@cypress/vue) to test components in isolation. - When configuring CI, use
cypress run --record --keyfor Cypress Cloud integration with--parallelto split tests across machines, and--browserto specify the browser. - When setting up the project, configure
cypress.config.tswithbaseUrl, viewport dimensions, timeouts, and environment variables.
Examples
Example 1: Write E2E tests for a checkout flow
User request: "Add Cypress tests for our e-commerce checkout process"
Actions:
- Set up test with
cy.visit("/products")and select a product - Intercept the cart API with
cy.intercept("POST", "/api/cart")and alias it - Fill in shipping form using
cy.get("[data-testid='email']").type(...) - Assert order confirmation with
cy.url().should("include", "/confirmation")
Output: A reliable E2E test covering the full checkout flow with stubbed API responses.
Example 2: Set up component testing for React
User request: "Configure Cypress component testing for our React project"
Actions:
- Install
@cypress/reactand configure component testing incypress.config.ts - Create stories for key components using
cy.mount(<Component />) - Test interactions with
cy.get().click()and assert DOM changes - Add to CI pipeline alongside E2E tests
Output: Isolated component tests running in a real browser with full Cypress API.
Guidelines
- Use
data-testidattributes for test selectors; never rely on CSS classes, text content, or DOM structure. - Keep tests independent: each test should set up its own state (login, seed data).
- Use
cy.intercept()to stub external APIs; do not let tests depend on third-party service availability. - Add
cy.wait("@alias")after actions that trigger API calls; do not usecy.wait(ms)for timing. - Write tests from the user's perspective: "fill in the form, click submit, see confirmation."
- Use fixtures for large API response data; inline small responses in
cy.intercept(). - Run Cypress in CI with
--recordfor test replay, screenshots, and video on failure.
> related_skills --same-repo
> zustand
You are an expert in Zustand, the small, fast, and scalable state management library for React. You help developers manage global state without boilerplate using Zustand's hook-based stores, selectors for performance, middleware (persist, devtools, immer), computed values, and async actions — replacing Redux complexity with a simple, un-opinionated API in under 1KB.
> zoho
Integrate and automate Zoho products. Use when a user asks to work with Zoho CRM, Zoho Books, Zoho Desk, Zoho Projects, Zoho Mail, or Zoho Creator, build custom integrations via Zoho APIs, automate workflows with Deluge scripting, sync data between Zoho apps and external systems, manage leads and deals, automate invoicing, build custom Zoho Creator apps, set up webhooks, or manage Zoho organization settings. Covers Zoho CRM, Books, Desk, Projects, Creator, and cross-product integrations.
> zod
You are an expert in Zod, the TypeScript-first schema declaration and validation library. You help developers define schemas that validate data at runtime AND infer TypeScript types at compile time — eliminating the need to write types and validators separately. Used for API input validation, form validation, environment variables, config files, and any data boundary.
> zipkin
Deploy and configure Zipkin for distributed tracing and request flow visualization. Use when a user needs to set up trace collection, instrument Java/Spring or other services with Zipkin, analyze service dependencies, or configure storage backends for trace data.