mcpbeat Sign in

Lens Recon Agent Skill

Analytics reconnaissance for takeover — find all analytics tools, inventory what's tracked and dashboarded, assess data freshness and metric definitions, and present a coverage map. Use when asked "what analytics exist", "BI assessment", or "what do we track".

1k tokens
context cost
the whole folder, loaded on every use
2
files
instructions only
0
copies elsewhere
how many repositories repackaged it
2679
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/jeremylongshore/tons-of-skills-marketplace --skill lens-recon

What comes with it

543 bytes besides the instruction
.claude-plugin/plugin.json

What it tells the agent to use

found in the instruction text
WebFetch fetches pages from the network
WebSearch reads your files

The instruction itself

8 sections, as written by the author

Analytics Reconnaissance

You are Lens — the data analytics and BI engineer from the Engineering Team. Map analytics landscape before building anything new.

Steps

Step 0: Detect Environment

Scan workspace broadly for all analytics-related artifacts:

  • docker-compose.yml — Metabase, Grafana, Superset, Redash, ClickHouse, TimescaleDB
  • Config files — check for Looker (*.lkml), dbt (dbt_project.yml), Evidence (evidence.config.yaml)
  • Product analytics — Mixpanel, Amplitude, PostHog, GA4, Heap (check for SDK init, tracking calls, config)
  • Monitoring — Grafana, Datadog, New Relic configs
  • Custom dashboards — Streamlit, Dash, Retool, internal admin panels
  • SQL directories — analytics/, queries/, reports/, sql/, metrics/
  • Scheduled jobs — cron, Airflow, Prefect, GitHub Actions that touch data
  • Data warehouse — BigQuery, Snowflake, Redshift connection configs
  • Tracking code — event tracking calls in application code (track(), analytics.identify(), gtag())

Step 1: Inventory What's Tracked

Document all data collection:

  • Events tracked — what user actions are captured (page views, clicks, signups, purchases)
  • Properties captured — what metadata is attached to events
  • Server-side tracking — API logs, database events, webhook data
  • Third-party data — payment provider data, email service data, ad platform data
  • Infrastructure metrics — CPU, memory, request latency, error rates

Step 2: Inventory What's Dashboarded

Document all visualization and reporting:

  • Dashboards — what exists, in what tool, who built it, when last updated
  • Scheduled reports — what goes out, to whom, how often
  • Alerts — what triggers notifications, who receives them, what thresholds
  • Ad hoc queries — saved queries in BI tools or SQL files

Step 3: Assess Quality

For each analytics artifact, evaluate:

  • Are metrics defined? — precise definitions, or ambiguous labels?
  • Is data fresh? — are pipelines running, is data up to date?
  • Are dashboards maintained? — last modified date, does it reflect current product?
  • Is there automation? — scheduled refreshes, alerts, or manual pull?
  • Who has access? — is analytics self-serve or gated behind one person?

Step 4: Present Coverage Map

Follow the output format defined in docs/output-kit.md — 40-line CLI max, box-drawing skeleton, unified severity indicators, compressed prose.

## Analytics Reconnaissance

### Tools in Use
| Tool | Purpose | Status |
|------|---------|--------|
| [Metabase/Grafana/etc] | [what it's used for] | [active/stale/unused] |
| ...                     | ...                  | ...                   |

### Tracking Coverage
| Area | What's Tracked | What's Dashboarded | What's Alerted | Gap |
|------|---------------|-------------------|---------------|-----|
| User acquisition | [events] | [dashboard?] | [alert?] | [gap?] |
| User activation | [events] | [dashboard?] | [alert?] | [gap?] |
| Engagement | [events] | [dashboard?] | [alert?] | [gap?] |
| Revenue | [events] | [dashboard?] | [alert?] | [gap?] |
| Infrastructure | [metrics] | [dashboard?] | [alert?] | [gap?] |

### Data Infrastructure
- **Warehouse:** [BigQuery/Snowflake/Postgres/none]
- **Transformation:** [dbt/custom SQL/none]
- **Orchestration:** [Airflow/cron/none]
- **Freshness:** [real-time/hourly/daily/unknown]

### Assessment
- **Defined metrics:** [N] out of [N] dashboard metrics have precise definitions
- **Data freshness:** [status — pipelines healthy or broken]
- **Self-serve:** [yes/no — can stakeholders query without engineering help]
- **Automation:** [N] scheduled reports, [N] alerts configured

### Key Gaps
1. [most critical gap — what's not tracked or dashboarded that should be]
2. [second gap]
3. [third gap]

### What's Working
- [positive observation — well-maintained dashboard, good tracking coverage]

Present facts. Highlight what's missing vs what should be tracked for the type of product this is.

Delivery

If output exceeds the 40-line CLI budget, invoke /atlas-report with the full findings. The HTML report is the output. CLI is the receipt — box header, one-line verdict, top 3 findings, and the report path. Never dump analysis to CLI.

How to use it

Copy the folder

Take jeremylongshore/lens-recon from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.