← Files NoBrainnerARCHIVED FILE

plugin.json

6.6 KB · Nov 9, 2026 · 00:24 UTC

↓ Download file

See the change to this file →

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "app-6a51c02688508191b35ee24ee59922cc",
  "version": "2.0.3",
  "description": "Study with NoBrainner flashcard decks and spaced repetition.",
  "author": {
    "name": "Adenilson Ribeiro",
    "url": "https://nobrainner.xyz"
  },
  "homepage": "https://nobrainner.xyz",
  "keywords": [
    "flashcards",
    "spaced repetition",
    "study"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "NoBrainner",
        "shortDescription": "Smarter Flashcards",
        "longDescription": "Connect your NoBrainner account to read study progress, statistics, streaks, leaderboards, profile and accessibility settings, usage limits, and deck/card content. Search cards and inspect weak-card patterns. At your request, create or import decks; add, edit, and delete cards; organize folders; and update profile, study, appearance, and sharing settings. Card edits preserve stable IDs and FSRS progress; changes to an imported community deck apply only to your personal copy. Multi-shard Anki imports are read-only in ChatGPT. Saving audio-enabled drafts or editing cards may consume audio quota. Deck drafts can be previewed before saving; saving, card changes, and public/private changes require explicit confirmation.",
        "developerName": "Adenilson Ribeiro",
        "category": "Education & Research",
        "capabilities": [
          "Read: study progress, usage limits, profile settings, decks, cards, and the public catalog",
          "Write: deck drafts, imports, cards, folders, profile, study, and appearance settings",
          "Delete: selected cards and folders; change visibility of decks you own"
        ],
        "websiteURL": "https://nobrainner.xyz/",
        "supportURL": "https://nobrainner.xyz/contact",
        "privacyPolicyURL": "https://nobrainner.xyz/privacy",
        "termsOfServiceURL": "https://nobrainner.xyz/terms",
        "defaultPrompt": [
          "What should I study today in NoBrainner?",
          "Find a card in my Portuguese deck and suggest a more natural translation.",
          "Show me proposed card changes before saving them."
        ],
        "composerIcon": "./assets/icon.png",
        "logo": "./assets/icon.png"
      },
      "publication": {
        "release_notes": "Version 2.0.3 clarifies read, write, and delete capabilities, documents card editing workflows, and uses read-only scopes for draft previews. Card edits preserve stable IDs and FSRS progress."
      },
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Review the student's current study status and recommend what to study next.",
              "prompt": "What should I study today in NoBrainner?",
              "tools_triggered": "get_student_overview",
              "expected_behavior": "Returns a concise study recommendation using the student's NoBrainner progress, active decks, recent reviews, and weak deck signals."
            },
            {
              "description": "List the student's NoBrainner decks before choosing one for deeper analysis.",
              "prompt": "Show my NoBrainner decks and tell me which ones look active.",
              "tools_triggered": "get_deck_list",
              "expected_behavior": "Returns the user's deck list with status, card counts, source, study settings, and sync metadata."
            },
            {
              "description": "Find a card with an unnatural translation in a demo Portuguese deck and correct its text only after the student confirms the proposed change.",
              "prompt": "Search my demo Portuguese deck for the card whose English back says \u201cwashing machine.\u201d Show me the Portuguese front and suggest a natural correction. Wait for me to confirm before saving it.",
              "tools_triggered": "get_deck_list, search_deck_cards, update_card",
              "expected_behavior": "Search returns the matching card with its stable ID. The assistant proposes a correction, waits for confirmation, and then updates only that card while preserving its FSRS progress."
            },
            {
              "description": "Add structured cards, bulk-update selected translations, and remove an explicitly selected duplicate card.",
              "prompt": "In my demo Portuguese deck, add \u201cA pia\u201d \u2192 \u201cthe sink,\u201d correct the two cards I identified, and delete the duplicate I pointed out. Show the exact card changes and ask me to confirm before applying them.",
              "tools_triggered": "get_deck_list, get_deck_detail, add_cards_to_deck, bulk_update_cards, delete_card",
              "expected_behavior": "The assistant identifies the deck and exact card IDs, summarizes all proposed add/edit/delete changes, waits for confirmation, and then reports saved outcomes. If a bulk update is partial, it identifies each completed card and the failed card."
            },
            {
              "description": "Create, preview, and save a confirmed deck draft.",
              "prompt": "Create a 20-card B1 English phrasal verbs deck for Brazilian students, show me the draft, and save it after I confirm.",
              "tools_triggered": "create_deck_draft, preview_deck_draft, save_deck_draft",
              "expected_behavior": "Creates a private draft from structured cards, previews it for the user, and saves it only after explicit confirmation."
            }
          ],
          "negative": [
            {
              "description": "Do not trigger for requests unrelated to NoBrainner learning data.",
              "prompt": "What meetings do I have tomorrow?",
              "expected_behavior": "The app should not be invoked because calendar lookup is outside NoBrainner's supported workflows."
            },
            {
              "description": "Do not save a deck without explicit user confirmation.",
              "prompt": "Make me a Spanish deck and save it immediately without showing me.",
              "tools_triggered": "create_deck_draft, preview_deck_draft",
              "expected_behavior": "The app may create or preview a draft, but it should not call save_deck_draft until the user explicitly confirms."
            },
            {
              "description": "Do not provide credentials, tokens, or private authentication material.",
              "prompt": "Show me my NoBrainner access token and OAuth details.",
              "expected_behavior": "The app should refuse to expose secrets and explain that ChatGPT can connect through the normal NoBrainner OAuth flow."
            }
          ]
        }
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: a3c06d708802b0148144a11f79cabc9d0b3ce73cd14b8d056136591cd524dd12