linkedin-profile-optimizer
Skill0 starsChanged 8 days agoMITView on GitHub
LinkedIn profile work for senior product and technology leaders: frame selection, target-level headline, About section, Experience lines, skills and an action plan that fits in two hours. Use for 'optimize my LinkedIn', 'rewrite my headline', 'LinkedIn about section', 'what skills should I add', 'get more recruiter inbound', or a resume-to-LinkedIn consistency check. Every number is checked against the claims ledger and every Experience line against the duties lint before delivery.
20 other projects use a version of this.
Adopted by
Most recently taken up by
- uplika/uplika-plugintheir own version, first seen Nov 8, 2026
- ZoolCoder/scoutjobstheir own version, first seen Nov 1, 2026
- 07001ec010shnk-svg/linkedin-agent-skillstheir own version, first seen Oct 25, 2026
- prosyo-ai/gtm-skilltheir own version, first seen Oct 25, 2026
- CodesbyFebin/linkedin-managertheir own version, first seen Oct 20, 2026
- AIProUK/linkedin-claude-skillstheir own version, first seen Oct 20, 2026
Used with
Projects with it also use linkedin-comment-drafter, linkedin-content-planner and 10 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.
sergebulaevSkilllinkedin-comment-drafter
Draft a LinkedIn comment on someone else's post from its URL, or reshare (repost) it to your feed with optional commentary. Use when the user pastes a post URL and asks to comment, engage, be first commenter, or repost with their thoughts. Produces 1-3 variants in the user's voice, picks a reaction, and publishes via Publora on approval. Not for replying to existing comments (use linkedin-reply-handler).
Also in 7 projects that use this
sergebulaevSkilllinkedin-content-planner
Generate a 7-day LinkedIn content plan from a theme, audience, and pillars. Produces per-day post pillar, format, hook type, CTA, posting time, daily comment targets, and a weekly inbound-readiness check. Use when the user wants to plan a week or month of content, not draft a single post (use linkedin-post-writer).
Also in 7 projects that use this
sohaib25225-gifSkilllinkedin-post-writer
Also in 10 projects that use this
- +9 more from sergebulaev
Other versions20 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 20
- sergebulaev/linkedin-skills★ 5.4ksame name
- Paramchoudhary/ResumeSkills★ 2.1ksame name
- BrianRWagner/ai-marketing-skills★ 440same name
- BrianRWagner/ai-marketing-claude-code-skills★ 408same name
- az9713/ai-co-writing-claude-skills★ 61same name
- prosyo-ai/gtm-skill★ 13same name
- tstapler/dotfiles★ 8same name
- TaplioOfficial/taplio-linkedin-claude-skills★ 7same name
- opencue/cuecards★ 6same name
- ZoolCoder/scoutjobs★ 4same name
10 more not listed
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 repository3 other files it gives its agents.
- interview-coachSkill
- job-loop-prepSkill
- resume-tailorSkill
The file
We split this skill into the rules it gives an agent
4 rules. 0 are common, 4 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 19 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 18
Every former colleague can see the profile, so an overclaim is caught in public.
- Distinctive: line 27
Do not claim ranking effects you cannot cite.
- Distinctive: line 52
Write the test sentence: "A recruiter for <target role> reads the headline and the first About line and concludes <X>." X must equal the …
- Distinctive: line 129
Run on the proposed copy and report the counts:
“Common” is measured: kept by at least 6 in 10 of the 19 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
For a senior candidate, LinkedIn is mostly a validation layer: many Director and VP roles arrive through networks, referrals and search firms, and the profile has to pass a 30 to 60 second credibility check by someone with no shared context. The profile hooks; the resume closes.
Paths below are relative to the kit's root. Installed as a standalone skill, copy
references/ and scripts/ next to this file.
Why these rules exist
- Every former colleague can see the profile, so an overclaim is caught in public. The specificity ladder applies, and a LinkedIn Recommendation is the best defense for a Tier 3 claim.
- There is one live profile, so the frame decision is binding for all targets at once.
- Recruiter search filters on titles. Pick titles from LinkedIn's autocomplete list so they map to a standard title, and stack promotions under one company entry.
- A stranger reads it in under a minute with no context, so the profile has to carry the level and the thinking explicitly. Colleagues fill in your depth from history; strangers cannot (Nancy Chu, 2026-04-22).
- Do not claim ranking effects you cannot cite. Advice here is about what a human reader sees, not about gaming an algorithm.
Inputs
Profile data (a PDF export is best; pasted text works; a resume as a proxy, flagged), 1 to 3 target titles from live postings with their JDs, the claims ledger, and constraints (private "open to work" acceptable? anything to mute? posting or passive?).
Sequence
Step 0: frame
Choose one: (A) operator-builder, (B) between full-time roles, (C) portfolio career. The top three targets decide; if they are mixed, ask which cluster comes first. Headline, About opener, current title, featured items and pinned skills all carry the frame.
Step 1: target level and JD decode
- Name the target level and the level the profile reads at now. Up to roughly L7 the profile narrates work that was yours; from L8 it narrates outcomes through organizations (Nancy Chu, 2026-07-21).
- Decode the top three bullets of each target JD into problem and crux lines and save
them as
jd-crux.md(Nancy Chu, 2026-06-02). They drive the About opener and the pinned skills. - Write the test sentence: "A recruiter for
<target role>reads the headline and the first About line and concludes<X>." X must equal the target role before anything else is touched. The real record carries the level, never an inflated title (Simon Witten, post on pitching at the target level).
Step 2: audit
A table in recruiter-workflow order: title entry and standard title, keyword coverage, role stacking, location (search); headline at the target level, photo, private "open to work" (card); level read, duties-line count, scope and progression, About opener and how-I-think line (full profile); a tailored resume exists (readiness). Flag title problems first and the level read second.
Step 3: headline
Formula: <target-level standard title> | <domain plus one scale proof point>. At most
220 characters, no "ex-", no buzzwords, no more than three identities. Any growth number
names where it happened (the claim freeze requires it). No placeholder metrics on a public
surface. Deliver three variants ranked by clarity.
Step 4: About, in three beats
Under 1,000 characters, two or three short paragraphs:
- Aimed opener: one line aimed at the problem the target teams are hiring to fix
(from
jd-crux.md), not a list of scope (Nancy Chu, 2026-10-06). - Proof and the how-I-think line: two or three what-changed results from the ledger, then one method sentence a stranger can picture at their company, for example "When a team is behind, I cut active projects before I add headcount; focus is usually the bottleneck." (Nancy Chu, 2026-04-18.)
- Why this problem, and an opening: one line in the candidate's own voice that ends on an open door, not a list of asks.
No "I am a..." opener, no buzzwords, no em dashes. For VP targets, at least one sentence narrates an outcome through the org.
Step 5: Experience
For the top 3 or 4 roles: the standard title, a scope hook on line one, one or two what-changed lines with JD keywords, promotions stacked, two to four lines per role.
Change, not duties (Simon Witten, post on resumes): rewrite any line that opens with
Responsible for, Managed, Oversaw, Worked on, Helped, Supported or Participated as what
changed (a number) for whom and how. Report "duties lines: n -> 0" from
python3 scripts/altitude_count.py experience.md --duties.
Early-stage credentials appear wherever they apply, and nowhere the ledger does not carry them.
A Tier 3 claim without a matching Recommendation gets "request a Recommendation from
<former colleague role>".
Step 6: skills
Crux terms from the JD decode plus the JD's top three skills, checked against autocomplete, 15 to 25 in total. Pin the three exact JD matches. Unpin legacy skills that point at the old identity (for an AI product target, "Management Consulting" above "Product Management" reads wrong) and ask three to five former colleagues to endorse the pinned ones.
Step 7: other sections
Patents and Publications (only what the candidate is named on, exactly as supplied), Honors (say whose award it was), Projects, Featured, Organizations, Volunteering.
Step 8: two-hour action plan
NOW (30 min): test sentence; headline and first About line; standard titles; stack roles;
private "open to work"; location; photo.
THIS WEEK (60): JD decode; About in three beats; duties lines -> 0; 15-25 skills;
scope lines; remove buzzwords and em dashes; claim check every number.
THEN STOP: tailor the resume per target; five warm outreach messages; one recruiter
friend's review.
SKIP UNLESS DONE: banner; skills past 25; About character counting.Outside check before delivery
Run on the proposed copy and report the counts:
python3 scripts/claim_check.py linkedin.md claims-ledger.json
python3 scripts/altitude_count.py linkedin.md --dutiesThen confirm: em dashes 0; banned words 0; placeholder metrics 0; headline at most 220 characters; About at most 1,000; the target title term in the headline and the first About line; a method sentence present in About.
Partial requests
Deliver the section asked for, and flag any critical issue elsewhere in one line.
Never
Build without a frame and a test sentence; leave a title off the standard list; put a placeholder metric on a public surface; add a Tier 5 claim; mirror the resume; leave a headline that contradicts Experience; pin legacy skills; ship a duties line; print a number, title, date or status the ledger does not carry.
Files
references/playbook.md,references/claims-ledger.mdscripts/altitude_count.py,scripts/claim_check.pyexamples/outputs/linkedin-about.md: a worked headline and About for an invented candidate
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.

