Les enseignants ont besoin de moyennes à jour immédiatement après la publication ou modification des notes, sans attendre un batch nocturne. Le système recalcule via Domain Events synchrones : statistiques d'évaluation (min/max/moyenne/médiane), moyennes matières pondérées (normalisation /20), et moyenne générale par élève. Les résultats sont stockés dans des tables dénormalisées avec cache Redis (TTL 5 min). Trois endpoints API exposent les données avec contrôle d'accès par rôle. Une commande console permet le backfill des données historiques au déploiement.
48 lines
2.1 KiB
Markdown
48 lines
2.1 KiB
Markdown
# Template Substitution Rules
|
|
|
|
The SKILL-template provides a minimal skeleton: frontmatter, overview, agent identity sections, sidecar, and activation with config loading. Everything beyond that is crafted by the builder based on what was learned during discovery and requirements phases.
|
|
|
|
## Frontmatter
|
|
|
|
- `{module-code-or-empty}` → Module code prefix with hyphen (e.g., `cis-`) or empty for standalone
|
|
- `{agent-name}` → Agent functional name (kebab-case)
|
|
- `{skill-description}` → Two parts: [4-6 word summary]. [trigger phrases]
|
|
- `{displayName}` → Friendly display name
|
|
- `{skillName}` → Full skill name with module prefix
|
|
|
|
## Module Conditionals
|
|
|
|
### For Module-Based Agents
|
|
|
|
- `{if-module}` ... `{/if-module}` → Keep the content inside
|
|
- `{if-standalone}` ... `{/if-standalone}` → Remove the entire block including markers
|
|
- `{module-code}` → Module code without trailing hyphen (e.g., `cis`)
|
|
- `{module-setup-skill}` → Name of the module's setup skill (e.g., `bmad-cis-setup`)
|
|
|
|
### For Standalone Agents
|
|
|
|
- `{if-module}` ... `{/if-module}` → Remove the entire block including markers
|
|
- `{if-standalone}` ... `{/if-standalone}` → Keep the content inside
|
|
|
|
## Sidecar Conditionals
|
|
|
|
- `{if-sidecar}` ... `{/if-sidecar}` → Keep if agent has persistent memory, otherwise remove
|
|
- `{if-no-sidecar}` ... `{/if-no-sidecar}` → Inverse of above
|
|
|
|
## Headless Conditional
|
|
|
|
- `{if-headless}` ... `{/if-headless}` → Keep if agent supports headless mode, otherwise remove
|
|
|
|
## Beyond the Template
|
|
|
|
The builder determines the rest of the agent structure — capabilities, activation flow, sidecar initialization, capability routing, external skills, scripts — based on the agent's requirements. The template intentionally does not prescribe these.
|
|
|
|
## Path References
|
|
|
|
All generated agents use `./` prefix for skill-internal paths:
|
|
|
|
- `./references/init.md` — First-run onboarding (if sidecar)
|
|
- `./references/{capability}.md` — Individual capability prompts
|
|
- `./references/memory-system.md` — Memory discipline (if sidecar)
|
|
- `./scripts/` — Python/shell scripts for deterministic operations
|