mirror of
https://github.com/prowler-cloud/prowler.git
synced 2026-01-25 02:08:11 +00:00
122 lines
2.8 KiB
Markdown
122 lines
2.8 KiB
Markdown
---
|
|
name: skill-sync
|
|
description: >
|
|
Syncs skill metadata to AGENTS.md Auto-invoke sections.
|
|
Trigger: When updating skill metadata (metadata.scope/metadata.auto_invoke), regenerating Auto-invoke tables, or running ./skills/skill-sync/assets/sync.sh (including --dry-run/--scope).
|
|
license: Apache-2.0
|
|
metadata:
|
|
author: prowler-cloud
|
|
version: "1.0"
|
|
scope: [root]
|
|
auto_invoke:
|
|
- "After creating/modifying a skill"
|
|
- "Regenerate AGENTS.md Auto-invoke tables (sync.sh)"
|
|
- "Troubleshoot why a skill is missing from AGENTS.md auto-invoke"
|
|
allowed-tools: Read, Edit, Write, Glob, Grep, Bash
|
|
---
|
|
|
|
## Purpose
|
|
|
|
Keeps AGENTS.md Auto-invoke sections in sync with skill metadata. When you create or modify a skill, run the sync script to automatically update all affected AGENTS.md files.
|
|
|
|
## Required Skill Metadata
|
|
|
|
Each skill that should appear in Auto-invoke sections needs these fields in `metadata`.
|
|
|
|
`auto_invoke` can be either a single string **or** a list of actions:
|
|
|
|
```yaml
|
|
metadata:
|
|
author: prowler-cloud
|
|
version: "1.0"
|
|
scope: [ui] # Which AGENTS.md: ui, api, sdk, root
|
|
|
|
# Option A: single action
|
|
auto_invoke: "Creating/modifying components"
|
|
|
|
# Option B: multiple actions
|
|
# auto_invoke:
|
|
# - "Creating/modifying components"
|
|
# - "Refactoring component folder placement"
|
|
```
|
|
|
|
### Scope Values
|
|
|
|
| Scope | Updates |
|
|
|-------|---------|
|
|
| `root` | `AGENTS.md` (repo root) |
|
|
| `ui` | `ui/AGENTS.md` |
|
|
| `api` | `api/AGENTS.md` |
|
|
| `sdk` | `prowler/AGENTS.md` |
|
|
| `mcp_server` | `mcp_server/AGENTS.md` |
|
|
|
|
Skills can have multiple scopes: `scope: [ui, api]`
|
|
|
|
---
|
|
|
|
## Usage
|
|
|
|
### After Creating/Modifying a Skill
|
|
|
|
```bash
|
|
./skills/skill-sync/assets/sync.sh
|
|
```
|
|
|
|
### What It Does
|
|
|
|
1. Reads all `skills/*/SKILL.md` files
|
|
2. Extracts `metadata.scope` and `metadata.auto_invoke`
|
|
3. Generates Auto-invoke tables for each AGENTS.md
|
|
4. Updates the `### Auto-invoke Skills` section in each file
|
|
|
|
---
|
|
|
|
## Example
|
|
|
|
Given this skill metadata:
|
|
|
|
```yaml
|
|
# skills/prowler-ui/SKILL.md
|
|
metadata:
|
|
author: prowler-cloud
|
|
version: "1.0"
|
|
scope: [ui]
|
|
auto_invoke: "Creating/modifying React components"
|
|
```
|
|
|
|
The sync script generates in `ui/AGENTS.md`:
|
|
|
|
```markdown
|
|
### Auto-invoke Skills
|
|
|
|
When performing these actions, ALWAYS invoke the corresponding skill FIRST:
|
|
|
|
| Action | Skill |
|
|
|--------|-------|
|
|
| Creating/modifying React components | `prowler-ui` |
|
|
```
|
|
|
|
---
|
|
|
|
## Commands
|
|
|
|
```bash
|
|
# Sync all AGENTS.md files
|
|
./skills/skill-sync/assets/sync.sh
|
|
|
|
# Dry run (show what would change)
|
|
./skills/skill-sync/assets/sync.sh --dry-run
|
|
|
|
# Sync specific scope only
|
|
./skills/skill-sync/assets/sync.sh --scope ui
|
|
```
|
|
|
|
---
|
|
|
|
## Checklist After Modifying Skills
|
|
|
|
- [ ] Added `metadata.scope` to new/modified skill
|
|
- [ ] Added `metadata.auto_invoke` with action description
|
|
- [ ] Ran `./skills/skill-sync/assets/sync.sh`
|
|
- [ ] Verified AGENTS.md files updated correctly
|