Skills datafast-analytics

Query DataFast website analytics and visitor data via the DataFast API for metrics, time series, realtime stats, breakdowns, visitor details, and goal/payment management.

install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/bennyqp/datafast-analytics" ~/.claude/skills/openclaw-skills-datafast-analytics && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/bennyqp/datafast-analytics" ~/.openclaw/skills/openclaw-skills-datafast-analytics && rm -rf "$T"
manifest: skills/bennyqp/datafast-analytics/SKILL.md
source content

DataFast Analytics Skill

Use this skill to call the DataFast API and summarize results for the user.

Quick Workflow

  1. Confirm the request type (overview, timeseries, realtime, breakdown, visitor, goals/payments create/delete).
  2. Gather required inputs:
    • Date range:
      startAt
      and
      endAt
      together or neither (overview/timeseries support ranges).
    • timezone
      ,
      fields
      ,
      interval
      ,
      limit
      ,
      offset
      , and any
      filter_*
      parameters.
  3. Build the HTTP request with
    Authorization: Bearer $DATAFAST_API_KEY
    and
    Content-Type: application/json
    .
  4. Execute with
    curl
    and parse JSON.
  5. Summarize results in a table plus a short narrative (totals + key takeaways). Include pagination info if relevant.

Setup

  1. Get your API key from DataFast (starts with
    df_
    ).
  2. Store it:
mkdir -p ~/.config/datafast
echo "df_your_key_here" > ~/.config/datafast/api_key

Authentication

All requests need:

DATAFAST_API_KEY=$(cat ~/.config/datafast/api_key)
curl ... \
  -H "Authorization: Bearer $DATAFAST_API_KEY" \
  -H "Content-Type: application/json"

If the user hasn't set up the API key, ask them to follow the setup steps above.

Base URL

https://datafa.st/api/v1/

Reference Docs

Use the full API reference at

{baseDir}/references/datafast-api-docs.md
for endpoint details, response fields, and examples.

Endpoint Guidance

Overview

  • GET /analytics/overview
  • Optional:
    startAt
    ,
    endAt
    ,
    timezone
    ,
    fields
    .

Time Series

  • GET /analytics/timeseries
  • Typical params:
    fields
    ,
    interval
    (hour/day/week/month),
    startAt
    ,
    endAt
    ,
    timezone
    ,
    limit
    ,
    offset
    .
  • Accepts
    filter_*
    query params for segmentation.
  • Note:
    fields
    is required (e.g.,
    fields=visitors,sessions
    ).

Realtime

  • GET /analytics/realtime
  • GET /analytics/realtime/map

Breakdowns

  • GET /analytics/devices
  • GET /analytics/pages
  • GET /analytics/campaigns
  • GET /analytics/goals
  • GET /analytics/referrers
  • GET /analytics/countries
  • GET /analytics/regions
  • GET /analytics/cities
  • GET /analytics/browsers
  • GET /analytics/operating-systems
  • GET /analytics/hostnames

Visitor Details

  • GET /visitors/{datafast_visitor_id}

Goals

  • Create goal:
    POST /goals
  • Delete goals:
    DELETE /goals
    (requires at least one filter or time range; confirm scope)

Payments

  • Create payment:
    POST /payments
  • Delete payments:
    DELETE /payments
    (confirm scope)

Destructive Actions

For

DELETE /goals
or
DELETE /payments
:

  • Always confirm exact filters and time range in plain English before executing.
  • If user asks for "all time" deletion, ask for explicit confirmation.
  • Echo the final URL that will be called (without the API key).

Filter Syntax

Use

filter_*
params for segmentation (e.g.,
filter_referrer=is:X
).

Important: Filter values must match the exact names from breakdown endpoints. For example, X/Twitter is stored as "X" (not "x.com" or "twitter.com"). When in doubt, query the breakdown first:

curl ... "/analytics/referrers?limit=20"

Then use the exact

referrer
value in your filter.

Example Command Patterns

GET

DATAFAST_API_KEY=$(cat ~/.config/datafast/api_key)
curl -sS "https://datafa.st/api/v1/analytics/overview?startAt=2024-01-01&endAt=2024-01-31&timezone=UTC" \
  -H "Authorization: Bearer $DATAFAST_API_KEY" \
  -H "Content-Type: application/json"

POST

DATAFAST_API_KEY=$(cat ~/.config/datafast/api_key)
curl -sS "https://datafa.st/api/v1/goals" \
  -H "Authorization: Bearer $DATAFAST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"datafast_visitor_id":"...","name":"newsletter_signup","metadata":{"email":"..."}}'

DELETE

DATAFAST_API_KEY=$(cat ~/.config/datafast/api_key)
curl -sS -X DELETE "https://datafa.st/api/v1/goals?name=signup&startAt=2023-01-01T00:00:00Z&endAt=2023-01-31T23:59:59Z" \
  -H "Authorization: Bearer $DATAFAST_API_KEY"

Output Expectations

  • Provide a short summary and a flat table of results.
  • Include totals and conversion/revenue metrics when present.
  • For time series, include the top-level totals and the first/last timestamps in the selected range.
  • If pagination exists, report
    limit
    ,
    offset
    , and
    total
    , and ask if the user wants the next page.