| name | linkedin-power-audit |
| description | Deep, deterministic read of your own LinkedIn data export - far more than the connection scan. Trigger on "audit my LinkedIn", "power audit my LinkedIn", "analyse my whole LinkedIn", "what does my LinkedIn network look like", "where is my network thin", or when the user wants brand or network-health analysis (the front door routes here for those). A local Python script reads the unzipped export and writes audit.json: profile, metrics, network composition (role clusters, stakeholder buckets, industries, top companies, founder pool), message warmth, invitations, content themes, skills, plus an optional network-gap read. No AI in the extract, no third-party calls, message content never read. audit.json is the prerequisite linkedin-warm-revival and linkedin-brand-direction read.
|
| why | The scan ranks connections; the audit reads the whole shape of a network - who is in it, what it is weighted toward, where it is thin for the goal, which content lanes the person already plays in. It is the input the brand and revival skills need, and it is deterministic so it costs no AI tokens to produce. |
| enhance | Run it on the COMPLETE export (the ~24h installment), not the Basic one (the ~10min installment). The Basic export has no messages, posts, reactions, or invitations, so warmth, content themes, and half the audit come back empty. The script detects which you gave it and says so. |
| summary | A deep, deterministic read of your whole LinkedIn export into audit.json. |
| allowed-tools | ["Bash","Read"] |
| mcp_requirements | [] |
LinkedIn Power Audit
Runs on: local-exec - runs a local Python script against a local export folder. On a cloud surface I read the produced audit.json, I do not run the script.
The deep counterpart to linkedin-network-scan. The scan ranks who to act on; the audit reads the whole shape of your network and writes a structured audit.json the rest of the pack builds on. Python standard library only, no pip install, no AI in the extract, message content never read.
Known limitation: the export is title-only and point-in-time, has no location field, no firmographics, email mostly blank, and no engagement data on other people. The audit is a strong read of the network you have, not a database of strangers.
Step 1 - the export gate (do this FIRST)
Ask: "Do you have your LinkedIn data export downloaded and unzipped?"
This skill needs the UNZIPPED folder, not the .zip (unlike the scan, which takes the zip). If they have not requested it:
LinkedIn -> Settings -> Data privacy -> Get a copy of your data ->
Download larger data archive -> Request archive.
LinkedIn delivers in two installments:
- Basic (within ~10 minutes): profile, connections, positions, education, skills only.
- Complete (~24 hours later): everything else - messages, posts, reactions, comments, invitations, follows.
The script detects which one it reads and prints a banner. Run on the Complete export for the full audit; re-run when it arrives if you only have the Basic one. If the zip unzipped to another zip (LinkedIn sometimes wraps twice), unzip again until you see Profile.csv and Connections.csv directly.
Step 2 - run the audit
python power_audit.py <unzipped-export-folder> <output-folder> [--goal-buckets a,b]
<unzipped-export-folder> is the folder with Profile.csv and Connections.csv in it (the script descends one level automatically if it is nested in a single subfolder, and resolves member-id-suffixed activity files like Shares_<id>.csv).
<output-folder> MUST be outside any git repo - audit.json holds real names. A folder in their home directory is fine.
--goal-buckets is optional. Pass the stakeholder buckets the user's goal needs (comma-separated) to add a network.gap read - see Step 4. Valid bucket keys are in taxonomy.json under (e.g. , , , , ).