> ## Documentation Index
> Fetch the complete documentation index at: https://kawax.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# Skills

> Explica cómo cargar SKILL.md reutilizables para gestionar instrucciones específicas de dominio desde SessionConfig.

## Skills

Las Skills son módulos de prompt reutilizables. Al cargar un `SKILL.md`, puedes añadir a la sesión instrucciones para un dominio concreto.

## Resumen

* Reutiliza conocimiento de dominio como una skill
* Comparte el mismo comportamiento entre proyectos
* Activa/desactiva por sesión

En la versión Laravel se configura con `skillDirectories` y `disabledSkills` de `SessionConfig`.

## Uso básico

Al indicar el directorio padre en `skillDirectories`, se cargan los `SKILL.md` de cada subdirectorio.

```php theme={null}
use Revolution\Copilot\Contracts\CopilotSession;
use Revolution\Copilot\Facades\Copilot;
use Revolution\Copilot\Types\SessionConfig;

Copilot::start(function (CopilotSession $session) {
    $response = $session->sendAndWait(prompt: 'この差分をセキュリティ観点でレビューして');

    dump($response->content());
}, config: new SessionConfig(
    skillDirectories: [
        base_path('skills'),
    ],
));
```

También puedes indicarlo como array:

```php theme={null}
Copilot::run(
    prompt: 'READMEの改善案を出して',
    config: [
        'skillDirectories' => [base_path('skills')],
    ],
);
```

## Deshabilitar skills

Con `disabledSkills` puedes deshabilitar solo algunas skills ya cargadas.

```php theme={null}
$config = new SessionConfig(
    skillDirectories: [base_path('skills')],
    disabledSkills: ['experimental-feature', 'deprecated-tool'],
);
```

## Estructura de directorios

```text theme={null}
skills/
├── code-review/
│   └── SKILL.md
└── documentation/
    └── SKILL.md
```

En `skillDirectories` indica un directorio padre como `skills/`.

## Formato de SKILL.md

`SKILL.md` es Markdown y puede incluir opcionalmente frontmatter YAML.

```markdown theme={null}
---
name: code-review
description: Specialized code review capabilities
---

# Code Review Guidelines

When reviewing code, always check for:

1. Security vulnerabilities
2. Performance issues
3. Code style
4. Test coverage
```

Campos principales del frontmatter:

* `name`: identificador de la skill (nombre que se indica en `disabledSkills`)
* `description`: descripción breve de la skill

Si omites `name`, se usa el nombre del directorio.

## Combinarlas con Custom Agents

Si indicas nombres de skill en `customAgents[].skills`, el contenido de esas skills se carga previamente al arrancar el agente correspondiente.

```php theme={null}
use Revolution\Copilot\Types\SessionConfig;

$config = new SessionConfig(
    skillDirectories: [base_path('skills/security')],
    customAgents: [
        [
            'name' => 'security-auditor',
            'description' => 'Security-focused code reviewer',
            'prompt' => 'Focus on OWASP Top 10 vulnerabilities',
            'skills' => ['security-scan', 'dependency-check'],
        ],
    ],
);
```

> Si omites `skills`, no se inyecta contenido de skills en el agente.

## Consulta y control mediante RPC

También puedes descubrir y habilitar/deshabilitar skills vía RPC.

```php theme={null}
// Descubre skills a nivel de servidor
$result = Copilot::client()->rpc()->skills()->discover();

// Lista de skills dentro de la sesión
$session->rpc()->skills()->list();

// Habilita/deshabilita individualmente dentro de la sesión
$session->rpc()->skills()->enable(['name' => 'security-scan']);
$session->rpc()->skills()->disable(['name' => 'security-scan']);
```

## Buenas prácticas

* Divide las skills por dominio (`skills/security`, `skills/testing`, etc.)
* Añade `name` y `description` en el frontmatter
* Si hay instrucciones conflictivas, exclúyelas explícitamente con `disabledSkills`
* Prueba primero de forma aislada y luego combina varias skills

## Referencias

* [SessionConfig](/es/packages/laravel-copilot-sdk/session-config)
* [Custom Agents](/es/packages/laravel-copilot-sdk/custom-agents)
* [RPC](/es/packages/laravel-copilot-sdk/rpc)


## Related topics

- [laravel/agent-skills — Colección oficial de skills para agentes de IA de Laravel](/es/blog/agent-skills-introduction.md)
- [Laravel Boost](/es/boost.md)
- [Crear un agente personalizado de Boost](/es/advanced/boost-custom-agent.md)
- [Laravel y el desarrollo con IA](/es/ai.md)
- [Eventos de streaming](/es/packages/laravel-copilot-sdk/streaming-events.md)
