mirror of
https://github.com/prowler-cloud/prowler.git
synced 2026-01-25 02:08:11 +00:00
Co-authored-by: Alan-TheGentleman <alan@thegentleman.dev> Co-authored-by: pedrooot <pedromarting3@gmail.com> Co-authored-by: Andoni A. <14891798+andoniaf@users.noreply.github.com>
172 lines
4.2 KiB
Markdown
172 lines
4.2 KiB
Markdown
---
|
|
name: skill-creator
|
|
description: >
|
|
Creates new AI agent skills following the Agent Skills spec.
|
|
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.0"
|
|
scope: [root]
|
|
auto_invoke: "Creating new skills"
|
|
allowed-tools: Read, Edit, Write, Glob, Grep, Bash, WebFetch, WebSearch, Task
|
|
---
|
|
|
|
## When to Create a Skill
|
|
|
|
Create a skill when:
|
|
- A pattern is used repeatedly and AI needs guidance
|
|
- Project-specific conventions differ from generic best practices
|
|
- Complex workflows need step-by-step instructions
|
|
- Decision trees help AI choose the right approach
|
|
|
|
**Don't create a skill when:**
|
|
- Documentation already exists (create a reference instead)
|
|
- Pattern is trivial or self-explanatory
|
|
- It's a one-off task
|
|
|
|
---
|
|
|
|
## Skill Structure
|
|
|
|
```
|
|
skills/{skill-name}/
|
|
├── SKILL.md # Required - main skill file
|
|
├── assets/ # Optional - templates, schemas, examples
|
|
│ ├── template.py
|
|
│ └── schema.json
|
|
└── references/ # Optional - links to local docs
|
|
└── docs.md # Points to docs/developer-guide/*.mdx
|
|
```
|
|
|
|
---
|
|
|
|
## SKILL.md Template
|
|
|
|
```markdown
|
|
---
|
|
name: {skill-name}
|
|
description: >
|
|
{One-line description of what this skill does}.
|
|
Trigger: {When the AI should load this skill}.
|
|
license: Apache-2.0
|
|
metadata:
|
|
author: prowler-cloud
|
|
version: "1.0"
|
|
---
|
|
|
|
## When to Use
|
|
|
|
{Bullet points of when to use this skill}
|
|
|
|
## Critical Patterns
|
|
|
|
{The most important rules - what AI MUST know}
|
|
|
|
## Code Examples
|
|
|
|
{Minimal, focused examples}
|
|
|
|
## Commands
|
|
|
|
```bash
|
|
{Common commands}
|
|
```
|
|
|
|
## Resources
|
|
|
|
- **Templates**: See [assets/](assets/) for {description}
|
|
- **Documentation**: See [references/](references/) for local docs
|
|
```
|
|
|
|
---
|
|
|
|
## 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` |
|
|
| Workflow skill | `{action}-{target}` | `skill-creator`, `jira-task` |
|
|
|
|
---
|
|
|
|
## Decision: assets/ vs references/
|
|
|
|
```
|
|
Need code templates? → assets/
|
|
Need JSON schemas? → assets/
|
|
Need example configs? → assets/
|
|
Link to existing docs? → references/
|
|
Link to external guides? → references/ (with local path)
|
|
```
|
|
|
|
**Key Rule**: `references/` should point to LOCAL files (`docs/developer-guide/*.mdx`), not web URLs.
|
|
|
|
---
|
|
|
|
## Decision: Prowler-Specific vs Generic
|
|
|
|
```
|
|
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
|
|
```
|
|
|
|
---
|
|
|
|
## Frontmatter Fields
|
|
|
|
| Field | Required | Description |
|
|
|-------|----------|-------------|
|
|
| `name` | Yes | Skill identifier (lowercase, hyphens) |
|
|
| `description` | Yes | What + Trigger in one block |
|
|
| `license` | Yes | Always `Apache-2.0` for Prowler |
|
|
| `metadata.author` | Yes | `prowler-cloud` |
|
|
| `metadata.version` | Yes | Semantic version as string |
|
|
|
|
---
|
|
|
|
## Content Guidelines
|
|
|
|
### DO
|
|
- Start with the most critical patterns
|
|
- Use tables for decision trees
|
|
- Keep code examples minimal and focused
|
|
- Include Commands section with copy-paste commands
|
|
|
|
### DON'T
|
|
- Add Keywords section (agent searches frontmatter, not body)
|
|
- Duplicate content from existing docs (reference instead)
|
|
- Include lengthy explanations (link to docs)
|
|
- Add troubleshooting sections (keep focused)
|
|
- Use web URLs in references (use local paths)
|
|
|
|
---
|
|
|
|
## Registering the Skill
|
|
|
|
After creating the skill, add it to `AGENTS.md`:
|
|
|
|
```markdown
|
|
| `{skill-name}` | {Description} | [SKILL.md](skills/{skill-name}/SKILL.md) |
|
|
```
|
|
|
|
---
|
|
|
|
## Checklist Before Creating
|
|
|
|
- [ ] Skill doesn't already exist (check `skills/`)
|
|
- [ ] Pattern is reusable (not one-off)
|
|
- [ ] Name follows conventions
|
|
- [ ] Frontmatter is complete (description includes trigger keywords)
|
|
- [ ] Critical patterns are clear
|
|
- [ ] Code examples are minimal
|
|
- [ ] Commands section exists
|
|
- [ ] Added to AGENTS.md
|
|
|
|
## Resources
|
|
|
|
- **Templates**: See [assets/](assets/) for SKILL.md template
|