Agentrava demonstrates solid tool design with consistent naming (verb_noun pattern), comprehensive parameter schemas, and detailed descriptions. All 16 tools have explicit JSON Schema definitions with typed parameters and descriptions. However, output schemas are not documented, LLMs cannot predict response structure. Error handling is minimal; tools lack recovery guidance. Some descriptions are verbose (>400 chars) and could be tightened. Tool composition is strong: tools chain well (e.g., list_activities → rename_session), and most accept human-friendly identifiers (athlete names, project names, session prefixes). Security is adequate for a local STDIO server but lacks audit logging and permission gates.
Start here. Lists every Agentrava tool with a one-line example, plus the current athlete, totals and streak. Call this whenever the user says just "agentrava", asks what it can do, or seems unsure which card they want.
One project's stats: total time, sessions, languages, and the longest session.
Export every activity as JSON, CSV, or a markdown table. Useful for analysis, sharing, or backup.
Career totals, current streak, personal records and the trophy case across every logged activity.
Ranked athletes by one metric: distance, elevation, effort, sessions, or time. Ties are broken by date of the record. Effort is a composite: distance × elevation × tool calls, so a short session with many errors scores high.
The feed: recent logged sessions with their headline stats.
Output schemas not documented. LLMs cannot predict response structure for any tool, forcing them to reason about unknown fields and risking context loss when chaining calls.
Error handling is absent. Tools do not return actionable error messages or recovery guidance. An LLM receiving a failure has no context for retry, user correction, or fallback.
Descriptions for weekly_snap, monthly_snap, and set_config are verbose (>300 chars) and bury key details. Descriptions should be 10 - 200 chars for LLM clarity.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
Every project with its display name, repository path, session count and time — use before renaming.
Finish a coding session and get a Strava-style achievement card back as an image. Report the session honestly — line churn becomes distance, files and recovered errors become elevation, and the card awards badges and personal records against your own history. Call this when the user asks you to brag, or at the end of a session worth remembering.
A 1080×1350 card for one calendar month: a Monday-first heatmap of agent time, sessions, active days, projects by time, and a featured session. The feature is labelled "Month's pick" only when the user chose it via `pick`; otherwise it is the longest session, labelled as such.
Re-render every card with the current renderer, keeping all the data and presentation choices. Use this after updating Agentrava to pick up layout or styling improvements.
Set the display name for a project everywhere it appears — session cards, snaps, profile. Projects are identified by repository path, so two repos with the same name stay separate and two projects given the same name are not merged. hidden keeps the name off every card.
Give a session a title of your own; its cards are redrawn. The generated title is kept, so reset restores it. Survives re-logging and backfills. Refuses an ambiguous id prefix.
Set the name shown on every card. The athlete is the person whose account this is — the model that did the work is recorded separately as gear. Applies to past cards too. Ask the user what they want; do not guess a name from their email or filesystem.
Set a configuration value. Keys are dot-separated, e.g. "card.width". Call with no arguments to list every setting and its current value.
Log the session that is running right now and return its card — mid-session, without waiting for it to end. Numbers are measured from the session log (tool calls, tokens, diffs, recovered errors, moving time), not reported by you, so prefer this over log_activity whenever the work happened in Claude Code or Codex. Safe to call repeatedly: it updates the same activity instead of adding duplicates. With no argument it guesses the current session (matching working directory, else most recently written) and names which it chose — check that before repeating the numbers.
A 1080×1350 card for one Monday-to-Sunday week: agent time per day, sessions, active days, projects, tool calls, estimated API cost and the longest session. An unfinished week is marked "this week so far". Agent time is summed across sessions, so parallel agents can exceed 24h a day — say so if you repeat the numbers.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). LLMs cannot distinguish safe reads from destructive writes without explicit hints.
No audit logging or permission gates. Destructive operations (redraw_cards, set_config, rename_session) lack access control and traceability.