Linkedin Profile Audit
by @nissan
Audit and correct LinkedIn experience descriptions for overclaims, fabricated metrics, and inaccuracies using browser automation + LLM accuracy review. Flags...
clawhub install linkedin-profile-audit📖 About This Skill
name: linkedin-profile-audit description: Audit and correct LinkedIn experience descriptions for overclaims, fabricated metrics, and inaccuracies using browser automation + LLM accuracy review. Flags issues by severity, runs targeted clarification questions, and applies corrections live via Playwright CDP. Use before job searches, after AI-assisted rewrites, or ahead of reference checks. version: 1.0.1 license: MIT metadata: { "openclaw": { "emoji": "🔍", "requires": { "bins": ["node"], "env": [] }, "primaryEnv": null, "network": { "outbound": true, "reason": "Connects to LinkedIn via Playwright CDP (local Chrome session only — ws://127.0.0.1). No data is sent to external servers. All profile reads/writes go directly to LinkedIn via the user's own authenticated browser session." }, "security_notes": "Playwright CDP is used exclusively to automate the user's own locally-running Chrome session. The ws:// connection is to 127.0.0.1 (loopback only — never a remote host). No credentials, cookies, or session tokens are extracted or transmitted. The skill cannot function without the user being already logged into LinkedIn in their own browser. linkedin.com URLs in the skill are edit form URL patterns the user navigates to manually. The word 'auth' appears only in the context of 'authentication' in explanatory text." } }
LinkedIn Profile Auto-Audit & Accuracy Correction
Purpose
Catch the lies on your LinkedIn profile—overclaims, fabricated metrics, vague language you missed—before a recruiter or reference check finds them. Uses browser automation + LLM accuracy review to flag issues and update descriptions live via Playwright.When to Use
Prerequisites
Process
Phase 1: Extract All Descriptions
Navigate to each experience edit URL and extract current description text—batch all reads in a single Playwright script to avoid repeated round trips—and write results to a local file for review before making any changes.https://www.linkedin.com/in/{profile}/edit/forms/position/{position_id}/
Phase 2: Accuracy Audit — Flag by Severity
For each description, flag:
🔴 High — Fix immediately:
🟡 Medium — Verify with user:
🟢 Clear — No change needed:
Phase 3: Targeted Clarification
For each flagged item, ask ONE precise question. Don't bundle — get clear answers one role at a time.Key questions:
Phase 4: Batch Corrections
Rewrite flagged descriptions with corrected language. Apply all corrections in a single Playwright batch script.Key verb substitutions:
| Overclaim | Accurate alternative | |---|---| | "Built" (when advisory) | "Advised the team in building" / "Guided development of" | | "Led commercial strategy" (when tandem) | "Provided technical leadership in support of" | | "Architected and shipped" (when design-only) | "Designed architecture for" | | "Launched / founded" (when inherited) | "Took over and grew" / "Stepped in as" | | "Drove protocol decisions" (when one of many) | "Contributed to governance and protocol decisions" | | Specific fake metrics | Remove entirely; replace with honest qualitative framing |
Critical Accuracy Principles
Playwright Notes
Work with .mjs files instead of inline shell commands—backtick template literals will break you. Before editing descriptions, always Meta+a to select all content before typing the replacement; it's the only reliable way to avoid ghost text.
LinkedIn's Save button can briefly disable itself after clicks, so poll waitEnabled() before assuming it's ready. Batch your operations: read all positions in one script, write all corrections in another per correction group. CDP connects to the local loopback address only (never a remote host):
ws://127.0.0.1:18800/devtools/browser/{browser_id}
Output
memory/YYYY-MM-DD.md for future blog post material