Skip to main content
Glama

Reopen task

task_reopen
DestructiveIdempotent

Reopen a done or cancelled task; it goes back to To do, except a proposal cancelled while In review and still for the one who proposed it, which goes back In review to its reviewer on a new round carrying the same draft, whoever cancelled it. An approval is spent once used: the approved round and any cancel reason are cleared; every round, the result and the links stay.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "id": "<id>"
    },
    "name": "task_reopen"
  }
}

Input Schema

NameRequiredDescriptionDefault
idYesThe task, by its id.
whyNoRequired for workspace items: one sentence on what the person is trying to accomplish, in their terms, not a description of this edit. Every workspace write takes one; sessions and summaries record themselves from it. At most 300 characters.

Output Schema

NameRequiredDescriptionDefault
taskYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedOutput schema / properties / task / properties / job
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "id": {
      +          "format": "uuid",
      +          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      +          "type": "string"
      +        },
      +        "name": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "id",
      +        "name"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / task / properties / labels
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • changedOutput schema / properties / task / properties / latestRound / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "number": {
      -        "exclusiveMinimum": 0,
      -        "maximum": 9007199254740991,
      -        "type": "integer"
      -      },
      -      "outcome": {
      -        "anyOf": [
      -          {
      -            "enum": [
      -              "approved",
      -              "sent_back",
      -              "cancelled",
      -              "withdrawn",
      -              "replaced"
      -            ],
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      }
      -    },
      -    "required": [
      -      "number",
      -      "outcome"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "number": {
      +        "exclusiveMinimum": 0,
      +        "maximum": 9007199254740991,
      +        "type": "integer"
      +      },
      +      "outcome": {
      +        "anyOf": [
      +          {
      +            "enum": [
      +              "approved",
      +              "sent_back",
      +              "cancelled",
      +              "withdrawn",
      +              "replaced"
      +            ],
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Deprecated: the same value as verdict; removed when the window round-outcome-field-window closes."
      +      },
      +      "verdict": {
      +        "anyOf": [
      +          {
      +            "enum": [
      +              "approved",
      +              "sent_back",
      +              "cancelled",
      +              "withdrawn",
      +              "replaced"
      +            ],
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      }
      +    },
      +    "required": [
      +      "number",
      +      "verdict",
      +      "outcome"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / task / required
      Previous value: -[
      -  "id",
      -  "status",
      -  "type",
      -  "step",
      -  "holder",
      -  "assignee",
      -  "reviewer",
      -  "createdBy",
      -  "completedBy",
      -  "parentId",
      -  "latestRound",
      -  "result",
      -  "cancelledById",
      -  "cancelledAt",
      -  "cancelReason"
      -]New value: +[
      +  "id",
      +  "status",
      +  "type",
      +  "step",
      +  "labels",
      +  "job",
      +  "holder",
      +  "assignee",
      +  "reviewer",
      +  "createdBy",
      +  "completedBy",
      +  "parentId",
      +  "latestRound",
      +  "result",
      +  "cancelledById",
      +  "cancelledAt",
      +  "cancelReason"
      +]
  2. Changed5 schema fields changed
    • changedOutput schema / properties / task / properties / assignee / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "account": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "alias": {
      -            "anyOf": [
      -              {
      -                "type": "string"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ]
      -          },
      -          "id": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "id",
      -          "alias"
      -        ],
      -        "type": "object"
      -      },
      -      "agent": {
      -        "anyOf": [
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "harness": {
      -                "anyOf": [
      -                  {
      -                    "type": "string"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              },
      -              "id": {
      -                "anyOf": [
      -                  {
      -                    "format": "uuid",
      -                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      -                    "type": "string"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              },
      -              "name": {
      -                "anyOf": [
      -                  {
      -                    "type": "string"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              }
      -            },
      -            "required": [
      -              "id",
      -              "name",
      -              "harness"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "isCaller": {
      -        "type": "boolean"
      -      },
      -      "mine": {
      -        "type": "boolean"
      -      }
      -    },
      -    "required": [
      -      "account",
      -      "agent",
      -      "mine",
      -      "isCaller"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "account": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "alias": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "former": {
      +            "const": true,
      +            "type": "boolean"
      +          },
      +          "id": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "alias"
      +        ],
      +        "type": "object"
      +      },
      +      "agent": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "harness": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "id": {
      +                "anyOf": [
      +                  {
      +                    "format": "uuid",
      +                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "name": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              }
      +            },
      +            "required": [
      +              "id",
      +              "name",
      +              "harness"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "isCaller": {
      +        "type": "boolean"
      +      },
      +      "mine": {
      +        "type": "boolean"
      +      }
      +    },
      +    "required": [
      +      "account",
      +      "agent",
      +      "mine",
      +      "isCaller"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / task / properties / completedBy / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "account": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "alias": {
      -            "anyOf": [
      -              {
      -                "type": "string"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ]
      -          },
      -          "id": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "id",
      -          "alias"
      -        ],
      -        "type": "object"
      -      },
      -      "agent": {
      -        "anyOf": [
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "harness": {
      -                "anyOf": [
      -                  {
      -                    "type": "string"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              },
      -              "id": {
      -                "anyOf": [
      -                  {
      -                    "format": "uuid",
      -                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      -                    "type": "string"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              },
      -              "name": {
      -                "anyOf": [
      -                  {
      -                    "type": "string"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              }
      -            },
      -            "required": [
      -              "id",
      -              "name",
      -              "harness"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "isCaller": {
      -        "type": "boolean"
      -      },
      -      "mine": {
      -        "type": "boolean"
      -      }
      -    },
      -    "required": [
      -      "account",
      -      "agent",
      -      "mine",
      -      "isCaller"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "account": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "alias": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "former": {
      +            "const": true,
      +            "type": "boolean"
      +          },
      +          "id": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "alias"
      +        ],
      +        "type": "object"
      +      },
      +      "agent": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "harness": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "id": {
      +                "anyOf": [
      +                  {
      +                    "format": "uuid",
      +                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "name": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              }
      +            },
      +            "required": [
      +              "id",
      +              "name",
      +              "harness"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "isCaller": {
      +        "type": "boolean"
      +      },
      +      "mine": {
      +        "type": "boolean"
      +      }
      +    },
      +    "required": [
      +      "account",
      +      "agent",
      +      "mine",
      +      "isCaller"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / task / properties / createdBy / properties / account / properties / former
      Added value: +{
      +  "const": true,
      +  "type": "boolean"
      +}
    • changedOutput schema / properties / task / properties / holder / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "account": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "alias": {
      -            "anyOf": [
      -              {
      -                "type": "string"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ]
      -          },
      -          "id": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "id",
      -          "alias"
      -        ],
      -        "type": "object"
      -      },
      -      "agent": {
      -        "anyOf": [
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "name": {
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "name"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "heldByCaller": {
      -        "type": "boolean"
      -      },
      -      "inBrowser": {
      -        "type": "boolean"
      -      },
      -      "leaseExpiresAt": {
      -        "anyOf": [
      -          {
      -            "format": "date-time",
      -            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "mine": {
      -        "type": "boolean"
      -      },
      -      "since": {
      -        "format": "date-time",
      -        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      -        "type": "string"
      -      },
      -      "surface": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      }
      -    },
      -    "required": [
      -      "account",
      -      "agent",
      -      "surface",
      -      "inBrowser",
      -      "since",
      -      "leaseExpiresAt",
      -      "mine",
      -      "heldByCaller"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "account": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "alias": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "former": {
      +            "const": true,
      +            "type": "boolean"
      +          },
      +          "id": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "alias"
      +        ],
      +        "type": "object"
      +      },
      +      "agent": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "name": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "name"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "heldByCaller": {
      +        "type": "boolean"
      +      },
      +      "inBrowser": {
      +        "type": "boolean"
      +      },
      +      "leaseExpiresAt": {
      +        "anyOf": [
      +          {
      +            "format": "date-time",
      +            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "mine": {
      +        "type": "boolean"
      +      },
      +      "since": {
      +        "format": "date-time",
      +        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      +        "type": "string"
      +      },
      +      "surface": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      }
      +    },
      +    "required": [
      +      "account",
      +      "agent",
      +      "surface",
      +      "inBrowser",
      +      "since",
      +      "leaseExpiresAt",
      +      "mine",
      +      "heldByCaller"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / task / properties / reviewer / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "account": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "alias": {
      -            "anyOf": [
      -              {
      -                "type": "string"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ]
      -          },
      -          "id": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "id",
      -          "alias"
      -        ],
      -        "type": "object"
      -      },
      -      "agent": {
      -        "anyOf": [
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "harness": {
      -                "anyOf": [
      -                  {
      -                    "type": "string"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              },
      -              "id": {
      -                "anyOf": [
      -                  {
      -                    "format": "uuid",
      -                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      -                    "type": "string"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              },
      -              "name": {
      -                "anyOf": [
      -                  {
      -                    "type": "string"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              }
      -            },
      -            "required": [
      -              "id",
      -              "name",
      -              "harness"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "isCaller": {
      -        "type": "boolean"
      -      },
      -      "mine": {
      -        "type": "boolean"
      -      }
      -    },
      -    "required": [
      -      "account",
      -      "agent",
      -      "mine",
      -      "isCaller"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "account": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "alias": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "former": {
      +            "const": true,
      +            "type": "boolean"
      +          },
      +          "id": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "alias"
      +        ],
      +        "type": "object"
      +      },
      +      "agent": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "harness": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "id": {
      +                "anyOf": [
      +                  {
      +                    "format": "uuid",
      +                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "name": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              }
      +            },
      +            "required": [
      +              "id",
      +              "name",
      +              "harness"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "isCaller": {
      +        "type": "boolean"
      +      },
      +      "mine": {
      +        "type": "boolean"
      +      }
      +    },
      +    "required": [
      +      "account",
      +      "agent",
      +      "mine",
      +      "isCaller"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  3. Changed6 schema fields changed
    • removedOutput schema / properties / task / properties / approveVerb
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • removedOutput schema / properties / task / properties / decision
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "additionalProperties": false,
      -      "properties": {
      -        "at": {
      -          "format": "date-time",
      -          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      -          "type": "string"
      -        },
      -        "by": {
      -          "anyOf": [
      -            {
      -              "additionalProperties": false,
      -              "properties": {
      -                "account": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "alias": {
      -                      "anyOf": [
      -                        {
      -                          "type": "string"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ]
      -                    },
      -                    "id": {
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "id",
      -                    "alias"
      -                  ],
      -                  "type": "object"
      -                },
      -                "agent": {
      -                  "anyOf": [
      -                    {
      -                      "additionalProperties": false,
      -                      "properties": {
      -                        "harness": {
      -                          "anyOf": [
      -                            {
      -                              "type": "string"
      -                            },
      -                            {
      -                              "type": "null"
      -                            }
      -                          ]
      -                        },
      -                        "id": {
      -                          "anyOf": [
      -                            {
      -                              "format": "uuid",
      -                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      -                              "type": "string"
      -                            },
      -                            {
      -                              "type": "null"
      -                            }
      -                          ]
      -                        },
      -                        "name": {
      -                          "anyOf": [
      -                            {
      -                              "type": "string"
      -                            },
      -                            {
      -                              "type": "null"
      -                            }
      -                          ]
      -                        }
      -                      },
      -                      "required": [
      -                        "id",
      -                        "name",
      -                        "harness"
      -                      ],
      -                      "type": "object"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                },
      -                "isCaller": {
      -                  "type": "boolean"
      -                },
      -                "mine": {
      -                  "type": "boolean"
      -                }
      -              },
      -              "required": [
      -                "account",
      -                "agent",
      -                "mine",
      -                "isCaller"
      -              ],
      -              "type": "object"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ]
      -        },
      -        "byInstructions": {
      -          "anyOf": [
      -            {
      -              "additionalProperties": false,
      -              "properties": {
      -                "agent": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "account": {
      -                      "additionalProperties": false,
      -                      "properties": {
      -                        "alias": {
      -                          "anyOf": [
      -                            {
      -                              "type": "string"
      -                            },
      -                            {
      -                              "type": "null"
      -                            }
      -                          ]
      -                        },
      -                        "id": {
      -                          "type": "string"
      -                        }
      -                      },
      -                      "required": [
      -                        "id",
      -                        "alias"
      -                      ],
      -                      "type": "object"
      -                    },
      -                    "agent": {
      -                      "anyOf": [
      -                        {
      -                          "additionalProperties": false,
      -                          "properties": {
      -                            "harness": {
      -                              "anyOf": [
      -                                {
      -                                  "type": "string"
      -                                },
      -                                {
      -                                  "type": "null"
      -                                }
      -                              ]
      -                            },
      -                            "id": {
      -                              "anyOf": [
      -                                {
      -                                  "format": "uuid",
      -                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      -                                  "type": "string"
      -                                },
      -                                {
      -                                  "type": "null"
      -                                }
      -                              ]
      -                            },
      -                            "name": {
      -                              "anyOf": [
      -                                {
      -                                  "type": "string"
      -                                },
      -                                {
      -                                  "type": "null"
      -                                }
      -                              ]
      -                            }
      -                          },
      -                          "required": [
      -                            "id",
      -                            "name",
      -                            "harness"
      -                          ],
      -                          "type": "object"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ]
      -                    },
      -                    "isCaller": {
      -                      "type": "boolean"
      -                    },
      -                    "mine": {
      -                      "type": "boolean"
      -                    }
      -                  },
      -                  "required": [
      -                    "account",
      -                    "agent",
      -                    "mine",
      -                    "isCaller"
      -                  ],
      -                  "type": "object"
      -                },
      -                "version": {
      -                  "exclusiveMinimum": 0,
      -                  "maximum": 9007199254740991,
      -                  "type": "integer"
      -                }
      -              },
      -              "required": [
      -                "version",
      -                "agent"
      -              ],
      -              "type": "object"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ]
      -        },
      -        "edited": {
      -          "type": "boolean"
      -        },
      -        "outcome": {
      -          "enum": [
      -            "approved",
      -            "skipped"
      -          ],
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "outcome",
      -        "at",
      -        "by",
      -        "byInstructions",
      -        "edited"
      -      ],
      -      "type": "object"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • addedOutput schema / properties / task / properties / latestRound
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "number": {
      +          "exclusiveMinimum": 0,
      +          "maximum": 9007199254740991,
      +          "type": "integer"
      +        },
      +        "outcome": {
      +          "anyOf": [
      +            {
      +              "enum": [
      +                "approved",
      +                "sent_back",
      +                "cancelled",
      +                "withdrawn",
      +                "replaced"
      +              ],
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        }
      +      },
      +      "required": [
      +        "number",
      +        "outcome"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / task / properties / step
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / task / properties / type
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • changedOutput schema / properties / task / required
      Previous value: -[
      -  "id",
      -  "status",
      -  "holder",
      -  "assignee",
      -  "reviewer",
      -  "createdBy",
      -  "completedBy",
      -  "parentId",
      -  "approveVerb",
      -  "decision",
      -  "result",
      -  "cancelledById",
      -  "cancelledAt",
      -  "cancelReason"
      -]New value: +[
      +  "id",
      +  "status",
      +  "type",
      +  "step",
      +  "holder",
      +  "assignee",
      +  "reviewer",
      +  "createdBy",
      +  "completedBy",
      +  "parentId",
      +  "latestRound",
      +  "result",
      +  "cancelledById",
      +  "cancelledAt",
      +  "cancelReason"
      +]
  4. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Well beyond the destructiveHint/idempotentHint annotations, it discloses which data is cleared (the spent approval round and any cancel reason) and which is preserved (every round, the result and the links), plus the round/assignment reassignment semantics. It does not say who is permitted to reopen or what the call returns/errors on, which matters for a destructive mutation.

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

Conciseness3/5

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

The primary behavior is front-loaded, but the exception clause is a single run-on 'except a proposal cancelled while In review and still for the one who proposed it, which goes back In review to its reviewer on a new round carrying the same draft, whoever cancelled it' that requires re-reading to parse the actor and target. Information-dense with no filler, yet the packaging hurts comprehension.

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?

With an output schema present and both parameters documented, the description only needs to carry lifecycle semantics — and it does, covering state transition, approval consumption, and data retention. Gaps are permissions, behavior on an ineligible state, and error conditions, which an agent would want before firing a destructive write.

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?

Schema coverage is 100% and both parameters, including the workspace-only 'why' sentence requirement and 300-character cap, are fully documented in the schema. The description adds no parameter-level meaning of its own, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource ('Reopen a done or cancelled task') plus the resulting state ('goes back to To do'), which immediately separates it from task_complete and task_cancel. It stops short of naming those siblings explicitly, so an agent must infer the inverse relationship.

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 precondition is explicit — the task must be done or cancelled — and the proposal-cancelled-while-In-review exception is spelled out, which is exactly the kind of edge case an agent would otherwise get wrong. It never states what happens if the task is in another state (error vs. no-op) nor which sibling to use instead for other lifecycle moves.

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.