Card snapshot
truba-personal-ai-agent.vercel.app
·
2026-10-27 21:54:55 UTC
·
15e8535b65707343baec149ccd8f4f8e8a38b1ff81db9c92bbc6372a5374d248
This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.
{
"name": "truba-personal-ai-agent",
"displayName": "Truba Personal AI Agent",
"description": "Truba Personal AI Agent is a personal signal desk by Anastasia. It works with supplied notes and produces calm, short sorting outputs for A2A handoff.",
"url": "https://truba-personal-ai-agent.vercel.app/a2a/v1/truba",
"version": "1.0.0",
"protocolVersion": "0.3.0",
"provider": {
"organization": "Anastasia"
},
"service": {
"kind": "personal-signal-desk",
"health": "https://truba-personal-ai-agent.vercel.app/healthz",
"card": "https://truba-personal-ai-agent.vercel.app/a2a/v1/truba/card"
},
"capabilities": {
"message": true,
"tasks": true,
"tools": [
{
"name": "service_ping",
"description": "Return current public service status for Truba Personal AI Agent."
},
{
"name": "daily_signal_sheet",
"description": "Turn supplied personal notes into a short signal sheet: important, optional, delayed, and unclear."
},
{
"name": "friction_log",
"description": "Extract small blockers, repeated issues, and unresolved points from supplied context."
},
{
"name": "reply_outline",
"description": "Prepare a short reply outline from supplied context without sending anything."
},
{
"name": "decision_inbox",
"description": "Sort supplied items into decide now, wait, ask, and archive."
}
],
"prompts": [
{
"name": "quiet_morning_sort",
"description": "Sort a messy morning note into urgent, later, reply, and ignore sections."
},
{
"name": "clean_reply_frame",
"description": "Create a calm reply frame from supplied context."
},
{
"name": "personal_checkpoint",
"description": "Summarize where a small personal workflow currently stands."
}
],
"streaming": false,
"pushNotifications": false
},
"defaultInputModes": [
"text",
"application/json"
],
"defaultOutputModes": [
"text",
"application/json"
],
"skills": [
{
"id": "personal-signal-sheet",
"name": "Personal Signal Sheet",
"description": "Sorts supplied daily context into important, optional, delayed, and unclear sections.",
"tags": [
"personal-context",
"sorting",
"daily-notes"
],
"inputModes": [
"text",
"application/json"
],
"outputModes": [
"text",
"application/json"
],
"examples": [
"Sort this daily note into important, optional, delayed, and unclear.",
"Create a small signal sheet from this personal context."
]
},
{
"id": "friction-log",
"name": "Friction Log",
"description": "Finds repeated blockers, unresolved details, and small points that need a follow-up.",
"tags": [
"blockers",
"follow-up",
"review"
],
"inputModes": [
"text",
"application/json"
],
"outputModes": [
"text",
"application/json"
],
"examples": [
"Find blockers and unresolved points in this note."
]
},
{
"id": "reply-outline",
"name": "Reply Outline",
"description": "Builds a short reply outline from provided context without sending or posting anything.",
"tags": [
"reply",
"outline",
"draft-support"
],
"inputModes": [
"text",
"application/json"
],
"outputModes": [
"text",
"application/json"
],
"examples": [
"Prepare a reply outline from this context."
]
}
]
}