profile-optimizer
Skill0 starsChanged 5 months agoUnlicenseView on GitHub
Audit and optimize a LinkedIn profile for recruiter discoverability using browser automation. Fixes Open to Work settings, headline keywords, location, top skills, languages, projects, About section, and experience descriptions. Use when user wants to improve their LinkedIn profile for job searching or increase inbound recruiter messages. Part of the Mercury job search toolkit.
7 other projects use a version of this.
Adopted by
Most recently taken up by
- mthines/agent-skillstheir own version, first seen Oct 30, 2026
- charlie947/social-media-skillstheir own version, first seen Sep 15, 2026
- alebgl77/claude-inctheir own version, first seen Jul 28, 2026
- moses607/socialforgetheir own version, first seen Jul 15, 2026
- wltn7810-dotcom/claude-skilltheir own version, first seen Jul 13, 2026
- mahiunfiltered/claude-code-skillstheir own version, first seen Jul 8, 2026
Used with
Projects with it also use reels-scripting, voice-builder and 1 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
mahiunfilteredSkillreels-scripting
Turn a reference Instagram Reel into a script for your own Reel, tuned to your voice and repurposed from your newsletter content. Takes a Reel URL or Notion reference link, uses Apify to scrape the video, sends it to Gemini 2.5 Flash for full transcript + hook + structure analysis, then writes a new script applying the same patterns to your newsletter topic. Use this skill whenever the user says "script a reel", "reels scripting", "turn this into a reel", pastes an Instagram Reel URL, or references their Notion outlier reels database. Requires APIFY_API_TOKEN and GOOGLE_AI_API_KEY environment variables.
Also in 3 projects that use this
mahiunfilteredSkillvoice-builder
Build a personalised voice profile inside a Cowork project from a short interview plus 3 to 5 sample pieces of writing. Works for any content format: LinkedIn posts, newsletters, essays, emails, blog posts, tweets, or any other published writing. Use this skill at the start of any Cowork project where the user wants Claude to learn who they are and how they write before drafting new content. Trigger whenever the user says "build my voice", "learn my voice", "set up my content system", "onboard me", "train on my writing", "train on my posts", "I want Claude to sound like me", or drops a batch of writing samples into chat at the start of a project. Also trigger for first-time Cowork users who need a voice foundation before writing anything. Always produces two files (about-me.md and voice.md) saved into the project root.
Also in 3 projects that use this
OpenAnalystIncSkillhook-generator
Generates powerful hooks, headlines, CTAs, and attention-grabbing opening lines. Uses proven formulas and psychological triggers. Use this skill when you need subject lines, social media hooks, ad headlines, CTAs, or any content that must capture attention instantly.
Also in 3 projects that use this
Other versions7 projects use a version of this.
Word for word · 1
- FlavioZanoni/mercury★ 8100% same
Edited · 0
None found.
Wrote their own version · 6
- charlie947/social-media-skills★ 4.4ksame name
- alebgl77/claude-inc★ 21same name
- mthines/agent-skills★ 20same name
- moses607/socialforge★ 3same name
- mahiunfiltered/claude-code-skills★ 1same name
- wltn7810-dotcom/claude-skill★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository7 other files it gives its agents.
- AGENTS.mdAGENTS.md
- experience-bankSkill
- job-scoutSkill
- outreach-trackerSkill
- portal-fillerSkill
- recruiter-outreachSkill
- resume-tailorSkill
The file
We split this skill into the rules it gives an agent
7 rules. 0 are common, 5 are distinctive, and 2 are very specific to this project.
0
Common
Most of the 6 edited versions we read keep these.
5
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 62
Remove soft skills, add 5 technical skills matching target roles
- Distinctive: line 63
Use typeahead: type skill name → ArrowDown → Enter to select
- Distinctive: line 69
Add native language + English with correct CEFR mapping:
- Distinctive: line 79
Keep handle/alias at the end, not the opening
- Distinctive: line 99
Check analytics after 1-2 weeks for lift in search appearances
- Very specific: line 139
Multiple "Save" buttons: use the dialog-scoped one, not global nav — target by the uid from the latest take_snapshot
- Very specific: line 140
Refs shift on re-render: after enabling Remote, adding/removing skills, etc.
“Common” is measured: kept by at least 6 in 10 of the 6 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
LinkedIn Profile Optimizer
Audit a LinkedIn profile against real recruiter-search signals and fix the gaps via Chrome MCP browser automation.
Prerequisites
- LinkedIn MCP — for pulling the full profile and analytics
- Chrome MCP — for making edits. Auto-starts Chrome on first tool call (no manual launch flags needed); use the session where you're logged into LinkedIn
- For multi-step edit flows, prefer the
pipelinetool (navigate → snapshot → click/fill in one call) over individual tool round-trips
Workflow
1. Pull Profile & Audit
get_person_profile(username, sections: experience,education,skills,certifications,projects,honors,languages,posts)Analyze these signals against recruiter-search behavior:
| Signal | What Recruiters Filter On | Common Pitfall |
| Search appearances/week | <100 = starved funnel | Headline has no tech keywords |
| Connections | <500 = tiny 2nd-degree pool | Low discoverability |
| Open to Work | Must be recruiter-visible | Set to internal-only or unset |
| Location | Recruiters filter by city | Listed in hometown, not work city |
| Headline | Most weighted search field | Uses jargon (SDE) or wastes space on degree |
| Top Skills (5) | Skill-match algorithms | Soft skills pinned instead of technical |
| Languages | Bilingual filter | Empty section |
| Projects | Completeness signal | Empty section |
Present ranked pitfalls with specific, actionable fixes.
2. Optimize via Chrome MCP (Priority Order)
A. Open to Work (Highest Impact)
- Path: Profile → "Open to" button → "Finding a new job"
- Set: multiple titles (5 max), all location types (On-site/Hybrid/Remote), target city, "Flexible/casually looking", Full-time, Recruiters only visibility
- ⚠️ Enabling Remote re-renders the form (refs shift, adds required "Locations (remote)" field)
B. Location
- Path:
/in/{user}/edit/intro/ - Change City field to actual work location
C. Headline
- Path:
/in/{user}/edit/intro/→ headline textbox (max 220 chars) - Template:
{Role} @ {Company} | {Specialty} | {Tech1} · {Tech2} · {Tech3} · {Tech4} · {Tech5}
D. Top Skills
- Path:
/in/{user}/add-edit/SUMMARY/(the About editor contains the skills picker) - Remove soft skills, add 5 technical skills matching target roles
- Use typeahead: type skill name → ArrowDown → Enter to select
- ⚠️ This is NOT in the Skills detail page — it's inside the About editor
E. Languages
- Path:
/in/{user}/add-edit/LANGUAGE/ - Typeahead for language name + proficiency level dropdown
- Add native language + English with correct CEFR mapping:
- B2 = "Professional working proficiency"
- C1 = "Full professional proficiency"
- Native = "Native or bilingual proficiency"
F. About Section
- Path:
/in/{user}/add-edit/SUMMARY/ - Rich text editor (tiptap). Use
.fill()to replace content. - Lead with: role + company + city + specialty + stack (first 2 lines show in search previews)
- Include: what you work on (bullet points), education, what you're open to, links
- Keep handle/alias at the end, not the opening
G. Projects
- Path:
/in/{user}/add-edit/PROJECT/ - Fields: name (255 max), description (2000 max), start/end dates, "Associated with" dropdown, skills, media
- Prioritize: open-source with stars, thesis/research, portfolio
- Associate with relevant experience entry
H. Experience Descriptions
- Path:
/in/{user}/details/experience/edit/forms/{formId}/ - Find formId from the experience detail page's edit links
- Description field: 2000 char max
- ⚠️ Toggle "Notify network" OFF before saving (unless user wants to broadcast)
I. Remove Internal Mobility Card
- Path:
/in/{user}/opportunities/internal-mobility/edit/→ Delete → Confirm - Removes the "Interested in jobs at {Company}" card that signals "not looking externally"
3. Verification
- Navigate to profile and screenshot final state
- Check analytics after 1-2 weeks for lift in search appearances
4. Persist to Mercury
Capture the profile metrics + computed score so the dashboard can chart progress over time. Run this whenever you pull fresh analytics (this is the only point profile metrics enter the system — the dashboard can't scrape them itself):
mercury metric record \
--search-appearances {N} --profile-views {N} \
--post-impressions {N} --connections {N} \
--score {0-100} \
--breakdown '{"openToWork":"recruiters-only","headline":"strong","location":"São Paulo","topSkills":"strong","languages":"set","projects":"4 added","about":"strong","connections":"weak (<500)"}'The --breakdown is a JSON object of {signal: status} pairs — one per audited
signal from step 1's table. The dashboard renders each as a labeled pill (Overview
- Profile sections), color-coded: greenish for strong/good/set/done values, red for weak/missing/empty/none, neutral otherwise. Use concise, human-readable status strings so the pills read well.
Log the optimization session:
mercury activity log --skill profile-optimizer --summary "Audited + fixed {what}; score {old}->{new}"LinkedIn Deep Links Reference
/in/{user}/edit/intro/ — Headline, location, name
/in/{user}/add-edit/SUMMARY/ — About text + Top Skills picker
/in/{user}/add-edit/LANGUAGE/ — Add language
/in/{user}/add-edit/PROJECT/ — Add project
/in/{user}/details/experience/edit/forms/{id}/ — Edit experience entry
/in/{user}/details/skills/edit/forms/{id}/ — Edit skill associations
/in/{user}/opportunities/internal-mobility/edit/ — Internal mobility cardGotchas
- Typeahead fields (Language, Skills): must use ArrowDown + Enter after typing — plain text won't register (use
press_keyafterfill) - Multiple "Save" buttons: use the dialog-scoped one, not global nav — target by the
uidfrom the latesttake_snapshot - Refs shift on re-render: after enabling Remote, adding/removing skills, etc. — take a fresh
take_snapshot(staleuids won't resolve) - Long option lists bloat snapshots: year/skill dropdowns are large — prefer acting on the field
uiddirectly rather than snapshotting the whole open list - "Done" button conflicts: video player has one too — use
press_keyEscape to close post-save modals - Premium "next action" modals: appear after saving (suggest connections, ask about skills) — dismiss with Escape or skip
- Use
pipelinefor edit flows: chain navigate → wait_for → take_snapshot → click/fill to avoid stale refs and reduce round-trips
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

