Skip to content
Back to skills

Lens Recon

ASecurity

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".

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 11, 2026
devopsgobashsqldockergitapidatabase

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned November 11, 2026

npx -y skills add pauldx/claudifying --skill lens-recon --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Lens Recon?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Lens Recon
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/pauldx-lens-recon/badge)](https://www.skillsdirectory.com/skills/pauldx-lens-recon)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: lens-recon
description: 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".
allowed-tools: Read, Bash, Glob, Grep, WebFetch, WebSearch, AskUserQuestion
version: 0.6.4
license: MIT
---

# 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.

Files in this skill

  • .claude-plugin/plugin.json555 B
  • SKILL.md4.6 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in devops →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.