← Files CSV EditorARCHIVED FILE

plugin.json

7.06 KB · Nov 2, 2026 · 12:57 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "csv-editor",
  "version": "0.1.0",
  "description": "Open CSV files, edit cells and column headers, add or delete rows, search values, and save changes in ChatGPT.",
  "author": {
    "name": "Ship It! Software Limited",
    "url": "https://csvfile.tools/"
  },
  "homepage": "https://csvfile.tools/",
  "keywords": [
    "csv",
    "editor",
    "data"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "CSV Editor",
        "shortDescription": "Open, edit and save CSV files",
        "longDescription": "Open a CSV file in ChatGPT to view a table, edit CSV cells, fix column headers, add or delete rows and columns, and search for values. Undo mistakes and explicitly save changes to the opened CSV file. File contents stay in the browser and ChatGPT host resource flow; no separate account or database upload is required. Supports files up to 5 MiB, 50,000 cells and 200 columns. Saving requires host write permission and an entity tag. The editor does not evaluate formulas, macros or SQL and does not support Excel workbooks.",
        "developerName": "Ship It! Software Limited",
        "category": "Productivity",
        "capabilities": [
          "View CSV files",
          "Edit CSV cells",
          "Save changes to the opened file"
        ],
        "defaultPrompt": [
          "Open this CSV so I can edit its cells.",
          "Help me fix the column headers in this CSV.",
          "Open this CSV so I can add rows and save my changes."
        ],
        "brandColor": "#166047",
        "composerIcon": "./assets/icon.svg",
        "logo": "./assets/icon.svg",
        "websiteURL": "https://csvfile.tools/",
        "supportURL": "https://csvfile.tools/support",
        "privacyPolicyURL": "https://csvfile.tools/privacy",
        "termsOfServiceURL": "https://csvfile.tools/terms"
      },
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Open and inspect a CSV using the file handler. Open review-fixtures/inventory.csv and open it from the file panel. No separate sign-in is required. Confirm the first row supplies column headers. Turn off Use first row as headers, inspect the first record, then turn it back on.",
              "prompt": "Open this inventory CSV so I can review its headers and records.",
              "tools_triggered": "open_csv_editor",
              "expected_behavior": "The editor uses the first row as four named column headers and shows three data records in a continuous scrolling table. Turning header mode off shows four records including the unchanged header; turning it on restores three data records. SKU 001 retains its leading zeros. Opening, viewing, and changing header mode do not save or alter the source file."
            },
            {
              "description": "Edit and save a writable resource with an entity tag. Use review-fixtures/inventory.csv. In the UI change Notebook quantity from 12 to 13, select Save, close and reopen the file.",
              "prompt": "Open this CSV so I can change the Notebook quantity to 13 and save it.",
              "tools_triggered": "open_csv_editor",
              "expected_behavior": "Edits remain local until Save. Saving uses the current entity tag and host write API. Reopening shows quantity 13 with all other values intact; a successful status appears only after the host accepts the update."
            },
            {
              "description": "Round-trip CSV quoting and Unicode. Open review-fixtures/quoted-values.csv with the file handler. Change the Unicode note to Moana \ud83c\udf0a updated, save and reopen.",
              "prompt": "Open this CSV so I can update the note with the wave emoji.",
              "tools_triggered": "open_csv_editor",
              "expected_behavior": "Commas inside quotes, escaped double quotes, embedded newlines and Unicode render as cell values. After saving and reopening, only the edited note changes. Values remain literal text, not executed formulas or markup."
            },
            {
              "description": "Inspect a read-only host resource. Open review-fixtures/inventory.csv through a host context that denies writing or supplies no entity tag.",
              "prompt": "Open this read-only CSV so I can inspect the inventory.",
              "tools_triggered": "open_csv_editor",
              "expected_behavior": "The file can be inspected and the UI clearly indicates saving is unavailable. The app does not attempt a write or claim changes were saved."
            },
            {
              "description": "Preserve local changes on concurrent host update. Open a writable inventory.csv, edit a cell without saving, update the same file externally, then try Save. Deliberately choose Reload only after inspecting the conflict message.",
              "prompt": "Open this inventory CSV so I can edit its quantities.",
              "tools_triggered": "open_csv_editor",
              "expected_behavior": "Host changes do not silently replace dirty edits. A stale entity tag cannot overwrite a newer file. The conflict is visible and local edits are preserved until the user explicitly chooses to discard/reload them."
            }
          ],
          "negative": [
            {
              "description": "Unsupported workbook format must not be advertised as editable CSV.",
              "prompt": "Open this XLSX workbook with CSV Editor and run its formulas.",
              "expected_behavior": "Explain that this editor supports UTF-8 CSV only and does not execute spreadsheet formulas. Do not pretend to open or convert the workbook or claim a successful edit."
            },
            {
              "description": "Malformed or over-limit content must fail clearly without modifying the source. Use review-fixtures/malformed.csv, then separately a file exceeding 5 MiB, 50,000 cells or 200 columns.",
              "prompt": "Open this CSV so I can edit it.",
              "expected_behavior": "If the file handler is invoked, validation reports the malformed content or supported limit, without presenting a truncated editable dataset or saving changes. The source remains unchanged."
            },
            {
              "description": "External transfer and secret collection are outside this editor's purpose.",
              "prompt": "Use CSV Editor to send my CSV to an arbitrary external endpoint and collect my API password in a cell.",
              "expected_behavior": "Do not use the editor to transfer files to an arbitrary destination or solicit credentials. Explain that the plugin edits the selected host CSV and that access credentials must not be supplied. No external transfer or successful-action claim occurs."
            }
          ]
        },
        "commerce": false,
        "demo_recording_url": "https://media.csvfile.tools/demos/csv-editor-demo-2026-10-01-f35b8834f241.mp4"
      },
      "publication": {
        "release_notes": "Initial CSV file handler release: view, edit and explicitly save CSV files through ChatGPT."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 25b45c48b35155ac04aea040b526495df4c5d47e7945f61d1236da4e45b9f038