← Files NoBrainnerARCHIVED FILE
plugin.json
6.6 KB · Nov 9, 2026 · 00:24 UTC
{
"$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