Last updated: October 19, 2026
Short answer: Give the agent a place to store timestamped values, then have it query a time range and draw the chart. With Fulcra, the agent creates a custom Metric data type once (data-type create Metric ...), records a value for each new reading, reads the history back with get-records, and charts it itself or with the custom tracking and dashboards skill in Fulcra's skills library.
Assistants are good at logging things you tell them ("I drank 3 glasses of water," "the build took 14 minutes") but forget them after the conversation. To see a trend, the values need to be stored durably, with times, where the agent can query them later.
Event/<UUID>); use it as <METRIC_ID> below. catalog --user-defined lists it again later.
uvx fulcra-api data-type create Metric practice_minutes --description "Daily piano practice, minutes" --unit minutes
uvx fulcra-api data-type schema <METRIC_ID>uvx fulcra-api record <METRIC_ID> -f - <<'EOF'
{"value": 35}
EOF
Records carry a start time. To backfill a past value, set start_time on the record (ISO 8601 with a time zone). A custom Metric type's ID looks like Metric/<UUID>.uvx fulcra-api get-records <METRIC_ID> "1 month"
get-records takes a relative range ("1 month", "3h"), two ISO 8601 start and end times, or latest. metric-time-series only supports built-in (v0) metric types, so use get-records for a custom Metric.npx skills add fulcradynamics/agent-skills --skill fulcra-trackingOver MCP, the same steps use create_data_type, record_data and get_records.
share create --data-type <METRIC_ID> --user-id <their user ID>); shares are always read-only. Don't share private data with a group: anyone with the group ID can join and read it.data-updates shows which data types changed and how many records were added; counts can lag a few minutes.Written by Fulcra. We make one of the tools recommended on this page.