agentsclimarketplace

Analytics report

Skill UmertheGTME/claude-skills-for-heyreach/analytics-report

Claude skills for running HeyReach LinkedIn outreach in plain English: campaign building, ICP sourcing via Prospeo, sequence templates, and read-only analytics.

Install
npx -y skills add UmertheGTME/claude-skills-for-heyreach --skill analytics-report

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Generate READ-ONLY weekly or monthly performance reports across all HeyReach workspaces in an organization, written to a dated markdown file. Use when the user wants an analytics report, a workspace performance digest, org-wide or agency-wide stats, "how are my campaigns doing", weekly/monthly numbers, or KPIs (acceptance rate, reply rate, interested leads) per workspace and as an org roll-up. Requires an organization / tenant API key. Strictly read-only β€” it never creates, edits, starts, pauses, or deletes anything. Can be scheduled to run automatically.

SKILL.md

6.9 KB, ~1.7k tokens by cl100k_base, as published. Nobody here has run it

HeyReach Analytics Report (read-only, org-wide)

From one organization API key, produce a weekly or monthly report: an org roll-up plus a per-workspace breakdown with period-over-period trends, written to a dated markdown file.

Triggers

"weekly/monthly HeyReach report", "workspace analytics", "how are my campaigns doing across workspaces", "org-wide stats", "agency performance digest", "acceptance/reply rates per workspace", "interested-lead report".

πŸ”’ Read-only contract (do not violate)

This skill only reads. It is safe to run against a live production org. It issues exactly these calls:

  • heyreach workspaces list β€” enumerate workspaces
  • GET .../organizations/api-keys/workspaces/{id} via curl β€” read each workspace's existing public key (temporary: the heyreach workspaces api-keys CLI command is currently broken β€” see Edge cases)
  • heyreach stats overall (and optionally stats by-campaign, campaigns list/get) β€” read metrics
  • Write β€” only to the local report file

Never call (and they're not in allowed-tools): workspaces create-api-key / create / update / invite-*, any campaigns create/start/pause/resume/stop-lead/add-leads/update-*, any lists/leads write, inbox send-message, or webhooks writes. If a workspace lacks a public key, skip and flag it β€” never create one (that would be a write).

Prerequisites

An organization / tenant API key (HeyReach β†’ Organization settings). The regular workspace key will not work for workspaces *.

export HEYREACH_TENANT_KEY=your_org_key_here

Set expectations

Before pulling data, give the user a one-line, plain heads-up:

"Reading stats across N workspaces (read-only), ~3 calls each β€” building the <weekly|monthly> report."

How it works

1. Validate the org key + list workspaces

heyreach workspaces list --api-key "$HEYREACH_TENANT_KEY" --limit 100

Each item: { workspaceId, workspaceName, seatsLimit, usedSeats }. Paginate with --offset if totalCount > 100.

2. Pick the window (from the system clock)

  • Weekly: current = trailing 7 days; previous = the 7 days before that (for trends).
  • Monthly: current = trailing 30 days; previous = the 30 days before that.
END=$(date -u +%Y-%m-%dT%H:%M:%SZ);  START=$(date -u -v-7d  +%Y-%m-%dT%H:%M:%SZ)   # weekly current (BSD/macOS date)
PREV_END=$START;                     PREV_START=$(date -u -v-14d +%Y-%m-%dT%H:%M:%SZ)
# monthly: use -v-30d and -v-60d.  GNU/Linux date: use `date -u -d '7 days ago'`.

3. Per workspace, read its public key (read-only)

The CLI's workspaces api-keys is currently broken (returns {}), so read the key directly β€” GET only:

KEY=$(curl -s --max-time 20 -H "X-API-KEY: $HEYREACH_TENANT_KEY" \
  "https://api.heyreach.io/api/public/management/organizations/api-keys/workspaces/$WID" | jq -r '.publicApi // empty')

If KEY is empty β†’ skip this workspace and add it to the "Skipped" list (no key exists; do not create one).

4. Pull stats for both windows

heyreach stats overall --api-key "$KEY" --start-date "$START"      --end-date "$END"      | jq '.overallStats'
heyreach stats overall --api-key "$KEY" --start-date "$PREV_START" --end-date "$PREV_END" | jq '.overallStats'

Use .overallStats (windowed aggregate). Pace requests (org API limit is 300/min); for very large orgs, batch.

5. Aggregate β†’ write the markdown report

Sum/blend across workspaces for the roll-up, compute deltas vs the previous window, and write: reports/heyreach-<weekly|monthly>-<YYYY-MM-DD>.md (see layout below). Tell the user the file path.

Report layout

# HeyReach <Weekly|Monthly> Report β€” <date range>
Generated <timestamp> Β· N workspaces covered Β· M skipped (no API key)

## Org roll-up
| Metric | This period | Prev | Ξ” |
| Connections sent / accepted / acceptance % | … | … | β–²β–Ό |
| Messages started / replies / reply % | … | … | β–²β–Ό |
| Interested (auto-tagged) / total tagged / interested % | … | … | β–²β–Ό |
| InMails Β· follows Β· profile views Β· post likes Β· unique leads contacted | … | … | β–²β–Ό |

## Per workspace
| Workspace | Conn sent | Accept % | Msgs | Reply % | Interested | Ξ” conn |
| Acme Outbound | 142 | 38% | 96 | 29% | 11 | β–² |
…

## Notable movers
- biggest +/- swings vs last period

## Skipped (no public API key β€” generate one in-app to include)
- Globex Demo (10293), Initech Agency (10488), …

Metrics reference (overallStats fields)

GroupFields
VolumeconnectionsSent, totalMessageStarted, inmailMessagesSent, follows, profileViews, postLikes, uniqueLeadsContacted
RatesconnectionAcceptanceRate, messageReplyRate, inMailReplyRate (0–1 fractions β†’ Γ—100 for %)
OutcomesconnectionsAccepted, totalMessageReplies, totalAutoTagged
InterestedautoTaggedInterested, autoTaggedInterestedRate

Use the API's overallStats.*Rate values directly β€” don't recompute from byDayStats (per-day acceptance can exceed 100% because acceptances lag the sends that earned them; the windowed overallStats rate is correct).

Edge cases

  • No public key on a workspace β†’ skip + flag. Common (many workspaces never had a key generated). Never create one.
  • Zero-activity workspace β†’ show zeros, don't error.
  • CLI bug β€” workspaces api-keys returns {}: the API returns the keys flat ({publicApi, n8N, …}) but the CLI expects them nested under apiKeys. Use the curl GET above until the CLI is fixed; then switch to heyreach workspaces api-keys --workspace-id <id> and drop curl from allowed-tools.
  • Rate limit: org API = 300 req/min; ~3 calls/workspace. Pace for orgs with >100 workspaces.

Scheduling (optional, set up after the report looks right)

Wrap this in a recurring task (the scheduling skill / cron). Requirements for unattended runs:

  • The org key must be in the environment (HEYREACH_TENANT_KEY).
  • Use file delivery (this skill's default) β€” headless/cron runs may not have MCP connectors (Notion/Slack).
  • Recommended cadence: a weekly run (e.g. Monday 07:00) and a monthly run (1st of month).

Gives 0 of the 12 instructions most docs writing skills give in ~1.7k tokens

Counted across 1,637 of the 3,044 authors here whose files we hold, read 2026-08-06

  • announce the skill at startin 54 of 1637, across 21 files
  • convert legacy doc files before editingin 45 of 1637, across 7 files
  • predict questions readers might askin 42 of 1637, across 3 files
  • Generate clarifying questions for initial contextin 42 of 1637, across 3 files
  • Create document scaffold with placeholder textin 42 of 1637, across 3 files
  • Brainstorm content options for each sectionin 42 of 1637, across 3 files
  • Test document with fresh context-less instancein 42 of 1637, across 3 files
  • ask interview questions one at a timein 42 of 1637, across 26 files
  • include exact file paths in every taskin 42 of 1637, across 15 files
  • Apply surgical edits during refinementin 41 of 1637, across 2 files
  • Offer structured workflow or freeformin 40 of 1637, across 1 file
  • Ask for document meta-contextin 40 of 1637, across 1 file

Said here and by no other author read

  • enumerate workspaces
  • paginate workspace list if total exceeds one hundred
  • calculate trailing weekly or monthly report windows
  • fetch each workspace public key via get request
  • skip workspace if public key is missing
  • read workspace stats for both windows

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.