prowler-cloud/prowler
Overview
This skill provides Playwright end-to-end testing patterns focused on Page Object Model, selector strategy, MCP exploration workflow, and Prowler-specific UI conventions. It standardizes file layout, selector priorities, reuse rules, tagging, and documentation formats to produce reliable, maintainable tests. Use it to create concise, stable Playwright tests that integrate with Prowler UI conventions when applicable.
How this skill works
Start by exploring the page with the MCP workflow: navigate, snapshot DOM, interact, capture screenshots, verify transitions, and record real selectors before writing code. Tests follow a strict file structure where each page has a matching page object, spec, and markdown doc; reuse existing page objects and move shared logic to BasePage or helpers.ts. Selectors prioritize accessibility queries (getByRole, getByLabel), avoid fragile locators, and tag tests for priority and traceability.
When to use it
- When writing a single test to add to an existing spec (request contains “a test”, “add test”).
- When generating a full test suite for a feature (request contains “comprehensive tests”, “generate tests”).
- When implementing Page Object Model patterns to improve reuse and maintainability.
- When testing Prowler UI flows and authentication—use prowler-test-ui conventions and env setup.
- When you can run MCP tools to inspect the live UI before coding.
Best practices
- Always run the MCP exploration workflow before creating selectors or tests; never assume DOM shape.
- Prefer getByRole and getByLabel for interactive elements and form controls; use getByText only for static content; use getByTestId as last resort.
- Search tests/ for existing Page Objects and import them; create new page objects only when the page does not exist.
- Move shared navigation, notification waiters, and verification helpers into BasePage; put test data generators and API helpers into helpers.ts.
- Keep all tests for a page in a single spec file and document each test case in the page’s .md file following the provided template.
Example use cases
- Add one test to verify a form validation message in an existing sign-up.spec.ts file.
- Generate a full login suite using LoginPage and tags like @critical and @e2e to enable filtered runs.
- Explore a Prowler dashboard page with MCP tools, capture selectors, then create stable Page Object methods.
- Refactor duplicated notification wait logic into BasePage and update multiple page objects to reuse it.
- Create test documentation files for each feature following the concise test case template.
FAQ
Proceed with test creation using documentation and code analysis, but mark selectors as higher-risk and plan a follow-up MCP pass when available.
How should I choose selectors?
Use getByRole/getByLabel first, getByText sparingly for static text, and getByTestId only when all other options fail; avoid CSS classes and IDs that are brittle.
18 skills
This skill helps you write robust Playwright E2E tests using Page Object Model, precise selectors, and MCP-guided exploration.
This skill helps you extend Prowler by adding new providers or services, following the provider architecture pattern and templates.
This skill guides users to create new AI agent skills following the Agent Skills spec, adding instructions and patterns.
This skill creates professional commits using conventional-commits format, clarifying changes and prompting confirmation before committing.
This skill helps you implement Prowler MCP App tools by guiding BaseTool usage, MinimalSerializerMixin models, and API client patterns across the server.
This skill reviews and validates compliance framework PRs, ensuring JSON integrity, metadata completeness, and dashboard alignment.
This skill helps you navigate Prowler development quickly by answering project overview, component structure, and common workflows.
This skill helps you create and manage Prowler compliance frameworks across providers, mapping checks and attributes to controls for effective governance.
This skill helps you craft reliable Prowler SDK tests by enforcing AWS moto mocking and Azure MagicMock patterns for provider checks.
This skill helps you write robust API tests for JSON:API, RBAC, and cross-tenant isolation in Python projects, with Celery task validation.
This skill automates creating pull requests for prowler following the project template and conventions to streamline collaboration.
This skill guides Prowler documentation writing with brand voice, structure, and SEO best practices for features, tutorials, and guides.
This skill helps write reliable Playwright end-to-end tests for the Prowler UI using base patterns, MCP workflow, and page objects.
This skill helps enforce Prowler API patterns with tenant isolation, RLS, RBAC, and provider lifecycle across models, serializers, and tasks.
This skill helps diagnose and fix PR CI failures in prowler-ci by analyzing workflows, filters, and gating rules across .github/workflows.
This skill keeps AGENTS.md Auto-invoke sections in sync with skill metadata to ensure accurate invocation prompts.
This skill helps you apply prowler ui conventions using shadcn/ui and Tailwind to organize components, hooks, and styles for consistent UI.
This skill helps you style Tailwind 4 patterns with cn() safely, avoiding var() in className and hex colors.