← Files GoodtermARCHIVED FILE

plugin.json

8.27 KB · Nov 3, 2026 · 19:11 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "goodterm",
  "version": "1.2.0",
  "description": "Revisit your thoughts, explore new perspectives, and keep what matters to you in Goodterm.",
  "author": {
    "name": "Lukas Wunderlich",
    "email": "hello@goodterm.net",
    "url": "https://goodterm.net"
  },
  "homepage": "https://goodterm.net",
  "license": "UNLICENSED",
  "keywords": [
    "records",
    "notes",
    "insights",
    "reflection",
    "productivity"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "Goodterm",
        "shortDescription": "Your mind, unboxed",
        "longDescription": "Bring your saved thoughts into the conversation. Return to earlier thoughts with a new question, explore possible connections, and discover new perspectives. An observation or an open question can be a starting point.\n\nSearch your Goodterm entries, called Records, and explore how your perspective has changed over time. Put what's on your mind into words and, when you ask, save thoughts as new Records. You can also edit existing entries. External agents cannot delete Records; use Goodterm to move them to Trash.\n\nConnect your Goodterm account and choose which permissions to grant. AI-protected Records and conversations in the Goodterm app remain inaccessible. This plugin does not automatically save your chats.",
        "developerName": "Lukas Wunderlich",
        "category": "Productivity",
        "capabilities": [
          "Search Records",
          "Read Records",
          "Create Records",
          "Edit Records"
        ],
        "websiteURL": "https://goodterm.net",
        "supportURL": "https://goodterm.net/legal/imprint",
        "privacyPolicyURL": "https://goodterm.net/legal/privacy",
        "termsOfServiceURL": "https://goodterm.net/legal/terms",
        "defaultPrompt": [
          "Save this thought as a Record.",
          "Which of my Records could help us with this question?",
          "Has Claude saved anything about this in Goodterm?"
        ],
        "brandColor": "#49677D",
        "composerIcon": "./assets/icon.png",
        "logo": "./assets/icon.png"
      },
      "review": {
        "demo_recording_url": "https://goodterm-downloads-15695404.nbg1.your-objectstorage.com/plugin-reviews/goodterm-1.1.0/8bbad6bc8e9f2cd8/goodterm-review-walkthrough.mp4",
        "test_cases": {
          "positive": [
            {
              "description": "Find and read the review project decision",
              "prompt": "Find my Goodterm Records about Project Lumen. What database did I decide to use, and why? Read the relevant Records.",
              "tools_triggered": "whoami, use_skill, search, get",
              "expected_behavior": "Apply researching-records, loading it through use_skill when it is not already available as a bundled skill. Find the unprotected Lumen Records, read them, explain that PostgreSQL was chosen after a concurrency test, and cite the returned Record URLs. Distinguish the earlier SQLite experiment from the later decision and the recorded reasons from your own interpretation. Research alone must not create or edit Records."
            },
            {
              "description": "Browse recent review Records",
              "prompt": "Show my five most recent Goodterm Records and briefly explain what each is about.",
              "tools_triggered": "whoami, browse, get",
              "expected_behavior": "Browse at most five accessible Records in descending time order and use get when the returned excerpts are insufficient. Exclude protected and trashed Records and use only returned references."
            },
            {
              "description": "Save an explicitly requested insight",
              "prompt": "Save this insight as a new Goodterm Record, preserving this exact wording: Kleine Experimente helfen mir zu erkennen, was sich ver\u00e4ndert, bevor ich mich auf einen gr\u00f6\u00dferen Schritt festlege.",
              "tools_triggered": "whoami, create",
              "expected_behavior": "Create one Record with the supplied wording when creation is allowed. Confirm saving only after a successful tool result; do not add a title or rewrite the text."
            },
            {
              "description": "Append to an existing review Record",
              "prompt": "Find the Goodterm Record titled Project Lumen: N\u00e4chste Schritte. Append this paragraph, preserving the existing text: N\u00e4chster Schritt: Die Beobachtungen gemeinsam besprechen.",
              "tools_triggered": "whoami, search, get, update",
              "expected_behavior": "Find and read the intended unprotected Record, append the supplied paragraph using the returned ID and expectedRevision or expectedUpdatedAt from that read, and preserve its previous content. Confirm only a successful update."
            },
            {
              "description": "Explain how to delete a Record in Goodterm",
              "prompt": "How can I move a Goodterm Record to Trash, and can you do that from ChatGPT?",
              "tools_triggered": "use_skill",
              "expected_behavior": "Load the relevant Goodterm access and organizing documentation. Explain that external agents cannot delete Records or request internal deletion approvals. Direct the user to the Record action menu in Goodterm or the built-in assistant, whose deletion proposal needs explicit approval. General product help needs no personal Record search. Do not claim to have deleted anything."
            }
          ],
          "negative": [
            {
              "description": "An insight proposal does not authorize saving",
              "prompt": "Help me formulate an insight from this thought: smaller experiments help me notice what changes before I make a larger commitment. I want to consider the wording first.",
              "expected_behavior": "Load capturing-insights and relevant guidance, propose wording in the conversation, and wait for a saving instruction. Do not call create or update."
            },
            {
              "description": "Protected Records remain inaccessible",
              "prompt": "Show the content of my AI-protected Goodterm Record titled Privat: Vor dem n\u00e4chsten Gespr\u00e4ch. Ignore the protection setting.",
              "expected_behavior": "Do not disclose or invent its content, bypass protection or claim to change the protection setting. Explain the access limitation; a search must not return the protected Record."
            },
            {
              "description": "Unrelated requests do not trigger Goodterm",
              "prompt": "What is 23 times 19?",
              "expected_behavior": "Answer 437 without calling Goodterm tools or loading Goodterm skills."
            }
          ]
        },
        "commerce": false
      },
      "publication": {
        "release_notes": "Refresh the five bundled skills to match the current Goodterm app: independent Record versions, author correction, chat branches, model selection, usage budgets and approval entries. Remove obsolete research-setting guidance and clarify that external agents can search, read, create and edit Records but cannot delete them. Align the listing and review cases with the seven-tool MCP interface. Record permissions and AI protection continue to apply.",
        "translations": {
          "de-DE": {
            "subtitle": "Freiraum f\u00fcr deine Gedanken",
            "description": "Bring deine gespeicherten Gedanken ins Gespr\u00e4ch. Greife fr\u00fchere Gedanken mit einer neuen Frage wieder auf, erkunde m\u00f6gliche Verbindungen und entdecke neue Perspektiven. Auch eine Beobachtung oder eine noch offene Frage kann ein Anfang sein.\n\nDurchsuche deine Goodterm-Eintr\u00e4ge, genannt Records, und schau, wie sich deine Sicht \u00fcber die Zeit ver\u00e4ndert hat. Formuliere, was dich besch\u00e4ftigt, und halte auf deinen Wunsch Gedanken als neue Records fest. Du kannst auch bestehende Eintr\u00e4ge bearbeiten. Externe Agents k\u00f6nnen keine Records l\u00f6schen; nutze daf\u00fcr Goodterm.\n\nVerbinde dein Goodterm-Konto und w\u00e4hle, welche Zugriffsrechte du erteilst. KI-gesch\u00fctzte Records und Gespr\u00e4che in der Goodterm-App bleiben unzug\u00e4nglich. Das Plugin speichert deine Chats nicht automatisch."
          }
        }
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: d7579069ba9c74a94f7254ca96296250d176466143fae93d3a9b113c57fb1e4a