Aller au contenu principal

Compétences

Les compétences sont des paquets de connaissances structurés qui confèrent à chaque agent son expertise de domaine. Ce ne sont pas de simples prompts -- elles contiennent des protocoles d'exécution, des références de stack technique, des modèles de code, des guides de résolution d'erreurs, des checklists de qualité et des exemples few-shot, organisés dans une architecture en deux couches conçue pour l'efficacité en tokens.


La conception en deux couches

Couche 1 : SKILL.md (~800 octets, toujours chargée)

Chaque compétence possède un fichier SKILL.md à sa racine. Celui-ci est toujours chargé dans la fenêtre de contexte lorsque la compétence est référencée. Il contient :

  • Frontmatter YAML avec name et description (utilisé pour le routage et l'affichage)
  • Quand utiliser / Quand NE PAS utiliser -- conditions d'activation explicites
  • Règles fondamentales -- les 5 à 15 contraintes les plus critiques du domaine
  • Aperçu de l'architecture -- comment le code doit être structuré
  • Liste des bibliothèques -- dépendances approuvées et leurs usages
  • Références -- pointeurs vers les ressources de la couche 2 (jamais chargées automatiquement)

Exemple de frontmatter :

---
name: oma-frontend
description: Frontend specialist for React, Next.js, TypeScript with FSD-lite architecture, shadcn/ui, and design system alignment. Use for UI, component, page, layout, CSS, Tailwind, and shadcn work.
---

Le champ description est essentiel -- il contient les mots-clés de routage que le système de routage des compétences utilise pour faire correspondre les tâches aux agents.

Couche 2 : resources/ (chargement à la demande)

Le répertoire resources/ contient les connaissances d'exécution approfondies. Ces fichiers ne sont chargés que lorsque :

  1. L'agent est explicitement invoqué (via /command ou le champ skills de l'agent)
  2. La ressource spécifique est nécessaire pour le type de tâche et le niveau de difficulté en cours

Ce chargement à la demande est régi par le guide de chargement du contexte (.agents/skills/_shared/core/context-loading.md), qui associe les types de tâches aux ressources requises par agent.


Exemple de structure de fichiers

.agents/skills/oma-frontend/
├── SKILL.md ← Layer 1: always loaded (~800 bytes)
└── resources/
├── execution-protocol.md ← Layer 2: step-by-step workflow
├── tech-stack.md ← Layer 2: detailed technology specs
├── tailwind-rules.md ← Layer 2: Tailwind-specific conventions
├── component-template.tsx ← Layer 2: React component template
├── snippets.md ← Layer 2: copy-paste code patterns
├── error-playbook.md ← Layer 2: error recovery procedures
├── checklist.md ← Layer 2: quality verification checklist
└── examples/ ← Layer 2: few-shot input/output examples
└── examples.md

.agents/skills/oma-backend/
├── SKILL.md
├── resources/
│ ├── execution-protocol.md
│ ├── examples.md
│ ├── orm-reference.md ← Domain-specific (ORM queries, N+1, transactions)
│ ├── checklist.md
│ └── error-playbook.md
└── stack/ ← Generated by /stack-set (language-specific)
├── stack.yaml
├── tech-stack.md
├── snippets.md
└── api-template.*

.agents/skills/oma-design/
├── SKILL.md
├── resources/
│ ├── execution-protocol.md
│ ├── anti-patterns.md
│ ├── checklist.md
│ ├── design-md-spec.md
│ ├── design-tokens.md
│ ├── prompt-enhancement.md
│ ├── stitch-integration.md
│ └── error-playbook.md
├── reference/ ← Deep reference material
│ ├── typography.md
│ ├── color-and-contrast.md
│ ├── spatial-design.md
│ ├── motion-design.md
│ ├── responsive-design.md
│ ├── component-patterns.md
│ ├── accessibility.md
│ └── shader-and-3d.md
└── examples/
├── design-context-example.md
└── landing-page-prompt.md

Types de ressources par compétence

Resource TypeFilename PatternPurposeWhen Loaded
Execution Protocolexecution-protocol.mdStep-by-step workflow: Analyze -> Plan -> Implement -> VerifyAlways (with SKILL.md)
Tech Stacktech-stack.mdDetailed technology specs, versions, configurationComplex tasks
Error Playbookerror-playbook.mdRecovery procedures with "3 strikes" escalationOn error only
Checklistchecklist.mdDomain-specific quality verificationAt Verify step
Snippetssnippets.mdCopy-paste ready code patternsMedium/Complex tasks
Examplesexamples.md or examples/Few-shot input/output examples for the LLMMedium/Complex tasks
Variantsstack/ directoryLanguage/framework-specific references (generated by /stack-set)When stack exists
Templatescomponent-template.tsx, screen-template.dartBoilerplate file templatesOn component creation
Domain Referenceorm-reference.md, anti-patterns.md, etc.Deep domain knowledge for specific subtasksTask-type specific

Ressources partagées (_shared/)

Tous les agents partagent des fondations communes depuis .agents/skills/_shared/. Celles-ci sont organisées en trois catégories :

Ressources centrales (.agents/skills/_shared/core/)

ResourcePurposeWhen Loaded
skill-routing.mdMaps task keywords to the correct agent. Contains the Skill-Agent Mapping table, Complex Request Routing patterns, Inter-Agent Dependency Rules, Escalation Rules, and Turn Limit Guide.Referenced by orchestrator and coordination skills
context-loading.mdDefines which resources to load for which task type and difficulty. Contains per-agent task-type-to-resource mapping tables and conditional protocol loading triggers.At workflow start (Step 0 / Phase 0)
prompt-structure.mdDefines the four elements every task prompt must contain: Goal, Context, Constraints, Done When. Includes templates for PM, implementation, and QA agents. Lists anti-patterns (starting with only a Goal).Referenced by PM agent and all workflows
clarification-protocol.mdDefines uncertainty levels (LOW/MEDIUM/HIGH) with actions for each. Contains uncertainty triggers, escalation templates, required verification items per agent type, and subagent-mode behavior.When requirements are ambiguous
context-budget.mdToken budget management. Defines file reading strategy (use find_symbol not read_file), resource loading budgets per model tier (Flash: ~3,100 tokens / Pro: ~5,000 tokens), large file handling, and context overflow symptoms.At workflow start
difficulty-guide.mdCriteria for classifying tasks as Simple/Medium/Complex. Defines expected turn counts, protocol branching (Fast Track / Standard / Extended), and misjudgment recovery.At task start (Step 0)
reasoning-templates.mdStructured reasoning fill-in-the-blank templates for common decision patterns (e.g., Exploration Decision template #6 used by the Exploration Loop).During complex decisions
quality-principles.md4 universal quality principles applied across all agents.At workflow start for quality-focused workflows (ultrawork)
vendor-detection.mdProtocol for detecting the current runtime environment (Claude Code, Codex CLI, Gemini CLI, Antigravity, CLI Fallback). Uses marker checks: Agent tool = Claude Code, apply_patch = Codex, @-syntax = Gemini.At workflow start
session-metrics.mdClarification Debt (CD) scoring and session metrics tracking. Defines event types (clarify +10, correct +25, redo +40), thresholds (CD >= 50 = RCA, CD >= 80 = pause), and integration points.During orchestration sessions
common-checklist.mdUniversal quality checklist applied at final verification of Complex tasks (in addition to agent-specific checklists).Verify step of Complex tasks
lessons-learned.mdRepository of past session learnings, auto-generated from Clarification Debt breaches and discarded experiments. Organized by domain section.Referenced after errors and at session end
api-contracts/Directory containing API contract template and generated contracts. template.md defines the per-endpoint format (method, path, request/response schemas, auth, errors).When cross-boundary work is planned

Ressources d'exécution (.agents/skills/_shared/runtime/)

ResourcePurpose
memory-protocol.mdMemory file format and operations for CLI subagents. Defines On Start, During Execution, and On Completion protocols using configurable memory tools (read/write/edit). Includes experiment tracking extension.
execution-protocols/claude.mdClaude Code-specific execution patterns. Injected by oma agent:spawn when vendor is claude.
execution-protocols/gemini.mdGemini CLI-specific execution patterns.
execution-protocols/codex.mdCodex CLI-specific execution patterns.
execution-protocols/qwen.mdQwen CLI-specific execution patterns.

Les protocoles d'exécution spécifiques au fournisseur sont injectés automatiquement par oma agent:spawn -- les agents n'ont pas besoin de les charger manuellement.

Ressources conditionnelles (.agents/skills/_shared/conditional/)

Celles-ci ne sont chargées que lorsque des conditions spécifiques sont remplies pendant l'exécution :

ResourceTrigger ConditionLoaded ByApprox. Tokens
quality-score.mdVERIFY or SHIP phase begins in a workflow that supports quality measurementOrchestrator (passes to QA agent prompt)~250
experiment-ledger.mdFirst experiment is recorded after establishing an IMPL baselineOrchestrator (inline, after baseline measurement)~250
exploration-loop.mdSame gate fails twice on the same issueOrchestrator (inline, before spawning hypothesis agents)~250

Impact sur le budget : environ 750 tokens au total si les 3 sont chargées. Comme le chargement est conditionnel, les sessions typiques en chargent 1 à 2. Le budget de niveau flash reste dans l'allocation d'environ 3 100 tokens.


Comment les compétences sont routées via skill-routing.md

La carte de routage des compétences définit comment les tâches sont associées aux agents :

Routage simple (domaine unique)

Un prompt contenant « Build a login form with Tailwind CSS » correspond aux mots-clés UI, component, form, Tailwind, et est routé vers oma-frontend.

Routage de requêtes complexes

Les requêtes multi-domaines suivent des ordres d'exécution établis :

Request PatternExecution Order
"Create a fullstack app"oma-pm -> (oma-backend + oma-frontend) parallel -> oma-qa
"Create a mobile app"oma-pm -> (oma-backend + oma-mobile) parallel -> oma-qa
"Fix bug and review"oma-debug -> oma-qa
"Design and build a landing page"oma-design -> oma-frontend
"I have an idea for a feature"oma-brainstorm -> oma-pm -> relevant agents -> oma-qa
"Do everything automatically"oma-orchestrator (internally: oma-pm -> agents -> oma-qa)

Règles de dépendance inter-agents

Peuvent s'exécuter en parallèle (pas de dépendances) :

  • oma-backend + oma-frontend (when API contract is pre-defined)
  • oma-backend + oma-mobile (when API contract is pre-defined)
  • oma-frontend + oma-mobile (independent of each other)

Doivent s'exécuter séquentiellement :

  • oma-brainstorm -> oma-pm (design comes before planning)
  • oma-pm -> all other agents (planning comes first)
  • implementation agent -> oma-qa (review after implementation)
  • oma-backend -> oma-frontend/oma-mobile (when no pre-defined API contract)

Le QA est toujours en dernier, sauf lorsque l'utilisateur demande la revue de fichiers spécifiques uniquement.


Calcul des économies de tokens

Considérons une session d'orchestration à 5 agents (pm, backend, frontend, mobile, qa) :

Sans divulgation progressive :

  • Each agent loads all resources: ~4,000 tokens per agent
  • Total: 5 x 4,000 = 20,000 tokens consumed before any work

Avec divulgation progressive :

  • Layer 1 only for all agents: 5 x 800 = 4,000 tokens
  • Layer 2 loaded only for active agents (typically 1-2 at a time): +1,500 tokens
  • Total: ~5,500 tokens

Économies : environ 72-75 %

Sur les modèles de niveau flash (contexte 128 Ko), c'est la différence entre avoir 108 Ko de tokens disponibles pour le travail contre 125 Ko -- une marge significative pour les tâches complexes.


Chargement des ressources par difficulté de tâche

Le guide de difficulté classe les tâches en trois niveaux, qui déterminent la quantité de couche 2 chargée :

Simple (3-5 tours attendus)

Modification d'un seul fichier, exigences claires, répétition de patterns existants.

Charge : execution-protocol.md uniquement. Passer l'analyse, procéder directement à l'implémentation avec une checklist minimale.

Moyen (8-15 tours attendus)

2-3 modifications de fichiers, quelques décisions de conception nécessaires, application de patterns à de nouveaux domaines.

Charge : execution-protocol.md + examples.md. Protocole standard avec analyse brève et vérification complète.

Complexe (15-25 tours attendus)

4+ modifications de fichiers, décisions d'architecture requises, introduction de nouveaux patterns, dépendances avec d'autres agents.

Charge : execution-protocol.md + examples.md + tech-stack.md + snippets.md. Protocole étendu avec points de contrôle, enregistrement de la progression en cours d'exécution, et vérification complète incluant common-checklist.md.


Cartes de chargement du contexte par tâche (par agent)

Le guide de chargement du contexte fournit des mappings détaillés type-de-tâche/ressources. Voici les principaux mappings :

Agent Backend

Task TypeRequired Resources
CRUD API creationstack/snippets.md (route, schema, model, test)
Authenticationstack/snippets.md (JWT, password) + stack/tech-stack.md
DB migrationstack/snippets.md (migration)
Performance optimizationexamples.md (N+1 example)
Existing code modificationexamples.md + Serena MCP

Agent Frontend

Task TypeRequired Resources
Component creationsnippets.md + component-template.tsx
Form implementationsnippets.md (form + Zod)
API integrationsnippets.md (TanStack Query)
Stylingtailwind-rules.md
Page layoutsnippets.md (grid) + examples.md

Agent Design

Task TypeRequired Resources
Design system creationreference/typography.md + reference/color-and-contrast.md + reference/spatial-design.md + design-md-spec.md
Landing page designreference/component-patterns.md + reference/motion-design.md + prompt-enhancement.md + examples/landing-page-prompt.md
Design auditchecklist.md + anti-patterns.md
Design token exportdesign-tokens.md
3D / shader effectsreference/shader-and-3d.md + reference/motion-design.md
Accessibility reviewreference/accessibility.md + checklist.md

Agent QA

Task TypeRequired Resources
Security reviewchecklist.md (Security section)
Performance reviewchecklist.md (Performance section)
Accessibility reviewchecklist.md (Accessibility section)
Full auditchecklist.md (full) + self-check.md
Quality scoringquality-score.md (conditional)

Composition des prompts par l'orchestrateur

Lorsque l'orchestrateur compose les prompts pour les sous-agents, il n'inclut que les ressources pertinentes pour la tâche :

  1. Agent SKILL.md's Core Rules section
  2. execution-protocol.md
  3. Resources matching the specific task type (from the maps above)
  4. error-playbook.md (always included — recovery is essential)
  5. Serena Memory Protocol (CLI mode)

Cette composition ciblée évite le chargement de ressources inutiles, maximisant le contexte disponible du sous-agent pour le travail effectif.