Analytics dashboard

Turn a LinkedIn Analytics export into an interactive dark-themed React dashboard plus a written strategic analysis with 5 data-backed content recommendations.

How to use it

Claude Code
  1. Run the line below. It pulls the whole folder into ~/.claude/skills/analytics-dashboard, including the files SKILL.md points to.
  2. Describe your job in plain words. Claude Code follows the skill from there.
Claude Code — installs the whole folder, not just SKILL.md
npx degit charlie947/social-media-skills/skills/analytics-dashboard#main ~/.claude/skills/analytics-dashboard

For one project only, change the path to .claude/skills/analytics-dashboard. This skill also uses about-me.md, voice.md, newsletter-voice.md — copying SKILL.md alone won't be enough. See the folder on GitHub.

Claude (web or desktop app)
  1. On this page open ⋯ → Download .md.
  2. Save it as SKILL.md in a folder, zip the folder, then Customize → Skills → + → Create skill → Upload a skill.
  3. Pick the file and Save. Claude shows the name and description and runs a security scan.
  4. Check the skill is switched on.
  5. Start a new chat and describe your job in plain words. The AI follows the skill from there.
ChatGPT or another app
  1. ChatGPT: make a Project and paste it into Instructions.
  2. Neither? Paste it at the top of a new chat — it works for that chat.
Not working?
  • Check which app you pasted it into — the steps above name the right one.
  • Some skills need the paid tier of Claude or ChatGPT.
Step-by-step guide with screenshots · Ask in the forum

Paste into Claude, ChatGPT or Cursor.

Source of Analytics dashboard

Show the full text144 lines
namedescription
analytics-dashboard> Turn a LinkedIn Analytics export into an interactive dark-themed React dashboard plus a written strategic analysis with 5 data-backed content recommendations. Reads every sheet in the export, builds charts for engagement trend, follower growth, post performance scatter, day-of-week heatmap, and audience breakdown. Use this skill whenever the user says "analyse my linkedin", "linkedin analytics", "build my dashboard", "review my performance", or uploads a LinkedIn Analytics export file. Requires the user's LinkedIn Analytics export (xlsx) as input.

Analytics Dashboard

Codex and Claude runtime

  • Use this skill in Codex or Claude with the tools actually available in the current task. AskUserQuestion examples describe the questions, not a required API: use an available question tool within its limits, or ask in chat. Reuse answers and source material already supplied.
  • Work in the user-selected project. Read its about-me.md, voice.md and relevant brand files before personalised work. Confirm the intended author if files conflict or contain starter defaults. Ask for missing facts or run voice-builder; never inherit the maintainer's identity, accounts or private files.
  • Resolve bundled references/ relative to this skill folder. For an explicitly requested profile refresh, read and update the canonical about-me.md, voice.md or newsletter-voice.md in place, preserving unrelated user facts and rules. Consumers must reread those canonical files. Use a new filename only for new deliverables that would collide with unrelated existing files. Installation alone never starts an interview or writes files. Do not write persistent learnings unless requested.
  • Use supplied evidence first. Verify external claims through available search/source tools when needed. If a source or integration is unavailable, name the missing capability and offer supplied text/export input. Never invent facts, first-person experience, metrics or a successful tool run.
  • Connect only services needed for the chosen route through the user's existing account. Never print credentials or overwrite connections. Drafting, saving and reviewing do not authorise publishing, sending messages or changing accounts.

CRITICAL: Auto-start on load

When this skill triggers, go straight to Step 1.

Step 1. Get the export file

Ask:

Upload your LinkedIn Analytics export file (xlsx).

Not sure how to get it? Go to LinkedIn Analytics, set your date range (30, 60, or 90 days works well), and click Export in the top right.

Wait for the file upload.

Step 2. Parse the data

Read every sheet in the file. Confirm author, reporting window, units and actual column names before calculating. The following sheets are examples, not a guaranteed export schema:

  • DISCOVERY: overall impressions and reach
  • ENGAGEMENT: daily impressions and engagements over time
  • TOP POSTS: top 50 posts, ranked by engagements and by impressions (two tables to merge)
  • FOLLOWERS: daily new followers plus total count
  • DEMOGRAPHICS: job titles, locations, industries, seniority, company size, top companies

Top-post tables are selected samples, not the account’s entire posting history. Keep their denominators separate from account-wide metrics; do not infer best posting times from daily aggregates. Clean any messy headers. Merge the two TOP POSTS tables (by engagements and by impressions) into one unified dataset per post. De-duplicate.

Step 3. Build the interactive dashboard

Use a supported React artifact surface or the selected project’s existing React and Recharts setup. If neither is available, provide the computed analysis and React source with preview pending; do not silently install dependencies or claim an interactive dashboard is running. Preview and exercise chart tooltips/resizing before calling it verified. Dark theme (background #0f1117), accent colours for charts. Use Recharts for all visualisations.

Include these panels in this order:

Headline metrics (top row cards)
  • Total impressions
  • Total reach
  • Total new followers
  • Average daily impressions
  • Average daily engagements
  • Overall engagement rate (sum of engagements / sum of impressions, for the same reporting window). Zero or missing denominators are unavailable, not zero.
  • Total posts tracked
Engagement trend (line chart)
  • Daily impressions (left y-axis) and engagements (right y-axis) over the full date range
  • Highlight the top 3 spike days with markers
Follower growth (area chart)
  • Daily new followers
  • 7-day moving average trendline overlaid
  • Cumulative follower gain
Post performance scatter
  • X axis: impressions. Y axis: engagements
  • Colour-code posts into four quadrants:
    • Stars: high reach + high engagement
    • Viral but shallow: high reach + low engagement
    • Niche gold: low reach + high engagement
    • Underperformers: low reach + low engagement
  • Hoverable dots showing post URL and date
Day-of-week heatmap
  • Average impressions and engagements by day of week
  • Highlight the strongest days
Audience breakdown (bar charts)
  • Job titles
  • Industries
  • Seniority
  • Company size
  • Top locations
Formatting rules
  • Format numbers: 67K not 67000, 1.2M not 1200000
  • Total follower count prominent at the top
  • Responsive layout (works on laptop and large display)
  • Dark background, high contrast chart colours

Step 4. Written strategic analysis

Below the dashboard, write a concise analysis with these sections:

Performance Summary
  • Trajectory: growing, plateauing, or declining (use trendlines)
  • Current engagement rate; compare external benchmarks only with a verified dated source and matching metric definition
Top Post Patterns
  • Analyse top 10 by impressions and top 10 by engagements
  • Patterns: posting day, time of month, content themes
  • High impressions + low engagement: what does that signal?
  • Low impressions + high engagement: what does that signal?
Audience-Content Fit
  • Who the core audience is, based on demographics
  • Which content topics and formats would resonate
  • Segments to lean into or away from
Growth Velocity
  • Average daily follower growth
  • 30, 60, 90 day scenarios at current pace, labelled as extrapolations rather than forecasts
  • Acceleration or deceleration trends
Day and Timing Strategy
  • Best days for impressions
  • Best days for engagement
  • Optimal posting schedule based on the data
5 Specific Content Recommendations

Each one includes:

  • Content angle or topic
  • Why the data supports it
  • Which audience segment it targets
  • Evidence and a testable hypothesis, without guaranteed impact

Step 5. Offer the next move

After the analysis:

Want me to draft one of these 5 recommendations as a full post? Call the post-writer or post-formatter skill with the recommendation number.

Rules

  • Use numbers, not adjectives. "Engagement rate is 2.3%" beats "engagement is healthy".
  • Keep the analysis direct. No fluff, no filler.
  • Never invent metrics not present in the export.
  • Flag data quality issues (missing columns, odd date ranges) instead of silently working around them.
  • Never use em dashes.
  • British English unless voice.md specifies otherwise.
  • Recommend running this monthly. Patterns only surface over time.
1---
2name: analytics-dashboard
3description: >
4 Turn a LinkedIn Analytics export into an interactive dark-themed React dashboard plus a written strategic analysis with 5 data-backed content recommendations. Reads every sheet in the export, builds charts for engagement trend, follower growth, post performance scatter, day-of-week heatmap, and audience breakdown. Use this skill whenever the user says "analyse my linkedin", "linkedin analytics", "build my dashboard", "review my performance", or uploads a LinkedIn Analytics export file. Requires the user's LinkedIn Analytics export (xlsx) as input.
5---
6 
7# Analytics Dashboard
8 
9## Codex and Claude runtime
10 
11- Use this skill in Codex or Claude with the tools actually available in the current task. `AskUserQuestion` examples describe the questions, not a required API: use an available question tool within its limits, or ask in chat. Reuse answers and source material already supplied.
12- Work in the user-selected project. Read its `about-me.md`, `voice.md` and relevant brand files before personalised work. Confirm the intended author if files conflict or contain starter defaults. Ask for missing facts or run `voice-builder`; never inherit the maintainer's identity, accounts or private files.
13- Resolve bundled `references/` relative to this skill folder. For an explicitly requested profile refresh, read and update the canonical `about-me.md`, `voice.md` or `newsletter-voice.md` in place, preserving unrelated user facts and rules. Consumers must reread those canonical files. Use a new filename only for new deliverables that would collide with unrelated existing files. Installation alone never starts an interview or writes files. Do not write persistent learnings unless requested.
14- Use supplied evidence first. Verify external claims through available search/source tools when needed. If a source or integration is unavailable, name the missing capability and offer supplied text/export input. Never invent facts, first-person experience, metrics or a successful tool run.
15- Connect only services needed for the chosen route through the user's existing account. Never print credentials or overwrite connections. Drafting, saving and reviewing do not authorise publishing, sending messages or changing accounts.
16 
17## CRITICAL: Auto-start on load
18 
19When this skill triggers, go straight to Step 1.
20 
21## Step 1. Get the export file
22 
23Ask:
24 
25> Upload your LinkedIn Analytics export file (xlsx).
26>
27> Not sure how to get it? Go to LinkedIn Analytics, set your date range (30, 60, or 90 days works well), and click Export in the top right.
28 
29Wait for the file upload.
30 
31## Step 2. Parse the data
32 
33Read every sheet in the file. Confirm author, reporting window, units and actual column names before calculating. The following sheets are examples, not a guaranteed export schema:
34 
35- **DISCOVERY**: overall impressions and reach
36- **ENGAGEMENT**: daily impressions and engagements over time
37- **TOP POSTS**: top 50 posts, ranked by engagements and by impressions (two tables to merge)
38- **FOLLOWERS**: daily new followers plus total count
39- **DEMOGRAPHICS**: job titles, locations, industries, seniority, company size, top companies
40 
41Top-post tables are selected samples, not the account’s entire posting history. Keep their denominators separate from account-wide metrics; do not infer best posting times from daily aggregates. Clean any messy headers. Merge the two TOP POSTS tables (by engagements and by impressions) into one unified dataset per post. De-duplicate.
42 
43## Step 3. Build the interactive dashboard
44 
45Use a supported React artifact surface or the selected project’s existing React and Recharts setup. If neither is available, provide the computed analysis and React source with **preview pending**; do not silently install dependencies or claim an interactive dashboard is running. Preview and exercise chart tooltips/resizing before calling it verified. Dark theme (background `#0f1117`), accent colours for charts. Use Recharts for all visualisations.
46 
47Include these panels in this order:
48 
49### Headline metrics (top row cards)
50- Total impressions
51- Total reach
52- Total new followers
53- Average daily impressions
54- Average daily engagements
55- Overall engagement rate (sum of engagements / sum of impressions, for the same reporting window). Zero or missing denominators are unavailable, not zero.
56- Total posts tracked
57 
58### Engagement trend (line chart)
59- Daily impressions (left y-axis) and engagements (right y-axis) over the full date range
60- Highlight the top 3 spike days with markers
61 
62### Follower growth (area chart)
63- Daily new followers
64- 7-day moving average trendline overlaid
65- Cumulative follower gain
66 
67### Post performance scatter
68- X axis: impressions. Y axis: engagements
69- Colour-code posts into four quadrants:
70 - **Stars**: high reach + high engagement
71 - **Viral but shallow**: high reach + low engagement
72 - **Niche gold**: low reach + high engagement
73 - **Underperformers**: low reach + low engagement
74- Hoverable dots showing post URL and date
75 
76### Day-of-week heatmap
77- Average impressions and engagements by day of week
78- Highlight the strongest days
79 
80### Audience breakdown (bar charts)
81- Job titles
82- Industries
83- Seniority
84- Company size
85- Top locations
86 
87### Formatting rules
88- Format numbers: `67K` not `67000`, `1.2M` not `1200000`
89- Total follower count prominent at the top
90- Responsive layout (works on laptop and large display)
91- Dark background, high contrast chart colours
92 
93## Step 4. Written strategic analysis
94 
95Below the dashboard, write a concise analysis with these sections:
96 
97### Performance Summary
98- Trajectory: growing, plateauing, or declining (use trendlines)
99- Current engagement rate; compare external benchmarks only with a verified dated source and matching metric definition
100 
101### Top Post Patterns
102- Analyse top 10 by impressions and top 10 by engagements
103- Patterns: posting day, time of month, content themes
104- High impressions + low engagement: what does that signal?
105- Low impressions + high engagement: what does that signal?
106 
107### Audience-Content Fit
108- Who the core audience is, based on demographics
109- Which content topics and formats would resonate
110- Segments to lean into or away from
111 
112### Growth Velocity
113- Average daily follower growth
114- 30, 60, 90 day scenarios at current pace, labelled as extrapolations rather than forecasts
115- Acceleration or deceleration trends
116 
117### Day and Timing Strategy
118- Best days for impressions
119- Best days for engagement
120- Optimal posting schedule based on the data
121 
122### 5 Specific Content Recommendations
123Each one includes:
124- Content angle or topic
125- Why the data supports it
126- Which audience segment it targets
127- Evidence and a testable hypothesis, without guaranteed impact
128 
129## Step 5. Offer the next move
130 
131After the analysis:
132 
133> Want me to draft one of these 5 recommendations as a full post? Call the post-writer or post-formatter skill with the recommendation number.
134 
135## Rules
136 
137- Use numbers, not adjectives. "Engagement rate is 2.3%" beats "engagement is healthy".
138- Keep the analysis direct. No fluff, no filler.
139- Never invent metrics not present in the export.
140- Flag data quality issues (missing columns, odd date ranges) instead of silently working around them.
141- Never use em dashes.
142- British English unless voice.md specifies otherwise.
143- Recommend running this monthly. Patterns only surface over time.
144 

Discussion

Alternatives

Also in Reports & dashboardsSee all 47 in Data & analytics →
/ar:ar-status — Experiment DashboardShow experiment dashboard with results, active loops, and progress. Use when the user runs /ar:ar-status or asks how an autoresearch experiment is going.Data & AI · MITEarnings Preview SkillGenerate a pre-earnings briefing for any stock using Yahoo Finance data. Use this skill whenever the user wants to prepare for an upcoming earnings report, understand what analysts expect, review a company's beat/miss track record, or get a quick overview before an earnings call. Triggers include: "earnings preview for AAPL", "what to expect from TSLA earnings", MSFT reports next week", "earnings preview", "pre-earnings analysis", what are analysts expecting for NVDA", "earnings estimates for", will GOOGL beat earnings", "earnings beat/miss history", upcoming earnings", "before earnings", "earnings setup", consensus estimates", "earnings whisper", "EPS expectations", what's the street expecting", "earnings season preview", any mention of preparing for or previewing an earnings report, or any request to understand expectations ahead of a company's earnings date. Always use this skill when the user mentions a ticker in context of upcoming earnings, even if they don't say "preview" explicitly.Data & AI · MITPath A — List-styleSave the results of an in-chat data-exploration session as a TL report. Triggers when the user wants to persist a channels / brands / videos (uploads) / sponsorships list or filtered set they've been working with — phrases like "save this as a report", "save the list", "turn this into a campaign", "persist this", "make a report from what you found", "save the result", "I want to come back to this".Creator · MITInvestment tracking dashboardCreate a user-friendly dashboard to track and manage your investments effectively.Coding · CC0-1.0