mit einem Klick
prowler-tour
Keeps product-tour definitions aligned with the UI features they describe. Trigger: When modifying UI components that have associated tours, editing tour definition files, or renaming data-tour-id attributes.
Menü
Keeps product-tour definitions aligned with the UI features they describe. Trigger: When modifying UI components that have associated tours, editing tour definition files, or renaming data-tour-id attributes.
Basierend auf der SOC-Berufsklassifikation
Django REST Framework patterns. Trigger: When implementing generic DRF APIs (ViewSets, serializers, routers, permissions, filtersets). For Prowler API specifics (RLS/RBAC/Providers), also use prowler-api.
Reviews Django migration files for PostgreSQL best practices specific to Prowler. Trigger: When creating migrations, running makemigrations/pgmakemigrations, reviewing migration PRs, adding indexes or constraints to database tables, modifying existing migration files, or writing data backfill migrations. Always use this skill when you see AddIndex, CreateModel, AddConstraint, RunPython, bulk_create, bulk_update, or backfill operations in migration files.
Create and maintain GitHub Agentic Workflows (gh-aw) for Prowler. Trigger: When creating agentic workflows, modifying gh-aw frontmatter, configuring safe-outputs, setting up MCP servers in workflows, importing Copilot Custom Agents, or debugging gh-aw compilation.
Strict JSON:API v1.1 specification compliance. Trigger: When creating or modifying API endpoints, reviewing API responses, or validating JSON:API compliance.
Next.js 16 App Router patterns. Trigger: When working in Next.js App Router (app/), Server Components vs Client Components, Server Actions, Route Handlers, proxy.ts, caching/revalidation, Cache Components, and streaming/Suspense.
Playwright E2E testing patterns. Trigger: When writing Playwright E2E tests (Page Object Model, selectors, MCP exploration workflow). For Prowler-specific UI conventions under ui/tests, also use prowler-test-ui.
| name | prowler-tour |
| description | Keeps product-tour definitions aligned with the UI features they describe. Trigger: When modifying UI components that have associated tours, editing tour definition files, or renaming data-tour-id attributes. |
| license | Apache-2.0 |
| metadata | {"author":"prowler-cloud","version":"1.0","scope":["root","ui"],"auto_invoke":["Editing a UI file containing data-tour-id attributes","Adding, updating, or removing a tour definition (*.tour.ts)","Renaming or removing a data-tour-id attribute value","Changing button labels or section headings on a tour-covered page","Restructuring routes or layouts covered by a tour"]} |
| allowed-tools | Read, Glob, Grep |
Report-only. This skill never edits tour files or UI files; it inspects the change, reports drift it finds between tours and the covered UI, and recommends actions for the developer to apply.
Run this check first. Most UI edits are not tour-related — exit cheaply.
Glob ui/lib/tours/*.tour.ts.
For each tour, check whether any coversFiles glob pattern matches any
file in the current change.
If no tour matches, respond exactly:
No tour affected — skipping alignment check
and exit. Do not proceed to the checklist.
If at least one tour matches, continue to "Drift checklist" for that tour.
For each affected tour, evaluate every item. Skip items that obviously do not apply, but list explicitly which items were checked.
target (which composes to
data-tour-id="<tour-id>-<step.target>") must resolve to a real element
in the codebase. Grep ui/ for the expected attribute value; report
any step whose target is missing.data-tour-id attribute was edited in this
change. Match it back to any tour step referencing the old value.title/description references a button
label, heading, or term that no longer exists on the covered page.Apply per tour after listing drift:
data-tour-id selector while keeping the same step,
swap one screenshot for another, tighten wording.version when the user-visible flow changes materially.
Examples: a new step was added or removed; the order changed; an
anchored target was retargeted to a different panel; the tour now
covers a new feature on the surface.When in doubt, ask: "Would a user who already saw the previous version miss something useful by not seeing this one?" If yes, bump.
When emitting a report, follow the exact structure in
references/output-format.md. The structure is mandatory because the
report is consumed downstream and tolerates no field reordering.
*.tour.ts files. This skill is report-only.data-tour-id attributes.coversFiles do not match any file
in the current change. Stick to the early-exit rule.references/output-format.md — exact report template (read when
emitting a report).references/tours-architecture.md — code map for the tour abstraction
under ui/lib/tours/.assets/tour-template.ts — boilerplate for authoring a new *.tour.ts.