> ## 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

> Découvrez comment charger des SKILL.md réutilisables et gérer des instructions spécifiques à un domaine via SessionConfig.

## Skills

Les Skills sont des modules de prompt réutilisables. Vous chargez un `SKILL.md` pour ajouter à la session des instructions dédiées à un domaine.

## Vue d'ensemble

* Réutilisez des connaissances métier sous forme de skills
* Partagez le même comportement entre plusieurs projets
* Activez/désactivez par session

Dans la version Laravel, cela se configure via `skillDirectories` et `disabledSkills` de `SessionConfig`.

## Utilisation de base

Dans `skillDirectories`, indiquez un répertoire parent : le `SKILL.md` de chaque sous-répertoire est chargé.

```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'),
    ],
));
```

Vous pouvez aussi passer un tableau.

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

## Désactiver des skills

`disabledSkills` permet de désactiver certains skills déjà chargés.

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

## Structure des dossiers

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

Dans `skillDirectories`, indiquez le répertoire parent (`skills/`).

## Format de SKILL.md

`SKILL.md` est un Markdown avec un frontmatter YAML optionnel.

```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
```

Principaux champs du frontmatter :

* `name` : identifiant du skill (nom utilisé dans `disabledSkills`)
* `description` : description courte du skill

Si `name` est omis, le nom du répertoire est utilisé.

## Combiner avec des Custom Agents

En précisant des noms de skills dans `customAgents[].skills`, ces skills sont chargés au démarrage de l'agent concerné.

```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 `skills` est omis, le contenu des skills n'est pas injecté dans l'agent.

## Inspection et contrôle via RPC

La découverte et l'activation/désactivation des skills sont également possibles via RPC.

```php theme={null}
// Détecte les skills au niveau serveur
$result = Copilot::client()->rpc()->skills()->discover();

// Liste les skills dans la session
$session->rpc()->skills()->list();

// Active/désactive un skill au sein de la session
$session->rpc()->skills()->enable(['name' => 'security-scan']);
$session->rpc()->skills()->disable(['name' => 'security-scan']);
```

## Bonnes pratiques

* Séparez les skills par domaine (`skills/security`, `skills/testing`, etc.)
* Renseignez `name` et `description` dans le frontmatter
* En cas d'instructions conflictuelles, excluez explicitement via `disabledSkills`
* Testez d'abord chaque skill isolément avant de les combiner

## Voir aussi

* [SessionConfig](/fr/packages/laravel-copilot-sdk/session-config)
* [Agents personnalisés](/fr/packages/laravel-copilot-sdk/custom-agents)
* [RPC](/fr/packages/laravel-copilot-sdk/rpc)


## Related topics

- [laravel/agent-skills — la collection officielle de skills d'agents IA Laravel](/fr/blog/agent-skills-introduction.md)
- [Créer un agent personnalisé pour Boost](/fr/advanced/boost-custom-agent.md)
- [Laravel Boost](/fr/boost.md)
- [Laravel et le développement IA](/fr/ai.md)
- [Événements de streaming](/fr/packages/laravel-copilot-sdk/streaming-events.md)
