fix(linkedin-studio): S23 harden profile — re-source profile-as-validated-object overclaim to SSOT, soften SEO claims
Profile is a self-contained, prose-heavy Grow-tier audit command (no agent, no routing, no state). Grant-hygiene was already clean (Read + AskUserQuestion, both used, no orphans/missing). The one real axis was b': the file repeatedly framed the relevance model as reading and VALIDATING your profile and gating distribution on it — contradicting the SSOT (algorithm-signals-reference.md), which confirms only topic/interest relevance as a ranking input (content matched to a viewer's interests, incl. beyond your network) with no off-topic magnitude figure and no weighted profile criteria. The file was internally inconsistent — its own soft, SSOT-true framing already sat at :17/:25/:27. 12 edits, commands/profile.md only: - desc :5: drop "validates your profile BEFORE distributing content". - :31 + table: drop "the model evaluates five criteria (see SSOT)" false attribution + HIGH/MEDIUM "Impact if Missing" postulated weights -> "LinkedIn does not publish a profile-scoring breakdown ... practitioner heuristics", column -> "Priority (heuristic)". - :99/:161/:173/:230: reframe "first signal telling ... qualified" / "relevance validation" / "checks if you're connected" / "if LinkedIn's AI read my profile, would it believe" away from the profile-read-by-model mechanic. - :25/:27/:51/:67: conflation fix — "your demonstrated expertise" / "tell the relevance model what you're expert in" -> "a viewer's interests" / "topic- relevance distribution" (SSOT wording) + no-percentage honesty. - :24 (B2): "Goes to 10% of audience" -> "a slice of your network". - :52/:61 (P3): "highest-weight search field" -> "highest-leverage" (self- justified rest kept). Verify: re-grep final file — all overclaim/conflation patterns NONE, new SSOT text in place; grant-hygiene unchanged; test-runner 81/0/0 exit 0; counts 29/19 unchanged (.md-only). FIXED, 0 deferrals. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016qgzo6rxthw7KuxHjn5vyE
This commit is contained in:
parent
ff52ec8577
commit
10e10897ca
2 changed files with 105 additions and 22 deletions
|
|
@ -2,8 +2,9 @@
|
|||
name: linkedin:profile
|
||||
description: |
|
||||
profile/topic-relevance optimization checklist for LinkedIn's 2026 algorithm update.
|
||||
LinkedIn now validates your profile BEFORE distributing content. This command audits
|
||||
and optimizes your profile for maximum reach. Use when the user mentions "profile",
|
||||
A coherent, on-topic profile reinforces the topic-relevance signal LinkedIn uses to decide
|
||||
how widely your content is distributed. This command audits and optimizes your profile
|
||||
for that signal. Use when the user mentions "profile",
|
||||
"topic-relevance", "profile optimization", "why is my reach low", or wants to improve their
|
||||
LinkedIn presence. Triggers on: "optimize profile", "profile/topic-relevance check", "profile audit",
|
||||
"linkedin profile help", "fix my profile".
|
||||
|
|
@ -21,32 +22,37 @@ You are a LinkedIn profile optimization specialist. Help the user optimize their
|
|||
Read `references/algorithm-signals-reference.md` for algorithm mechanics.
|
||||
|
||||
**The Fundamental Shift:**
|
||||
- **In the older feed model:** Post something -> Goes to 10% of audience -> Algorithm tracks engagement
|
||||
- **In the 2026 relevance model:** profile/topic relevance is weighed alongside engagement — content matched to your demonstrated expertise is distributed more widely (including beyond your network), so an off-topic post from a misaligned profile tends to underperform.
|
||||
- **In the older feed model:** Post something → a slice of your network sees it → the algorithm tracks engagement to decide wider reach
|
||||
- **In the 2026 relevance model:** topic/interest relevance is weighed alongside engagement — content matched to a viewer's interests is distributed more widely (including beyond your network), so an off-topic post from a profile that sends no clear topic signal tends to underperform.
|
||||
|
||||
**Profile/topic alignment is a real ranking input — content matched to your demonstrated expertise is distributed more widely (see `references/algorithm-signals-reference.md`).**
|
||||
**Profile/topic alignment is a real ranking input — content matched to a viewer's interests is distributed more widely, including beyond your network (see `references/algorithm-signals-reference.md`). LinkedIn confirms no off-topic reach-reduction figure — treat alignment as a real input, not a quantified penalty.**
|
||||
|
||||
## The Profile/Topic Relevance Factors
|
||||
|
||||
The 2026 relevance-ranking model evaluates five criteria (see `references/algorithm-signals-reference.md`):
|
||||
Topic alignment is a confirmed ranking input, but LinkedIn does **not** publish a
|
||||
profile-scoring breakdown — there is no official "five criteria" weighting (see
|
||||
`references/algorithm-signals-reference.md`). The factors below are practitioner heuristics
|
||||
for sending a coherent, on-topic expertise signal; treat the priority as directional, not a
|
||||
measured coefficient:
|
||||
|
||||
| Criteria | What It Checks | Impact if Missing |
|
||||
|----------|----------------|-------------------|
|
||||
| **About Section** | Does it establish expertise on your topics? | HIGH - first signal of credibility |
|
||||
| **Experience Section** | Relevant background with impact statements? | HIGH - proves you've done the work |
|
||||
| **Content History** | Have you posted about this topic before? | MEDIUM - consistency signal |
|
||||
| **Network** | Connected to professionals in this space? | MEDIUM - social proof |
|
||||
| **Engagement Patterns** | Do you comment on posts about your topics? | MEDIUM - active participation |
|
||||
| Factor | What it signals | Priority (heuristic) |
|
||||
|--------|-----------------|----------------------|
|
||||
| **About Section** | Establishes your expertise on your topics | High — first thing a reader (and a topic-matcher) sees |
|
||||
| **Experience Section** | Relevant background with impact statements | High — evidence you've done the work |
|
||||
| **Content History** | You've posted on this topic before | Medium — consistency signal |
|
||||
| **Network** | Connected to professionals in this space | Medium — social proof |
|
||||
| **Engagement Patterns** | You comment on posts in your topics | Medium — active participation |
|
||||
|
||||
## Profile SEO — your profile is also a search surface
|
||||
|
||||
Topic-relevance ranking (above) governs **content distribution**. Separately,
|
||||
your profile is **indexed by LinkedIn search** — when someone searches a topic, a
|
||||
role, or a skill, LinkedIn keyword-matches profile fields to decide who surfaces.
|
||||
The two reinforce each other: the same keywords that tell the relevance model
|
||||
what you're expert in are the ones that make you findable. Optimize for both.
|
||||
The two reinforce each other: the same keywords that make your topic legible — to
|
||||
readers and to topic-relevance distribution — are the ones that make you findable in
|
||||
search. Optimize for both.
|
||||
|
||||
**The headline is your highest-weight search field.** It is keyword-matched, shown
|
||||
**The headline is widely regarded as your highest-leverage search field.** It is keyword-matched, shown
|
||||
in every search result and connection suggestion, and renders under your name
|
||||
across the site — so it does the most SEO work per character. Lead with the plain
|
||||
words people actually search (the role, the domain, the audience), not a clever
|
||||
|
|
@ -58,8 +64,8 @@ words they'd type them — not synonyms only you use):
|
|||
|
||||
| Section | Keyword target | Why it ranks |
|
||||
|---------|----------------|--------------|
|
||||
| **Headline** | 3–4 primary topic terms + audience + role | Highest-weight search field; always visible |
|
||||
| **About** | Same primary terms, front-loaded in the first 2–3 lines, then 5–8 supporting terms naturally across the body | Indexed for search; first lines double as the relevance model's expertise signal |
|
||||
| **Headline** | 3–4 primary topic terms + audience + role | Highest-leverage search field; always visible |
|
||||
| **About** | Same primary terms, front-loaded in the first 2–3 lines, then 5–8 supporting terms naturally across the body | Indexed for search; the front-loaded first lines also carry your strongest on-topic signal |
|
||||
| **Experience (titles + body)** | The searchable job title (not an internal-only label) + 2–3 domain terms per role | Job titles are weighted in search; an internal title nobody searches is invisible |
|
||||
| **Skills** | Your top 3 skills = your 3 core content topics, exact-match to common search terms | Matched directly against recruiter/search skill filters |
|
||||
| **Featured** | Posts whose titles carry your topic terms | Reinforces the topic association for both search and relevance |
|
||||
|
|
@ -96,7 +102,7 @@ Guide the user through each section using AskUserQuestion for interactive feedba
|
|||
|
||||
### Section 2: About Section (2,600 characters max)
|
||||
|
||||
**Critical:** This is the first signal telling topic-relevance what you're qualified to discuss.
|
||||
**Critical:** Your About opener is the clearest place to state, in plain on-topic terms, what you're expert in — the strongest single contribution to a coherent topic signal.
|
||||
|
||||
**Structure:**
|
||||
|
||||
|
|
@ -158,7 +164,7 @@ Guide the user through each section using AskUserQuestion for interactive feedba
|
|||
|
||||
### Section 5: Skills Section
|
||||
|
||||
**Critical for profile/topic-relevance validation.**
|
||||
**Your top skills are a strong, searchable topic signal.**
|
||||
|
||||
**Ask the user:** What skills are listed on your profile?
|
||||
|
||||
|
|
@ -170,7 +176,7 @@ Guide the user through each section using AskUserQuestion for interactive feedba
|
|||
|
||||
### Section 6: Network Quality
|
||||
|
||||
**profile/topic-relevance checks if you're connected to professionals in your expertise area.**
|
||||
**A network concentrated in your expertise area reinforces your topic signal and your social proof** (a practitioner heuristic — LinkedIn does not publish network as a profile-ranking factor).
|
||||
|
||||
**Ask the user:** Who are you primarily connected with? (peers, clients, random connections?)
|
||||
|
||||
|
|
@ -227,7 +233,7 @@ Based on the audit, provide a prioritized action list:
|
|||
|
||||
Before posting, the user should ask themselves:
|
||||
|
||||
> "If LinkedIn's AI read my profile, would it believe I'm an expert on the topics I post about?"
|
||||
> "Does my profile make it obvious — to a human and to LinkedIn's topic-matching — that I'm an expert on the topics I post about?"
|
||||
|
||||
If the answer is no, fix the profile FIRST before posting.
|
||||
|
||||
|
|
|
|||
|
|
@ -1613,3 +1613,80 @@ source so the B2 rewrite can't be re-rendered from a stale reference).**
|
|||
non-scope follow-up (the command calls the mutation correctly).
|
||||
|
||||
---
|
||||
|
||||
### /linkedin:profile — profile/topic-relevance + profile-SEO audit walkthrough (7 sections → prioritized action plan); self-contained, no agent/routing/state (S23)
|
||||
|
||||
**INTENT.** Grow-tier **atomic execution command**, prose-heavy + guided (`AskUserQuestion`).
|
||||
**Self-contained** — no agent delegation, no `/linkedin:Y` routing, no state mutation. Audits the
|
||||
profile for the topic-relevance ranking signal + profile search-SEO.
|
||||
|
||||
**SIMULATE (adversarial cold quality-reviewer; grounded prose-trace — pure prose, NO fixture: command
|
||||
reads/mutates no state).** Headline section (`:79-96`) traced against operator input
|
||||
`"AI-rådgiver | KI-transformasjon | Innholdsprodusent"` → checklist `:85-88` yields NO audience / NO
|
||||
outcome / vague titles → concrete non-generic rewrite direction. Every mechanical claim (grant grep, SSOT
|
||||
read, pattern greps) from a tool, never by reasoning.
|
||||
|
||||
**EVALUATE (relevant axes; mechanical predicate each).**
|
||||
- **(a) intention: PASS** — desc + Grow-journey role coherent; 3 refs (`algorithm-signals-reference.md`,
|
||||
`troubleshooting-guide.md`, `SKILL.md`) resolve.
|
||||
- **(b) algorithm-bar (axis-b′): 1 systemic FINDING (B1) + 1 minor (B2).** **B1 — "profile-as-validated-object"
|
||||
overclaim, 9 sites:** the file repeatedly asserts the relevance model **reads & validates your profile**
|
||||
and gates distribution on it — `:5` "validates your profile BEFORE distributing content"; `:31` "the model
|
||||
**evaluates five criteria** (see SSOT)" (**false SSOT attribution** — SSOT has no such breakdown); `:35-39`
|
||||
"Impact if Missing: **HIGH/HIGH/MEDIUM…**" (postulated coefficients SSOT forbids, `:14/:23`); `:99` "first
|
||||
signal telling … what you're **qualified** to discuss"; `:161` "relevance **validation**"; `:173` "**checks
|
||||
if** you're connected"; `:230` "if LinkedIn's AI **read my profile**, would it **believe**"; `:51/:67` SEO
|
||||
conflation ("**tell the relevance model** what you're expert in" / "the **relevance model's expertise
|
||||
signal**"). SSOT (`algorithm-signals-reference.md:25-30/:85-90`) confirms ONLY: topic/interest relevance is a
|
||||
ranking input — content matched to a **viewer's interests** is distributed incl. beyond your network (Jurka,
|
||||
high); **no off-topic magnitude figure; no weighted profile criteria**. File was **internally inconsistent** —
|
||||
its own soft, SSOT-true framing already at `:17/:25/:27`. Same class as follow-up #1 (`audit.md:61`) +
|
||||
v4.0.0 "reconcile to one sourced statement". **B2** `:24` "Goes to **10% of audience**" — postulated
|
||||
old-model number (`:131` "40%" is an illustrative impact-bullet example → PASS).
|
||||
- **(c) quality rules: PASS** — no post emission (audit prose only); buzzword list cited correctly (`:73`
|
||||
steers away from "thought leader/guru/ninja").
|
||||
- **(d) grants + graceful + wiring: PASS.** **Grant-hygiene REN (two-way):** `allowed-tools` = `Read` +
|
||||
`AskUserQuestion` (`:11-13`), both used (`:21/:27/:31/:236` Read; `:77` AskUserQuestion); WebFetch / Write /
|
||||
Bash / Task / subagent_type / .mjs → **NONE** (no orphans, no missing node/Bash grant). No agent/routing.
|
||||
Graceful degradation OK (Q&A runs regardless of ref availability).
|
||||
- **P3 — profile-SEO honesty (`:41-73`): largely defensible** (about LinkedIn *search*, not the ranking
|
||||
model; correctly does NOT cite SSOT). One practitioner-claim-as-fact: "**highest-weight** search field"
|
||||
(`:52` prose + `:61` table) — self-justified mechanically, softened not removed.
|
||||
|
||||
**HARDEN (12 edits, 1 file — `commands/profile.md`; all surgical re-source to SSOT framing).**
|
||||
1. [REWORK · b′] `:5` desc — "validates your profile BEFORE distributing content" → "a coherent, on-topic
|
||||
profile reinforces the topic-relevance signal LinkedIn uses to decide how widely your content is distributed".
|
||||
2. [REWORK · b′] `:24` (B2) — "Goes to 10% of audience" → "a slice of your network sees it".
|
||||
3. [REWORK · b′] `:25/:27` — "content matched to **your demonstrated expertise**" → "**a viewer's interests**"
|
||||
(SSOT wording) + added "LinkedIn confirms no off-topic reach-reduction figure — not a quantified penalty".
|
||||
4. [REWORK · b′] `:31` + table `:33-39` — dropped "the model evaluates five criteria (see SSOT)" + HIGH/MEDIUM
|
||||
"Impact if Missing" weights → "LinkedIn does **not** publish a profile-scoring breakdown … practitioner
|
||||
heuristics", column → "Priority (heuristic)", High/Medium relabeled directional.
|
||||
5. [REWORK · b′] `:99` — "first signal telling … qualified to discuss" → "the clearest place to state … the
|
||||
strongest single contribution to a coherent topic signal".
|
||||
6. [REWORK · b′] `:161` — "Critical for profile/topic-relevance validation" → "Your top skills are a strong,
|
||||
searchable topic signal".
|
||||
7. [REWORK · b′] `:173` — "relevance checks if you're connected" → "a network concentrated in your expertise
|
||||
area reinforces your topic signal and social proof (heuristic — LinkedIn doesn't publish network as a
|
||||
profile-ranking factor)".
|
||||
8. [REWORK · b′] `:230` — "If LinkedIn's AI read my profile, would it believe I'm an expert" → "Does my
|
||||
profile make it obvious — to a human and to LinkedIn's topic-matching".
|
||||
9. [REWORK · b′] `:51/:67` SEO conflation — "tell the relevance model what you're expert in" → "make your
|
||||
topic legible … to topic-relevance distribution"; "the relevance model's expertise signal" → "carry your
|
||||
strongest on-topic signal".
|
||||
10. [NICE · P3] `:52/:61` — "highest-weight search field" → "highest-leverage" (×2; rest self-justified, kept).
|
||||
|
||||
**VERIFY.**
|
||||
- Re-grepped final file. All overclaim/conflation patterns (`validates your profile before | evaluates five
|
||||
criteria | first signal telling | qualified to discuss | checks if you're connected | relevance validation |
|
||||
if linkedin's ai read | 10% of audience | highest-weight | demonstrated expertise | Impact if Missing | tell
|
||||
the relevance model | relevance model's expertise signal`) → **NONE**. New SSOT text present (`:26/:28/:33/
|
||||
:38/:54/:178/:235`).
|
||||
- Grant-hygiene unchanged: `allowed-tools` = Read + AskUserQuestion (`:11-13`); WebFetch/Write/Bash/Task/.mjs → **NONE**.
|
||||
- `git diff --stat` = 1 file, **+28 / −22**.
|
||||
- `bash scripts/test-runner.sh` → `Passed: 81 · Failed: 0 · Warnings: 0`, **exit 0**; counts **29/19**
|
||||
unchanged (.md-only edits — node hook/analytics tests not triggered).
|
||||
- Disposition: **FIXED** (12 edits, 1 file) · 0 deferrals · axis-b′ **FIXED**, axes a/c/d **PASS** · no
|
||||
fixture needed (pure prose, no state).
|
||||
|
||||
---
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue