framework-compliance-t…
Make a cloud account compliant with a security or industry framework using Prowler Cloud.
Creates new AI agent skills for Prowler following the Agent Skills spec and the house conventions (frontmatter, scope/auto_invoke, AGENTS.md registration). Trigger: When user asks to create a new skill, add agent instructions, or document patterns for AI.
Claude Code
$ npx -y skills add prowler-cloud/prowler --skill skill-creator --agent claude-code
Codex
$ npx skills add prowler-cloud/prowler --skill skill-creator -a codex -y
Cursor
$ npx skills add prowler-cloud/prowler --skill skill-creator -a cursor -y
Gemini CLI
$ npx skills add prowler-cloud/prowler --skill skill-creator -a gemini-cli -y
GitHub Copilot
$ npx skills add prowler-cloud/prowler --skill skill-creator -a github-copilot -y
OpenCode
$ npx skills add prowler-cloud/prowler --skill skill-creator -a opencode -y
Windsurf
$ npx skills add prowler-cloud/prowler --skill skill-creator -a windsurf -y
name: skill-creator description: > Creates new AI agent skills for Prowler following the Agent Skills spec and the house conventions (frontmatter, scope/auto_invoke, AGENTS.md registration). Trigger: When user asks to create a new skill, add agent instructions, or document patterns for AI. license: Apache-2.0 metadata: author: prowler-cloud version: "1.1" scope: [root] auto_invoke: "Creating new skills" allowed-tools: Read, Edit, Write, Glob, Grep, Bash, WebFetch, WebSearch, Task
Create a skill when:
**Don't create a skill when:**
---
skills/{skill-name}/
├── SKILL.md # Required - main skill file
├── assets/ # Optional - templates, schemas, example configs, scripts
│ ├── template.py
│ └── schema.json
└── references/ # Optional - pointers to local docs
└── docs.md # Points to docs/developer-guide/*.mdx---
Full template: [assets/SKILL-TEMPLATE.md](assets/SKILL-TEMPLATE.md).
---
name: {skill-name}
description: >
{What this skill does, with the keywords an agent would search for}.
Trigger: {When the AI should load this skill}.
license: Apache-2.0
metadata:
author: prowler-cloud
version: "1.0"
scope: [root, {component}]
auto_invoke:
- "{User action that must load this skill}"
allowed-tools: Read, Edit, Write, Glob, Grep, Bash
---
## When to Use
## Critical Patterns
## Code Examples
## Commands
```bash
{Commands that validate the work}
---
## Frontmatter Fields
| Field | Required | Description |
|-------|----------|-------------|
| `name` | Yes | Same as the directory name; lowercase letters, digits and single hyphens; max 64 chars |
| `description` | Yes | What + `Trigger:` sentence in one block; max 1024 chars |
| `license` | Yes | Always `Apache-2.0` for Prowler |
| `metadata.author` | Yes | `prowler-cloud` |
| `metadata.version` | Yes | Version as a quoted string (`"1.0"`); bump it on every change |
| `metadata.scope` | For auto-invoke | AGENTS.md files to list it in: `root`, `ui`, `api`, `sdk`, `mcp_server` (never `prowler`) |
| `metadata.auto_invoke` | For auto-invoke | String or list of user actions ("Creating new checks") |
| `allowed-tools` | Recommended | Tools the skill needs |
`scope` and `auto_invoke` feed `skills/skill-sync/assets/sync.sh` (see `skill-sync`).
---
## Naming Conventions
| Type | Pattern | Examples |
|------|---------|----------|
| Generic skill | `{technology}` | `pytest`, `playwright`, `typescript` |
| Prowler-specific | `prowler-{component}` | `prowler-api`, `prowler-ui`, `prowler-sdk-check` |
| Testing skill | `prowler-test-{component}` | `prowler-test-sdk`, `prowler-test-api`, `prowler-test-mcp` |
| Workflow skill | `{action}-{target}` or `{target}-{action}` | `skill-creator`, `skill-sync` |
---
## Decision: assets/ vs references/
```text
Need code templates? → assets/
Need JSON schemas? → assets/
Need example configs? → assets/
Need a runnable script? → assets/ (with a test next to it, e.g. skill-sync/assets/sync_test.sh)
Link to existing docs? → references/
Link to external guides? → references/ (with local path when one exists)**Key Rule**: `references/` should point to LOCAL files (`docs/developer-guide/*.mdx`, `docs/AGENTS.md`), not web URLs, unless the tool's docs only exist externally (e.g. `gh-aw`).
---
Patterns apply to ANY project? → Generic skill (e.g., pytest, typescript)
Patterns are Prowler-specific? → prowler-{name} skill
Generic skill needs Prowler info? → Add references/ pointing to Prowler docs---
---
1. Run the sync script to generate the Auto-invoke rows:
./skills/skill-sync/assets/sync.sh --dry-run # check for "Warning:" lines ./skills/skill-sync/assets/sync.sh
2. Add a row to the matching "Available Skills" table in the root `AGENTS.md` (not generated):
| `{skill-name}` | {Description} | [SKILL.md](skills/{skill-name}/SKILL.md) |3. Add a row to the matching table in `skills/README.md`. 4. If a component `AGENTS.md` should point to it, add it to that file's Skills Reference blockquote.
---
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…