not an .xlsx file
Use the file LinkedIn downloads (AggregateAnalytics...xlsx); do not convert it to CSV.
use the Content analytics export
Export from Content analytics (post impressions), not only Audience analytics.
dates look a month off
Use --date-order dmy if your export writes day first.
tags: no rows matched a post URL
Copy the Post URL exactly from posts.csv into your tags file.
Claude does not use the skill
Check it is switched on in Settings → Capabilities → Skills, then name it in your message.
The script says a column is missing
Rename your header to one of the names in README, or say the mapping in your message.
Code execution is off
Skills with scripts need code execution enabled in Claude.ai settings.
FAQ
Where do I get the export? On a computer: click Post impressions under your name on the LinkedIn home page, choose up to 365 days, press Export and Confirm. The file name starts with AggregateAnalytics.
Can it tell me which hour to post? No. LinkedIn's export has publish dates but no times, so it reports the strongest weekdays.
How do I compare formats like carousels and text posts? Make a two-column CSV, url and tag, with one row per post (tags such as carousel;gst tips). It reports the median impressions and engagement rate per tag.
Does it log in to LinkedIn? No. It only reads the file you exported.