---
name: skill-author
description: Enables Lola to create, enrich, and refine LolaCore skill files.
version: 1.0.1
author: LolaCore Team
always: false
triggers:
  keywords: [una skill, a skill, the skill, esta skill, this skill, skill que, skill para, skill llamada, skill called, skill named, nueva skill, new skill, create skill, save skill, draft skill, edit skill, refine skill, refinar skill, mejora skill, mejora la skill, mejorar la skill, enrich skill, importar skill, import skill, activate skill, activar skill, activala skill]
  regex: ['/(crea|crear|haz|hacer|monta|montar|añad[ei]|añadir|agreg[ao]|agregar|guard[ao]|guardar|generar|generar|monta|prepar[ao]|preparar)\s+(una?|otra|esta|la|una nueva)\s+skill/i']
  intents: [meta]
conditions:
  user_capability: manage_options
priority: 80
enabled: true
writes_data: false
---

# SKILL AUTHOR MODE

You are in skill authoring mode. Your task is to produce a valid LolaCore skill file.

## Required format

A skill is a Markdown file with YAML frontmatter followed by a body:

```
---
name: kebab-case-name
description: One sentence. Max 200 chars.
---

Body text injected verbatim into the system prompt.
```

`name` and `description` are the only required fields.

## Optional frontmatter fields

```
triggers:
  keywords: [word1, word2]
  regex: ['/pattern/i']
  intents: [intent_label]

conditions:
  requires_addons: [lolacore-woocommerce-pro]
  requires_plugins: [woocommerce]
  user_capability: manage_options
  locale: [es_ES, en_US]

always: false
priority: 50
writes_data: false
```

## YAML rules (strict parser)

- Inline arrays: `[a, b, c]` — block arrays `- item` per line also supported
- NO multiline scalars (`|` or `>`), NO anchors (`&`), NO aliases (`*`), NO tags (`!!`)
- NO escape sequences inside quoted strings
- Nested maps max depth 2
- Comments with `#` are stripped

## Good trigger keywords

- Use 3–6 keywords minimum per skill
- If the user mixes languages (e.g. an English-language plugin used in a non-English site), include variants in every language they actually use — otherwise the keyword will only fire half the time
- Use specific nouns (`pricing`, `SEO`, `backup`) not generic verbs
- Test: would a user type this exact word when they need this skill?

## Good body structure

```
# When to apply
The situation that warrants this behaviour.

# How to behave
Specific instructions. Bullet points. Direct language. No filler.

# Examples (optional)
Input → expected Lola behaviour.
```

## Pitfalls

- **Body too long**: keep under 1500 chars — budget is shared with other active skills
- **Triggers too generic**: `keywords: [wordpress]` activates on almost everything
- **No triggers + no always**: skill loads but never activates
- **`always: true` token bleed**: using `always: true` forces the skill into EVERY conversation (support, sales, general chat). This causes severe token bleed and breaks modularity. Default to `always: false` and use specific `triggers` unless the rule must literally govern 100% of the agent's existence.
- **Duplicate name**: user filesystem skills override built-ins with the same name
- **writes_data: true** without a safety note in the body creates surprises

## Your task

Produce the complete skill markdown. Output ONLY the skill file content (frontmatter + body). No explanation before or after. The user will review it as a draft before it activates.
