Ton premier agent en 5 minutes

Tu vas construire un agent “EmailWriter” qui prend 3 infos (destinataire, objectif, ton) et génère un mail pro.

1. Installer le CLI

npm install -g @agentstore/cli

2. Créer le scaffold

agentstore init email-writer
cd email-writer

Le CLI crée un dossier avec un agent.yaml template et un dossier .agentstore/ de config locale.

3. Éditer agent.yaml

Remplace le contenu du template par :

name: "EmailWriter"
description: "Génère un email pro à partir de 3 infos clés."
short_description: "Email pro en 30s"
category: "productivity"
orb_color: "#00B8D9"
version: "1.0.0"

pricing:
  model: ONE_SHOT
  amount: 99           # 0,99 €
  currency: EUR

system_prompt: |
  Tu es un expert en communication professionnelle.
  Écris un email pour : {{recipient}}
  Objectif : {{goal}}
  Ton : {{tone}}
  Contraintes : max 150 mots, signature neutre.

input_blocks:
  - type: text
    key: recipient
    label: "Destinataire"
    placeholder: "Ex: mon manager"
    required: true

  - type: textarea
    key: goal
    label: "Objectif du mail"
    rows: 4
    required: true

  - type: select
    key: tone
    label: "Ton"
    required: true
    options:
      - { label: "Formel", value: "formel" }
      - { label: "Cordial", value: "cordial" }
      - { label: "Direct", value: "direct" }

output:
  mode: structured
  blocks:
    - type: markdown
      description: "L'email complet, formaté"
    - type: action_button
      description: "Bouton Copier dans le presse-papier"

runtime:
  model: claude-sonnet-4-6
  temperature: 0.7
  max_tokens: 1500

test_fixtures:
  - name: "manager_conge"
    input:
      recipient: "mon manager"
      goal: "demander 3 jours de congé"
      tone: "cordial"
    expected_output_contains:
      - "Objet"
      - "Bonjour"
Tip — variables de templateToute variable {{key}} dans le system_prompt doit correspondre à une key d'input block. Le validator lèvera une erreur sinon.

4. Valider le manifest

agentstore validate

  ✓ Schema YAML valide
  ✓ System prompt : 214 caractères
  ✓ Variables : 3 trouvées, toutes matchent input_blocks
  ✓ Input blocks : 3
  ✓ Output blocks : 2
  ✓ Test fixtures : 1
  Score qualité estimé : 74/100 (auto-approve probable)

5. Tester

agentstore test

  ✓ manager_conge — 1.3s
  1/1 tests passés • 847 tokens • 1.3s

6. Publier

agentstore push

  ✓ Quality score: 74/100
  ✓ Auto-approved!
  ✓ Live in 2 minutes 🚀

Concepts clés

  • Input blocks vs Output blocks — les premiers sont un formulaire, les seconds sont le rendu du résultat.
  • Template system{{key}} résolu au runtime, échappé pour prévenir les injections.
  • Modes outputstructured (JSON), narrative (texte + markers), text (brut).
  • Meta-prompt wrapper— ton prompt est wrappé dans un prompt système qui empêche l'exfiltration.