@boostecom/provider 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +90 -0
- package/dist/index.cjs +2522 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +848 -0
- package/dist/index.d.ts +848 -0
- package/dist/index.js +2484 -0
- package/dist/index.js.map +1 -0
- package/docs/content/README.md +337 -0
- package/docs/content/agent-teams.mdx +324 -0
- package/docs/content/api.mdx +757 -0
- package/docs/content/best-practices.mdx +624 -0
- package/docs/content/examples.mdx +675 -0
- package/docs/content/guide.mdx +516 -0
- package/docs/content/index.mdx +99 -0
- package/docs/content/installation.mdx +246 -0
- package/docs/content/skills.mdx +548 -0
- package/docs/content/troubleshooting.mdx +588 -0
- package/docs/examples/README.md +499 -0
- package/docs/examples/abort-signal.ts +125 -0
- package/docs/examples/agent-teams.ts +122 -0
- package/docs/examples/basic-usage.ts +73 -0
- package/docs/examples/check-cli.ts +51 -0
- package/docs/examples/conversation-history.ts +69 -0
- package/docs/examples/custom-config.ts +90 -0
- package/docs/examples/generate-object-constraints.ts +209 -0
- package/docs/examples/generate-object.ts +211 -0
- package/docs/examples/hooks-callbacks.ts +63 -0
- package/docs/examples/images.ts +76 -0
- package/docs/examples/integration-test.ts +241 -0
- package/docs/examples/limitations.ts +150 -0
- package/docs/examples/logging-custom-logger.ts +99 -0
- package/docs/examples/logging-default.ts +55 -0
- package/docs/examples/logging-disabled.ts +74 -0
- package/docs/examples/logging-verbose.ts +64 -0
- package/docs/examples/long-running-tasks.ts +179 -0
- package/docs/examples/message-injection.ts +210 -0
- package/docs/examples/mid-stream-injection.ts +126 -0
- package/docs/examples/run-all-examples.sh +48 -0
- package/docs/examples/sdk-tools-callbacks.ts +49 -0
- package/docs/examples/skills-discovery.ts +144 -0
- package/docs/examples/skills-management.ts +140 -0
- package/docs/examples/stream-object.ts +80 -0
- package/docs/examples/streaming.ts +52 -0
- package/docs/examples/structured-output-repro.ts +227 -0
- package/docs/examples/tool-management.ts +215 -0
- package/docs/examples/tool-streaming.ts +132 -0
- package/docs/examples/zod4-compatibility-test.ts +290 -0
- package/docs/src/claude-code-language-model.test.ts +3883 -0
- package/docs/src/claude-code-language-model.ts +2586 -0
- package/docs/src/claude-code-provider.test.ts +97 -0
- package/docs/src/claude-code-provider.ts +179 -0
- package/docs/src/convert-to-claude-code-messages.images.test.ts +104 -0
- package/docs/src/convert-to-claude-code-messages.test.ts +193 -0
- package/docs/src/convert-to-claude-code-messages.ts +419 -0
- package/docs/src/errors.test.ts +213 -0
- package/docs/src/errors.ts +216 -0
- package/docs/src/index.test.ts +49 -0
- package/docs/src/index.ts +98 -0
- package/docs/src/logger.integration.test.ts +164 -0
- package/docs/src/logger.test.ts +184 -0
- package/docs/src/logger.ts +65 -0
- package/docs/src/map-claude-code-finish-reason.test.ts +120 -0
- package/docs/src/map-claude-code-finish-reason.ts +60 -0
- package/docs/src/mcp-helpers.test.ts +71 -0
- package/docs/src/mcp-helpers.ts +123 -0
- package/docs/src/message-injection.test.ts +460 -0
- package/docs/src/types.ts +447 -0
- package/docs/src/validation.test.ts +558 -0
- package/docs/src/validation.ts +360 -0
- package/package.json +124 -0
|
@@ -0,0 +1,548 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Skills (Compétences)
|
|
3
|
+
description: Créer et utiliser des compétences personnalisées avec Claude Code
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Skills - Compétences personnalisées
|
|
7
|
+
|
|
8
|
+
Les Skills sont des outils personnalisés que vous pouvez définir pour étendre les capacités de Claude Code. Elles permettent d'ajouter des fonctionnalités spécifiques à votre domaine ou workflow.
|
|
9
|
+
|
|
10
|
+
## Qu'est-ce qu'une Skill ?
|
|
11
|
+
|
|
12
|
+
Une Skill est essentiellement un outil personnalisé défini via un fichier Markdown (`SKILL.md`) qui décrit :
|
|
13
|
+
|
|
14
|
+
- **Ce que fait la skill** - Description et cas d'usage
|
|
15
|
+
- **Comment l'utiliser** - Paramètres et syntaxe
|
|
16
|
+
- **Exemples** - Démonstrations d'utilisation
|
|
17
|
+
|
|
18
|
+
Claude lit ces définitions et peut invoquer vos skills durant une conversation.
|
|
19
|
+
|
|
20
|
+
## Configuration des Skills
|
|
21
|
+
|
|
22
|
+
Pour activer les Skills, vous devez configurer deux options :
|
|
23
|
+
|
|
24
|
+
```typescript
|
|
25
|
+
import { claudeCode } from '@boostecom/provider';
|
|
26
|
+
|
|
27
|
+
const model = claudeCode('sonnet', {
|
|
28
|
+
settingSources: ['user', 'project'], // Charger les skills
|
|
29
|
+
allowedTools: ['Skill', 'Read', 'Write'], // 'Skill' requis
|
|
30
|
+
});
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
<Note type="warning">
|
|
34
|
+
**Requis** : Les deux options sont nécessaires. Sans `settingSources`, les skills ne seront pas chargées. Sans `'Skill'` dans `allowedTools`, elles ne pourront pas être invoquées.
|
|
35
|
+
</Note>
|
|
36
|
+
|
|
37
|
+
## Emplacements des Skills
|
|
38
|
+
|
|
39
|
+
### Skills utilisateur (globales)
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
~/.claude/skills/
|
|
43
|
+
├── ma-skill/
|
|
44
|
+
│ └── SKILL.md
|
|
45
|
+
└── autre-skill/
|
|
46
|
+
└── SKILL.md
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Disponibles pour tous vos projets.
|
|
50
|
+
|
|
51
|
+
### Skills projet (locales)
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
.claude/skills/
|
|
55
|
+
├── projet-skill/
|
|
56
|
+
│ └── SKILL.md
|
|
57
|
+
└── custom-tool/
|
|
58
|
+
└── SKILL.md
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Disponibles uniquement dans le projet courant.
|
|
62
|
+
|
|
63
|
+
## Créer une Skill
|
|
64
|
+
|
|
65
|
+
### Structure du fichier SKILL.md
|
|
66
|
+
|
|
67
|
+
```markdown title=".claude/skills/database-query/SKILL.md"
|
|
68
|
+
# Database Query Skill
|
|
69
|
+
|
|
70
|
+
Cette skill permet d'exécuter des requêtes SQL sur la base de données du projet.
|
|
71
|
+
|
|
72
|
+
## Usage
|
|
73
|
+
|
|
74
|
+
/database-query <query>
|
|
75
|
+
|
|
76
|
+
## Paramètres
|
|
77
|
+
|
|
78
|
+
- `query` (required) - La requête SQL à exécuter
|
|
79
|
+
|
|
80
|
+
## Exemples
|
|
81
|
+
|
|
82
|
+
/database-query SELECT * FROM users WHERE active = true
|
|
83
|
+
/database-query SELECT COUNT(*) FROM orders WHERE status = 'pending'
|
|
84
|
+
|
|
85
|
+
## Notes
|
|
86
|
+
|
|
87
|
+
- Seules les requêtes SELECT sont autorisées
|
|
88
|
+
- Les requêtes sont exécutées en lecture seule
|
|
89
|
+
- Les résultats sont limités à 100 lignes
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### Exemple : Skill de validation
|
|
93
|
+
|
|
94
|
+
```markdown title=".claude/skills/validate-email/SKILL.md"
|
|
95
|
+
# Validate Email Skill
|
|
96
|
+
|
|
97
|
+
Valide une adresse email et vérifie son format, domaine, et disponibilité.
|
|
98
|
+
|
|
99
|
+
## Usage
|
|
100
|
+
|
|
101
|
+
/validate-email <email>
|
|
102
|
+
|
|
103
|
+
## Paramètres
|
|
104
|
+
|
|
105
|
+
- `email` (required) - L'adresse email à valider
|
|
106
|
+
|
|
107
|
+
## Comportement
|
|
108
|
+
|
|
109
|
+
1. Vérifie le format de l'email (RFC 5322)
|
|
110
|
+
2. Vérifie que le domaine existe (DNS lookup)
|
|
111
|
+
3. Retourne un résultat structuré avec :
|
|
112
|
+
- `valid`: boolean
|
|
113
|
+
- `format_ok`: boolean
|
|
114
|
+
- `domain_exists`: boolean
|
|
115
|
+
- `suggestions`: string[] (si invalide)
|
|
116
|
+
|
|
117
|
+
## Exemples
|
|
118
|
+
|
|
119
|
+
/validate-email user@example.com
|
|
120
|
+
/validate-email invalid.email@
|
|
121
|
+
|
|
122
|
+
## Limites
|
|
123
|
+
|
|
124
|
+
- Ne vérifie pas si l'adresse existe réellement (SMTP)
|
|
125
|
+
- Timeout de 5 secondes pour la vérification DNS
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### Exemple : Skill de calcul métier
|
|
129
|
+
|
|
130
|
+
```markdown title=".claude/skills/calculate-shipping/SKILL.md"
|
|
131
|
+
# Calculate Shipping Skill
|
|
132
|
+
|
|
133
|
+
Calcule les frais de port en fonction du poids, destination, et type d'envoi.
|
|
134
|
+
|
|
135
|
+
## Usage
|
|
136
|
+
|
|
137
|
+
/calculate-shipping <weight> <country> [express]
|
|
138
|
+
|
|
139
|
+
## Paramètres
|
|
140
|
+
|
|
141
|
+
- `weight` (required) - Poids en kilogrammes
|
|
142
|
+
- `country` (required) - Code pays (ISO 3166-1 alpha-2)
|
|
143
|
+
- `express` (optional) - Ajoutez "express" pour expédition rapide
|
|
144
|
+
|
|
145
|
+
## Tarification
|
|
146
|
+
|
|
147
|
+
### Standard
|
|
148
|
+
- France (FR): 5€ + 0.50€/kg
|
|
149
|
+
- Europe (EU): 10€ + 1€/kg
|
|
150
|
+
- International: 20€ + 2€/kg
|
|
151
|
+
|
|
152
|
+
### Express (×1.5)
|
|
153
|
+
Tous les tarifs standard multipliés par 1.5
|
|
154
|
+
|
|
155
|
+
## Exemples
|
|
156
|
+
|
|
157
|
+
/calculate-shipping 2.5 FR
|
|
158
|
+
→ 6.25€ (Standard France)
|
|
159
|
+
|
|
160
|
+
/calculate-shipping 5 DE express
|
|
161
|
+
→ 22.50€ (Express Allemagne)
|
|
162
|
+
|
|
163
|
+
/calculate-shipping 10 US
|
|
164
|
+
→ 40€ (Standard International)
|
|
165
|
+
|
|
166
|
+
## Notes
|
|
167
|
+
|
|
168
|
+
- Poids maximum: 30kg
|
|
169
|
+
- Certains pays peuvent être restreints
|
|
170
|
+
- Les tarifs sont TTC
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
## Utiliser les Skills
|
|
174
|
+
|
|
175
|
+
Une fois configurées, utilisez les skills dans vos prompts :
|
|
176
|
+
|
|
177
|
+
```typescript
|
|
178
|
+
import { streamText } from 'ai';
|
|
179
|
+
import { claudeCode } from '@boostecom/provider';
|
|
180
|
+
|
|
181
|
+
const result = streamText({
|
|
182
|
+
model: claudeCode('sonnet', {
|
|
183
|
+
settingSources: ['user', 'project'],
|
|
184
|
+
allowedTools: ['Skill', 'Read', 'Write'],
|
|
185
|
+
}),
|
|
186
|
+
prompt: 'Valide cet email: user@example.com et dis-moi s\'il est correct',
|
|
187
|
+
});
|
|
188
|
+
|
|
189
|
+
for await (const chunk of result.textStream) {
|
|
190
|
+
process.stdout.write(chunk);
|
|
191
|
+
}
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
Claude détectera automatiquement qu'il doit utiliser la skill `/validate-email` et l'invoquera.
|
|
195
|
+
|
|
196
|
+
## Skills complexes avec scripts
|
|
197
|
+
|
|
198
|
+
Pour des skills plus complexes, vous pouvez créer des scripts exécutables :
|
|
199
|
+
|
|
200
|
+
### Structure avec script
|
|
201
|
+
|
|
202
|
+
```
|
|
203
|
+
.claude/skills/api-client/
|
|
204
|
+
├── SKILL.md
|
|
205
|
+
└── execute.js
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
```markdown title=".claude/skills/api-client/SKILL.md"
|
|
209
|
+
# API Client Skill
|
|
210
|
+
|
|
211
|
+
Effectue des requêtes HTTP vers l'API du projet.
|
|
212
|
+
|
|
213
|
+
## Usage
|
|
214
|
+
|
|
215
|
+
/api-client <method> <endpoint> [body]
|
|
216
|
+
|
|
217
|
+
## Paramètres
|
|
218
|
+
|
|
219
|
+
- `method` - GET, POST, PUT, DELETE
|
|
220
|
+
- `endpoint` - Chemin de l'endpoint (ex: /users)
|
|
221
|
+
- `body` - Corps de la requête (JSON, optionnel)
|
|
222
|
+
|
|
223
|
+
## Exemples
|
|
224
|
+
|
|
225
|
+
/api-client GET /users
|
|
226
|
+
/api-client POST /users {"name":"Alice","email":"alice@example.com"}
|
|
227
|
+
/api-client DELETE /users/123
|
|
228
|
+
|
|
229
|
+
## Implémentation
|
|
230
|
+
|
|
231
|
+
Cette skill exécute le script `execute.js` dans son répertoire.
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
```javascript title=".claude/skills/api-client/execute.js"
|
|
235
|
+
#!/usr/bin/env node
|
|
236
|
+
|
|
237
|
+
const [method, endpoint, bodyJson] = process.argv.slice(2);
|
|
238
|
+
const API_BASE_URL = process.env.API_BASE_URL || 'http://localhost:3000';
|
|
239
|
+
|
|
240
|
+
async function makeRequest() {
|
|
241
|
+
const options = {
|
|
242
|
+
method: method.toUpperCase(),
|
|
243
|
+
headers: {
|
|
244
|
+
'Content-Type': 'application/json',
|
|
245
|
+
'Authorization': `Bearer ${process.env.API_TOKEN}`,
|
|
246
|
+
},
|
|
247
|
+
};
|
|
248
|
+
|
|
249
|
+
if (bodyJson) {
|
|
250
|
+
options.body = bodyJson;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
try {
|
|
254
|
+
const response = await fetch(`${API_BASE_URL}${endpoint}`, options);
|
|
255
|
+
const data = await response.json();
|
|
256
|
+
|
|
257
|
+
console.log(JSON.stringify({
|
|
258
|
+
status: response.status,
|
|
259
|
+
ok: response.ok,
|
|
260
|
+
data,
|
|
261
|
+
}, null, 2));
|
|
262
|
+
} catch (error) {
|
|
263
|
+
console.error(JSON.stringify({
|
|
264
|
+
error: error.message,
|
|
265
|
+
}));
|
|
266
|
+
process.exit(1);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
makeRequest();
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
```bash
|
|
274
|
+
# Rendre le script exécutable
|
|
275
|
+
chmod +x .claude/skills/api-client/execute.js
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
## Best Practices
|
|
279
|
+
|
|
280
|
+
### 1. Documentation claire
|
|
281
|
+
|
|
282
|
+
Documentez précisément le comportement attendu :
|
|
283
|
+
|
|
284
|
+
```markdown
|
|
285
|
+
## Comportement
|
|
286
|
+
|
|
287
|
+
1. Valide les paramètres d'entrée
|
|
288
|
+
2. Effectue l'opération demandée
|
|
289
|
+
3. Retourne un résultat structuré
|
|
290
|
+
4. Gère les erreurs avec messages explicites
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
### 2. Exemples concrets
|
|
294
|
+
|
|
295
|
+
Fournissez plusieurs exemples couvrant différents cas :
|
|
296
|
+
|
|
297
|
+
```markdown
|
|
298
|
+
## Exemples
|
|
299
|
+
|
|
300
|
+
### Cas nominal
|
|
301
|
+
/ma-skill param1 param2
|
|
302
|
+
|
|
303
|
+
### Avec paramètres optionnels
|
|
304
|
+
/ma-skill param1 param2 --option value
|
|
305
|
+
|
|
306
|
+
### Cas d'erreur attendu
|
|
307
|
+
/ma-skill invalid-input
|
|
308
|
+
→ Erreur : Format invalide
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
### 3. Gestion d'erreurs
|
|
312
|
+
|
|
313
|
+
Anticipez et documentez les erreurs possibles :
|
|
314
|
+
|
|
315
|
+
```markdown
|
|
316
|
+
## Erreurs possibles
|
|
317
|
+
|
|
318
|
+
- `INVALID_FORMAT` - Le format du paramètre est incorrect
|
|
319
|
+
- `NOT_FOUND` - La ressource n'existe pas
|
|
320
|
+
- `PERMISSION_DENIED` - Accès non autorisé
|
|
321
|
+
- `TIMEOUT` - L'opération a dépassé le délai
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
### 4. Limites et contraintes
|
|
325
|
+
|
|
326
|
+
Indiquez clairement les limitations :
|
|
327
|
+
|
|
328
|
+
```markdown
|
|
329
|
+
## Limites
|
|
330
|
+
|
|
331
|
+
- Maximum 100 résultats par requête
|
|
332
|
+
- Timeout de 30 secondes
|
|
333
|
+
- Certaines opérations nécessitent des permissions spécifiques
|
|
334
|
+
- Rate limit: 60 requêtes par minute
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
### 5. Sécurité
|
|
338
|
+
|
|
339
|
+
Pour les skills sensibles, documentez les aspects sécurité :
|
|
340
|
+
|
|
341
|
+
```markdown
|
|
342
|
+
## Sécurité
|
|
343
|
+
|
|
344
|
+
- Cette skill nécessite la variable d'environnement `API_SECRET_KEY`
|
|
345
|
+
- Les données sont chiffrées en transit
|
|
346
|
+
- Les logs ne contiennent jamais de données sensibles
|
|
347
|
+
- Accès restreint aux utilisateurs authentifiés
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
## Validation automatique
|
|
351
|
+
|
|
352
|
+
Le provider émet un warning si la configuration est incomplète :
|
|
353
|
+
|
|
354
|
+
```typescript
|
|
355
|
+
// ⚠️ Warning: 'Skill' in allowedTools but no settingSources
|
|
356
|
+
const model = claudeCode('sonnet', {
|
|
357
|
+
allowedTools: ['Skill'], // 'Skill' présent
|
|
358
|
+
// Manque: settingSources
|
|
359
|
+
});
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
Solution :
|
|
363
|
+
|
|
364
|
+
```typescript
|
|
365
|
+
const model = claudeCode('sonnet', {
|
|
366
|
+
allowedTools: ['Skill'],
|
|
367
|
+
settingSources: ['user', 'project'], // ✅ Ajouté
|
|
368
|
+
});
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
## Debugging des Skills
|
|
372
|
+
|
|
373
|
+
### Activer les logs verbeux
|
|
374
|
+
|
|
375
|
+
```typescript
|
|
376
|
+
const model = claudeCode('sonnet', {
|
|
377
|
+
verbose: true, // Voir les invocations de skills
|
|
378
|
+
settingSources: ['user', 'project'],
|
|
379
|
+
allowedTools: ['Skill'],
|
|
380
|
+
});
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
### Observer les appels de skills
|
|
384
|
+
|
|
385
|
+
```typescript
|
|
386
|
+
const result = streamText({
|
|
387
|
+
model: claudeCode('sonnet', {
|
|
388
|
+
settingSources: ['user', 'project'],
|
|
389
|
+
allowedTools: ['Skill'],
|
|
390
|
+
hooks: {
|
|
391
|
+
PreToolUse: [{
|
|
392
|
+
matcher: 'Skill',
|
|
393
|
+
hooks: [
|
|
394
|
+
async (toolName, input) => {
|
|
395
|
+
console.log('🎯 Skill invoquée:', toolName);
|
|
396
|
+
console.log('📥 Input:', JSON.stringify(input, null, 2));
|
|
397
|
+
},
|
|
398
|
+
],
|
|
399
|
+
}],
|
|
400
|
+
PostToolUse: [{
|
|
401
|
+
matcher: 'Skill',
|
|
402
|
+
hooks: [
|
|
403
|
+
async (toolName, input, result) => {
|
|
404
|
+
console.log('✅ Skill terminée:', toolName);
|
|
405
|
+
console.log('📤 Résultat:', JSON.stringify(result, null, 2));
|
|
406
|
+
},
|
|
407
|
+
],
|
|
408
|
+
}],
|
|
409
|
+
},
|
|
410
|
+
}),
|
|
411
|
+
prompt: 'Utilise la skill pour vérifier cet email',
|
|
412
|
+
});
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
## Exemples de Skills utiles
|
|
416
|
+
|
|
417
|
+
### 1. Git Operations
|
|
418
|
+
|
|
419
|
+
```markdown title=".claude/skills/git-status/SKILL.md"
|
|
420
|
+
# Git Status Skill
|
|
421
|
+
|
|
422
|
+
Affiche le statut Git du projet avec résumé structuré.
|
|
423
|
+
|
|
424
|
+
## Usage
|
|
425
|
+
|
|
426
|
+
/git-status
|
|
427
|
+
|
|
428
|
+
## Retour
|
|
429
|
+
|
|
430
|
+
Objet JSON avec :
|
|
431
|
+
- `branch` : branche courante
|
|
432
|
+
- `modified` : fichiers modifiés
|
|
433
|
+
- `staged` : fichiers en staging
|
|
434
|
+
- `untracked` : fichiers non suivis
|
|
435
|
+
- `ahead` : commits en avance
|
|
436
|
+
- `behind` : commits en retard
|
|
437
|
+
|
|
438
|
+
## Exemple
|
|
439
|
+
|
|
440
|
+
/git-status
|
|
441
|
+
```
|
|
442
|
+
|
|
443
|
+
### 2. Environment Checker
|
|
444
|
+
|
|
445
|
+
```markdown title=".claude/skills/check-env/SKILL.md"
|
|
446
|
+
# Environment Checker Skill
|
|
447
|
+
|
|
448
|
+
Vérifie que toutes les variables d'environnement requises sont définies.
|
|
449
|
+
|
|
450
|
+
## Usage
|
|
451
|
+
|
|
452
|
+
/check-env [file]
|
|
453
|
+
|
|
454
|
+
## Paramètres
|
|
455
|
+
|
|
456
|
+
- `file` (optional) - Fichier à vérifier (défaut: .env.example)
|
|
457
|
+
|
|
458
|
+
## Comportement
|
|
459
|
+
|
|
460
|
+
1. Lit les variables requises du fichier
|
|
461
|
+
2. Vérifie leur présence dans l'environnement
|
|
462
|
+
3. Retourne la liste des variables manquantes
|
|
463
|
+
|
|
464
|
+
## Exemple
|
|
465
|
+
|
|
466
|
+
/check-env .env.example
|
|
467
|
+
```
|
|
468
|
+
|
|
469
|
+
### 3. Test Runner
|
|
470
|
+
|
|
471
|
+
```markdown title=".claude/skills/run-tests/SKILL.md"
|
|
472
|
+
# Test Runner Skill
|
|
473
|
+
|
|
474
|
+
Exécute les tests du projet et retourne un résumé.
|
|
475
|
+
|
|
476
|
+
## Usage
|
|
477
|
+
|
|
478
|
+
/run-tests [pattern]
|
|
479
|
+
|
|
480
|
+
## Paramètres
|
|
481
|
+
|
|
482
|
+
- `pattern` (optional) - Pattern des tests à exécuter (ex: "auth/*")
|
|
483
|
+
|
|
484
|
+
## Retour
|
|
485
|
+
|
|
486
|
+
- `passed` : nombre de tests réussis
|
|
487
|
+
- `failed` : nombre de tests échoués
|
|
488
|
+
- `duration` : durée totale en ms
|
|
489
|
+
- `failures` : détails des échecs
|
|
490
|
+
|
|
491
|
+
## Exemples
|
|
492
|
+
|
|
493
|
+
/run-tests
|
|
494
|
+
/run-tests auth/*
|
|
495
|
+
/run-tests components/Button.test.ts
|
|
496
|
+
```
|
|
497
|
+
|
|
498
|
+
## Partager vos Skills
|
|
499
|
+
|
|
500
|
+
### Organisation en packages
|
|
501
|
+
|
|
502
|
+
Pour partager des skills entre projets :
|
|
503
|
+
|
|
504
|
+
```bash
|
|
505
|
+
# Créer un package de skills
|
|
506
|
+
mkdir my-claude-skills
|
|
507
|
+
cd my-claude-skills
|
|
508
|
+
|
|
509
|
+
# Structure
|
|
510
|
+
skills/
|
|
511
|
+
├── skill-1/
|
|
512
|
+
│ └── SKILL.md
|
|
513
|
+
└── skill-2/
|
|
514
|
+
└── SKILL.md
|
|
515
|
+
package.json
|
|
516
|
+
README.md
|
|
517
|
+
```
|
|
518
|
+
|
|
519
|
+
```json title="package.json"
|
|
520
|
+
{
|
|
521
|
+
"name": "my-claude-skills",
|
|
522
|
+
"version": "1.0.0",
|
|
523
|
+
"description": "Collection de skills Claude personnalisées",
|
|
524
|
+
"files": ["skills/**/*"]
|
|
525
|
+
}
|
|
526
|
+
```
|
|
527
|
+
|
|
528
|
+
### Installation
|
|
529
|
+
|
|
530
|
+
```bash
|
|
531
|
+
# Installer le package
|
|
532
|
+
npm install my-claude-skills
|
|
533
|
+
|
|
534
|
+
# Créer des liens symboliques
|
|
535
|
+
ln -s node_modules/my-claude-skills/skills/* .claude/skills/
|
|
536
|
+
```
|
|
537
|
+
|
|
538
|
+
## Ressources
|
|
539
|
+
|
|
540
|
+
- [Exemples de Skills](/docs/examples) - Voir les skills en action
|
|
541
|
+
- [API Reference](/docs/api) - Configuration détaillée
|
|
542
|
+
- [Agent Teams](/docs/agent-teams) - Combiner Skills avec des équipes d'agents
|
|
543
|
+
|
|
544
|
+
## Prochaines étapes
|
|
545
|
+
|
|
546
|
+
- [Best Practices](/docs/best-practices) - Optimisations et patterns
|
|
547
|
+
- [Troubleshooting](/docs/troubleshooting) - Résoudre les problèmes courants
|
|
548
|
+
- [Agent Teams](/docs/agent-teams) - Créer des équipes d'agents spécialisés
|