X profile optimizer

Audit and rewrite an X (Twitter) profile end-to-end for 2026: bio (160 chars), display name with a searchable keyword, @handle, header image, pinned tweet, link, and location.

How to use it

  1. Hit Copy the whole skill.
  2. Claude: ⋯ → Download .md, then Customize → Skills → Add → Upload skill.
    ChatGPT: make a Project and paste it into Instructions.
    Neither? Paste it at the top of a new chat — it works for that chat.
  3. Describe your job in plain words. The AI follows the skill from there.
Claude Code — installs the whole folder, not just SKILL.md
npx degit sergebulaev/x-skills/.codex-marketplace/x-skills/skills/x-profile-optimizer#main ~/.claude/skills/x-profile-optimizer

For one project only, change the path to .claude/skills/x-profile-optimizer.

Not working?
  • Check which app you pasted it into — the steps above name the right one.
  • Some skills need the paid tier of Claude or ChatGPT.
Step-by-step guide with screenshots · Ask in the forum

Paste into Claude, ChatGPT or Cursor.

Show the full text71 lines
x-profile-optimizer/SKILL.md71 lines4.7 KBpushed 13d agoRawView on GitHub

X Profile Optimizer

Audit the seven parts of an X profile (photo, header, display name, @handle, bio, pinned tweet, link) against what actually converts a profile-clicker into a follower in 2026, then rewrite each part that needs it. On X the whole decision happens in about two seconds on the profile card: name, bio, pinned tweet. That is what this fixes.

When to use

  • User pastes their X profile or handle and asks for an audit
  • "Fix my bio", "rewrite my Twitter bio", "what should I pin"
  • User is starting to post seriously and wants the profile to match
  • Any of: "review my X profile", "optimize my header", "profile audit"

Not for writing tweets (use x-post-writer) or threads (use x-thread-builder).

Input

  • Profile URL / handle (or a screenshot of the profile card)
  • Goal: grow a following / drive signups / land clients / build authority — the bio CTA and pinned tweet change by goal
  • Optional: their best-performing tweets, to pick a pin

Output

  1. Scorecard (7 parts, pass / needs-work / fail)
  2. Priority fixes ranked by impact (bio and pin first, always)
  3. Before → After rewrites for each failing part
  4. Pinned-tweet pick with the reason

Steps

  1. Intake. Collect the profile state + goal. Note the account tier (Premium unlocks a longer bio and longer posts).
  2. Score the 7 parts against the scorecard below.
  3. Rewrite the bio (160 chars). Formula: who you help + what you post about + one proof or specific. Lead with the value, not the job title. No "I help X do Y" cliche opener unless the rest is specific. Fit inside 160 (Premium: more, but tight still wins).
  4. Fix the display name (50 chars). Real name + a searchable keyword people actually type (e.g. "Sam Rivera | LinkedIn Growth"). The name field is searchable; the @handle mostly is not.
  5. Pick the pinned tweet. Their single best proof of what a new follower will get: a top-performing post, a mini-portfolio thread, or a clear offer matched to the goal. A profile with no pin leaves the most important slot empty.
  6. Rewrite the header (1500x500). One line of value prop + a light visual, readable on mobile, not a busy collage. It reinforces the bio, it does not repeat it.
  7. Set the link. One link, matched to the goal (newsletter / offer / site). If they need several, a single link-hub, not a bare homepage.
  8. Photo check. Clear face, fills the frame, recent, high contrast against the header. It is a 48px circle for most viewers, so detail is wasted; contrast is not.
  9. Deliver the before/after diff + the two-second test: read only name, bio, and pin, and ask "would a stranger follow from this alone?"

Seven-part scorecard

# Part Pass criteria (2026)
1 Photo Clear face filling the frame, recent, high contrast at 48px, no busy background
2 Header 1500x500, one readable value-prop line, mobile-safe, reinforces (not repeats) the bio
3 Display name Real name + a searchable keyword, inside 50 chars
4 @handle Short, memorable, no numbers/underscores if avoidable
5 Bio Value + topic + proof inside 160 chars; no cliche opener; leads with what a follower gets
6 Pinned tweet Present, and it is their best proof matched to the goal (not a random recent tweet)
7 Link One, goal-matched; a link-hub if several are needed

Hard rules

Global voice rules: see root SKILL.md Voice rules. Additional skill-specific rules:

  • The bio must pass the two-second test: a stranger reading only name + bio + pin should know who this is for and want to follow.
  • Lead the bio with the reader's benefit, not the user's job title.
  • One specific or one number in the bio where the account allows it.
  • Keep every rewrite inside the platform character limits (bio 160, name 50). Never ship a truncated bio.
  • At most one em dash in the bio (a 160-char bio rarely needs one). No "leverage", "fundamentally", "game-changer".

Related skills

  • x-post-writer - write the tweets the optimized profile will host
  • x-hook-extractor - find a pin-worthy hook in a tweet that already worked
  • x-content-planner - plan the cadence that fills the profile
1---
2name: x-profile-optimizer
3description: "Audit and rewrite an X (Twitter) profile end-to-end for 2026: bio (160 chars), display name with a searchable keyword, @handle, header image, pinned tweet, link, and location. Triggers on \"review my X profile\", \"fix my bio\", \"rewrite my Twitter bio\", \"optimize my header\", \"pin the right tweet\", \"X profile audit\". Turns a default profile into one that converts visitors into followers. Not for writing tweets (use x-post-writer)."
4---
5 
6# X Profile Optimizer
7 
8Audit the seven parts of an X profile (photo, header, display name, @handle, bio, pinned tweet, link) against what actually converts a profile-clicker into a follower in 2026, then rewrite each part that needs it. On X the whole decision happens in about two seconds on the profile card: name, bio, pinned tweet. That is what this fixes.
9 
10## When to use
11 
12- User pastes their X profile or handle and asks for an audit
13- "Fix my bio", "rewrite my Twitter bio", "what should I pin"
14- User is starting to post seriously and wants the profile to match
15- Any of: "review my X profile", "optimize my header", "profile audit"
16 
17Not for writing tweets (use `x-post-writer`) or threads (use `x-thread-builder`).
18 
19## Input
20 
21- Profile URL / handle (or a screenshot of the profile card)
22- Goal: **grow a following** / **drive signups** / **land clients** / **build authority** — the bio CTA and pinned tweet change by goal
23- Optional: their best-performing tweets, to pick a pin
24 
25## Output
26 
271. **Scorecard** (7 parts, pass / needs-work / fail)
282. **Priority fixes** ranked by impact (bio and pin first, always)
293. **Before → After** rewrites for each failing part
304. **Pinned-tweet pick** with the reason
31 
32## Steps
33 
341. **Intake.** Collect the profile state + goal. Note the account tier (Premium unlocks a longer bio and longer posts).
352. **Score the 7 parts** against the scorecard below.
363. **Rewrite the bio (160 chars).** Formula: `who you help + what you post about + one proof or specific`. Lead with the value, not the job title. No "I help X do Y" cliche opener unless the rest is specific. Fit inside 160 (Premium: more, but tight still wins).
374. **Fix the display name (50 chars).** Real name + a searchable keyword people actually type (e.g. "Sam Rivera | LinkedIn Growth"). The name field is searchable; the @handle mostly is not.
385. **Pick the pinned tweet.** Their single best proof of what a new follower will get: a top-performing post, a mini-portfolio thread, or a clear offer matched to the goal. A profile with no pin leaves the most important slot empty.
396. **Rewrite the header (1500x500).** One line of value prop + a light visual, readable on mobile, not a busy collage. It reinforces the bio, it does not repeat it.
407. **Set the link.** One link, matched to the goal (newsletter / offer / site). If they need several, a single link-hub, not a bare homepage.
418. **Photo check.** Clear face, fills the frame, recent, high contrast against the header. It is a 48px circle for most viewers, so detail is wasted; contrast is not.
429. **Deliver the before/after diff** + the two-second test: read only name, bio, and pin, and ask "would a stranger follow from this alone?"
43 
44## Seven-part scorecard
45 
46| # | Part | Pass criteria (2026) |
47|---|------|----------------------|
48| 1 | **Photo** | Clear face filling the frame, recent, high contrast at 48px, no busy background |
49| 2 | **Header** | 1500x500, one readable value-prop line, mobile-safe, reinforces (not repeats) the bio |
50| 3 | **Display name** | Real name + a searchable keyword, inside 50 chars |
51| 4 | **@handle** | Short, memorable, no numbers/underscores if avoidable |
52| 5 | **Bio** | Value + topic + proof inside 160 chars; no cliche opener; leads with what a follower gets |
53| 6 | **Pinned tweet** | Present, and it is their best proof matched to the goal (not a random recent tweet) |
54| 7 | **Link** | One, goal-matched; a link-hub if several are needed |
55 
56## Hard rules
57 
58Global voice rules: see root `SKILL.md` Voice rules. Additional skill-specific rules:
59 
60- The bio must pass the two-second test: a stranger reading only name + bio + pin should know who this is for and want to follow.
61- Lead the bio with the reader's benefit, not the user's job title.
62- One specific or one number in the bio where the account allows it.
63- Keep every rewrite inside the platform character limits (bio 160, name 50). Never ship a truncated bio.
64- At most one em dash in the bio (a 160-char bio rarely needs one). No "leverage", "fundamentally", "game-changer".
65 
66## Related skills
67 
68- `x-post-writer` - write the tweets the optimized profile will host
69- `x-hook-extractor` - find a pin-worthy hook in a tweet that already worked
70- `x-content-planner` - plan the cadence that fills the profile
71 

Discussion

Alternatives

Also in Posting & scheduling
Linkedin comment drafterDraft 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).Marketing · MITLinkedin content plannerGenerate 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).Marketing · MITLinkedin employee advocacyStand up and run a LinkedIn employee advocacy program for a marketing or sales team. Covers 14-day launch playbook, brand-guideline governance, per-post time budget, cadence benchmarks, and team ROI (reach, engagement, pipeline). Triggers on "employee advocacy", "get the team posting", "scale LinkedIn across team", "advocacy ROI". Not for planning one person's own calendar (use linkedin-content-planner).Marketing · MITInstagram Audience InsightsRead your Instagram niche and profile from real data via Apify, no login. Scan a hashtag for the posts traveling now (likes, comments, owner) to see the format and hook that works. Pull profile stats for any handle, yours or a competitor's: followers, posts, bio, category. Instagram hides who liked or commented on other accounts, so this is discovery plus profiles, not engagers. Triggers on "what works in my niche", "scan the hashtag", "competitor stats". Not for writing captions (use ig-caption-writer).Marketing · MIT