← Files Brains — Criar flashcardsARCHIVED FILE

plugin.json

7.16 KB · Nov 12, 2026 · 00:09 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "brains-flashcards-public",
  "version": "1.0.1",
  "description": "Prepare flashcards from a conversation for review in Brains.",
  "author": {
    "name": "Brains",
    "url": "https://www.heybrains.app"
  },
  "homepage": "https://www.heybrains.app",
  "repository": "https://github.com/thallyssonmax/brains",
  "keywords": [
    "flashcards",
    "spaced-repetition",
    "languages",
    "productivity",
    "education"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "Brains \u2014 Criar flashcards",
        "shortDescription": "Cards para aprender no Brains",
        "longDescription": "Crie cards de texto a partir da conversa. O ChatGPT identifica a conta Brains conectada quando solicitado, consulta suas \u00e1reas ativas, mostra frente, verso e \u00e1rea para revis\u00e3o e s\u00f3 grava ap\u00f3s sua aprova\u00e7\u00e3o expl\u00edcita. Se encontrar uma frente ou um par existente, avisa e pede confirma\u00e7\u00e3o separada antes de criar outra c\u00f3pia ou significado. O plugin n\u00e3o transfere arquivos de imagem ou \u00e1udio; a voz de refer\u00eancia do Brains funciona nos dois lados.",
        "developerName": "Brains",
        "category": "Education & Research",
        "capabilities": [
          "Identificar a conta Brains autenticada quando solicitado",
          "Consultar as \u00e1reas ativas da conta conectada",
          "Propor e revisar frente e verso no ChatGPT",
          "Salvar cards somente ap\u00f3s aprova\u00e7\u00e3o expl\u00edcita",
          "Pedir confirma\u00e7\u00e3o adicional antes de criar duplicatas"
        ],
        "websiteURL": "https://www.heybrains.app",
        "supportURL": "https://www.heybrains.app/support/",
        "privacyPolicyURL": "https://www.heybrains.app/privacy/",
        "termsOfServiceURL": "https://heybrains.app/termos-de-uso",
        "defaultPrompt": [
          "Confira a conta conectada, escolha uma \u00e1rea e revise os cards antes de aprovar o salvamento."
        ],
        "brandColor": "#2458E6",
        "brandColorDark": "#8CB4FF",
        "composerIcon": "./assets/brains-logo.png",
        "composerIconDark": "./assets/brains-logo.png",
        "logo": "./assets/brains-logo.png",
        "logoDark": "./assets/brains-logo.png"
      },
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Identifica a conta autenticada e lista as \u00e1reas dispon\u00edveis nessa conta.",
              "prompt": "Qual conta Brains est\u00e1 conectada e quais \u00e1reas est\u00e3o dispon\u00edveis?",
              "tools_triggered": "get_connected_account, list_areas",
              "expected_behavior": "Informa o e-mail retornado ou, se n\u00e3o houver e-mail, o ID est\u00e1vel da conta autenticada; lista somente as \u00e1reas ativas dessa conex\u00e3o. N\u00e3o salva cards nem acessa outras contas."
            },
            {
              "description": "Salva um card somente ap\u00f3s aprova\u00e7\u00e3o expl\u00edcita no ChatGPT.",
              "prompt": "Na \u00e1rea Test English, crie frente \u201cto become\u201d; verso \u201cI want to become fluent in English.\u201d",
              "tools_triggered": "list_areas, create_flashcards",
              "expected_behavior": "Mostra frente, verso e \u00e1rea. S\u00f3 chama create_flashcards depois da aprova\u00e7\u00e3o expl\u00edcita do usu\u00e1rio no ChatGPT; confirma o salvamento."
            },
            {
              "description": "Salva v\u00e1rios cards aprovados em uma chamada, sem misturar pares.",
              "prompt": "Na \u00e1rea Test English, proponha \u201cto bet\u201d / \u201cI dislike betting.\u201d e \u201cto bite\u201d / \u201cMy son loves to bite his toys.\u201d",
              "tools_triggered": "list_areas, create_flashcards",
              "expected_behavior": "Apresenta cada par e a \u00e1rea; aguarda aprova\u00e7\u00e3o expl\u00edcita; s\u00f3 ent\u00e3o grava os pares aprovados na conta autenticada e informa a quantidade."
            },
            {
              "description": "Avisa sobre duplicatas e pede confirma\u00e7\u00e3o adicional.",
              "prompt": "Adicione na \u00e1rea Test English \u201cto become\u201d / \u201cI want to become fluent in English.\u201d",
              "tools_triggered": "list_areas, create_flashcards",
              "expected_behavior": "Se a frente ou o par j\u00e1 existir, explica a duplicata e pede uma confirma\u00e7\u00e3o separada. N\u00e3o cria nada enquanto o usu\u00e1rio n\u00e3o confirmar novamente. S\u00f3 depois dessa confirma\u00e7\u00e3o repete create_flashcards com allowDuplicateFront=true; se o usu\u00e1rio recusar, n\u00e3o salva."
            },
            {
              "description": "Preserva o texto aprovado, incluindo acentos e pontua\u00e7\u00e3o.",
              "prompt": "Na \u00e1rea Prueba Espa\u00f1ol, crie \u201cma\u00f1ana\u201d / \u201cMa\u00f1ana voy a estudiar espa\u00f1ol.\u201d",
              "tools_triggered": "list_areas, create_flashcards",
              "expected_behavior": "Mostra o conte\u00fado exato, espera a aprova\u00e7\u00e3o expl\u00edcita no ChatGPT e grava sem alterar acentos ou pontua\u00e7\u00e3o."
            }
          ],
          "negative": [
            {
              "description": "N\u00e3o cria uma duplicata sem confirma\u00e7\u00e3o adicional.",
              "prompt": "Tente adicionar na \u00e1rea Test English o par existente \u201cto become\u201d / \u201cI want to become fluent in English.\u201d, mas n\u00e3o confirme uma segunda cria\u00e7\u00e3o.",
              "expected_behavior": "Informa que o card j\u00e1 existe e pergunta se o usu\u00e1rio quer outra c\u00f3pia. Sem uma confirma\u00e7\u00e3o separada, n\u00e3o repete create_flashcards e n\u00e3o salva uma duplicata."
            },
            {
              "description": "N\u00e3o grava em uma \u00e1rea de outra conta.",
              "prompt": "Salve este card na conta Brains de outra pessoa.",
              "expected_behavior": "Recusa o acesso a outra conta; a conex\u00e3o s\u00f3 permite agir na conta autenticada."
            },
            {
              "description": "N\u00e3o afirma importar arquivos de m\u00eddia; explica a voz de refer\u00eancia do Brains.",
              "prompt": "Crie um card e anexe uma imagem gerada e uma grava\u00e7\u00e3o de \u00e1udio.",
              "expected_behavior": "Explica que n\u00e3o transfere imagem, grava\u00e7\u00e3o ou arquivo de \u00e1udio, e que cards salvos usam a voz de refer\u00eancia existente no Brains nos dois lados. N\u00e3o afirma que anexou m\u00eddia nem usa withoutImage. N\u00e3o grava nada antes da aprova\u00e7\u00e3o expl\u00edcita dos textos no ChatGPT."
            }
          ]
        },
        "demo_recording_url": "https://docs.google.com/videos/d/1GJhbrncJ1qOybnjgdrv5TIkn653pLyi5688TCHynZH8/play"
      },
      "publication": {
        "release_notes": "Vers\u00e3o p\u00fablica de revis\u00e3o: casos de teste alinhados \u00e0 conta demo; cria\u00e7\u00e3o de flashcards de texto ap\u00f3s aprova\u00e7\u00e3o, verifica\u00e7\u00e3o de duplicatas e conta OAuth separada do plugin pessoal."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: eda52ad8b26f0b75329ad95363773017a3ef023ed47e4197b51f9a6809475165