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
- - Before a job search — profile needs to be referral-safe and stand up to peer scrutiny
- After AI-assisted rewrites that may have introduced overclaims or fabricated metrics
- After a period of growth when descriptions may no longer reflect the actual role
- Before reference checks or background screening
Prerequisites
- - Playwright CDP connection to a live Chrome session logged into LinkedIn
- Position IDs for each experience entry (visible in LinkedIn edit URLs)
- User available to answer targeted clarification questions about each role
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.
CODEBLOCK0
Phase 2: Accuracy Audit — Flag by Severity
For each description, flag:
🔴 High — Fix immediately:
- - Fabricated or unverifiable metrics (user counts, % improvements, SLA figures)
- Claimed production deployment when work was PoC, design-only, or local
- Sole attribution ("I built / I architected") for work done by a team you advised or directed
- Actions claimed that didn't happen (e.g. "closed a deal" when someone else closed it)
🟡 Medium — Verify with user:
- - "Led" language for tandem or shared leadership roles
- Specific feature names or technical details not confirmed by the user
- Partner/vendor relationships described more intimately than reality
- "Founded/launched" language for roles that were inherited or handed over
🟢 Clear — No change needed:
- - Self-owned company work (founder has full ownership)
- Confirmed hands-on builds (AI-assisted is still the user's work)
- Verified, measured metrics
- Roles with clear sole ownership
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:
- - "Did you personally build/deploy this, or did you direct others who did?"
- "Were these metrics measured in production, or estimated/aspirational?"
- "Was there someone above you on the [commercial/technical] side?"
- "What was the actual relationship with [partner] — tool, co-builder, or just conversations?"
- "Did anything go live or to test, or was this architecture/design phase only?"
- "Was this your own idea, or a collaborative extension?"
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
- - Advisory ≠ Builder — If you guided/directed others, say so. The people who coded it deserve credit, and peers will know the difference.
- Design ≠ Deployment — Never claim production metrics for work that didn't ship. Local PoCs are valuable — describe them honestly.
- Tandem ≠ Led — If someone else owned the non-technical or commercial side, reflect that explicitly.
- AI-assisted is still yours — Using Cursor, Claude, or Copilot to write code you directed and deployed doesn't diminish authorship. No caveat needed.
- PoC/local ≠ Production — "Built a working local proof-of-concept that validated the approach" is strong and honest. "Deployed to 100K users" when nothing went live is a liability.
- Collaboration is a feature — Saying "worked in tandem with the CEO" or "guided the Monash research team" signals leadership and honesty. Referees will confirm the accurate version.
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):
CODEBLOCK1
Output
- - Corrected LinkedIn descriptions live on profile
- Fact/data log in
memory/YYYY-MM-DD.md for future blog post material - Referral-safe profile that stands up to peer review from former employers and colleagues
LinkedIn 个人资料自动审计与准确性修正
目的
在招聘人员或背景调查发现之前,捕捉 LinkedIn 个人资料中的不实之处——过度宣称、捏造的指标、被你忽略的模糊表述。使用浏览器自动化 + LLM 准确性审查来标记问题,并通过 Playwright 实时更新描述。
使用时机
- - 求职前——个人资料需要经得起推荐人核查和同行审视
- 在 AI 辅助重写后——可能引入了过度宣称或捏造的指标
- 经历一段成长周期后——描述可能不再反映实际角色
- 在背景调查或背景筛查之前
前置条件
- - Playwright CDP 连接到已登录 LinkedIn 的实时 Chrome 会话
- 每条经历条目的职位 ID(在 LinkedIn 编辑 URL 中可见)
- 用户可回答关于每个角色的针对性澄清问题
流程
第一阶段:提取所有描述
导航至每个经历编辑 URL,提取当前描述文本——在单个 Playwright 脚本中批量完成所有读取操作,避免重复往返——并在进行任何修改前将结果写入本地文件以供审查。
https://www.linkedin.com/in/{profile}/edit/forms/position/{position_id}/
第二阶段:准确性审计——按严重程度标记
对于每条描述,标记:
🔴 高优先级——立即修正:
- - 捏造或无法验证的指标(用户数量、改进百分比、SLA 数据)
- 声称的生产环境部署,实际仅为概念验证、设计阶段或本地环境
- 对你仅提供建议或指导的团队工作声称我构建/我设计的独占归属
- 声称发生但实际未发生的行动(例如他人完成的交易声称我完成了交易)
🟡 中优先级——与用户核实:
- - 对协作或共同领导角色使用领导表述
- 用户未确认的特定功能名称或技术细节
- 比实际情况描述得更亲密的合作伙伴/供应商关系
- 对继承或交接的角色使用创立/推出表述
🟢 清晰——无需修改:
- - 自有公司工作(创始人拥有完全所有权)
- 已确认的亲手构建(AI 辅助仍属于用户的工作)
- 已验证、可衡量的指标
- 具有明确独立所有权的角色
第三阶段:针对性澄清
对于每个标记项,提出一个精确问题。不要打包提问——一次一个角色获取清晰答案。
关键问题:
- - 你是亲自构建/部署了这项内容,还是指导他人完成的?
- 这些指标是在生产环境中衡量的,还是估算/预期值?
- 在[商业/技术]方面是否有比你更高层级的人?
- 与[合作伙伴]的实际关系是什么——工具、共同构建者,还是仅限对话?
- 是否有任何内容上线或进入测试阶段,还是仅处于架构/设计阶段?
- 这是你自己的创意,还是协作延伸的成果?
第四阶段:批量修正
使用修正后的语言重写标记的描述。在单个 Playwright 批量脚本中应用所有修正。
关键动词替换:
| 过度宣称 | 准确替代 |
|---|
| 构建(当为顾问角色时) | 为团队提供构建建议 / 指导开发 |
| 领导商业策略(当为协作角色时) |
提供技术领导力以支持 |
| 设计并交付(当仅为设计阶段时) | 为……设计架构 |
| 推出/创立(当为继承角色时) | 接手并发展 / 接任 |
| 推动协议决策(当为众多参与者之一时) | 为治理和协议决策做出贡献 |
| 具体的虚假指标 | 完全删除;替换为诚实的定性描述 |
关键准确性原则
- - 顾问 ≠ 构建者——如果你指导/引导了他人,请如实说明。编写代码的人应获得认可,同行也能分辨差异。
- 设计 ≠ 部署——切勿为未交付的工作声称生产指标。本地概念验证很有价值——请诚实描述。
- 协作 ≠ 领导——如果其他人拥有非技术或商业方面的所有权,请明确反映这一点。
- AI 辅助仍属于你——使用 Cursor、Claude 或 Copilot 编写你指导并部署的代码不会削弱作者身份。无需附加说明。
- 概念验证/本地 ≠ 生产环境——构建了一个有效的本地概念验证,验证了方法的可行性既有力又诚实。而部署给 10 万用户如果实际上线则是风险。
- 协作是一种优势——说与 CEO 协作或指导莫纳什研究团队既表明领导力又体现诚实。推荐人会确认准确的版本。
Playwright 注意事项
使用 .mjs 文件而非内联 shell 命令——反引号模板字面量会导致问题。在编辑描述之前,始终使用 Meta+a 全选所有内容后再输入替换文本;这是避免幽灵文本的唯一可靠方法。
LinkedIn 的保存按钮在点击后可能短暂禁用,因此在假设其就绪前轮询 waitEnabled()。批量执行操作:在一个脚本中读取所有职位,在另一个脚本中按修正组写入所有修正。CDP 仅连接到本地回环地址(绝不连接远程主机):
ws://127.0.0.1:18800/devtools/browser/{browser_id}
输出
- - 个人资料上实时修正的 LinkedIn 描述
- 事实/数据日志保存在 memory/YYYY-MM-DD.md 中,供未来博客文章素材使用
- 经得起前雇主和同事同行评审的推荐人安全个人资料