Skip to content
Security
Skill

/prowler-commit

Creates professional git commits following conventional-commits format. Trigger: When creating commits, after completing code changes, when user asks to commit.

From plugin
prowler
15k39 skills1 MCP
Install
$ npx -y skills add prowler-cloud/prowler --skill prowler-commit --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/prowler-commit

Context preview

The summary Claude sees to decide when to auto-load this skill.

Creates professional git commits following conventional-commits format. Trigger: When creating commits, after completing code changes, when user asks to commit.

SKILL.md

prowler-commit.SKILL.md
name: prowler-commit
description: >
  Creates professional git commits following conventional-commits format.
  Trigger: When creating commits, after completing code changes, when user asks to commit.
license: Apache-2.0
metadata:
  author: prowler-cloud
  version: "1.1.0"
  scope: [root, api, ui, prowler, mcp_server]
  auto_invoke:
    - "Creating a git commit"
    - "Committing changes"

Critical Rules

  • ALWAYS use conventional-commits format: `type(scope): description`
  • ALWAYS keep the first line under 72 characters
  • ALWAYS ask for user confirmation before committing
  • NEVER be overly specific (avoid counts like "6 subsections", "3 files")
  • NEVER include implementation details in the title
  • NEVER use `-n` flag unless user explicitly requests it
  • NEVER use `git push --force` or `git push -f` (destructive, rewrites history)
  • NEVER proactively offer to commit - wait for user to explicitly request it

---

Commit Format

type(scope): concise description

- Key change 1
- Key change 2
- Key change 3

Types

| Type | Use When | |------|----------| | `feat` | New feature or functionality | | `fix` | Bug fix | | `docs` | Documentation only | | `chore` | Maintenance, dependencies, configs | | `refactor` | Code change without feature/fix | | `test` | Adding or updating tests | | `perf` | Performance improvement | | `style` | Formatting, no code change |

Scopes

| Scope | When | |-------|------| | `api` | Changes in `api/` | | `ui` | Changes in `ui/` | | `sdk` | Changes in `prowler/` | | `mcp` | Changes in `mcp_server/` | | `skills` | Changes in `skills/` | | `ci` | Changes in `.github/` | | `docs` | Changes in `docs/` | | *omit* | Multiple scopes or root-level |

---

Good vs Bad Examples

Title Line

# GOOD - Concise and clear
feat(api): add provider connection retry logic
fix(ui): resolve dashboard loading state
chore(skills): add Celery documentation
docs: update installation guide

# BAD - Too specific or verbose
feat(api): add provider connection retry logic with exponential backoff and jitter (3 retries max)
chore(skills): add comprehensive Celery documentation covering 8 topics
fix(ui): fix the bug in dashboard component on line 45

Body (Bullet Points)

# GOOD - High-level changes
- Add retry mechanism for failed connections
- Document task composition patterns
- Expand configuration reference

# BAD - Too detailed
- Add retry with max_retries=3, backoff=True, jitter=True
- Add 6 subsections covering chain, group, chord
- Update lines 45-67 in dashboard.tsx

---

Workflow

1. **Analyze changes**

   git status
   git diff --stat HEAD
   git log -3 --oneline  # Check recent commit style

2. **Draft commit message**

  • Choose appropriate type and scope
  • Write concise title (< 72 chars)
  • Add 2-5 bullet points for significant changes

3. **Present to user for confirmation**

  • Show files to be committed
  • Show proposed message
  • Wait for explicit confirmation

4. **Execute commit**

   git add <files>
   git commit -m "$(cat <<'EOF'
   type(scope): description

   - Change 1
   - Change 2
   EOF
   )"

---

Decision Tree

Single file changed?
├─ Yes → May omit body, title only
└─ No → Include body with key changes

Multiple scopes affected?
├─ Yes → Omit scope: `feat: description`
└─ No → Include scope: `feat(api): description`

Fixing a bug?
├─ User-facing → fix(scope): description
└─ Internal/dev → chore(scope): fix description

Adding documentation?
├─ Code docs (docstrings) → Part of feat/fix
└─ Standalone docs → docs: or docs(scope):

---

Commands

# Check current state
git status
git diff --stat HEAD

# Standard commit
git add <files>
git commit -m "type(scope): description"

# Multi-line commit
git commit -m "$(cat <<'EOF'
type(scope): description

- Change 1
- Change 2
EOF
)"

# Amend last commit (same message)
git commit --amend --no-edit

# Amend with new message
git commit --amend -m "new message"
Read more
Ships withprowler

Prowler is the world’s most widely used Open-Source Cloud Security Platform that automates security and compliance across any cloud environment.

Get the whole plugin
Stats
14,557
Stars
2,311
Forks
Active
Maintenance
Python
Language
Apache-2.0
License
1h ago
Last commit
9y ago
Created

Repo: prowler-cloud/prowler