← Files ContendoorARCHIVED FILE

plugin.json

8.5 KB · Nov 3, 2026 · 19:23 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "contendoor",
  "version": "0.1.3",
  "description": "Work with your team's video content, files, notes, ideas, tasks and production stages in Contendoor.",
  "author": {
    "name": "PRATIK DALWADI"
  },
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "Contendoor",
        "shortDescription": "Organize your video workspace",
        "longDescription": "Contendoor helps video creators and teams work with their content from ChatGPT. Search and browse workspace media, read available file text and speech transcripts, preview photos in an in-chat gallery, and download original files. Save supported chat attachments or files from links into your workspace. Create and edit notes, scripts, briefs, ideas, comments and tasks, and track video concepts through production stages. Prepare and save platform-specific caption drafts for finished videos. Connect your Contendoor account through OAuth to work within your existing workspace permissions. Social publishing, scheduling and live social analytics are not available through this connection.",
        "defaultPrompt": [
          "List my to-do items.",
          "Show the files and folders in Raw.",
          "Create a folder called My next video in Raw."
        ],
        "websiteURL": "https://contendoor.com/",
        "supportURL": "https://contendoor.com/contact",
        "privacyPolicyURL": "https://contendoor.com/privacy",
        "termsOfServiceURL": "https://contendoor.com/terms",
        "logo": "./assets/icon.png",
        "composerIcon": "./assets/icon.png",
        "developerName": "PRATIKKUMAR KIRTANBHAI DALWADI",
        "category": "Productivity"
      },
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "List the dedicated review workspace's current to-do items. The review account contains sample tasks. Names and counts can change after the recording; use current returned data.",
              "prompt": "hi can you list me my todo list on contendoor",
              "tools_triggered": "list_tasks",
              "expected_behavior": "Call list_tasks, including completed items if reporting a completed count. Report only returned task titles and completion states, with counts consistent with the tool response. An actually empty list is valid; do not invent tasks or modify them."
            },
            {
              "description": "Browse Raw and distinguish folders from loose files. Setup: the review workspace has sample concept folders and a logo image in Raw. The recording's earlier counts need not match the current workspace after later actions.",
              "prompt": "list me all files and folder in Raw folder",
              "tools_triggered": "list_folder",
              "expected_behavior": "Call list_folder with path=\"Raw\". Show the returned folders and direct files with real names, types and available sizes. Distinguish direct contents from recursive contents and do not repeat stale counts from the recording."
            },
            {
              "description": "Append a marketing rollout to an existing sample note without replacing its prior content. Setup: the review workspace has a note titled cozy lab coat marketing. This case deliberately appends sample text.",
              "prompt": "there is a marketing related note of cozy lab coats - append some more to it that we will start first from Toronto local food companies and expand nationally.",
              "tools_triggered": "list_notes, read_note, update_note",
              "expected_behavior": "Locate cozy lab coat marketing with list_notes or search and read it before editing. Call update_note with mode=\"append\" and a new section explaining Toronto local food companies first, then national Canadian expansion. Preserve the original hook and existing notes. Read back the note and show the saved addition or its real link; never claim a write on a failed call."
            },
            {
              "description": "Create a concept folder under Raw. Setup: Raw exists; Hello world may already exist from the creator's recording. The operation is idempotent.",
              "prompt": "make a folder called Hello world in Raw section",
              "tools_triggered": "create_folder",
              "expected_behavior": "Call create_folder with path=\"Raw/Hello world\". Return the actual folder path/link. If it already exists, report that result truthfully without claiming a second folder was created. Do not move existing files or change another concept's stage."
            },
            {
              "description": "Save supplied text as a text file inside Final. Setup: use the review workspace. In the recorded conversation, the user followed the initial request with \"add it\"; use that follow-up if clarification is requested. This is a file in Final, not a Notes-page item.",
              "prompt": "\"hey everyone. today we are rolling out cozylabcoat 2.0\" as a text note in Final folder.",
              "tools_triggered": "upload_file, read_file",
              "expected_behavior": "Call upload_file with folder=\"Final\", a .txt filename such as cozylabcoat-2.0-announcement.txt, content_type=\"text/plain\", and text exactly \"hey everyone. today we are rolling out cozylabcoat 2.0\". Verify the saved returned file ID with read_file and return its actual path/link. If the service changes a duplicate filename, use that returned name. Do not overwrite unrelated files or put the content only on the Notes page."
            }
          ],
          "negative": [
            {
              "description": "Scheduling or publishing an Instagram post is not exposed by the current Contendoor MCP. Setup: the sample ESP32 photo IMG_5706(1) (2).jpg exists in Final. Locating that photo is allowed, but the assistant must explain the scheduling/publication limitation and must not claim a post was scheduled or published. Do not substitute a to-do, repurposing metadata or an import/upload action for actual scheduling. A separate app can be offered as a clearly conditional handoff without claiming it is connected.",
              "prompt": "there is a picture of small esp32 device in Final folder. schedule a post for instagram to post from my account to publish"
            },
            {
              "description": "Live social likes are not available through this MCP connection. In the recording the preceding request concerns Instagram; otherwise clarifying the platform is acceptable. The review workspace's Brand profile identifies Cozy Lab Coats and currently has no analytics sources. Reading those saved sources is allowed. Explain the access/data limitation without inventing a current count, treating missing data as zero, or presenting a stored report as live measurement.",
              "prompt": "how many likes do i have on my cozy lab coat account from this week go check analytics."
            },
            {
              "description": "Native video trimming is not an exposed Contendoor MCP action. Setup: Final/Untitled design.mp4 is the sample nine-second lab-coat video. The assistant may locate the file and read metadata, but must explain the Contendoor editing limitation and must not claim Contendoor rendered a shorter video or use draft/status/description changes as a substitute. An honest handoff to a separate editing tool is acceptable. If another host tool actually edits a downloaded copy, identify that separate processing and real output; do not misattribute it to Contendoor. The creator recording ends with no edit after external download was unavailable; this does not establish that every ChatGPT environment is unable to edit video.",
              "prompt": "there is a video in final folder about lab coat ads. do video editing of that video and trim it short."
            }
          ]
        },
        "commerce": false,
        "commerce_description": "Contendoor is currently free to use. This plugin does not currently sell products, charge for access, or process payments.",
        "demo_recording_url": "https://drive.google.com/file/d/1gIx1j_80wOR0bZEl4Wi7MYXFHySqGKwT/view?usp=drivesdk"
      },
      "publication": {
        "release_notes": "Initial public directory submission for the Contendoor workspace integration. Includes a verified reviewer-accessible demo recording and review cases aligned with its demonstrated to-do listing, Raw browsing, note append, concept-folder creation, text-file saving and supported capability boundaries.",
        "countries": []
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 88d83228bfc558a0d91e4289bce1bb672a79f6f3876e28a8a2de8e0e36093164