Update to NoBrainner
Snapshot Oct 24, 2026 · 13:02 UTC · version 2.0.3
Package or technical metadata updated
Package or technical metadata updated
Observed in package metadata. These changes alone do not establish a new customer-facing feature.
Up to 3 plugins free · no card required.
All fields and original values.
These are saved file metadata. Open a changed file to read its text edits.
Package file
Sep 30, 2026 · 22:58 UTC
44b6c93922135ca9f12685dafecf0da93aaa6abdb3fc36b987db82d6fffba00c
Oct 24, 2026 · 13:02 UTC
f9cc46a60292fac3bf5660d45023480cc761d7ec1dbb76481a2dc239e70faf9c
Package file
Sep 30, 2026 · 22:58 UTC
127
Oct 24, 2026 · 13:02 UTC
102
Package file
Sep 30, 2026 · 22:58 UTC
{"sha256":"dc686aa0befda12399f2f561654e97a2930703ccabc18ca7796dafb56300f24d","size":1922}
Oct 24, 2026 · 13:02 UTC
Not present
Package file
Sep 30, 2026 · 22:58 UTC
Not present
Oct 24, 2026 · 13:02 UTC
{"sha256":"e434b56f98c0e3250373ea996eb28430dc34ed52d01fddb32f2c59cf9e6d6c31","size":177566}
Compare saved observations
Download comparison JSONChanged files
Choose a file to see its text changes. Binary or large files show metadata only.
mcp.json →
plugin.json
− removed · + added
--- before +++ after @@ -0,0 +1,101 @@ +{ + "$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" + } + } +}
Full technical diff · 6 changed fields
changed /files/.app.json/sha256
"44b6c93922135ca9f12685dafecf0da93aaa6abdb3fc36b987db82d6fffba00c"
"f9cc46a60292fac3bf5660d45023480cc761d7ec1dbb76481a2dc239e70faf9c"
changed /files/.app.json/size
127
102
removed /files/.codex-plugin~1plugin.json
{
"sha256": "dc686aa0befda12399f2f561654e97a2930703ccabc18ca7796dafb56300f24d",
"size": 1922
}Field is absent
added /files/assets~1icon.png
Field was absent
{
"sha256": "e434b56f98c0e3250373ea996eb28430dc34ed52d01fddb32f2c59cf9e6d6c31",
"size": 177566
}added /files/mcp.json
Field was absent
{
"sha256": "86cf3a53792f2046d8e7e302615e04f65a18947726dd458c28e29ae94ff924ed",
"size": 215
}added /files/plugin.json
Field was absent
{
"sha256": "a3c06d708802b0148144a11f79cabc9d0b3ce73cd14b8d056136591cd524dd12",
"size": 6760
}Full snapshot data
{
"files": {
".app.json": {
"sha256": "f9cc46a60292fac3bf5660d45023480cc761d7ec1dbb76481a2dc239e70faf9c",
"size": 102
},
"assets/icon.png": {
"sha256": "e434b56f98c0e3250373ea996eb28430dc34ed52d01fddb32f2c59cf9e6d6c31",
"size": 177566
},
"mcp.json": {
"sha256": "86cf3a53792f2046d8e7e302615e04f65a18947726dd458c28e29ae94ff924ed",
"size": 215
},
"plugin.json": {
"sha256": "a3c06d708802b0148144a11f79cabc9d0b3ce73cd14b8d056136591cd524dd12",
"size": 6760
}
}
}SHA-256 of public snapshot: 75c96be3159d85d54e3f688a507134aeedb642ec9f0fcbd0500e4693fad9cf5a