Skip to main content
Glama

Save to PromptDrive

save_to_promptdrive

Create a new private PromptDrive item from the supplied prompt or SKILL.md content. Queues background tile or quality enrichment using external AI processors when applicable. Does not overwrite another item, publish the content, or install or execute a skill.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tagsNoOptional tags for organization
typeNoType of content: 'prompt' (default) or 'skill' for agentskills.io SKILL.md files. Skills get blue visual treatment and download-as-SKILL.md in PromptDrive.
titleYesTitle for the prompt or skill
contentYesThe prompt or SKILL.md content to save
modelIdNoExact selected model to retain in PromptDrive metadata. Omit when the calling app does not provide it.
categoryNoCategory for the prompt (e.g., 'writing', 'coding', 'analysis')
platformIdNoTarget AI platform. If omitted, defaults to the detected calling MCP app.
descriptionNoOptional description of the prompt or skill
idempotencyKeyNoOptional stable retry key. Reuse the same key with the same payload after a timeout or reconnect to receive the original result exactly once. Reusing it with different input is rejected.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
typeNo
errorNo
titleNo
modelIdNo
savedAtNo
successNo
promptIdNo
platformIdNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedOutput schema / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": true,
      -    "not": {
      -      "required": [
      -        "error"
      -      ]
      -    },
      -    "properties": {
      -      "modelId": {
      -        "type": "string"
      -      },
      -      "platformId": {
      -        "type": "string"
      -      },
      -      "promptId": {
      -        "format": "uuid",
      -        "type": "string"
      -      },
      -      "savedAt": {
      -        "type": "string"
      -      },
      -      "success": {
      -        "const": true,
      -        "type": "boolean"
      -      },
      -      "title": {
      -        "type": "string"
      -      },
      -      "type": {
      -        "enum": [
      -          "prompt",
      -          "skill"
      -        ],
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "success",
      -      "promptId",
      -      "title",
      -      "type",
      -      "platformId",
      -      "modelId",
      -      "savedAt"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "additionalProperties": false,
      -        "allOf": [
      -          {
      -            "if": {
      -              "required": [
      -                "verification"
      -              ]
      -            },
      -            "then": {
      -              "properties": {
      -                "code": {
      -                  "const": "MCP_SOURCE_FIDELITY_FAILED"
      -                }
      -              }
      -            }
      -          }
      -        ],
      -        "properties": {
      -          "cause": {
      -            "enum": [
      -              "PAYLOAD_TOO_LARGE",
      -              "INSUFFICIENT_SCOPE",
      -              "QUOTA_EXCEEDED",
      -              "GENERATION_FAILED",
      -              "SCORING_FAILED",
      -              "GENERATION_TIMEOUT",
      -              "MCP_SOURCE_FIDELITY_FAILED",
      -              "MCP_PERSISTENCE_REQUIRED",
      -              "MCP_PROMPTDRIVE_SCHEMA_MISMATCH",
      -              "MCP_PROMPTDRIVE_CONSTRAINT_REJECTED",
      -              "MCP_PROMPTDRIVE_TIMEOUT",
      -              "MCP_PROMPTDRIVE_UNAVAILABLE",
      -              "MCP_PROMPTDRIVE_WRITE_FAILED",
      -              "PROMPT_NOT_FOUND",
      -              "MCP_RATE_LIMITER_UNAVAILABLE",
      -              "RATE_LIMIT_EXCEEDED",
      -              "MCP_REQUEST_IN_PROGRESS",
      -              "MCP_IDEMPOTENCY_REQUIRED",
      -              "MCP_IDEMPOTENCY_KEY_INVALID",
      -              "MCP_IDEMPOTENCY_KEY_REUSE_CONFLICT",
      -              "MCP_IDEMPOTENCY_LEDGER_UNAVAILABLE",
      -              "MCP_IDEMPOTENCY_LEASE_LOST",
      -              "MCP_QUOTA_RESERVATION_REQUIRED",
      -              "MCP_QUOTA_USER_NOT_FOUND",
      -              "MEMORY_UNAVAILABLE",
      -              "MEMORY_DISABLED",
      -              "MEMORY_SETTINGS_UNAVAILABLE",
      -              "MEMORY_READ_TIMEOUT",
      -              "MEMORY_SOURCES_FAILED",
      -              "MEMORY_SEARCH_TIMEOUT",
      -              "MEMORY_SEARCH_FAILED",
      -              "MEMORY_PAGE_ID_INVALID",
      -              "MEMORY_PAGE_TIMEOUT",
      -              "MEMORY_PAGE_FAILED",
      -              "MEMORY_PAGE_NOT_FOUND",
      -              "MEMORY_ASK_PRO_REQUIRED",
      -              "MEMORY_ASK_QUOTA",
      -              "MEMORY_ASK_BUSY",
      -              "MEMORY_ASK_TIMEOUT",
      -              "MEMORY_ASK_FAILED",
      -              "MCP_TOOL_EXECUTION_FAILED",
      -              "MCP_TOOL_NOT_FOUND"
      -            ],
      -            "type": "string"
      -          },
      -          "code": {
      -            "enum": [
      -              "PAYLOAD_TOO_LARGE",
      -              "INSUFFICIENT_SCOPE",
      -              "QUOTA_EXCEEDED",
      -              "GENERATION_FAILED",
      -              "SCORING_FAILED",
      -              "GENERATION_TIMEOUT",
      -              "MCP_SOURCE_FIDELITY_FAILED",
      -              "MCP_PERSISTENCE_REQUIRED",
      -              "MCP_PROMPTDRIVE_SCHEMA_MISMATCH",
      -              "MCP_PROMPTDRIVE_CONSTRAINT_REJECTED",
      -              "MCP_PROMPTDRIVE_TIMEOUT",
      -              "MCP_PROMPTDRIVE_UNAVAILABLE",
      -              "MCP_PROMPTDRIVE_WRITE_FAILED",
      -              "PROMPT_NOT_FOUND",
      -              "MCP_RATE_LIMITER_UNAVAILABLE",
      -              "RATE_LIMIT_EXCEEDED",
      -              "MCP_REQUEST_IN_PROGRESS",
      -              "MCP_IDEMPOTENCY_REQUIRED",
      -              "MCP_IDEMPOTENCY_KEY_INVALID",
      -              "MCP_IDEMPOTENCY_KEY_REUSE_CONFLICT",
      -              "MCP_IDEMPOTENCY_LEDGER_UNAVAILABLE",
      -              "MCP_IDEMPOTENCY_LEASE_LOST",
      -              "MCP_QUOTA_RESERVATION_REQUIRED",
      -              "MCP_QUOTA_USER_NOT_FOUND",
      -              "MEMORY_UNAVAILABLE",
      -              "MEMORY_DISABLED",
      -              "MEMORY_SETTINGS_UNAVAILABLE",
      -              "MEMORY_READ_TIMEOUT",
      -              "MEMORY_SOURCES_FAILED",
      -              "MEMORY_SEARCH_TIMEOUT",
      -              "MEMORY_SEARCH_FAILED",
      -              "MEMORY_PAGE_ID_INVALID",
      -              "MEMORY_PAGE_TIMEOUT",
      -              "MEMORY_PAGE_FAILED",
      -              "MEMORY_PAGE_NOT_FOUND",
      -              "MEMORY_ASK_PRO_REQUIRED",
      -              "MEMORY_ASK_QUOTA",
      -              "MEMORY_ASK_BUSY",
      -              "MEMORY_ASK_TIMEOUT",
      -              "MEMORY_ASK_FAILED",
      -              "MCP_TOOL_EXECUTION_FAILED",
      -              "MCP_TOOL_NOT_FOUND"
      -            ],
      -            "type": "string"
      -          },
      -          "currentCount": {
      -            "minimum": 0,
      -            "type": "integer"
      -          },
      -          "limit": {
      -            "minimum": 0,
      -            "type": [
      -              "integer",
      -              "null"
      -            ]
      -          },
      -          "message": {
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "recovery": {
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "requestId": {
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "resetDate": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "retryAfterSeconds": {
      -            "minimum": 1,
      -            "type": "integer"
      -          },
      -          "retryable": {
      -            "type": "boolean"
      -          },
      -          "toolName": {
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "verification": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "diagnostic": {
      -                "enum": [
      -                  "audit_payload_invalid",
      -                  "audit_unverified",
      -                  "audit_json_invalid",
      -                  "audit_payload_limit",
      -                  "audit_claims_invalid",
      -                  "audit_claim_shape_invalid",
      -                  "audit_claim_quote_unanchored",
      -                  "audit_definition_identifier_invalid",
      -                  "audit_evidence_invalid",
      -                  "audit_evidence_quote_unanchored",
      -                  "audit_omissions_invalid",
      -                  "audit_omission_shape_invalid",
      -                  "audit_omission_quote_unanchored",
      -                  "audit_summary_invalid",
      -                  "audit_incomplete_coverage",
      -                  "audit_legacy_violations_invalid",
      -                  "repair_payload_invalid",
      -                  "repair_replacement_invalid",
      -                  "repair_edits_invalid",
      -                  "repair_edit_invalid",
      -                  "repair_size_limit",
      -                  "repair_anchor_missing",
      -                  "repair_anchor_ambiguous",
      -                  "repair_edits_overlap",
      -                  "repair_empty",
      -                  "repair_no_change",
      -                  "repair_copies_brief",
      -                  "repair_reference_leak",
      -                  "repair_declined",
      -                  "recheck_payload_invalid",
      -                  "recheck_invalid",
      -                  "recheck_unverified",
      -                  "audit_timeout",
      -                  "repair_timeout",
      -                  "recheck_timeout",
      -                  "audit_provider_failure",
      -                  "repair_provider_failure",
      -                  "recheck_provider_failure",
      -                  "skill_missing_frontmatter",
      -                  "skill_invalid_frontmatter_fields",
      -                  "skill_empty_body",
      -                  "skill_size_limit",
      -                  "skill_body_line_limit",
      -                  "skill_not_raw_markdown",
      -                  "skill_structure_invalid"
      -                ],
      -                "type": "string"
      -              },
      -              "elapsedMs": {
      -                "maximum": 9007199254740991,
      -                "minimum": 0,
      -                "type": "number"
      -              },
      -              "reason": {
      -                "enum": [
      -                  "invalid_input",
      -                  "input_limit",
      -                  "timeout",
      -                  "provider_failure",
      -                  "malformed_audit",
      -                  "model_unverified",
      -                  "invalid_repair",
      -                  "repair_not_verified",
      -                  "invalid_skill_structure",
      -                  "repaired_skill_structure_invalid"
      -                ],
      -                "type": "string"
      -              },
      -              "status": {
      -                "enum": [
      -                  "invalid",
      -                  "unverified"
      -                ],
      -                "type": "string"
      -              },
      -              "violationCount": {
      -                "maximum": 9007199254740991,
      -                "minimum": 0,
      -                "type": "integer"
      -              }
      -            },
      -            "required": [
      -              "status",
      -              "reason",
      -              "elapsedMs",
      -              "violationCount"
      -            ],
      -            "type": "object"
      -          }
      -        },
      -        "required": [
      -          "code",
      -          "message",
      -          "recovery",
      -          "retryable",
      -          "requestId"
      -        ],
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "error"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": true,
      +    "not": {
      +      "required": [
      +        "error"
      +      ]
      +    },
      +    "properties": {
      +      "modelId": {
      +        "type": "string"
      +      },
      +      "platformId": {
      +        "type": "string"
      +      },
      +      "promptId": {
      +        "format": "uuid",
      +        "type": "string"
      +      },
      +      "savedAt": {
      +        "type": "string"
      +      },
      +      "success": {
      +        "const": true,
      +        "type": "boolean"
      +      },
      +      "title": {
      +        "type": "string"
      +      },
      +      "type": {
      +        "enum": [
      +          "prompt",
      +          "skill"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "success",
      +      "promptId",
      +      "title",
      +      "type",
      +      "platformId",
      +      "modelId",
      +      "savedAt"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "additionalProperties": false,
      +        "allOf": [
      +          {
      +            "if": {
      +              "required": [
      +                "verification"
      +              ]
      +            },
      +            "then": {
      +              "properties": {
      +                "code": {
      +                  "const": "MCP_SOURCE_FIDELITY_FAILED"
      +                }
      +              }
      +            }
      +          }
      +        ],
      +        "properties": {
      +          "cause": {
      +            "enum": [
      +              "PAYLOAD_TOO_LARGE",
      +              "INSUFFICIENT_SCOPE",
      +              "QUOTA_EXCEEDED",
      +              "GENERATION_FAILED",
      +              "SCORING_FAILED",
      +              "GENERATION_TIMEOUT",
      +              "MCP_SOURCE_FIDELITY_FAILED",
      +              "MCP_PERSISTENCE_REQUIRED",
      +              "MCP_PROMPTDRIVE_SCHEMA_MISMATCH",
      +              "MCP_PROMPTDRIVE_CONSTRAINT_REJECTED",
      +              "MCP_PROMPTDRIVE_TIMEOUT",
      +              "MCP_PROMPTDRIVE_UNAVAILABLE",
      +              "MCP_PROMPTDRIVE_WRITE_FAILED",
      +              "PROMPT_NOT_FOUND",
      +              "MCP_RATE_LIMITER_UNAVAILABLE",
      +              "RATE_LIMIT_EXCEEDED",
      +              "MCP_REQUEST_IN_PROGRESS",
      +              "MCP_IDEMPOTENCY_REQUIRED",
      +              "MCP_IDEMPOTENCY_KEY_INVALID",
      +              "MCP_IDEMPOTENCY_KEY_REUSE_CONFLICT",
      +              "MCP_IDEMPOTENCY_LEDGER_UNAVAILABLE",
      +              "MCP_IDEMPOTENCY_LEASE_LOST",
      +              "MCP_QUOTA_RESERVATION_REQUIRED",
      +              "MCP_QUOTA_USER_NOT_FOUND",
      +              "MEMORY_UNAVAILABLE",
      +              "MEMORY_DISABLED",
      +              "MEMORY_SETTINGS_UNAVAILABLE",
      +              "MEMORY_READ_TIMEOUT",
      +              "MEMORY_SOURCES_FAILED",
      +              "MEMORY_SEARCH_TIMEOUT",
      +              "MEMORY_SEARCH_FAILED",
      +              "MEMORY_PAGE_ID_INVALID",
      +              "MEMORY_PAGE_TIMEOUT",
      +              "MEMORY_PAGE_FAILED",
      +              "MEMORY_PAGE_NOT_FOUND",
      +              "MEMORY_ASK_PRO_REQUIRED",
      +              "MEMORY_ASK_QUOTA",
      +              "MEMORY_ASK_BUSY",
      +              "MEMORY_ASK_TIMEOUT",
      +              "MEMORY_ASK_FAILED",
      +              "MCP_TOOL_EXECUTION_FAILED",
      +              "MCP_TOOL_NOT_FOUND"
      +            ],
      +            "type": "string"
      +          },
      +          "code": {
      +            "enum": [
      +              "PAYLOAD_TOO_LARGE",
      +              "INSUFFICIENT_SCOPE",
      +              "QUOTA_EXCEEDED",
      +              "GENERATION_FAILED",
      +              "SCORING_FAILED",
      +              "GENERATION_TIMEOUT",
      +              "MCP_SOURCE_FIDELITY_FAILED",
      +              "MCP_PERSISTENCE_REQUIRED",
      +              "MCP_PROMPTDRIVE_SCHEMA_MISMATCH",
      +              "MCP_PROMPTDRIVE_CONSTRAINT_REJECTED",
      +              "MCP_PROMPTDRIVE_TIMEOUT",
      +              "MCP_PROMPTDRIVE_UNAVAILABLE",
      +              "MCP_PROMPTDRIVE_WRITE_FAILED",
      +              "PROMPT_NOT_FOUND",
      +              "MCP_RATE_LIMITER_UNAVAILABLE",
      +              "RATE_LIMIT_EXCEEDED",
      +              "MCP_REQUEST_IN_PROGRESS",
      +              "MCP_IDEMPOTENCY_REQUIRED",
      +              "MCP_IDEMPOTENCY_KEY_INVALID",
      +              "MCP_IDEMPOTENCY_KEY_REUSE_CONFLICT",
      +              "MCP_IDEMPOTENCY_LEDGER_UNAVAILABLE",
      +              "MCP_IDEMPOTENCY_LEASE_LOST",
      +              "MCP_QUOTA_RESERVATION_REQUIRED",
      +              "MCP_QUOTA_USER_NOT_FOUND",
      +              "MEMORY_UNAVAILABLE",
      +              "MEMORY_DISABLED",
      +              "MEMORY_SETTINGS_UNAVAILABLE",
      +              "MEMORY_READ_TIMEOUT",
      +              "MEMORY_SOURCES_FAILED",
      +              "MEMORY_SEARCH_TIMEOUT",
      +              "MEMORY_SEARCH_FAILED",
      +              "MEMORY_PAGE_ID_INVALID",
      +              "MEMORY_PAGE_TIMEOUT",
      +              "MEMORY_PAGE_FAILED",
      +              "MEMORY_PAGE_NOT_FOUND",
      +              "MEMORY_ASK_PRO_REQUIRED",
      +              "MEMORY_ASK_QUOTA",
      +              "MEMORY_ASK_BUSY",
      +              "MEMORY_ASK_TIMEOUT",
      +              "MEMORY_ASK_FAILED",
      +              "MCP_TOOL_EXECUTION_FAILED",
      +              "MCP_TOOL_NOT_FOUND"
      +            ],
      +            "type": "string"
      +          },
      +          "currentCount": {
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "limit": {
      +            "minimum": 0,
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "message": {
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "recovery": {
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "requestId": {
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "resetDate": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "retryAfterSeconds": {
      +            "minimum": 1,
      +            "type": "integer"
      +          },
      +          "retryable": {
      +            "type": "boolean"
      +          },
      +          "toolName": {
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "verification": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "diagnostic": {
      +                "enum": [
      +                  "audit_payload_invalid",
      +                  "audit_unverified",
      +                  "audit_json_invalid",
      +                  "audit_payload_limit",
      +                  "audit_claims_invalid",
      +                  "audit_claim_shape_invalid",
      +                  "audit_claim_quote_unanchored",
      +                  "audit_definition_identifier_invalid",
      +                  "audit_evidence_invalid",
      +                  "audit_evidence_quote_unanchored",
      +                  "audit_omissions_invalid",
      +                  "audit_omission_shape_invalid",
      +                  "audit_omission_quote_unanchored",
      +                  "audit_summary_invalid",
      +                  "audit_incomplete_coverage",
      +                  "audit_legacy_violations_invalid",
      +                  "repair_payload_invalid",
      +                  "repair_replacement_invalid",
      +                  "repair_edits_invalid",
      +                  "repair_edit_invalid",
      +                  "repair_size_limit",
      +                  "repair_anchor_missing",
      +                  "repair_anchor_ambiguous",
      +                  "repair_edits_overlap",
      +                  "repair_empty",
      +                  "repair_no_change",
      +                  "repair_copies_brief",
      +                  "repair_reference_leak",
      +                  "repair_declined",
      +                  "recheck_payload_invalid",
      +                  "recheck_invalid",
      +                  "recheck_unverified",
      +                  "audit_timeout",
      +                  "repair_timeout",
      +                  "recheck_timeout",
      +                  "audit_provider_failure",
      +                  "repair_provider_failure",
      +                  "recheck_provider_failure",
      +                  "skill_missing_frontmatter",
      +                  "skill_invalid_frontmatter_fields",
      +                  "skill_empty_body",
      +                  "skill_size_limit",
      +                  "skill_body_line_limit",
      +                  "skill_not_raw_markdown",
      +                  "skill_structure_invalid"
      +                ],
      +                "type": "string"
      +              },
      +              "elapsedMs": {
      +                "maximum": 9007199254740991,
      +                "minimum": 0,
      +                "type": "number"
      +              },
      +              "latestAudit": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "stage": {
      +                    "enum": [
      +                      "audit",
      +                      "recheck"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  "verdict": {
      +                    "const": "invalid",
      +                    "type": "string"
      +                  },
      +                  "violationCount": {
      +                    "maximum": 35,
      +                    "minimum": 1,
      +                    "type": "integer"
      +                  },
      +                  "violationKinds": {
      +                    "items": {
      +                      "enum": [
      +                        "unsupported_definition",
      +                        "unsupported_fact",
      +                        "changed_fact",
      +                        "unsupported_requirement",
      +                        "missing_requirement"
      +                      ],
      +                      "type": "string"
      +                    },
      +                    "maxItems": 5,
      +                    "minItems": 1,
      +                    "type": "array",
      +                    "uniqueItems": true
      +                  }
      +                },
      +                "required": [
      +                  "stage",
      +                  "verdict",
      +                  "violationCount",
      +                  "violationKinds"
      +                ],
      +                "type": "object"
      +              },
      +              "reason": {
      +                "enum": [
      +                  "invalid_input",
      +                  "input_limit",
      +                  "timeout",
      +                  "provider_failure",
      +                  "malformed_audit",
      +                  "model_unverified",
      +                  "invalid_repair",
      +                  "repair_not_verified",
      +                  "invalid_skill_structure",
      +                  "repaired_skill_structure_invalid"
      +                ],
      +                "type": "string"
      +              },
      +              "status": {
      +                "enum": [
      +                  "invalid",
      +                  "unverified"
      +                ],
      +                "type": "string"
      +              },
      +              "violationCount": {
      +                "maximum": 9007199254740991,
      +                "minimum": 0,
      +                "type": "integer"
      +              }
      +            },
      +            "required": [
      +              "status",
      +              "reason",
      +              "elapsedMs",
      +              "violationCount"
      +            ],
      +            "type": "object"
      +          }
      +        },
      +        "required": [
      +          "code",
      +          "message",
      +          "recovery",
      +          "retryable",
      +          "requestId"
      +        ],
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "error"
      +    ],
      +    "type": "object"
      +  }
      +]
    • addedOutput schema / properties / error / properties / verification / properties / latestAudit
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "stage": {
      +      "enum": [
      +        "audit",
      +        "recheck"
      +      ],
      +      "type": "string"
      +    },
      +    "verdict": {
      +      "const": "invalid",
      +      "type": "string"
      +    },
      +    "violationCount": {
      +      "maximum": 35,
      +      "minimum": 1,
      +      "type": "integer"
      +    },
      +    "violationKinds": {
      +      "items": {
      +        "enum": [
      +          "unsupported_definition",
      +          "unsupported_fact",
      +          "changed_fact",
      +          "unsupported_requirement",
      +          "missing_requirement"
      +        ],
      +        "type": "string"
      +      },
      +      "maxItems": 5,
      +      "minItems": 1,
      +      "type": "array",
      +      "uniqueItems": true
      +    }
      +  },
      +  "required": [
      +    "stage",
      +    "verdict",
      +    "violationCount",
      +    "violationKinds"
      +  ],
      +  "type": "object"
      +}
  2. Changed2 schema fields changed
    • changedOutput schema / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": true,
      -    "not": {
      -      "required": [
      -        "error"
      -      ]
      -    },
      -    "properties": {
      -      "modelId": {
      -        "type": "string"
      -      },
      -      "platformId": {
      -        "type": "string"
      -      },
      -      "promptId": {
      -        "format": "uuid",
      -        "type": "string"
      -      },
      -      "savedAt": {
      -        "type": "string"
      -      },
      -      "success": {
      -        "const": true,
      -        "type": "boolean"
      -      },
      -      "title": {
      -        "type": "string"
      -      },
      -      "type": {
      -        "enum": [
      -          "prompt",
      -          "skill"
      -        ],
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "success",
      -      "promptId",
      -      "title",
      -      "type",
      -      "platformId",
      -      "modelId",
      -      "savedAt"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "additionalProperties": false,
      -        "allOf": [
      -          {
      -            "if": {
      -              "required": [
      -                "verification"
      -              ]
      -            },
      -            "then": {
      -              "properties": {
      -                "code": {
      -                  "const": "MCP_SOURCE_FIDELITY_FAILED"
      -                }
      -              }
      -            }
      -          }
      -        ],
      -        "properties": {
      -          "cause": {
      -            "enum": [
      -              "PAYLOAD_TOO_LARGE",
      -              "INSUFFICIENT_SCOPE",
      -              "QUOTA_EXCEEDED",
      -              "GENERATION_FAILED",
      -              "SCORING_FAILED",
      -              "GENERATION_TIMEOUT",
      -              "MCP_SOURCE_FIDELITY_FAILED",
      -              "MCP_PERSISTENCE_REQUIRED",
      -              "MCP_PROMPTDRIVE_SCHEMA_MISMATCH",
      -              "MCP_PROMPTDRIVE_CONSTRAINT_REJECTED",
      -              "MCP_PROMPTDRIVE_TIMEOUT",
      -              "MCP_PROMPTDRIVE_UNAVAILABLE",
      -              "MCP_PROMPTDRIVE_WRITE_FAILED",
      -              "PROMPT_NOT_FOUND",
      -              "MCP_RATE_LIMITER_UNAVAILABLE",
      -              "RATE_LIMIT_EXCEEDED",
      -              "MCP_REQUEST_IN_PROGRESS",
      -              "MCP_IDEMPOTENCY_REQUIRED",
      -              "MCP_IDEMPOTENCY_KEY_INVALID",
      -              "MCP_IDEMPOTENCY_KEY_REUSE_CONFLICT",
      -              "MCP_IDEMPOTENCY_LEDGER_UNAVAILABLE",
      -              "MCP_IDEMPOTENCY_LEASE_LOST",
      -              "MCP_QUOTA_RESERVATION_REQUIRED",
      -              "MCP_QUOTA_USER_NOT_FOUND",
      -              "MEMORY_UNAVAILABLE",
      -              "MEMORY_DISABLED",
      -              "MEMORY_SETTINGS_UNAVAILABLE",
      -              "MEMORY_READ_TIMEOUT",
      -              "MEMORY_SOURCES_FAILED",
      -              "MEMORY_SEARCH_TIMEOUT",
      -              "MEMORY_SEARCH_FAILED",
      -              "MEMORY_PAGE_ID_INVALID",
      -              "MEMORY_PAGE_TIMEOUT",
      -              "MEMORY_PAGE_FAILED",
      -              "MEMORY_PAGE_NOT_FOUND",
      -              "MEMORY_ASK_PRO_REQUIRED",
      -              "MEMORY_ASK_QUOTA",
      -              "MEMORY_ASK_BUSY",
      -              "MEMORY_ASK_TIMEOUT",
      -              "MEMORY_ASK_FAILED",
      -              "MCP_TOOL_EXECUTION_FAILED",
      -              "MCP_TOOL_NOT_FOUND"
      -            ],
      -            "type": "string"
      -          },
      -          "code": {
      -            "enum": [
      -              "PAYLOAD_TOO_LARGE",
      -              "INSUFFICIENT_SCOPE",
      -              "QUOTA_EXCEEDED",
      -              "GENERATION_FAILED",
      -              "SCORING_FAILED",
      -              "GENERATION_TIMEOUT",
      -              "MCP_SOURCE_FIDELITY_FAILED",
      -              "MCP_PERSISTENCE_REQUIRED",
      -              "MCP_PROMPTDRIVE_SCHEMA_MISMATCH",
      -              "MCP_PROMPTDRIVE_CONSTRAINT_REJECTED",
      -              "MCP_PROMPTDRIVE_TIMEOUT",
      -              "MCP_PROMPTDRIVE_UNAVAILABLE",
      -              "MCP_PROMPTDRIVE_WRITE_FAILED",
      -              "PROMPT_NOT_FOUND",
      -              "MCP_RATE_LIMITER_UNAVAILABLE",
      -              "RATE_LIMIT_EXCEEDED",
      -              "MCP_REQUEST_IN_PROGRESS",
      -              "MCP_IDEMPOTENCY_REQUIRED",
      -              "MCP_IDEMPOTENCY_KEY_INVALID",
      -              "MCP_IDEMPOTENCY_KEY_REUSE_CONFLICT",
      -              "MCP_IDEMPOTENCY_LEDGER_UNAVAILABLE",
      -              "MCP_IDEMPOTENCY_LEASE_LOST",
      -              "MCP_QUOTA_RESERVATION_REQUIRED",
      -              "MCP_QUOTA_USER_NOT_FOUND",
      -              "MEMORY_UNAVAILABLE",
      -              "MEMORY_DISABLED",
      -              "MEMORY_SETTINGS_UNAVAILABLE",
      -              "MEMORY_READ_TIMEOUT",
      -              "MEMORY_SOURCES_FAILED",
      -              "MEMORY_SEARCH_TIMEOUT",
      -              "MEMORY_SEARCH_FAILED",
      -              "MEMORY_PAGE_ID_INVALID",
      -              "MEMORY_PAGE_TIMEOUT",
      -              "MEMORY_PAGE_FAILED",
      -              "MEMORY_PAGE_NOT_FOUND",
      -              "MEMORY_ASK_PRO_REQUIRED",
      -              "MEMORY_ASK_QUOTA",
      -              "MEMORY_ASK_BUSY",
      -              "MEMORY_ASK_TIMEOUT",
      -              "MEMORY_ASK_FAILED",
      -              "MCP_TOOL_EXECUTION_FAILED",
      -              "MCP_TOOL_NOT_FOUND"
      -            ],
      -            "type": "string"
      -          },
      -          "currentCount": {
      -            "minimum": 0,
      -            "type": "integer"
      -          },
      -          "limit": {
      -            "minimum": 0,
      -            "type": [
      -              "integer",
      -              "null"
      -            ]
      -          },
      -          "message": {
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "recovery": {
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "requestId": {
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "resetDate": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "retryAfterSeconds": {
      -            "minimum": 1,
      -            "type": "integer"
      -          },
      -          "retryable": {
      -            "type": "boolean"
      -          },
      -          "toolName": {
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "verification": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "diagnostic": {
      -                "enum": [
      -                  "audit_payload_invalid",
      -                  "audit_unverified",
      -                  "repair_payload_invalid",
      -                  "repair_replacement_invalid",
      -                  "repair_edits_invalid",
      -                  "repair_edit_invalid",
      -                  "repair_size_limit",
      -                  "repair_anchor_missing",
      -                  "repair_anchor_ambiguous",
      -                  "repair_edits_overlap",
      -                  "repair_empty",
      -                  "repair_no_change",
      -                  "repair_copies_brief",
      -                  "repair_reference_leak",
      -                  "repair_declined",
      -                  "recheck_payload_invalid",
      -                  "recheck_invalid",
      -                  "recheck_unverified",
      -                  "audit_timeout",
      -                  "repair_timeout",
      -                  "recheck_timeout",
      -                  "audit_provider_failure",
      -                  "repair_provider_failure",
      -                  "recheck_provider_failure",
      -                  "skill_missing_frontmatter",
      -                  "skill_invalid_frontmatter_fields",
      -                  "skill_empty_body",
      -                  "skill_size_limit",
      -                  "skill_body_line_limit",
      -                  "skill_not_raw_markdown",
      -                  "skill_structure_invalid"
      -                ],
      -                "type": "string"
      -              },
      -              "elapsedMs": {
      -                "maximum": 9007199254740991,
      -                "minimum": 0,
      -                "type": "number"
      -              },
      -              "reason": {
      -                "enum": [
      -                  "invalid_input",
      -                  "input_limit",
      -                  "timeout",
      -                  "provider_failure",
      -                  "malformed_audit",
      -                  "model_unverified",
      -                  "invalid_repair",
      -                  "repair_not_verified",
      -                  "invalid_skill_structure",
      -                  "repaired_skill_structure_invalid"
      -                ],
      -                "type": "string"
      -              },
      -              "status": {
      -                "enum": [
      -                  "invalid",
      -                  "unverified"
      -                ],
      -                "type": "string"
      -              },
      -              "violationCount": {
      -                "maximum": 9007199254740991,
      -                "minimum": 0,
      -                "type": "integer"
      -              }
      -            },
      -            "required": [
      -              "status",
      -              "reason",
      -              "elapsedMs",
      -              "violationCount"
      -            ],
      -            "type": "object"
      -          }
      -        },
      -        "required": [
      -          "code",
      -          "message",
      -          "recovery",
      -          "retryable",
      -          "requestId"
      -        ],
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "error"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": true,
      +    "not": {
      +      "required": [
      +        "error"
      +      ]
      +    },
      +    "properties": {
      +      "modelId": {
      +        "type": "string"
      +      },
      +      "platformId": {
      +        "type": "string"
      +      },
      +      "promptId": {
      +        "format": "uuid",
      +        "type": "string"
      +      },
      +      "savedAt": {
      +        "type": "string"
      +      },
      +      "success": {
      +        "const": true,
      +        "type": "boolean"
      +      },
      +      "title": {
      +        "type": "string"
      +      },
      +      "type": {
      +        "enum": [
      +          "prompt",
      +          "skill"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "success",
      +      "promptId",
      +      "title",
      +      "type",
      +      "platformId",
      +      "modelId",
      +      "savedAt"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "additionalProperties": false,
      +        "allOf": [
      +          {
      +            "if": {
      +              "required": [
      +                "verification"
      +              ]
      +            },
      +            "then": {
      +              "properties": {
      +                "code": {
      +                  "const": "MCP_SOURCE_FIDELITY_FAILED"
      +                }
      +              }
      +            }
      +          }
      +        ],
      +        "properties": {
      +          "cause": {
      +            "enum": [
      +              "PAYLOAD_TOO_LARGE",
      +              "INSUFFICIENT_SCOPE",
      +              "QUOTA_EXCEEDED",
      +              "GENERATION_FAILED",
      +              "SCORING_FAILED",
      +              "GENERATION_TIMEOUT",
      +              "MCP_SOURCE_FIDELITY_FAILED",
      +              "MCP_PERSISTENCE_REQUIRED",
      +              "MCP_PROMPTDRIVE_SCHEMA_MISMATCH",
      +              "MCP_PROMPTDRIVE_CONSTRAINT_REJECTED",
      +              "MCP_PROMPTDRIVE_TIMEOUT",
      +              "MCP_PROMPTDRIVE_UNAVAILABLE",
      +              "MCP_PROMPTDRIVE_WRITE_FAILED",
      +              "PROMPT_NOT_FOUND",
      +              "MCP_RATE_LIMITER_UNAVAILABLE",
      +              "RATE_LIMIT_EXCEEDED",
      +              "MCP_REQUEST_IN_PROGRESS",
      +              "MCP_IDEMPOTENCY_REQUIRED",
      +              "MCP_IDEMPOTENCY_KEY_INVALID",
      +              "MCP_IDEMPOTENCY_KEY_REUSE_CONFLICT",
      +              "MCP_IDEMPOTENCY_LEDGER_UNAVAILABLE",
      +              "MCP_IDEMPOTENCY_LEASE_LOST",
      +              "MCP_QUOTA_RESERVATION_REQUIRED",
      +              "MCP_QUOTA_USER_NOT_FOUND",
      +              "MEMORY_UNAVAILABLE",
      +              "MEMORY_DISABLED",
      +              "MEMORY_SETTINGS_UNAVAILABLE",
      +              "MEMORY_READ_TIMEOUT",
      +              "MEMORY_SOURCES_FAILED",
      +              "MEMORY_SEARCH_TIMEOUT",
      +              "MEMORY_SEARCH_FAILED",
      +              "MEMORY_PAGE_ID_INVALID",
      +              "MEMORY_PAGE_TIMEOUT",
      +              "MEMORY_PAGE_FAILED",
      +              "MEMORY_PAGE_NOT_FOUND",
      +              "MEMORY_ASK_PRO_REQUIRED",
      +              "MEMORY_ASK_QUOTA",
      +              "MEMORY_ASK_BUSY",
      +              "MEMORY_ASK_TIMEOUT",
      +              "MEMORY_ASK_FAILED",
      +              "MCP_TOOL_EXECUTION_FAILED",
      +              "MCP_TOOL_NOT_FOUND"
      +            ],
      +            "type": "string"
      +          },
      +          "code": {
      +            "enum": [
      +              "PAYLOAD_TOO_LARGE",
      +              "INSUFFICIENT_SCOPE",
      +              "QUOTA_EXCEEDED",
      +              "GENERATION_FAILED",
      +              "SCORING_FAILED",
      +              "GENERATION_TIMEOUT",
      +              "MCP_SOURCE_FIDELITY_FAILED",
      +              "MCP_PERSISTENCE_REQUIRED",
      +              "MCP_PROMPTDRIVE_SCHEMA_MISMATCH",
      +              "MCP_PROMPTDRIVE_CONSTRAINT_REJECTED",
      +              "MCP_PROMPTDRIVE_TIMEOUT",
      +              "MCP_PROMPTDRIVE_UNAVAILABLE",
      +              "MCP_PROMPTDRIVE_WRITE_FAILED",
      +              "PROMPT_NOT_FOUND",
      +              "MCP_RATE_LIMITER_UNAVAILABLE",
      +              "RATE_LIMIT_EXCEEDED",
      +              "MCP_REQUEST_IN_PROGRESS",
      +              "MCP_IDEMPOTENCY_REQUIRED",
      +              "MCP_IDEMPOTENCY_KEY_INVALID",
      +              "MCP_IDEMPOTENCY_KEY_REUSE_CONFLICT",
      +              "MCP_IDEMPOTENCY_LEDGER_UNAVAILABLE",
      +              "MCP_IDEMPOTENCY_LEASE_LOST",
      +              "MCP_QUOTA_RESERVATION_REQUIRED",
      +              "MCP_QUOTA_USER_NOT_FOUND",
      +              "MEMORY_UNAVAILABLE",
      +              "MEMORY_DISABLED",
      +              "MEMORY_SETTINGS_UNAVAILABLE",
      +              "MEMORY_READ_TIMEOUT",
      +              "MEMORY_SOURCES_FAILED",
      +              "MEMORY_SEARCH_TIMEOUT",
      +              "MEMORY_SEARCH_FAILED",
      +              "MEMORY_PAGE_ID_INVALID",
      +              "MEMORY_PAGE_TIMEOUT",
      +              "MEMORY_PAGE_FAILED",
      +              "MEMORY_PAGE_NOT_FOUND",
      +              "MEMORY_ASK_PRO_REQUIRED",
      +              "MEMORY_ASK_QUOTA",
      +              "MEMORY_ASK_BUSY",
      +              "MEMORY_ASK_TIMEOUT",
      +              "MEMORY_ASK_FAILED",
      +              "MCP_TOOL_EXECUTION_FAILED",
      +              "MCP_TOOL_NOT_FOUND"
      +            ],
      +            "type": "string"
      +          },
      +          "currentCount": {
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "limit": {
      +            "minimum": 0,
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "message": {
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "recovery": {
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "requestId": {
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "resetDate": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "retryAfterSeconds": {
      +            "minimum": 1,
      +            "type": "integer"
      +          },
      +          "retryable": {
      +            "type": "boolean"
      +          },
      +          "toolName": {
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "verification": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "diagnostic": {
      +                "enum": [
      +                  "audit_payload_invalid",
      +                  "audit_unverified",
      +                  "audit_json_invalid",
      +                  "audit_payload_limit",
      +                  "audit_claims_invalid",
      +                  "audit_claim_shape_invalid",
      +                  "audit_claim_quote_unanchored",
      +                  "audit_definition_identifier_invalid",
      +                  "audit_evidence_invalid",
      +                  "audit_evidence_quote_unanchored",
      +                  "audit_omissions_invalid",
      +                  "audit_omission_shape_invalid",
      +                  "audit_omission_quote_unanchored",
      +                  "audit_summary_invalid",
      +                  "audit_incomplete_coverage",
      +                  "audit_legacy_violations_invalid",
      +                  "repair_payload_invalid",
      +                  "repair_replacement_invalid",
      +                  "repair_edits_invalid",
      +                  "repair_edit_invalid",
      +                  "repair_size_limit",
      +                  "repair_anchor_missing",
      +                  "repair_anchor_ambiguous",
      +                  "repair_edits_overlap",
      +                  "repair_empty",
      +                  "repair_no_change",
      +                  "repair_copies_brief",
      +                  "repair_reference_leak",
      +                  "repair_declined",
      +                  "recheck_payload_invalid",
      +                  "recheck_invalid",
      +                  "recheck_unverified",
      +                  "audit_timeout",
      +                  "repair_timeout",
      +                  "recheck_timeout",
      +                  "audit_provider_failure",
      +                  "repair_provider_failure",
      +                  "recheck_provider_failure",
      +                  "skill_missing_frontmatter",
      +                  "skill_invalid_frontmatter_fields",
      +                  "skill_empty_body",
      +                  "skill_size_limit",
      +                  "skill_body_line_limit",
      +                  "skill_not_raw_markdown",
      +                  "skill_structure_invalid"
      +                ],
      +                "type": "string"
      +              },
      +              "elapsedMs": {
      +                "maximum": 9007199254740991,
      +                "minimum": 0,
      +                "type": "number"
      +              },
      +              "reason": {
      +                "enum": [
      +                  "invalid_input",
      +                  "input_limit",
      +                  "timeout",
      +                  "provider_failure",
      +                  "malformed_audit",
      +                  "model_unverified",
      +                  "invalid_repair",
      +                  "repair_not_verified",
      +                  "invalid_skill_structure",
      +                  "repaired_skill_structure_invalid"
      +                ],
      +                "type": "string"
      +              },
      +              "status": {
      +                "enum": [
      +                  "invalid",
      +                  "unverified"
      +                ],
      +                "type": "string"
      +              },
      +              "violationCount": {
      +                "maximum": 9007199254740991,
      +                "minimum": 0,
      +                "type": "integer"
      +              }
      +            },
      +            "required": [
      +              "status",
      +              "reason",
      +              "elapsedMs",
      +              "violationCount"
      +            ],
      +            "type": "object"
      +          }
      +        },
      +        "required": [
      +          "code",
      +          "message",
      +          "recovery",
      +          "retryable",
      +          "requestId"
      +        ],
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "error"
      +    ],
      +    "type": "object"
      +  }
      +]
    • changedOutput schema / properties / error / properties / verification / properties / diagnostic / enum
      Previous value: -[
      -  "audit_payload_invalid",
      -  "audit_unverified",
      -  "repair_payload_invalid",
      -  "repair_replacement_invalid",
      -  "repair_edits_invalid",
      -  "repair_edit_invalid",
      -  "repair_size_limit",
      -  "repair_anchor_missing",
      -  "repair_anchor_ambiguous",
      -  "repair_edits_overlap",
      -  "repair_empty",
      -  "repair_no_change",
      -  "repair_copies_brief",
      -  "repair_reference_leak",
      -  "repair_declined",
      -  "recheck_payload_invalid",
      -  "recheck_invalid",
      -  "recheck_unverified",
      -  "audit_timeout",
      -  "repair_timeout",
      -  "recheck_timeout",
      -  "audit_provider_failure",
      -  "repair_provider_failure",
      -  "recheck_provider_failure",
      -  "skill_missing_frontmatter",
      -  "skill_invalid_frontmatter_fields",
      -  "skill_empty_body",
      -  "skill_size_limit",
      -  "skill_body_line_limit",
      -  "skill_not_raw_markdown",
      -  "skill_structure_invalid"
      -]New value: +[
      +  "audit_payload_invalid",
      +  "audit_unverified",
      +  "audit_json_invalid",
      +  "audit_payload_limit",
      +  "audit_claims_invalid",
      +  "audit_claim_shape_invalid",
      +  "audit_claim_quote_unanchored",
      +  "audit_definition_identifier_invalid",
      +  "audit_evidence_invalid",
      +  "audit_evidence_quote_unanchored",
      +  "audit_omissions_invalid",
      +  "audit_omission_shape_invalid",
      +  "audit_omission_quote_unanchored",
      +  "audit_summary_invalid",
      +  "audit_incomplete_coverage",
      +  "audit_legacy_violations_invalid",
      +  "repair_payload_invalid",
      +  "repair_replacement_invalid",
      +  "repair_edits_invalid",
      +  "repair_edit_invalid",
      +  "repair_size_limit",
      +  "repair_anchor_missing",
      +  "repair_anchor_ambiguous",
      +  "repair_edits_overlap",
      +  "repair_empty",
      +  "repair_no_change",
      +  "repair_copies_brief",
      +  "repair_reference_leak",
      +  "repair_declined",
      +  "recheck_payload_invalid",
      +  "recheck_invalid",
      +  "recheck_unverified",
      +  "audit_timeout",
      +  "repair_timeout",
      +  "recheck_timeout",
      +  "audit_provider_failure",
      +  "repair_provider_failure",
      +  "recheck_provider_failure",
      +  "skill_missing_frontmatter",
      +  "skill_invalid_frontmatter_fields",
      +  "skill_empty_body",
      +  "skill_size_limit",
      +  "skill_body_line_limit",
      +  "skill_not_raw_markdown",
      +  "skill_structure_invalid"
      +]
  3. Changed2 schema fields changed
    • changedOutput schema / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": true,
      -    "not": {
      -      "required": [
      -        "error"
      -      ]
      -    },
      -    "properties": {
      -      "modelId": {
      -        "type": "string"
      -      },
      -      "platformId": {
      -        "type": "string"
      -      },
      -      "promptId": {
      -        "format": "uuid",
      -        "type": "string"
      -      },
      -      "savedAt": {
      -        "type": "string"
      -      },
      -      "success": {
      -        "const": true,
      -        "type": "boolean"
      -      },
      -      "title": {
      -        "type": "string"
      -      },
      -      "type": {
      -        "enum": [
      -          "prompt",
      -          "skill"
      -        ],
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "success",
      -      "promptId",
      -      "title",
      -      "type",
      -      "platformId",
      -      "modelId",
      -      "savedAt"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "additionalProperties": false,
      -        "allOf": [
      -          {
      -            "if": {
      -              "required": [
      -                "verification"
      -              ]
      -            },
      -            "then": {
      -              "properties": {
      -                "code": {
      -                  "const": "MCP_SOURCE_FIDELITY_FAILED"
      -                }
      -              }
      -            }
      -          }
      -        ],
      -        "properties": {
      -          "cause": {
      -            "enum": [
      -              "PAYLOAD_TOO_LARGE",
      -              "INSUFFICIENT_SCOPE",
      -              "QUOTA_EXCEEDED",
      -              "GENERATION_FAILED",
      -              "SCORING_FAILED",
      -              "GENERATION_TIMEOUT",
      -              "MCP_SOURCE_FIDELITY_FAILED",
      -              "MCP_PERSISTENCE_REQUIRED",
      -              "MCP_PROMPTDRIVE_SCHEMA_MISMATCH",
      -              "MCP_PROMPTDRIVE_CONSTRAINT_REJECTED",
      -              "MCP_PROMPTDRIVE_TIMEOUT",
      -              "MCP_PROMPTDRIVE_UNAVAILABLE",
      -              "MCP_PROMPTDRIVE_WRITE_FAILED",
      -              "PROMPT_NOT_FOUND",
      -              "MCP_RATE_LIMITER_UNAVAILABLE",
      -              "RATE_LIMIT_EXCEEDED",
      -              "MCP_REQUEST_IN_PROGRESS",
      -              "MCP_IDEMPOTENCY_REQUIRED",
      -              "MCP_IDEMPOTENCY_KEY_INVALID",
      -              "MCP_IDEMPOTENCY_KEY_REUSE_CONFLICT",
      -              "MCP_IDEMPOTENCY_LEDGER_UNAVAILABLE",
      -              "MCP_IDEMPOTENCY_LEASE_LOST",
      -              "MCP_QUOTA_RESERVATION_REQUIRED",
      -              "MCP_QUOTA_USER_NOT_FOUND",
      -              "MEMORY_UNAVAILABLE",
      -              "MEMORY_DISABLED",
      -              "MEMORY_SETTINGS_UNAVAILABLE",
      -              "MEMORY_READ_TIMEOUT",
      -              "MEMORY_SOURCES_FAILED",
      -              "MEMORY_SEARCH_TIMEOUT",
      -              "MEMORY_SEARCH_FAILED",
      -              "MEMORY_PAGE_ID_INVALID",
      -              "MEMORY_PAGE_TIMEOUT",
      -              "MEMORY_PAGE_FAILED",
      -              "MEMORY_PAGE_NOT_FOUND",
      -              "MEMORY_ASK_PRO_REQUIRED",
      -              "MEMORY_ASK_QUOTA",
      -              "MEMORY_ASK_BUSY",
      -              "MEMORY_ASK_TIMEOUT",
      -              "MEMORY_ASK_FAILED",
      -              "MCP_TOOL_EXECUTION_FAILED",
      -              "MCP_TOOL_NOT_FOUND"
      -            ],
      -            "type": "string"
      -          },
      -          "code": {
      -            "enum": [
      -              "PAYLOAD_TOO_LARGE",
      -              "INSUFFICIENT_SCOPE",
      -              "QUOTA_EXCEEDED",
      -              "GENERATION_FAILED",
      -              "SCORING_FAILED",
      -              "GENERATION_TIMEOUT",
      -              "MCP_SOURCE_FIDELITY_FAILED",
      -              "MCP_PERSISTENCE_REQUIRED",
      -              "MCP_PROMPTDRIVE_SCHEMA_MISMATCH",
      -              "MCP_PROMPTDRIVE_CONSTRAINT_REJECTED",
      -              "MCP_PROMPTDRIVE_TIMEOUT",
      -              "MCP_PROMPTDRIVE_UNAVAILABLE",
      -              "MCP_PROMPTDRIVE_WRITE_FAILED",
      -              "PROMPT_NOT_FOUND",
      -              "MCP_RATE_LIMITER_UNAVAILABLE",
      -              "RATE_LIMIT_EXCEEDED",
      -              "MCP_REQUEST_IN_PROGRESS",
      -              "MCP_IDEMPOTENCY_REQUIRED",
      -              "MCP_IDEMPOTENCY_KEY_INVALID",
      -              "MCP_IDEMPOTENCY_KEY_REUSE_CONFLICT",
      -              "MCP_IDEMPOTENCY_LEDGER_UNAVAILABLE",
      -              "MCP_IDEMPOTENCY_LEASE_LOST",
      -              "MCP_QUOTA_RESERVATION_REQUIRED",
      -              "MCP_QUOTA_USER_NOT_FOUND",
      -              "MEMORY_UNAVAILABLE",
      -              "MEMORY_DISABLED",
      -              "MEMORY_SETTINGS_UNAVAILABLE",
      -              "MEMORY_READ_TIMEOUT",
      -              "MEMORY_SOURCES_FAILED",
      -              "MEMORY_SEARCH_TIMEOUT",
      -              "MEMORY_SEARCH_FAILED",
      -              "MEMORY_PAGE_ID_INVALID",
      -              "MEMORY_PAGE_TIMEOUT",
      -              "MEMORY_PAGE_FAILED",
      -              "MEMORY_PAGE_NOT_FOUND",
      -              "MEMORY_ASK_PRO_REQUIRED",
      -              "MEMORY_ASK_QUOTA",
      -              "MEMORY_ASK_BUSY",
      -              "MEMORY_ASK_TIMEOUT",
      -              "MEMORY_ASK_FAILED",
      -              "MCP_TOOL_EXECUTION_FAILED",
      -              "MCP_TOOL_NOT_FOUND"
      -            ],
      -            "type": "string"
      -          },
      -          "currentCount": {
      -            "minimum": 0,
      -            "type": "integer"
      -          },
      -          "limit": {
      -            "minimum": 0,
      -            "type": [
      -              "integer",
      -              "null"
      -            ]
      -          },
      -          "message": {
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "recovery": {
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "requestId": {
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "resetDate": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "retryAfterSeconds": {
      -            "minimum": 1,
      -            "type": "integer"
      -          },
      -          "retryable": {
      -            "type": "boolean"
      -          },
      -          "toolName": {
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "verification": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "diagnostic": {
      -                "enum": [
      -                  "audit_payload_invalid",
      -                  "audit_unverified",
      -                  "repair_payload_invalid",
      -                  "repair_replacement_invalid",
      -                  "repair_edits_invalid",
      -                  "repair_edit_invalid",
      -                  "repair_size_limit",
      -                  "repair_anchor_missing",
      -                  "repair_anchor_ambiguous",
      -                  "repair_edits_overlap",
      -                  "repair_empty",
      -                  "repair_no_change",
      -                  "repair_copies_brief",
      -                  "repair_reference_leak",
      -                  "repair_declined",
      -                  "recheck_payload_invalid",
      -                  "recheck_invalid",
      -                  "recheck_unverified",
      -                  "audit_timeout",
      -                  "repair_timeout",
      -                  "recheck_timeout",
      -                  "audit_provider_failure",
      -                  "repair_provider_failure",
      -                  "recheck_provider_failure"
      -                ],
      -                "type": "string"
      -              },
      -              "elapsedMs": {
      -                "maximum": 9007199254740991,
      -                "minimum": 0,
      -                "type": "number"
      -              },
      -              "reason": {
      -                "enum": [
      -                  "invalid_input",
      -                  "input_limit",
      -                  "timeout",
      -                  "provider_failure",
      -                  "malformed_audit",
      -                  "model_unverified",
      -                  "invalid_repair",
      -                  "repair_not_verified",
      -                  "invalid_skill_structure",
      -                  "repaired_skill_structure_invalid"
      -                ],
      -                "type": "string"
      -              },
      -              "status": {
      -                "enum": [
      -                  "invalid",
      -                  "unverified"
      -                ],
      -                "type": "string"
      -              },
      -              "violationCount": {
      -                "maximum": 9007199254740991,
      -                "minimum": 0,
      -                "type": "integer"
      -              }
      -            },
      -            "required": [
      -              "status",
      -              "reason",
      -              "elapsedMs",
      -              "violationCount"
      -            ],
      -            "type": "object"
      -          }
      -        },
      -        "required": [
      -          "code",
      -          "message",
      -          "recovery",
      -          "retryable",
      -          "requestId"
      -        ],
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "error"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": true,
      +    "not": {
      +      "required": [
      +        "error"
      +      ]
      +    },
      +    "properties": {
      +      "modelId": {
      +        "type": "string"
      +      },
      +      "platformId": {
      +        "type": "string"
      +      },
      +      "promptId": {
      +        "format": "uuid",
      +        "type": "string"
      +      },
      +      "savedAt": {
      +        "type": "string"
      +      },
      +      "success": {
      +        "const": true,
      +        "type": "boolean"
      +      },
      +      "title": {
      +        "type": "string"
      +      },
      +      "type": {
      +        "enum": [
      +          "prompt",
      +          "skill"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "success",
      +      "promptId",
      +      "title",
      +      "type",
      +      "platformId",
      +      "modelId",
      +      "savedAt"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "additionalProperties": false,
      +        "allOf": [
      +          {
      +            "if": {
      +              "required": [
      +                "verification"
      +              ]
      +            },
      +            "then": {
      +              "properties": {
      +                "code": {
      +                  "const": "MCP_SOURCE_FIDELITY_FAILED"
      +                }
      +              }
      +            }
      +          }
      +        ],
      +        "properties": {
      +          "cause": {
      +            "enum": [
      +              "PAYLOAD_TOO_LARGE",
      +              "INSUFFICIENT_SCOPE",
      +              "QUOTA_EXCEEDED",
      +              "GENERATION_FAILED",
      +              "SCORING_FAILED",
      +              "GENERATION_TIMEOUT",
      +              "MCP_SOURCE_FIDELITY_FAILED",
      +              "MCP_PERSISTENCE_REQUIRED",
      +              "MCP_PROMPTDRIVE_SCHEMA_MISMATCH",
      +              "MCP_PROMPTDRIVE_CONSTRAINT_REJECTED",
      +              "MCP_PROMPTDRIVE_TIMEOUT",
      +              "MCP_PROMPTDRIVE_UNAVAILABLE",
      +              "MCP_PROMPTDRIVE_WRITE_FAILED",
      +              "PROMPT_NOT_FOUND",
      +              "MCP_RATE_LIMITER_UNAVAILABLE",
      +              "RATE_LIMIT_EXCEEDED",
      +              "MCP_REQUEST_IN_PROGRESS",
      +              "MCP_IDEMPOTENCY_REQUIRED",
      +              "MCP_IDEMPOTENCY_KEY_INVALID",
      +              "MCP_IDEMPOTENCY_KEY_REUSE_CONFLICT",
      +              "MCP_IDEMPOTENCY_LEDGER_UNAVAILABLE",
      +              "MCP_IDEMPOTENCY_LEASE_LOST",
      +              "MCP_QUOTA_RESERVATION_REQUIRED",
      +              "MCP_QUOTA_USER_NOT_FOUND",
      +              "MEMORY_UNAVAILABLE",
      +              "MEMORY_DISABLED",
      +              "MEMORY_SETTINGS_UNAVAILABLE",
      +              "MEMORY_READ_TIMEOUT",
      +              "MEMORY_SOURCES_FAILED",
      +              "MEMORY_SEARCH_TIMEOUT",
      +              "MEMORY_SEARCH_FAILED",
      +              "MEMORY_PAGE_ID_INVALID",
      +              "MEMORY_PAGE_TIMEOUT",
      +              "MEMORY_PAGE_FAILED",
      +              "MEMORY_PAGE_NOT_FOUND",
      +              "MEMORY_ASK_PRO_REQUIRED",
      +              "MEMORY_ASK_QUOTA",
      +              "MEMORY_ASK_BUSY",
      +              "MEMORY_ASK_TIMEOUT",
      +              "MEMORY_ASK_FAILED",
      +              "MCP_TOOL_EXECUTION_FAILED",
      +              "MCP_TOOL_NOT_FOUND"
      +            ],
      +            "type": "string"
      +          },
      +          "code": {
      +            "enum": [
      +              "PAYLOAD_TOO_LARGE",
      +              "INSUFFICIENT_SCOPE",
      +              "QUOTA_EXCEEDED",
      +              "GENERATION_FAILED",
      +              "SCORING_FAILED",
      +              "GENERATION_TIMEOUT",
      +              "MCP_SOURCE_FIDELITY_FAILED",
      +              "MCP_PERSISTENCE_REQUIRED",
      +              "MCP_PROMPTDRIVE_SCHEMA_MISMATCH",
      +              "MCP_PROMPTDRIVE_CONSTRAINT_REJECTED",
      +              "MCP_PROMPTDRIVE_TIMEOUT",
      +              "MCP_PROMPTDRIVE_UNAVAILABLE",
      +              "MCP_PROMPTDRIVE_WRITE_FAILED",
      +              "PROMPT_NOT_FOUND",
      +              "MCP_RATE_LIMITER_UNAVAILABLE",
      +              "RATE_LIMIT_EXCEEDED",
      +              "MCP_REQUEST_IN_PROGRESS",
      +              "MCP_IDEMPOTENCY_REQUIRED",
      +              "MCP_IDEMPOTENCY_KEY_INVALID",
      +              "MCP_IDEMPOTENCY_KEY_REUSE_CONFLICT",
      +              "MCP_IDEMPOTENCY_LEDGER_UNAVAILABLE",
      +              "MCP_IDEMPOTENCY_LEASE_LOST",
      +              "MCP_QUOTA_RESERVATION_REQUIRED",
      +              "MCP_QUOTA_USER_NOT_FOUND",
      +              "MEMORY_UNAVAILABLE",
      +              "MEMORY_DISABLED",
      +              "MEMORY_SETTINGS_UNAVAILABLE",
      +              "MEMORY_READ_TIMEOUT",
      +              "MEMORY_SOURCES_FAILED",
      +              "MEMORY_SEARCH_TIMEOUT",
      +              "MEMORY_SEARCH_FAILED",
      +              "MEMORY_PAGE_ID_INVALID",
      +              "MEMORY_PAGE_TIMEOUT",
      +              "MEMORY_PAGE_FAILED",
      +              "MEMORY_PAGE_NOT_FOUND",
      +              "MEMORY_ASK_PRO_REQUIRED",
      +              "MEMORY_ASK_QUOTA",
      +              "MEMORY_ASK_BUSY",
      +              "MEMORY_ASK_TIMEOUT",
      +              "MEMORY_ASK_FAILED",
      +              "MCP_TOOL_EXECUTION_FAILED",
      +              "MCP_TOOL_NOT_FOUND"
      +            ],
      +            "type": "string"
      +          },
      +          "currentCount": {
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "limit": {
      +            "minimum": 0,
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "message": {
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "recovery": {
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "requestId": {
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "resetDate": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "retryAfterSeconds": {
      +            "minimum": 1,
      +            "type": "integer"
      +          },
      +          "retryable": {
      +            "type": "boolean"
      +          },
      +          "toolName": {
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "verification": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "diagnostic": {
      +                "enum": [
      +                  "audit_payload_invalid",
      +                  "audit_unverified",
      +                  "repair_payload_invalid",
      +                  "repair_replacement_invalid",
      +                  "repair_edits_invalid",
      +                  "repair_edit_invalid",
      +                  "repair_size_limit",
      +                  "repair_anchor_missing",
      +                  "repair_anchor_ambiguous",
      +                  "repair_edits_overlap",
      +                  "repair_empty",
      +                  "repair_no_change",
      +                  "repair_copies_brief",
      +                  "repair_reference_leak",
      +                  "repair_declined",
      +                  "recheck_payload_invalid",
      +                  "recheck_invalid",
      +                  "recheck_unverified",
      +                  "audit_timeout",
      +                  "repair_timeout",
      +                  "recheck_timeout",
      +                  "audit_provider_failure",
      +                  "repair_provider_failure",
      +                  "recheck_provider_failure",
      +                  "skill_missing_frontmatter",
      +                  "skill_invalid_frontmatter_fields",
      +                  "skill_empty_body",
      +                  "skill_size_limit",
      +                  "skill_body_line_limit",
      +                  "skill_not_raw_markdown",
      +                  "skill_structure_invalid"
      +                ],
      +                "type": "string"
      +              },
      +              "elapsedMs": {
      +                "maximum": 9007199254740991,
      +                "minimum": 0,
      +                "type": "number"
      +              },
      +              "reason": {
      +                "enum": [
      +                  "invalid_input",
      +                  "input_limit",
      +                  "timeout",
      +                  "provider_failure",
      +                  "malformed_audit",
      +                  "model_unverified",
      +                  "invalid_repair",
      +                  "repair_not_verified",
      +                  "invalid_skill_structure",
      +                  "repaired_skill_structure_invalid"
      +                ],
      +                "type": "string"
      +              },
      +              "status": {
      +                "enum": [
      +                  "invalid",
      +                  "unverified"
      +                ],
      +                "type": "string"
      +              },
      +              "violationCount": {
      +                "maximum": 9007199254740991,
      +                "minimum": 0,
      +                "type": "integer"
      +              }
      +            },
      +            "required": [
      +              "status",
      +              "reason",
      +              "elapsedMs",
      +              "violationCount"
      +            ],
      +            "type": "object"
      +          }
      +        },
      +        "required": [
      +          "code",
      +          "message",
      +          "recovery",
      +          "retryable",
      +          "requestId"
      +        ],
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "error"
      +    ],
      +    "type": "object"
      +  }
      +]
    • changedOutput schema / properties / error / properties / verification / properties / diagnostic / enum
      Previous value: -[
      -  "audit_payload_invalid",
      -  "audit_unverified",
      -  "repair_payload_invalid",
      -  "repair_replacement_invalid",
      -  "repair_edits_invalid",
      -  "repair_edit_invalid",
      -  "repair_size_limit",
      -  "repair_anchor_missing",
      -  "repair_anchor_ambiguous",
      -  "repair_edits_overlap",
      -  "repair_empty",
      -  "repair_no_change",
      -  "repair_copies_brief",
      -  "repair_reference_leak",
      -  "repair_declined",
      -  "recheck_payload_invalid",
      -  "recheck_invalid",
      -  "recheck_unverified",
      -  "audit_timeout",
      -  "repair_timeout",
      -  "recheck_timeout",
      -  "audit_provider_failure",
      -  "repair_provider_failure",
      -  "recheck_provider_failure"
      -]New value: +[
      +  "audit_payload_invalid",
      +  "audit_unverified",
      +  "repair_payload_invalid",
      +  "repair_replacement_invalid",
      +  "repair_edits_invalid",
      +  "repair_edit_invalid",
      +  "repair_size_limit",
      +  "repair_anchor_missing",
      +  "repair_anchor_ambiguous",
      +  "repair_edits_overlap",
      +  "repair_empty",
      +  "repair_no_change",
      +  "repair_copies_brief",
      +  "repair_reference_leak",
      +  "repair_declined",
      +  "recheck_payload_invalid",
      +  "recheck_invalid",
      +  "recheck_unverified",
      +  "audit_timeout",
      +  "repair_timeout",
      +  "recheck_timeout",
      +  "audit_provider_failure",
      +  "repair_provider_failure",
      +  "recheck_provider_failure",
      +  "skill_missing_frontmatter",
      +  "skill_invalid_frontmatter_fields",
      +  "skill_empty_body",
      +  "skill_size_limit",
      +  "skill_body_line_limit",
      +  "skill_not_raw_markdown",
      +  "skill_structure_invalid"
      +]
  4. Changed3 schema fields changed
    • changedOutput schema / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": true,
      -    "not": {
      -      "required": [
      -        "error"
      -      ]
      -    },
      -    "properties": {
      -      "modelId": {
      -        "type": "string"
      -      },
      -      "platformId": {
      -        "type": "string"
      -      },
      -      "promptId": {
      -        "format": "uuid",
      -        "type": "string"
      -      },
      -      "savedAt": {
      -        "type": "string"
      -      },
      -      "success": {
      -        "const": true,
      -        "type": "boolean"
      -      },
      -      "title": {
      -        "type": "string"
      -      },
      -      "type": {
      -        "enum": [
      -          "prompt",
      -          "skill"
      -        ],
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "success",
      -      "promptId",
      -      "title",
      -      "type",
      -      "platformId",
      -      "modelId",
      -      "savedAt"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "cause": {
      -            "enum": [
      -              "PAYLOAD_TOO_LARGE",
      -              "INSUFFICIENT_SCOPE",
      -              "QUOTA_EXCEEDED",
      -              "GENERATION_FAILED",
      -              "SCORING_FAILED",
      -              "GENERATION_TIMEOUT",
      -              "MCP_SOURCE_FIDELITY_FAILED",
      -              "MCP_PERSISTENCE_REQUIRED",
      -              "MCP_PROMPTDRIVE_SCHEMA_MISMATCH",
      -              "MCP_PROMPTDRIVE_CONSTRAINT_REJECTED",
      -              "MCP_PROMPTDRIVE_TIMEOUT",
      -              "MCP_PROMPTDRIVE_UNAVAILABLE",
      -              "MCP_PROMPTDRIVE_WRITE_FAILED",
      -              "PROMPT_NOT_FOUND",
      -              "MCP_RATE_LIMITER_UNAVAILABLE",
      -              "RATE_LIMIT_EXCEEDED",
      -              "MCP_REQUEST_IN_PROGRESS",
      -              "MCP_IDEMPOTENCY_REQUIRED",
      -              "MCP_IDEMPOTENCY_KEY_INVALID",
      -              "MCP_IDEMPOTENCY_KEY_REUSE_CONFLICT",
      -              "MCP_IDEMPOTENCY_LEDGER_UNAVAILABLE",
      -              "MCP_IDEMPOTENCY_LEASE_LOST",
      -              "MCP_QUOTA_RESERVATION_REQUIRED",
      -              "MCP_QUOTA_USER_NOT_FOUND",
      -              "MEMORY_UNAVAILABLE",
      -              "MEMORY_DISABLED",
      -              "MEMORY_SETTINGS_UNAVAILABLE",
      -              "MEMORY_READ_TIMEOUT",
      -              "MEMORY_SOURCES_FAILED",
      -              "MEMORY_SEARCH_TIMEOUT",
      -              "MEMORY_SEARCH_FAILED",
      -              "MEMORY_PAGE_ID_INVALID",
      -              "MEMORY_PAGE_TIMEOUT",
      -              "MEMORY_PAGE_FAILED",
      -              "MEMORY_PAGE_NOT_FOUND",
      -              "MEMORY_ASK_PRO_REQUIRED",
      -              "MEMORY_ASK_QUOTA",
      -              "MEMORY_ASK_BUSY",
      -              "MEMORY_ASK_TIMEOUT",
      -              "MEMORY_ASK_FAILED",
      -              "MCP_TOOL_EXECUTION_FAILED",
      -              "MCP_TOOL_NOT_FOUND"
      -            ],
      -            "type": "string"
      -          },
      -          "code": {
      -            "enum": [
      -              "PAYLOAD_TOO_LARGE",
      -              "INSUFFICIENT_SCOPE",
      -              "QUOTA_EXCEEDED",
      -              "GENERATION_FAILED",
      -              "SCORING_FAILED",
      -              "GENERATION_TIMEOUT",
      -              "MCP_SOURCE_FIDELITY_FAILED",
      -              "MCP_PERSISTENCE_REQUIRED",
      -              "MCP_PROMPTDRIVE_SCHEMA_MISMATCH",
      -              "MCP_PROMPTDRIVE_CONSTRAINT_REJECTED",
      -              "MCP_PROMPTDRIVE_TIMEOUT",
      -              "MCP_PROMPTDRIVE_UNAVAILABLE",
      -              "MCP_PROMPTDRIVE_WRITE_FAILED",
      -              "PROMPT_NOT_FOUND",
      -              "MCP_RATE_LIMITER_UNAVAILABLE",
      -              "RATE_LIMIT_EXCEEDED",
      -              "MCP_REQUEST_IN_PROGRESS",
      -              "MCP_IDEMPOTENCY_REQUIRED",
      -              "MCP_IDEMPOTENCY_KEY_INVALID",
      -              "MCP_IDEMPOTENCY_KEY_REUSE_CONFLICT",
      -              "MCP_IDEMPOTENCY_LEDGER_UNAVAILABLE",
      -              "MCP_IDEMPOTENCY_LEASE_LOST",
      -              "MCP_QUOTA_RESERVATION_REQUIRED",
      -              "MCP_QUOTA_USER_NOT_FOUND",
      -              "MEMORY_UNAVAILABLE",
      -              "MEMORY_DISABLED",
      -              "MEMORY_SETTINGS_UNAVAILABLE",
      -              "MEMORY_READ_TIMEOUT",
      -              "MEMORY_SOURCES_FAILED",
      -              "MEMORY_SEARCH_TIMEOUT",
      -              "MEMORY_SEARCH_FAILED",
      -              "MEMORY_PAGE_ID_INVALID",
      -              "MEMORY_PAGE_TIMEOUT",
      -              "MEMORY_PAGE_FAILED",
      -              "MEMORY_PAGE_NOT_FOUND",
      -              "MEMORY_ASK_PRO_REQUIRED",
      -              "MEMORY_ASK_QUOTA",
      -              "MEMORY_ASK_BUSY",
      -              "MEMORY_ASK_TIMEOUT",
      -              "MEMORY_ASK_FAILED",
      -              "MCP_TOOL_EXECUTION_FAILED",
      -              "MCP_TOOL_NOT_FOUND"
      -            ],
      -            "type": "string"
      -          },
      -          "currentCount": {
      -            "minimum": 0,
      -            "type": "integer"
      -          },
      -          "limit": {
      -            "minimum": 0,
      -            "type": [
      -              "integer",
      -              "null"
      -            ]
      -          },
      -          "message": {
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "recovery": {
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "requestId": {
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "resetDate": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "retryAfterSeconds": {
      -            "minimum": 1,
      -            "type": "integer"
      -          },
      -          "retryable": {
      -            "type": "boolean"
      -          },
      -          "toolName": {
      -            "minLength": 1,
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "code",
      -          "message",
      -          "recovery",
      -          "retryable",
      -          "requestId"
      -        ],
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "error"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": true,
      +    "not": {
      +      "required": [
      +        "error"
      +      ]
      +    },
      +    "properties": {
      +      "modelId": {
      +        "type": "string"
      +      },
      +      "platformId": {
      +        "type": "string"
      +      },
      +      "promptId": {
      +        "format": "uuid",
      +        "type": "string"
      +      },
      +      "savedAt": {
      +        "type": "string"
      +      },
      +      "success": {
      +        "const": true,
      +        "type": "boolean"
      +      },
      +      "title": {
      +        "type": "string"
      +      },
      +      "type": {
      +        "enum": [
      +          "prompt",
      +          "skill"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "success",
      +      "promptId",
      +      "title",
      +      "type",
      +      "platformId",
      +      "modelId",
      +      "savedAt"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "additionalProperties": false,
      +        "allOf": [
      +          {
      +            "if": {
      +              "required": [
      +                "verification"
      +              ]
      +            },
      +            "then": {
      +              "properties": {
      +                "code": {
      +                  "const": "MCP_SOURCE_FIDELITY_FAILED"
      +                }
      +              }
      +            }
      +          }
      +        ],
      +        "properties": {
      +          "cause": {
      +            "enum": [
      +              "PAYLOAD_TOO_LARGE",
      +              "INSUFFICIENT_SCOPE",
      +              "QUOTA_EXCEEDED",
      +              "GENERATION_FAILED",
      +              "SCORING_FAILED",
      +              "GENERATION_TIMEOUT",
      +              "MCP_SOURCE_FIDELITY_FAILED",
      +              "MCP_PERSISTENCE_REQUIRED",
      +              "MCP_PROMPTDRIVE_SCHEMA_MISMATCH",
      +              "MCP_PROMPTDRIVE_CONSTRAINT_REJECTED",
      +              "MCP_PROMPTDRIVE_TIMEOUT",
      +              "MCP_PROMPTDRIVE_UNAVAILABLE",
      +              "MCP_PROMPTDRIVE_WRITE_FAILED",
      +              "PROMPT_NOT_FOUND",
      +              "MCP_RATE_LIMITER_UNAVAILABLE",
      +              "RATE_LIMIT_EXCEEDED",
      +              "MCP_REQUEST_IN_PROGRESS",
      +              "MCP_IDEMPOTENCY_REQUIRED",
      +              "MCP_IDEMPOTENCY_KEY_INVALID",
      +              "MCP_IDEMPOTENCY_KEY_REUSE_CONFLICT",
      +              "MCP_IDEMPOTENCY_LEDGER_UNAVAILABLE",
      +              "MCP_IDEMPOTENCY_LEASE_LOST",
      +              "MCP_QUOTA_RESERVATION_REQUIRED",
      +              "MCP_QUOTA_USER_NOT_FOUND",
      +              "MEMORY_UNAVAILABLE",
      +              "MEMORY_DISABLED",
      +              "MEMORY_SETTINGS_UNAVAILABLE",
      +              "MEMORY_READ_TIMEOUT",
      +              "MEMORY_SOURCES_FAILED",
      +              "MEMORY_SEARCH_TIMEOUT",
      +              "MEMORY_SEARCH_FAILED",
      +              "MEMORY_PAGE_ID_INVALID",
      +              "MEMORY_PAGE_TIMEOUT",
      +              "MEMORY_PAGE_FAILED",
      +              "MEMORY_PAGE_NOT_FOUND",
      +              "MEMORY_ASK_PRO_REQUIRED",
      +              "MEMORY_ASK_QUOTA",
      +              "MEMORY_ASK_BUSY",
      +              "MEMORY_ASK_TIMEOUT",
      +              "MEMORY_ASK_FAILED",
      +              "MCP_TOOL_EXECUTION_FAILED",
      +              "MCP_TOOL_NOT_FOUND"
      +            ],
      +            "type": "string"
      +          },
      +          "code": {
      +            "enum": [
      +              "PAYLOAD_TOO_LARGE",
      +              "INSUFFICIENT_SCOPE",
      +              "QUOTA_EXCEEDED",
      +              "GENERATION_FAILED",
      +              "SCORING_FAILED",
      +              "GENERATION_TIMEOUT",
      +              "MCP_SOURCE_FIDELITY_FAILED",
      +              "MCP_PERSISTENCE_REQUIRED",
      +              "MCP_PROMPTDRIVE_SCHEMA_MISMATCH",
      +              "MCP_PROMPTDRIVE_CONSTRAINT_REJECTED",
      +              "MCP_PROMPTDRIVE_TIMEOUT",
      +              "MCP_PROMPTDRIVE_UNAVAILABLE",
      +              "MCP_PROMPTDRIVE_WRITE_FAILED",
      +              "PROMPT_NOT_FOUND",
      +              "MCP_RATE_LIMITER_UNAVAILABLE",
      +              "RATE_LIMIT_EXCEEDED",
      +              "MCP_REQUEST_IN_PROGRESS",
      +              "MCP_IDEMPOTENCY_REQUIRED",
      +              "MCP_IDEMPOTENCY_KEY_INVALID",
      +              "MCP_IDEMPOTENCY_KEY_REUSE_CONFLICT",
      +              "MCP_IDEMPOTENCY_LEDGER_UNAVAILABLE",
      +              "MCP_IDEMPOTENCY_LEASE_LOST",
      +              "MCP_QUOTA_RESERVATION_REQUIRED",
      +              "MCP_QUOTA_USER_NOT_FOUND",
      +              "MEMORY_UNAVAILABLE",
      +              "MEMORY_DISABLED",
      +              "MEMORY_SETTINGS_UNAVAILABLE",
      +              "MEMORY_READ_TIMEOUT",
      +              "MEMORY_SOURCES_FAILED",
      +              "MEMORY_SEARCH_TIMEOUT",
      +              "MEMORY_SEARCH_FAILED",
      +              "MEMORY_PAGE_ID_INVALID",
      +              "MEMORY_PAGE_TIMEOUT",
      +              "MEMORY_PAGE_FAILED",
      +              "MEMORY_PAGE_NOT_FOUND",
      +              "MEMORY_ASK_PRO_REQUIRED",
      +              "MEMORY_ASK_QUOTA",
      +              "MEMORY_ASK_BUSY",
      +              "MEMORY_ASK_TIMEOUT",
      +              "MEMORY_ASK_FAILED",
      +              "MCP_TOOL_EXECUTION_FAILED",
      +              "MCP_TOOL_NOT_FOUND"
      +            ],
      +            "type": "string"
      +          },
      +          "currentCount": {
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "limit": {
      +            "minimum": 0,
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "message": {
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "recovery": {
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "requestId": {
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "resetDate": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "retryAfterSeconds": {
      +            "minimum": 1,
      +            "type": "integer"
      +          },
      +          "retryable": {
      +            "type": "boolean"
      +          },
      +          "toolName": {
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "verification": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "diagnostic": {
      +                "enum": [
      +                  "audit_payload_invalid",
      +                  "audit_unverified",
      +                  "repair_payload_invalid",
      +                  "repair_replacement_invalid",
      +                  "repair_edits_invalid",
      +                  "repair_edit_invalid",
      +                  "repair_size_limit",
      +                  "repair_anchor_missing",
      +                  "repair_anchor_ambiguous",
      +                  "repair_edits_overlap",
      +                  "repair_empty",
      +                  "repair_no_change",
      +                  "repair_copies_brief",
      +                  "repair_reference_leak",
      +                  "repair_declined",
      +                  "recheck_payload_invalid",
      +                  "recheck_invalid",
      +                  "recheck_unverified",
      +                  "audit_timeout",
      +                  "repair_timeout",
      +                  "recheck_timeout",
      +                  "audit_provider_failure",
      +                  "repair_provider_failure",
      +                  "recheck_provider_failure"
      +                ],
      +                "type": "string"
      +              },
      +              "elapsedMs": {
      +                "maximum": 9007199254740991,
      +                "minimum": 0,
      +                "type": "number"
      +              },
      +              "reason": {
      +                "enum": [
      +                  "invalid_input",
      +                  "input_limit",
      +                  "timeout",
      +                  "provider_failure",
      +                  "malformed_audit",
      +                  "model_unverified",
      +                  "invalid_repair",
      +                  "repair_not_verified",
      +                  "invalid_skill_structure",
      +                  "repaired_skill_structure_invalid"
      +                ],
      +                "type": "string"
      +              },
      +              "status": {
      +                "enum": [
      +                  "invalid",
      +                  "unverified"
      +                ],
      +                "type": "string"
      +              },
      +              "violationCount": {
      +                "maximum": 9007199254740991,
      +                "minimum": 0,
      +                "type": "integer"
      +              }
      +            },
      +            "required": [
      +              "status",
      +              "reason",
      +              "elapsedMs",
      +              "violationCount"
      +            ],
      +            "type": "object"
      +          }
      +        },
      +        "required": [
      +          "code",
      +          "message",
      +          "recovery",
      +          "retryable",
      +          "requestId"
      +        ],
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "error"
      +    ],
      +    "type": "object"
      +  }
      +]
    • addedOutput schema / properties / error / allOf
      Added value: +[
      +  {
      +    "if": {
      +      "required": [
      +        "verification"
      +      ]
      +    },
      +    "then": {
      +      "properties": {
      +        "code": {
      +          "const": "MCP_SOURCE_FIDELITY_FAILED"
      +        }
      +      }
      +    }
      +  }
      +]
    • addedOutput schema / properties / error / properties / verification
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "diagnostic": {
      +      "enum": [
      +        "audit_payload_invalid",
      +        "audit_unverified",
      +        "repair_payload_invalid",
      +        "repair_replacement_invalid",
      +        "repair_edits_invalid",
      +        "repair_edit_invalid",
      +        "repair_size_limit",
      +        "repair_anchor_missing",
      +        "repair_anchor_ambiguous",
      +        "repair_edits_overlap",
      +        "repair_empty",
      +        "repair_no_change",
      +        "repair_copies_brief",
      +        "repair_reference_leak",
      +        "repair_declined",
      +        "recheck_payload_invalid",
      +        "recheck_invalid",
      +        "recheck_unverified",
      +        "audit_timeout",
      +        "repair_timeout",
      +        "recheck_timeout",
      +        "audit_provider_failure",
      +        "repair_provider_failure",
      +        "recheck_provider_failure"
      +      ],
      +      "type": "string"
      +    },
      +    "elapsedMs": {
      +      "maximum": 9007199254740991,
      +      "minimum": 0,
      +      "type": "number"
      +    },
      +    "reason": {
      +      "enum": [
      +        "invalid_input",
      +        "input_limit",
      +        "timeout",
      +        "provider_failure",
      +        "malformed_audit",
      +        "model_unverified",
      +        "invalid_repair",
      +        "repair_not_verified",
      +        "invalid_skill_structure",
      +        "repaired_skill_structure_invalid"
      +      ],
      +      "type": "string"
      +    },
      +    "status": {
      +      "enum": [
      +        "invalid",
      +        "unverified"
      +      ],
      +      "type": "string"
      +    },
      +    "violationCount": {
      +      "maximum": 9007199254740991,
      +      "minimum": 0,
      +      "type": "integer"
      +    }
      +  },
      +  "required": [
      +    "status",
      +    "reason",
      +    "elapsedMs",
      +    "violationCount"
      +  ],
      +  "type": "object"
      +}
  5. First observed

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only state readOnlyHint=false and destructiveHint=false, which convey it is a mutating but non-destructive operation. The description adds important behavioral context: it queues background enrichment using external AI processors, and it clarifies side-effect boundaries (does not overwrite, publish, or install/execute). This goes beyond the annotations and gives the agent a realistic expectation of side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences with zero filler. It front-loads the primary action, then adds the background-enrichment behavior, and finally states exclusions. Every sentence adds necessary information without redundancy, making it both concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a create operation with 9 parameters and an output schema (not provided but exists), the description covers the essential behavioral aspects: what is created, privacy, background processing, and what it does not do. It does not mention return values, but the output schema handles that. The only minor gap is the absence of explicit guidance on the idempotencyKey use, but that is described in the schema itself.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides detailed descriptions for all 9 parameters (100% coverage). The description adds minimal extra value beyond reinforcing the distinction between prompt and skill content (through 'prompt or SKILL.md content'). Since the schema already carries the semantic load, the description's contribution is marginal, landing at the baseline for high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a clear, specific verb+resource: 'Create a new private PromptDrive item from the supplied prompt or SKILL.md content.' It immediately distinguishes the tool from its siblings (get_prompt, list_prompts, generate_prompt, etc.) by stating what it does and explicitly what it does not do (overwrite, publish, install/execute). The scope is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on what the tool is for (saving new content) and includes explicit negative constraints ('Does not overwrite another item, publish the content, or install or execute a skill'), which guide against misuse. However, it does not explicitly name alternatives or say 'use this instead of X' when certain conditions apply, though the sibling set makes the distinction obvious.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources