cypress-e2e
Cypress end-to-end testing patterns for reliable browser-based testing, covering selectors, custom commands, API mocking with cy.intercept, CI configuration…
Skill by dallay
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/dallay-cypress-e2e
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: backend, testing, devops, productivity
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-e2e
What's inside
- Skill name
cypress-e2e- Description
- Cypress end-to-end testing patterns for reliable browser-based testing, covering selectors, custom commands, API mocking with cy.intercept, CI configuration, and best practices for deterministic, maintainable E2E test suites. Use when the task involves `Cypress`, `E2E testing`, `cypress.config`, `end-to-end testing`, or `browser testing`.
- License
- MIT
- Metadata
- version: 1.0.0
- Instructions
- 250 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
## When to Use
- Writing end-to-end tests for web applications with Cypress.
- Setting up API mocking with `cy.intercept` for deterministic tests.
- Creating reusable custom commands for common workflows.
- Configuring Cypress for CI/CD pipelines.
- Debugging flaky E2E tests or improving test reliability.
## Critical Patterns
- **Use `data-cy` Attributes:** NEVER select elements by class name, tag, or content that changes
with design or i18n. Use dedicated `data-cy` attributes that exist solely for testing.
- **No Arbitrary Waits:** NEVER use `cy.wait(5000)`. Always wait for specific conditions: route
aliases, DOM elements, or assertions that Cypress retries automatically.
- **Test User Flows, Not Units:** E2E tests validate complete workflows (login → navigate → perform
action → verify result). For isolated logic, use unit tests.
- **API-First Setup:** Use `cy.request()` or API calls to set up test state (create users, seed
data) instead of navigating through the UI. Reserve UI interactions for what you're actually
testing.
- **Each Test Stands Alone:** Tests must not depend on previous tests or shared state. Use
`beforeEach` to set up and clean state for each test.
## Code Examples
### Test Structure with Selectors
```typescript
// cypress/e2e/dashboard.cy.ts
describe("Dashboard", () => {
beforeEach(() => {
// Set up state via API — fast and reliable
cy.request("POST", "/api/test/seed", {fixture: "dashboard"});
cy.loginByApi("admin@test.com", "password123");
cy.visit("/dashboard");
});
it("displays project list with correct count", () => {
cy.get("[data-cy=project-list]").should("be.visible");
cy.get("[data-cy=project-card]").should("have.length", 3);
});
it("creates a new project", () => {
cy.get("[data-cy=create-project-btn]").click();
cy.get("[data-cy=project-name-input]").type("New Project");
cy.get("[data-cy=project-form-submit]").click();
// Assert on visible result, not internal state
cy.get("[data-cy=project-card]").should("have.length", 4);
cy.contains("[data-cy=project-card]", "New Project").should("exist");
});
it("filters projects by status", () => {
cy.get("[data-cy=filter-dropdown]").click();
cy.get("[data-cy=filter-option-active]").click();
cy.get("[data-cy=project-card]").should("have.length", 2);
cy.get("[data-cy=active-filter-badge]").should("be.visible");
});
});
```
### Custom Commands
```typescript
// cypress/support/commands.ts
declare global {
namespace Cypress {
interface Chainable {
loginByApi(email: string, password: string): Chainable<void>;
getByDataCy(selector: string): Chainable<JQuery<HTMLElement>>;
}
}
}
// Login via API — skip the UI for non-login tests
Cypress.Commands.add("loginByApi", (email: string, password: string) => {
cy.request("POST", "/api/auth/login", {email, password}).then((resp) => {
window.localStorage.setItem("auth_token", resp.body.token);
});
});
// Shorthand for data-cy selectors
Cypress.Commands.add("getByDataCy", (selector: string) => {
return cy.get(`[data-cy=${selector}]`);
});
```
### API Mocking with cy.intercept
```typescript
describe("User Profile", () => {
it("displays user data from API", () => {
// Intercept and mock the API response
cy.intercept("GET", "/api/users/me", {
statusCode: 200,
body: {
id: "1",
name: "Alice",
email: "alice@test.com",
role: "admin",
},
}).as("getProfile");
cy.visit("/profile");
cy.wait("@getProfile"); // Wait for the specific request
cy.getByDataCy("user-name").should("contain", "Alice");
cy.getByDataCy("user-role").should("contain", "admin");
});
it("handles API errors gracefully", () => {
cy.intercept("GET", "/api/users/me", {
statusCode: 500,
body: {error: "Internal server error"},
}).as("getProfileError");
cy.visit("/profile");
cy.wait("@getProfileError");From dallay/agents-skills, MIT.
More from dallay/agents-skills
- 0.563score
drizzle-orm
dallay
Type-safe SQL ORM for TypeScript with zero runtime overhead Use when working with this technology or related database and validation workflows.
SkillBFreshness: B★ 2Claude Code +9 - 0.448score
accessibility
dallay
Audit and improve web accessibility following WCAG 2.1 guidelines.
SkillDFreshness: D★ 2Claude Code +9 - 0.448score
best-practices
dallay
Apply modern web development best practices for security, compatibility, and code quality.
SkillDFreshness: D★ 2Claude Code +9 - 0.448score
core-web-vitals
dallay
Optimize Core Web Vitals (LCP, INP, CLS) for better page experience and search ranking.
SkillDFreshness: D★ 2Claude Code +9 - 0.448score
github-actions
dallay
Comprehensive guide for building robust, secure, and efficient CI/CD pipelines using GitHub Actions.
SkillDFreshness: D★ 2Claude Code +9 - 0.443score
jest-testing
dallay
Jest testing framework patterns for JavaScript and TypeScript projects, covering test structure, mocking strategies, async testing, snapshot testing, React…
SkillDFreshness: D★ 2Claude Code +9 - 0.443score
docker-expert
dallay
Advanced Docker containerization expert for multi-stage builds, image optimization, security hardening, and Compose orchestration.
SkillDFreshness: D★ 2Claude Code +9 - 0.443score
elixir-development
dallay
Elixir and OTP best practices, patterns, and idioms for building concurrent, fault-tolerant applications.
SkillDFreshness: D★ 2Claude Code +9 - 0.443score
eslint-config
dallay
ESLint configuration expert for flat config setup, custom rules, TypeScript integration, plugin management, and migration from legacy .eslintrc to modern…
SkillDFreshness: D★ 2Claude Code +9 - 0.443score
express-api
dallay
Express.js server-side development patterns for building robust REST APIs with proper middleware chains, error handling, request validation, security…
SkillDFreshness: D★ 2Claude Code +9 - 0.443score
makefile
dallay
Best practices for authoring clean, maintainable, and portable GNU Make Makefiles.
SkillDFreshness: D★ 2Claude Code +9 - 0.443score
markdown-a11y
dallay
Markdown accessibility review guidelines based on GitHub's 5 best practices for inclusive documentation.
SkillDFreshness: D★ 2Claude Code +9
Signals
- Stars
- 2
- Forks
- 0
- Open issues
- 3
- Last commit (this folder)
- Apr 4, 2026 (6 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 1.0.0
- License
- MIT
- Repository
- github.com/dallay/agents-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from dallay
- 0.563score
drizzle-orm
dallay
Type-safe SQL ORM for TypeScript with zero runtime overhead Use when working with this technology or related database and validation workflows.
SkillBFreshness: B★ 2Claude Code +9 - 0.448score
github-actions
dallay
Comprehensive guide for building robust, secure, and efficient CI/CD pipelines using GitHub Actions.
SkillDFreshness: D★ 2Claude Code +9 - 0.448score
accessibility
dallay
Audit and improve web accessibility following WCAG 2.1 guidelines.
SkillDFreshness: D★ 2Claude Code +9 - 0.448score
core-web-vitals
dallay
Optimize Core Web Vitals (LCP, INP, CLS) for better page experience and search ranking.
SkillDFreshness: D★ 2Claude Code +9 - 0.448score
best-practices
dallay
Apply modern web development best practices for security, compatibility, and code quality.
SkillDFreshness: D★ 2Claude Code +9 - 0.443score
docker-expert
dallay
Advanced Docker containerization expert for multi-stage builds, image optimization, security hardening, and Compose orchestration.
SkillDFreshness: D★ 2Claude Code +9
Cite this page
cypress-e2e skill. Agent Mart. https://agentmart.dev/skills/dallay-cypress-e2e (last updated 2026-10-24)