chore(ideai): synchronise l'état de suivi (tickets, agents, skills, mémoire)
Rattrapage de l'état runtime IdeA (nouveaux tickets #80-#91, agents coach/commercial, skills, permissions MCP) resté non commité depuis la clôture du ticket #79. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
11
.ideai/skills/index.json
Normal file
11
.ideai/skills/index.json
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"version": 1,
|
||||
"skills": [
|
||||
{
|
||||
"id": "c5f979a4-4f1a-4ed1-b3ff-1985292214aa",
|
||||
"name": "basketball-drill-authoring",
|
||||
"description": null,
|
||||
"contentHash": "aa07477fc1cf6685"
|
||||
}
|
||||
]
|
||||
}
|
||||
90
.ideai/skills/md/c5f979a4-4f1a-4ed1-b3ff-1985292214aa.md
Normal file
90
.ideai/skills/md/c5f979a4-4f1a-4ed1-b3ff-1985292214aa.md
Normal file
@ -0,0 +1,90 @@
|
||||
## Objectif
|
||||
|
||||
Produire des fiches de drills basket homogènes, directement exploitables par
|
||||
DevBackend pour créer les seed data GameTime (entités `Exercise`, `Program`,
|
||||
`WorkoutTemplate` de `lib/domain/entities.dart`), sans aller-retour d'interprétation.
|
||||
|
||||
Ce skill est destiné à l'agent **Coach**, dans le cadre du ticket **#80 —
|
||||
Bibliothèque de drills basket de démarrage + séance exemple modifiable**, et
|
||||
réutilisable pour tout futur enrichissement de la bibliothèque de contenu basket.
|
||||
|
||||
## Catégories à couvrir pour une bibliothèque de démarrage
|
||||
|
||||
- Shoot (tir extérieur, mi-distance)
|
||||
- Lancers francs
|
||||
- Dribble / ball-handling
|
||||
- Finition (layups, floaters, contact)
|
||||
- Conditionnement (endurance, explosivité spécifique basket)
|
||||
- Défense (individuelle, déplacements)
|
||||
- Mobilité / échauffement
|
||||
|
||||
Une bibliothèque de démarrage complète vise au moins un drill par catégorie, sans
|
||||
obligation d'exhaustivité — mieux vaut peu de drills bien spécifiés que beaucoup de
|
||||
drills vagues.
|
||||
|
||||
## Gabarit de fiche — un exercice (`Exercise`)
|
||||
|
||||
Pour chaque drill, remplir tous les champs suivants avant de le considérer prêt :
|
||||
|
||||
```
|
||||
Nom : (court, concret, ex. "Lancers francs — série de 10")
|
||||
Catégorie : (une des catégories ci-dessus)
|
||||
Description : (2-4 phrases : geste, placement, objectif ; vocabulaire basket précis)
|
||||
Matériel : (ballon / panier / cônes / chrono — jamais de matériel connecté ou de caméra)
|
||||
Niveau conseillé : (debutant / intermediaire / tous niveaux)
|
||||
|
||||
Mesures activées (au moins une) :
|
||||
- Temps (hasTimeMeasure) : oui/non — si oui, defaultTargetTimeSeconds
|
||||
- Répétitions (hasRepsMeasure) : oui/non — si oui, defaultTargetReps
|
||||
- Score (hasScoreMeasure) : oui/non
|
||||
- scoreInputMode : manual | stopwatch
|
||||
- si manual : scoreLabel (ex. "Paniers marqués"), scoreUnit (ex. "sur 10")
|
||||
- defaultTargetScore ou defaultTargetScoreTimeMs selon le mode
|
||||
|
||||
Étapes (steps, optionnel — seulement si le drill a plusieurs phases distinctes) :
|
||||
- Étape 1 : nom, type (time|reps), defaultTargetValue, score optionnel
|
||||
- Étape 2 : ...
|
||||
|
||||
Média souhaité : image et/ou vidéo (décrire l'intention : ex. "photo du placement des
|
||||
pieds" — ne pas fournir de fichier, c'est à DevBackend/DevFrontend de le résoudre)
|
||||
```
|
||||
|
||||
Règles de cohérence à vérifier avant de livrer la fiche :
|
||||
- Au moins une mesure activée.
|
||||
- Si score en mode manuel : `scoreLabel` ET `scoreUnit` renseignés.
|
||||
- Les cibles par défaut (`defaultTarget*`) doivent avoir un sens réel pour un débutant
|
||||
raisonnable (pas de surcharge, pas de valeur arbitraire).
|
||||
- Si le drill a plusieurs phases nettement différentes (ex. échauffement puis
|
||||
chronométré), utiliser `steps` plutôt que de forcer plusieurs mesures sur un seul
|
||||
exercice plat.
|
||||
|
||||
## Gabarit de fiche — un programme (`Program`)
|
||||
|
||||
```
|
||||
Nom : (ex. "Séance shoot & finition")
|
||||
Repos par défaut entre séries (defaultRestSeconds) : (valeur réaliste, ex. 30-60s)
|
||||
|
||||
Exercices (dans l'ordre) :
|
||||
1. [Nom exercice] — setsCount : X, mesures activées : [...], cibles : [...], repos
|
||||
spécifique (restSecondsOverride) si différent du défaut
|
||||
2. ...
|
||||
```
|
||||
|
||||
## Gabarit de fiche — une séance-modèle (`WorkoutTemplate`)
|
||||
|
||||
```
|
||||
Nom : (ex. "Séance découverte basket")
|
||||
Programmes inclus (dans l'ordre) : [Nom programme 1], [Nom programme 2], ...
|
||||
```
|
||||
|
||||
## Checklist finale avant de transmettre à Architect/DevBackend
|
||||
|
||||
- [ ] Au moins un drill par catégorie listée ci-dessus.
|
||||
- [ ] Chaque fiche exercice respecte le gabarit et les règles de cohérence.
|
||||
- [ ] Au moins un programme d'exemple cohérent (drills compatibles, ordre logique
|
||||
échauffement → technique → conditionnement).
|
||||
- [ ] Au moins une séance-modèle d'exemple composée du/des programme(s).
|
||||
- [ ] Rien ne dépasse le modèle de données actuel (`Exercise`/`Program`/
|
||||
`WorkoutTemplate`/`ExerciseStep`) — sinon, remonter à Architect avant de livrer.
|
||||
- [ ] Aucun drill ne nécessite de matériel connecté, de caméra ou d'abonnement tiers.
|
||||
- [ ] Le contenu reste éditable/supprimable : pas d'hypothèse de donnée protégée.
|
||||
Reference in New Issue
Block a user