hydraia
Use whenever the user asks to build, add, implement, or change a feature or functionality — or brings a user story or ticket to analyze, reports a bug or…
Use when writing or maintaining end-to-end tests — Playwright (preferred) or Cypress critical-flow suites. Pattern playbook: page objects, stable selectors, fixtures and isolation, condition-based waiting, flaky quarantine, CI wiring. Backs the e2e-runner agent.
$ npx -y skills add jdanigo/hydraia --skill e2e-testing --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/e2e-testingContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when writing or maintaining end-to-end tests — Playwright (preferred) or Cypress critical-flow suites. Pattern playbook: page objects, stable selectors, fixtures and isolation, condition-based waiting, flaky quarantine, CI wiring. Backs the e2e-runner agent.
name: e2e-testing description: Use when writing or maintaining end-to-end tests — Playwright (preferred) or Cypress critical-flow suites. Pattern playbook: page objects, stable selectors, fixtures and isolation, condition-based waiting, flaky quarantine, CI wiring. Backs the e2e-runner agent.
Playbook for functional end-to-end tests. The `e2e-runner` agent does the writing; this skill is the pattern set it follows.
<HARD-RULES>
</HARD-RULES>
Never assume Playwright/Cypress browser binaries are already on the machine. `hooks/doctor.sh --install-e2e --yes` installs the binary for whichever framework the repo already uses (detected from `playwright.config.*`/`cypress.config.*` — it never picks a framework for you), cross-platform (macOS, Linux, Windows-via-WSL), no sudo. The `e2e-runner` agent runs this before every suite in both `implement` and `verify` mode. If it comes back `missing`, that's an environment gap (or, on Linux, missing system libraries that need `install-deps` and sudo) — report it plainly, never silently skip the gate.
When the run's E2E strategy is `playwright-testcontainers`, the critical flows run against REAL dependencies (Postgres/MySQL, Redis, Kafka/RabbitMQ, S3-compatible, …) spun up in throwaway Docker containers, instead of stubbing them. This is the gate that catches what stubs cannot: schema/migration drift, connection-pool and transaction config, real query behavior, and cross-service wiring.
<HARD-RULES>
it reports BLOCKED with the recovery — never a silent downgrade to stubs.
Node, `testcontainers` for Python, `org.testcontainers` for JVM, `testcontainers-go`). Adding it if absent is a plan decision, not the runner's.
line, port) — never a fixed sleep.
in a run; tear down at the end. </HARD-RULES>
the app's real migrations/seeds against the ephemeral DB, then drive Playwright as usual.
block is needed — standard GitHub Actions / GitLab runners already provide Docker. The CI job installs deps + the browser (`npx playwright install --with-deps`) and runs the same critical-flow command the gate uses. Commit the suite AND the CI job so the gate is reproducible off the developer's machine.
An agentic development harness for Claude Code. **One command runs the entire feature pipeline** — it collaborates with you on the design, then builds autonomously: plan, execute, double-review, and verify.
Repo: jdanigo/hydraia
Use whenever the user asks to build, add, implement, or change a feature or functionality — or brings a user story or ticket to analyze, reports a bug or…
Use when a design decision is made that is expensive to reverse, affects multiple components, or rejects a plausible alternative — record it as an Architecture…
Teaches the AI to design like a high-end agency. Defines the exact fonts, spacing, shadows, card structures, and animations that make a website feel expensive.…
Use when designing or reviewing an API surface — REST, GraphQL, or gRPC. Contract-first methodology: the contract artifact (OpenAPI 3.1, SDL, proto3) is…
Design banners for social media, ads, website heroes, creative assets, and print. Multiple art direction options with AI-generated visuals. Actions: design,…
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent,…