cypress-tap
Drives a running Cypress open-mode session through `cypress tap` to run and rerun specs, wait for fresh results, inspect reporter and command logs, and query…
Skill by cypress-io
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/cypress-io-cypress-tap
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
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 and code. 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-tap
What's inside
- Skill name
cypress-tap- Description
- Drives a running Cypress open-mode session through `cypress tap` to run and rerun specs, wait for fresh results, inspect reporter and command logs, and query or rewind the app under test through DOM, accessibility, styles, and snapshots. Use when authoring or debugging Cypress e2e or component specs, discovering selectors, diagnosing failures, or verifying test behavior without GUI interaction. Not for one-shot headless runs. Requires Cypress 15.21+, a Chromium-family browser, and a running `cypress open` session.
- License
- MIT
- Metadata
- version: 1.1.0
- Instructions
- 178 lines in SKILL.md · view on GitHub
Files (7)
- SKILL.md
- json-recipes.md · references/
- reading-results.md · references/
- reading-the-app.md · references/
- recipes.md · references/
- session-lifecycle.md · references/
- troubleshooting.md · references/
SKILL.md (first lines)
# Driving Cypress with `cypress tap` `cypress tap` controls an already-running `cypress open` session. Use it to iterate on specs, inspect the reporter and command log, and read the app under test without GUI interaction. Use `cypress run` instead for a one-shot headless batch. ## Core loop ```bash npx cypress tap sessions # confirm a session; note pid if several exist npx cypress tap status # baseline startedAt + spec npx cypress tap run cypress/e2e/foo.cy.ts # async — returns immediately # poll status until passed|failed for your spec with a changed startedAt npx cypress tap reporter npx cypress tap reporter --test-id r3 # one test: log, network, stubs, error ``` `run` is asynchronous. A stale verdict matches a fresh one on every field except `startedAt`, and a watcher rerun of the **selected** spec can advance `startedAt` without running your file. Gate on `startedAt`, `spec`, and a terminal status. Do not wait to observe `running` — fast specs can finish between polls. Copy-paste poller: [session-lifecycle.md](references/session-lifecycle.md). JSON field helpers: [json-recipes.md](references/json-recipes.md). In poll loops, prefer `./node_modules/.bin/cypress tap …` over `npx cypress tap …` when the project pins Cypress. ## Prerequisites - Confirm from package metadata or the lockfile that the resolved Cypress is 15.21.0+ and contains `tap`. Do not use `tap --help` to probe an unknown older build; prereleases below the version floor may attempt session discovery instead of printing help. - The session must use Electron, Chrome, Chromium, or Edge. Firefox and WebKit are unsupported. - `cypress open` and any configured `baseUrl` dev server must already be running. - The cwd chooses both the Cypress binary and the automatically selected session. When the target project pins an older Cypress, run `tap` from a compatible checkout and pass `--session <pid>` on every call. ## Route by task - **Start, select, or poll a session:** read [session-lifecycle.md](references/session-lifecycle.md). - **Run a spec or read its results:** read [session-lifecycle.md](references/session-lifecycle.md) and [reading-results.md](references/reading-results.md). - **Author or inspect a spec:** read [recipes.md](references/recipes.md) and [reading-the-app.md](references/reading-the-app.md). - **Diagnose a failure:** read [recipes.md](references/recipes.md), [reading-results.md](references/reading-results.md), and [reading-the-app.md](references/reading-the-app.md). - **Command failure, hang, wrong project, or surprising output:** read [troubleshooting.md](references/troubleshooting.md). - **Parse `--json` or script a poll:** read [json-recipes.md](references/json-recipes.md). - **One noninteractive batch:** use `cypress run`, not `tap`. Read only the references required for the current task. ## Core commands - `sessions`: reachable sessions, project roots, testing types, and browsers; JSON adds support and renderer health. - `status`: lifecycle stage, selected spec, run identity, counts, build error, and active pin. - `specs`: runnable project-relative spec paths for the session's testing type. - `run <spec>`: dispatches a spec and returns immediately. - `reporter`: spec overview and test ids; with `--test-id`, the complete test attempt. - `command`: one command-log row with network data, snapshots, and console properties. - `pin`: rewinds the app frame to a command snapshot. - `dom`, `aria`, `inspect`: read the settled app or currently pinned snapshot. All commands accept `--session <pid>`, `--json`, and `--timeout <ms>`. On a confirmed supported build, use `npx cypress tap <command> --help` for command-specific flags. Help is generated from the live session contract — when help and this skill disagree, trust help. ## The non-negotiable verdict rule `run` confirms dispatch, not execution, and returns before the new run starts. During that gap, `status` and app reads can still return the previous run's plausible verdict and page. For every explicit run: 1. Read the current `startedAt`. 2. Dispatch exactly one spec. 3. Poll one `status --json` response at a time. 4. Accept only `passed` or `failed` for the expected `spec` with a non-empty, changed `startedAt`. `startedAt` is null only when no run has ever started for that spec in the session — a build failure on first selection. A build that fails on rerun or on a watcher rebuild still advances `startedAt`, so it takes the normal path. Keep the null fallback (a changed observable baseline, or a preceding `loading`/`running` observation) for the first-selection case only. 5. Bound the loop and fail if no matching fresh verdict arrives. Saving the active spec triggers an automatic watcher run. After editing, either use that run or let it settle before taking a baseline and dispatching another. Never intentionally put two runs in flight. Blank and partial payloads from a successful `status` call occur transiently. Treat missing fields as "keep waiting," not as a state change. A nonzero `status` exit is a command failure, not a partial read: stop polling and report it. Only `passed` and `failed` are verdicts. A build failure is `failed` with the diagnostic in `status.error`, possibly before any tests exist. `status` is the only surface that carries that diagnostic — `reporter` renders a failed build as an empty spec. ## Critical correctness rules 1. **Target the intended session.** If several sessions exist, or auto-selection behaves oddly, inspect `sessions` and pass `--session <pid>` on every call. Auto-selection can choose another project or an unresponsive session. E2e and component testing use separate sessions: they can share a `projectRoot` but expose different `specs` lists, and only `status` names which session answered — other commands carry no pid in their output. 2. **Preserve the binary location.** Cwd controls `npx` resolution on every call. When the project pins an older Cypress, run commands from a compatible checkout and pass `--session <pid>`. 3. **Do not parse failed commands.** Check the exit code before parsing JSON. Supported-build failures generally use stderr, but older compatibility failures may use stdout. An ambiguous selector is the intentional exception: it exits `1` and lists matches on stdout. 4. **Do not discard dispatch stdout while checking compatibility.** An older Cypress may print `Unknown command "tap"` and usage text to stdout; redirecting it hides the cause. 5. **Redirect potentially large JSON.** `reporter --test-id --json` and `command --json` can be hundreds of kilobytes. Save them to a file and parse the file.
From cypress-io/ai-toolkit, MIT.
More from cypress-io/ai-toolkit
- 0.672score
Cypress Cloud MCP
mcp.cypress.ioOfficial
Direct access to Cypress tests results and accessibility reports in your AI workflow.
ConnectorAFreshness: ARemote★ 47Claude Code +3 - 0.663score
cypress-author
cypress-io
Creates, updates, and fixes Cypress tests (E2E/end-to-end and component tests).
SkillAFreshness: A★ 47Claude Code +9 - 0.663score
cypress-explain
cypress-io
Explains Cypress tests (E2E and component tests), and answers questions about Cypress use and behavior.
SkillAFreshness: A★ 47Claude Code +9 - 0.663score
cypress-cloud-cli
cypress-io
Runs the cy-cloud CLI to inspect Cypress Cloud organizations, projects, runs, specs, tests, failure screenshots, and Test Replay data.
SkillAFreshness: A★ 47Claude Code +9 - 0.655score
cypress-docs
cypress-io
Search and extract Cypress information from official documentation (docs.cypress.io, cypress.io); prefer LLM markdown under /llm/* and refuse unverified API…
SkillAFreshness: A★ 47Claude Code +9
Signals
- Stars
- 47
- Forks
- 4
- Open issues
- 3
- Contributors
- 5
- Last commit (this folder)
- Oct 23, 2026 (4 days ago)
- Last release
- Oct 23, 2026 (4 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 1.1.0
- License
- MIT
- Repository
- github.com/cypress-io/ai-toolkit
- Website
- www.cypress.io
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from cypress-io
- 0.732score
AGENTS.md · cypress-io/cypress
cypress-io
AGENTS.md from cypress-io/cypress: 358 lines covering Overview, Workspaces, Task runbooks, Prerequisites and more.
TemplateAFreshness: A★ 51KCodex +5 - 0.729score
CLAUDE.md · cypress-io/cypress
cypress-io
CLAUDE.md from cypress-io/cypress: 51 lines covering Workflow Orchestration, Core Principles, Working Constraints.
TemplateAFreshness: A★ 51KClaude Code - 0.663score
cypress-author
cypress-io
Creates, updates, and fixes Cypress tests (E2E/end-to-end and component tests).
SkillAFreshness: A★ 47Claude Code +9 - 0.663score
cypress-explain
cypress-io
Explains Cypress tests (E2E and component tests), and answers questions about Cypress use and behavior.
SkillAFreshness: A★ 47Claude Code +9 - 0.663score
cypress-cloud-cli
cypress-io
Runs the cy-cloud CLI to inspect Cypress Cloud organizations, projects, runs, specs, tests, failure screenshots, and Test Replay data.
SkillAFreshness: A★ 47Claude Code +9 - 0.655score
cypress-docs
cypress-io
Search and extract Cypress information from official documentation (docs.cypress.io, cypress.io); prefer LLM markdown under /llm/* and refuse unverified API…
SkillAFreshness: A★ 47Claude Code +9
Cite this page
cypress-tap skill. Agent Mart. https://agentmart.dev/skills/cypress-io-cypress-tap (last updated 2026-10-24)