Semantics
Read-only. Returns projects with id, title, status, target_date, % complete (computed from tasks), and the client they belong to. Filterable by status. Used by agents to answer "what's going on with my projects?"
Invariants
- Pure read. No state change.
- `percent_complete` is derived live from task counts; not cached.
When to use
Before calling tools that need a `project_id`, or when the user asks for a portfolio overview.
Input schema
{
"type": "object",
"properties": {
"limit": {
"type": "number",
"maximum": 100,
"minimum": 1
},
"status_in": {
"type": "array",
"items": {
"enum": [
"planning",
"in_progress",
"review",
"approved",
"delivered",
"archived"
],
"type": "string"
}
},
"agent_vendor": {
"type": "string"
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"required": [
"ok"
],
"properties": {
"ok": {
"type": "boolean"
},
"error": {
"type": "string"
},
"projects": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"client": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"status": {
"type": "string"
},
"project_id": {
"type": "string"
},
"target_date": {
"type": "string",
"format": "date"
},
"percent_complete": {
"type": "number",
"maximum": 100,
"minimum": 0
}
}
}
}
}
}