cypress-automation
Build Cypress test suites with component testing, E2E testing, custom commands, cy.intercept for network control, Cypress Cloud integration, and TypeScript…
Skill by kindlmann
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/jaiminvadadoriya-cypress-automation
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: frontend, testing, devops, data
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/cypress-automation
What's inside
- Skill name
cypress-automation- Description
- Build Cypress test suites with component testing, E2E testing, custom commands, cy.intercept for network control, Cypress Cloud integration, and TypeScript configuration. Covers retry-ability, command queue concepts, and data-driven testing with fixtures. Use when: "Cypress," "cy.," "component test," "Cypress Cloud," "cy.intercept." Related: ci-cd-integration, visual-testing, unit-testing.
- License
- MIT
- Metadata
- author: kindlmann · version: 1.0 · category: automation
- Instructions
- 489 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Files (1)
- SKILL.md
SKILL.md (first lines)
<objective>
Production-grade Cypress test suites in TypeScript. This skill covers the mental model (command queue, retry-ability), project structure, custom commands, network control with `cy.intercept`, component testing, and Cypress Cloud integration.
</objective>
---
## Discovery Questions
Before generating Cypress tests, ask. Check `.agents/qa-project-context.md` first -- if it exists, use it and skip questions already answered there.
1. **Component testing, E2E, or both?** Component testing mounts individual components in isolation. E2E tests the full application through the browser. Most projects need both. Component testing requires a framework-specific mount (React, Vue, Angular, Svelte).
2. **Cypress Cloud?** Cloud provides parallelization, flake detection, analytics, and test replay. If the team uses it, configure the `projectId` and `record` key. If not, everything runs locally or in CI without Cloud.
3. **TypeScript?** Strongly recommended. Cypress supports TypeScript natively since v13. All examples in this skill use TypeScript.
4. **Framework and bundler?** React + Vite, Next.js + Webpack, Vue + Vite, Angular -- component testing configuration depends on this.
5. **Existing test suite or fresh start?** If migrating from another tool, start with the flakiest or most critical tests, not a big-bang rewrite.
---
## Core Principles
### 1. Commands Are Enqueued, Not Executed Immediately
This is the single most important concept in Cypress. Cypress commands (`cy.get`, `cy.click`, `cy.type`) do not execute when called. They are added to a queue and executed serially, asynchronously. You cannot use `async/await` with Cypress commands. You cannot store the return value in a variable.
```typescript
// WRONG -- this looks like synchronous code but it is not
const button = cy.get('[data-testid="submit"]'); // button is a Chainable, not an element
button.click(); // this works only by accident because of chaining
// CORRECT -- chain commands, use .then() for values
cy.get('[data-testid="submit"]').click();
// CORRECT -- when you need a value, use .then() or .as()
cy.get('[data-testid="price"]').invoke('text').then((text) => {
const price = parseFloat(text.replace('$', ''));
expect(price).to.be.greaterThan(0);
});
```
### 2. Retry-ability Is Built-In (For Queries, Not Actions)
Cypress automatically retries **queries** (`cy.get`, `cy.find`, `cy.contains`) and **assertions** until they pass or time out. It does **not** retry **actions** (`cy.click`, `cy.type`, `cy.select`). This means:
- `cy.get('.loading').should('not.exist')` will wait for the loading indicator to disappear
- `cy.get('.item').should('have.length', 5)` will wait for 5 items to appear
- `cy.click()` executes once -- if the element is not actionable, it fails
### 3. Network Control with cy.intercept
`cy.intercept` is the most powerful tool in Cypress. It intercepts HTTP requests at the network layer, allowing you to stub responses, wait for requests to complete, and assert on request bodies. Mastering `cy.intercept` is the difference between flaky and stable tests.
### 4. Isolation: Each Test Starts Clean
Every `it()` block runs in a fresh browser state. Cypress clears cookies, localStorage, and sessionStorage between tests by default. Tests must not depend on other tests' state or execution order. Use `beforeEach` hooks for shared setup, not inter-test dependencies.
### 5. Data Attributes for Test Selectors
Use `data-testid`, `data-cy`, or `data-test` attributes for selectors. They are immune to CSS refactors, class name changes, and content localization. Configure the preferred attribute in `cypress.config.ts`.
---
## Project Structure
```
project-root/
├── cypress.config.ts
├── cypress/
│ ├── e2e/ # E2E test specs, organized by feature
│ ├── component/ # Component test specs (*.cy.tsx)
│ ├── fixtures/ # Static test data (JSON), including api-responses/
│ ├── support/
│ │ ├── commands.ts # Custom commands
│ │ ├── e2e.ts # E2E support file
│ │ ├── component.ts # Component support file
│ │ └── index.d.ts # TypeScript declarations for custom commands
│ └── downloads/ # Git-ignored
├── cypress.env.json # Git-ignored, environment-specific variables
└── tsconfig.json
```
### cypress.config.ts
```typescript
import { defineConfig } from 'cypress';
export default defineConfig({
projectId: process.env.CYPRESS_PROJECT_ID, // For Cypress Cloud
e2e: {
baseUrl: process.env.CYPRESS_BASE_URL ?? 'http://localhost:3000',
specPattern: 'cypress/e2e/**/*.cy.ts',
supportFile: 'cypress/support/e2e.ts',
viewportWidth: 1280,
viewportHeight: 720,
defaultCommandTimeout: 10000,
requestTimeout: 15000,
responseTimeout: 30000,
video: false, // Enable in CI if needed
screenshotOnRunFailure: true,
retries: {
runMode: 2, // Retries in CI (cypress run)
openMode: 0, // No retries in interactive mode
},
// experimentalRunAllSpecs is no longer needed — stabilized in Cypress 14;
// the "Run all specs" tab is the default in 15.x.
setupNodeEvents(on, config) {
// Task plugins, code coverage, etc.
return config;
},
},
component: {
devServer: {
framework: 'react', // 'react' | 'vue' | 'angular' | 'svelte'
bundler: 'vite', // 'vite' | 'webpack'
},
specPattern: 'cypress/component/**/*.cy.tsx',
supportFile: 'cypress/support/component.ts',
},From JaiminVadadoriya/Distributed-Cloud-Storage---Sync-Platform, MIT.
More from JaiminVadadoriya/Distributed-Cloud-Storage---Sync-Platform
- 0.502score
ai-test-generation
kindlmann
Staged pipeline for AI-assisted test generation: requirements extraction → risk analysis → coverage matrix → scenario generation → oracle design → test code →…
SkillCFreshness: C★ 1Claude Code +9 - 0.502score
ci-cd-integration
kindlmann
Design CI/CD pipelines for test execution.
SkillCFreshness: C★ 1Claude Code +9 - 0.502score
ai-bug-triage
kindlmann
Hybrid fingerprint + LLM pipeline for bug classification, deduplication, and ticket generation.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
chaos-engineering
kindlmann
Validate system resilience through controlled fault injection.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
ai-system-testing
kindlmann
Test AI-powered features including LLM prompts, tool calls, nondeterministic outputs, evaluation frameworks, and hallucination risk assessment.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
api-testing
kindlmann
Test REST and GraphQL APIs with Playwright APIRequestContext, Supertest, or standalone HTTP clients.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
accessibility-testing
kindlmann
Test for WCAG 2.2 compliance using axe-core with Playwright, keyboard navigation audits, screen reader testing, ARIA pattern validation, and legal compliance…
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
ai-qa-review
kindlmann
QA-focused code review for test quality.
SkillCFreshness: C★ 1Claude Code +9 - 0.488score
database-testing
kindlmann
Validate database integrity, test migrations forward and backward, verify schema constraints, manage seed data, and identify query performance issues.
SkillCFreshness: C★ 1Claude Code +9 - 0.488score
coverage-analysis
kindlmann
Measure and improve test coverage meaningfully.
SkillCFreshness: C★ 1Claude Code +9 - 0.488score
compliance-testing
kindlmann
Test for regulatory compliance including GDPR/CMP consent verification, Better Ads Standards, cookie compliance auditing, and privacy policy validation.
SkillCFreshness: C★ 1Claude Code +9 - 0.488score
contract-testing
kindlmann
Implement consumer-driven contract testing with Pact.js.
SkillCFreshness: C★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- May 30, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 1.0
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from kindlmann
- 0.570score
coverage-analysis
kindlmann
Measure and improve test coverage meaningfully.
SkillAFreshness: AClaude Code +9 - 0.570score
ai-qa-review
kindlmann
Review EXISTING test code for quality, smells, and testability issues.
SkillAFreshness: AClaude Code +9 - 0.570score
release-readiness
kindlmann
Validate release readiness with evidence-based go/no-go decisions.
SkillAFreshness: AClaude Code +9 - 0.570score
risk-based-testing
kindlmann
Produce a risk matrix or heatmap that quantifies what could break by business impact × probability, runs failure mode analysis on the top items, and maps test…
SkillAFreshness: AClaude Code +9 - 0.570score
qa-project-context
kindlmann
Create and fill .agents/qa-project-context.md with the project's tech stack, test frameworks, CI/CD pipeline, environments, quality goals, risk areas, team…
SkillAFreshness: AClaude Code +9 - 0.502score
ai-test-generation
kindlmann
Staged pipeline for AI-assisted test generation: requirements extraction → risk analysis → coverage matrix → scenario generation → oracle design → test code →…
SkillCFreshness: C★ 1Claude Code +9
Cite this page
cypress-automation skill. Agent Mart. https://agentmart.dev/skills/jaiminvadadoriya-cypress-automation (last updated 2026-10-24)