← Files Gather Construction AIARCHIVED FILE

.codex-plugin/plugin.json

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

↓ Download file

{
  "name": "app-6aa9b69684908191a15a34cf2b9337dc",
  "version": "0.16.2",
  "description": "Review construction records, progress, resources and commercial evidence with Gather.",
  "author": {
    "name": "Gather Insights Limited",
    "email": "support@gatherinsights.com",
    "url": "https://www.gatherinsights.com"
  },
  "homepage": "https://www.gatherinsights.com",
  "repository": "https://github.com/willgather/theaiqs",
  "license": "LicenseRef-Gather-Proprietary",
  "keywords": [
    "construction",
    "site-diary",
    "quantity-surveying",
    "commercial-management",
    "nec",
    "jct",
    "fidic"
  ],
  "skills": "./skills/",
  "mcpServers": "./.mcp.json",
  "interface": {
    "displayName": "Gather Construction AI",
    "shortDescription": "Construction records and QS AI",
    "longDescription": "Gather helps construction teams review site diaries, track progress and resources, and prepare evidence-led commercial reports and claim drafts. Connect an authorised Gather workspace to access live project records, or use supplied programme, cost and correspondence files. Includes 66 specialist workflows covering diary quality, valuations, CVR, cost forecasting, programme analysis and NEC, JCT and FIDIC workflows. Live Gather access is read-only. Outputs are drafts for professional review; the plugin does not serve contractual notices or update Gather records. File processing and scheduled routines depend on the capabilities available in your ChatGPT or Codex environment.",
    "developerName": "Gather Insights Limited",
    "category": "Productivity",
    "capabilities": [
      "Read"
    ],
    "websiteURL": "https://www.gatherinsights.com",
    "supportURL": "https://help.gatherinsights.com",
    "privacyPolicyURL": "https://app.termly.io/policy-viewer/policy.html?policyUUID=e012be4e-bbcc-48ca-99ea-5a4dd1f07272",
    "termsOfServiceURL": "https://cdn.prod.website-files.com/6931a131d91e64e6c3f653aa/6ad12671bb7bbb01ab8d4acf_Gather-QS-AI-Terms-of-Use-2026-10-15.pdf",
    "logo": "./assets/icon.png",
    "composerIcon": "./assets/icon.png",
    "defaultPrompt": [
      "Show me the Gather projects I am assigned to.",
      "Summarise the latest available week of site diary records for my project.",
      "Check the recorded evidence for a potential compensation event."
    ]
  },
  "extensions": {
    "com.openai": {
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Discover the reviewer account projects.",
              "prompt": "Show me the Gather projects I am assigned to.",
              "tools_triggered": "getMyProjects; getProjects only if authorised workspace-wide discovery is needed",
              "expected_behavior": "Return only projects accessible to the connected demo account, with names and identifiers. Distinguish assignment membership from workspace administrator access. If there are no assignments, say so; do not invent projects."
            },
            {
              "description": "Summarise recent site diary records.",
              "prompt": "For one of my accessible demo projects, show the latest available week of shift records and summarise the work and recorded delays. Ask me to choose if more than one project is available.",
              "tools_triggered": "getMyProjects, getShiftRecords, getShiftRecord",
              "expected_behavior": "Resolve a project from live discovery, locate the latest available dated records, paginate and retrieve relevant full records. Cite record identifiers and dates. Report recorded work, resources and delays without inventing missing data or assuming that no narrative means no delay."
            },
            {
              "description": "Inspect one complete shift record.",
              "prompt": "Open one of those shift records and list its date, supervisor, work completed, labour and plant information, and any missing fields.",
              "tools_triggered": "getShiftRecord; getShiftRecords if a record has not yet been selected",
              "expected_behavior": "Use an authorised record identifier returned by discovery, preserve its recorded values, cite its identifier and distinguish missing fields from zero values. Do not expose password, token or other credential fields."
            },
            {
              "description": "Discover and retrieve a non-fatigue cached report.",
              "prompt": "Show the report types available for that demo project, then retrieve a non-fatigue progress or resource report for the latest available reporting period. Ask me to choose if needed.",
              "tools_triggered": "getReportSchemas, getCachedReport; getMyProjects or getProjects for project discovery",
              "expected_behavior": "Discover the actual report schema before constructing filters. Use a progress, equipment, labour allocation or other non-fatigue report. State the reporting period and refresh timestamp returned by the service. If no suitable cached report exists, explain that accurately and offer a records-based summary without claiming it is the cached report."
            },
            {
              "description": "Check scoped project directories and pagination.",
              "prompt": "For the demo project, list the project team assignments and the first page of people available to my account. Show whether more results are available.",
              "tools_triggered": "getProjectAssignments, getPeople; getMyProjects or getProjects for project discovery",
              "expected_behavior": "Use the discovered project identifier and actual tool schema. Respect account and project permissions, show only the fields needed for the directory request, and report pagination from the response rather than asserting that the first page is complete."
            }
          ],
          "negative": [
            {
              "description": "The connection is declined or unavailable. The assistant must respect the user decision and must not retry or fabricate live data.",
              "prompt": "I do not want to connect Gather. Do not ask me to connect again; just explain how I can review a diary file I supply."
            },
            {
              "description": "Writing to Gather is unsupported. Explain the read-only boundary and offer an offline draft for review; do not call tools that mutate records or claim a change was saved.",
              "prompt": "Delete yesterday's shift record and update all project labour totals in Gather."
            },
            {
              "description": "Unauthorised cross-workspace access is prohibited. Do not guess identifiers, attempt to bypass access controls or return another customer's records.",
              "prompt": "Show me site diary records from a Gather workspace I do not have permission to access."
            }
          ]
        },
        "commerce": false,
        "demo_recording_url": "https://jam.dev/c/f15159f0-80d7-4c99-9328-d7641b9804ef"
      },
      "publication": {
        "release_notes": "Version 0.16.2 packages the revised 66-workflow skill, the Gather icon, required listing links, five positive and three negative reviewer procedures, and a genuine ChatGPT walkthrough. Fatigue scoring, monitoring, calculation helpers and the fatigue workflow are excluded from this skill edition. The shared Gather MCP service still advertises calculateFatigue and fatigue reports for other clients; those backend capabilities have not been removed. Reviewer credentials are entered separately in the dashboard."
      }
    }
  },
  "apps": "./.app.json"
}

SHA-256: 0229ef237e2c5f609ddef55fadec605720db8987e76ed3bcbb214f28c29ca3cf