framework-compliance-t…
Make a cloud account compliant with a security or industry framework using Prowler Cloud.
Creates Pull Requests for Prowler following the project template and conventions. Trigger: When working on pull request requirements or creation (PR template sections, PR title Conventional Commits check, changelog gate/no-changelog label, backport labels), or when inspecting
Claude Code
$ npx -y skills add prowler-cloud/prowler --skill prowler-pr --agent claude-code
Codex
$ npx skills add prowler-cloud/prowler --skill prowler-pr -a codex -y
Cursor
$ npx skills add prowler-cloud/prowler --skill prowler-pr -a cursor -y
Gemini CLI
$ npx skills add prowler-cloud/prowler --skill prowler-pr -a gemini-cli -y
GitHub Copilot
$ npx skills add prowler-cloud/prowler --skill prowler-pr -a github-copilot -y
OpenCode
$ npx skills add prowler-cloud/prowler --skill prowler-pr -a opencode -y
Windsurf
$ npx skills add prowler-cloud/prowler --skill prowler-pr -a windsurf -y
name: prowler-pr
description: >
Creates Pull Requests for Prowler following the project template and conventions.
Trigger: When working on pull request requirements or creation (PR template sections, PR title Conventional Commits check, changelog gate/no-changelog label, backport labels), or when inspecting PR-related GitHub workflows like conventional-commit.yml, pr-check-changelog.yml, pr-conflict-checker.yml, labeler.yml, or CODEOWNERS.
license: Apache-2.0
metadata:
author: prowler-cloud
version: "1.1"
scope: [root]
auto_invoke:
- "Create a PR with gh pr create"
- "Review PR requirements: template, title conventions, changelog gate"
- "Fill .github/pull_request_template.md (Context/Description/Steps to review/Checklist)"
- "Inspect PR CI workflows (.github/workflows/*): conventional-commit, pr-check-changelog, pr-conflict-checker, labeler"
- "Understand review ownership with CODEOWNERS"
allowed-tools: Read, Edit, Write, Glob, Grep, Bash, WebFetch, WebSearch, Task1. **Analyze ALL commits**: `git log master..HEAD --oneline` and `git diff master...HEAD` 2. **Determine affected components** from paths: SDK (`prowler/`), API (`api/`), UI (`ui/`), MCP (`mcp_server/`), Docs (`docs/`) 3. **Read and fill the template** (`cat .github/pull_request_template.md`) 4. **Create the PR** with `gh pr create --base master`
| Section | What to write | |---------|---------------| | `### Context` | Why the change is needed; `Fix #XXXX` | | `### Description` | Summary of the change and new dependencies | | `### Steps to review` | How to verify: commands, scan flags, UI path, test commands | | `### Checklist` | Community checklist (collapsed `<details>`: issue listed/assigned, no duplicate open PR) + general items (tests, docstrings per Google style, backport, README, SDK changelog fragment) | | `#### SDK/CLI` | New checks? Yes/No; if yes, do provider permissions need updating? | | `#### UI` | Requirements work; npm dependency package-health evidence (maintenance, popularity, vulnerabilities, license, release age); screenshots for Mobile (<640px), Tablet (640-1024px), Desktop (>1024px); `ui/changelog.d/` fragment | | `#### API` | Requirements work; endpoint output; `EXPLAIN ANALYZE` for new/modified queries or indexes; performance results; API spec regeneration; version updates; `api/changelog.d/` fragment | | `#### MCP Server` | Requirements work; `mcp_server/changelog.d/` fragment | | `### License` | Keep: "By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license." |
| Label | Effect | |-------|--------| | `no-changelog` | Skips the changelog gate (`pr-check-changelog.yml`) | | `backport-to-v5.X` | After merge, `backport.yml` opens the backport PR to `v5.X` (labels it `backport`, source gets `was-backported`) | | `no-compliance-check` | Skips the new-check compliance mapping review (`pr-check-compliance-mapping.yml`, which otherwise adds `needs-compliance-review` for unmapped new checks) | | `has-conflicts` | Added/removed automatically by `pr-conflict-checker.yml` | | `provider/*`, `component/*`, `documentation`, `compliance`, ... | Applied automatically from paths by `labeler.yml` + `.github/labeler.yml`; `community` is added for external authors |
Review ownership: `.github/CODEOWNERS` assigns every path to `@prowler-cloud/engineering`.
git status git log master..HEAD --oneline git diff master...HEAD --stat # Create PR (body from the template, filled) gh pr create --base master --title "feat(aws): add <check_id> check" --body "$(cat <<'EOF' ### Context ... EOF )" # Draft PR / add labels gh pr create --draft --base master --title "fix(ui): description" gh pr edit <number> --add-label no-changelog # Check CI after pushing gh pr checks <number>
1. Tests pass locally for the touched component (`uv run pytest ...`, `pnpm test:unit`, etc.) 2. Hooks pass: `uv run prek run --files $(git diff --name-only master...HEAD)` 3. Changelog fragment added (or `no-changelog` justified) 4. Branch is up to date with `master` 5. Commits are clean and descriptive
Resolve or respond to **every** open inline review thread before re-requesting review:
1. **Agreed + fixed**: Commit the change. Reply with the commit hash so the reviewer can verify quickly: > Fixed in `abc1234`. 2. **Agreed but deferred**: Explain why it's out of scope for this PR and where it's tracked. 3. **Disagreed**: Reply with clear technical reasoning. Do not leave threads silently open. 4. **Re-request review** only after all threads are in a clean state, either resolved or explicitly responded to.
> **Rule of thumb**: A reviewer should never have to wonder "did they see my comment?" when they re-open the PR.
Prowler is the world’s most widely used Open-Source Cloud Security Platform that automates security and compliance across any cloud environment.
Make a cloud account compliant with a security or industry framework using Prowler Cloud.
Vercel AI SDK patterns for the installed major (ui/package.json: `ai` 6.x, `@ai-sdk/react` 3.x). The skill name is historical;…
Django REST Framework patterns. Trigger: When implementing generic DRF APIs (ViewSets, serializers, routers, permissions,…
Reviews Django migration files for PostgreSQL best practices specific to Prowler. Trigger: When creating migrations, running…
Create and maintain GitHub Agentic Workflows (gh-aw) for Prowler. Trigger: When creating agentic workflows, modifying gh-aw…
Strict JSON:API v1.1 specification compliance. Trigger: When creating or modifying API endpoints, reviewing API responses, or…
Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication,…
Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys)…
Clean and finalize authorized natural-language text intended for readers by auditing suspicious invisible Unicode and rewriting…