fix(linkedin-studio): S27 ref-consistency A — "penalty/penalizes" framing → SSOT
Reconcile external-link and topic-relevance reach-loss framing to the algorithm-signals SSOT across 6 files (10 edits): body links "correlate with lower reach" (LinkedIn denies an intentional penalty), topic relevance is a positive ranking input with no quantified off-topic figure. 3 plan-cited lines + 7 same-class siblings surfaced during verify. Bucket B (link-penalty lines in linkedin-formats.md) folded into S28; Bucket D (other unsourced reach-coefficients: -68%/-25%/-15-25%/-30-50%/55%) queued as new S30. Engagement- pod + AI-slop "penalized" framing left intact (officially confirmed). Gate 81/0/0; counts 29/19 unchanged. 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
47782eb91d
commit
2b9ed1cf0b
8 changed files with 75 additions and 17 deletions
|
|
@ -335,7 +335,7 @@ Search 6: "[AI debate OR controversy OR opinion] LinkedIn [this week]"
|
|||
|
||||
3. **Audience fit over virality.** A trend your specific audience cares about at score 6.0 beats a viral topic at score 4.0. Relevance compounds; virality fades.
|
||||
|
||||
4. **Credibility is non-negotiable.** Never recommend posting on a topic where the creator has no authority. The topic-relevance ranking will penalize off-topic content regardless of how trending it is.
|
||||
4. **Credibility is non-negotiable.** Never recommend posting on a topic where the creator has no authority. Topic relevance is a ranking input — off-topic content gets lower reach regardless of how trending it is.
|
||||
|
||||
5. **Saturation awareness saves reputation.** Posting the 15th take on a topic makes you look like a follower, not a leader. Better to skip than to add noise.
|
||||
|
||||
|
|
@ -350,7 +350,7 @@ Search 6: "[AI debate OR controversy OR opinion] LinkedIn [this week]"
|
|||
| Anti-Pattern | Why It Fails | Instead |
|
||||
|--------------|--------------|---------|
|
||||
| Reporting news without perspective | No differentiation, looks like a news feed | Add "So what?" and "Now what?" to every trend |
|
||||
| Recommending off-topic trends | topic-relevance penalty, damages authority | Always check pillar fit and authority score |
|
||||
| Recommending off-topic trends | off-topic content gets lower reach, damages authority | Always check pillar fit and authority score |
|
||||
| Chasing every trend | Dilutes positioning, exhausts creator | Max 2-3 trend posts per week, rest is evergreen |
|
||||
| Ignoring saturation | Late takes look derivative | Check saturation before recommending timing |
|
||||
| Same angle every time | Predictable, audience tunes out | Rotate across 8 angles, track recently used |
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@ Based on `references/troubleshooting-guide.md`, diagnose the pattern:
|
|||
- Posted at wrong time for YOUR audience
|
||||
- No pre-posting engagement (cold start)
|
||||
- Topic drift confusing algorithm
|
||||
- External link penalizing reach
|
||||
- External links correlate with lower reach
|
||||
- Inconsistent posting breaking topical authority
|
||||
|
||||
### Pattern: High Views, Low Engagement
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ For each top-performing post, analyze:
|
|||
Same analysis for bottom performers:
|
||||
- What went wrong?
|
||||
- Common factors in low-performing posts?
|
||||
- Were any off-topic (topic-relevance penalty)?
|
||||
- Were any off-topic (topic relevance is a ranking input — off-topic gets lower reach)?
|
||||
- External links in body?
|
||||
- Poor timing?
|
||||
|
||||
|
|
|
|||
|
|
@ -1810,3 +1810,46 @@ skills, plus historical CHANGELOG/docs). Promoted to a dedicated terminology-scr
|
|||
questions for that pass.
|
||||
|
||||
---
|
||||
|
||||
### S27 ref-consistency A — "penalty/penalizes" framing → SSOT (external links + topic-relevance)
|
||||
|
||||
**CLASS: reference-consistency** (NOT re-hardening of ✅ commands — surgical SSOT-reconciliation of a
|
||||
documented divergence-class across multiple files; same tool-grounded discipline: read-and-show →
|
||||
grep-confirm → re-grep final). Predicate: no surface frames external-link reach-loss or off-topic
|
||||
reach-loss as a hard *named penalty* — SSOT (`references/algorithm-signals-reference.md:69-75`, `:89-90`)
|
||||
says links **correlate with lower reach** (LinkedIn denies an *intentional* penalty) and topic relevance is
|
||||
a **positive ranking input** with **no quantified off-topic figure**.
|
||||
|
||||
**TEST (tool-grounded).** Plugin-wide `grep -rniE "penaliz|penalty"` over commands/agents/references/skills.
|
||||
The 3 plan-cited lines confirmed (line-nr drift ±1 since plan written: `analyze.md:101` not `:102`,
|
||||
`audit.md:60` not `:61`). Catalog split into 4 buckets, operator-approved:
|
||||
- **Bucket A (fix now):** 10 hard-penalty framings of link/topic-relevance in non-format files.
|
||||
- **Bucket B (defer → S28):** 6 link-penalty lines in `references/linkedin-formats.md` (`:52,:91,:194,:198,:200,:432`) — S28 already opens that file for format magnitudes; reconcile link + format in one pass.
|
||||
- **Bucket C (leave — already SSOT):** `first-comment-strategy.md:7`, `glossary.md:171` (def cites SSOT); glossary term `### Link Penalty :170` kept (def is correct).
|
||||
- **Bucket D (surface → new S30):** other unsourced magnitudes (−68% hashtags, −25% short-post, −15-25% topic-gap, −30-50% bait, 55% AI-comment, −25%/post, poll-overuse) — a *different* class. Engagement-pod + AI-slop "penalized" left intact (officially confirmed, high confidence).
|
||||
|
||||
**HARDEN (10 edits, 6 files — Bucket A).**
|
||||
1. `commands/audit.md:60` `(topic-relevance penalty)` → `(topic relevance is a ranking input — off-topic gets lower reach)`.
|
||||
2. `agents/trend-spotter.md:338` `ranking will penalize off-topic content` → `Topic relevance is a ranking input — off-topic content gets lower reach`.
|
||||
3. `agents/trend-spotter.md:353` `topic-relevance penalty, damages authority` → `off-topic content gets lower reach, damages authority`.
|
||||
4. `references/troubleshooting-guide.md:15` `External link penalizing reach` → `External links correlate with lower reach`.
|
||||
5. `references/troubleshooting-guide.md:127` `LinkedIn penalizes directing traffic away` → `body links correlate with lower reach (LinkedIn denies an intentional penalty; lead with value)`.
|
||||
6. `commands/analyze.md:101` `External link penalizing reach` → `External links correlate with lower reach`.
|
||||
7. `references/first-comment-strategy.md:3` `without triggering algorithm penalties` → `without the lower-reach correlation of body links`.
|
||||
8. `references/first-comment-strategy.md:10` `Avoids link penalty` → `Avoids the body-link reach correlation`.
|
||||
9. `references/first-comment-strategy.md:147` `Avoid link penalty` → `Avoid body-link reach hit`.
|
||||
10. `references/url-processing-templates.md:396` `Reach penalty` → `Correlates with lower reach`.
|
||||
|
||||
**VERIFY.**
|
||||
- Re-grep final: `topic-relevance penalty|will penalize off-topic` in audit/trend-spotter → **NONE**;
|
||||
`link penalty|penalizing reach|penalizes directing|triggering algorithm penalties|Reach penalty` in the
|
||||
4 link-files → **NONE**. All 10 new SSOT-framed lines present.
|
||||
- `git diff --stat` = **6 files, +10/−10**.
|
||||
- `bash scripts/test-runner.sh` → `Passed: 81 · Failed: 0 · Warnings: 0`, **exit 0**; counts **29/19**
|
||||
unchanged (.md-only prose edits).
|
||||
- Disposition: **FIXED** (10 edits, 6 files) · Bucket A complete · Bucket B → S28 · Bucket D → S30.
|
||||
|
||||
**SURFACED (out of scope → queued).** Bucket D unsourced-magnitude class promoted to **S30 magnitude-scrub**
|
||||
(`docs/hardening/plan.md`). Bucket B link-penalty lines folded into **S28**'s pass over `linkedin-formats.md`.
|
||||
|
||||
---
|
||||
|
|
|
|||
|
|
@ -92,6 +92,7 @@ that exercises the command's real path:
|
|||
| S6 video | S13 calendar | S20 competitive | S27 ref-consistency A |
|
||||
| S7 batch | S14 import | S21 monetize | S28 ref-consistency B |
|
||||
| S8 pipeline | S15 report | S22 outreach | S29 terminology-scrub |
|
||||
| | | | S30 magnitude-scrub |
|
||||
|
||||
*S9 newsletter (16-phase) may split into S9a/S9b. Otherwise one command = one session.
|
||||
|
||||
|
|
@ -100,12 +101,16 @@ follow-up #1 to scheduled work).** NOT full re-hardening of already-✅ commands
|
|||
SSOT-reconciliation of the documented divergences, same tool-grounded discipline
|
||||
(read-and-show → grep-confirm → re-grep final):
|
||||
|
||||
- **S27 (A) — "penalty/penalizes" framing → SSOT:** `references/troubleshooting-guide.md:127`
|
||||
("External link overuse — LinkedIn **penalizes**" → "correlate with lower reach"),
|
||||
`commands/analyze.md:102` (milder echo), `commands/audit.md:61` ("topic-relevance **penalty**"
|
||||
→ SSOT frames relevance as a positive driver, not a named penalty).
|
||||
- **S27 (A) — "penalty/penalizes" framing → SSOT ✅ DONE (2026-06-19, 10 edits/6 files; see `log.md`).**
|
||||
The 3 cited lines (`troubleshooting-guide.md:127`, `analyze.md:101`, `audit.md:60` — nr drifted ±1) +
|
||||
7 same-class siblings (trend-spotter topic-relevance ×2, troubleshooting-guide :15, first-comment-strategy
|
||||
×3, url-processing-templates :396) reconciled to "correlate with lower reach" / "topic relevance is a
|
||||
ranking input — off-topic gets lower reach". Bucket B (link-penalty lines in `linkedin-formats.md`) folded
|
||||
into S28; Bucket D (other unsourced magnitudes) promoted to S30.
|
||||
- **S28 (B) — format magnitudes → SSOT:** `commands/video.md:69` + `references/linkedin-formats.md`
|
||||
(the "30% zero-distribution" claim vs SSOT native-video framing).
|
||||
(the "30% zero-distribution" claim vs SSOT native-video framing) **+ the 6 link-penalty lines folded in
|
||||
from S27 Bucket B** (`linkedin-formats.md:52,:91,:194,:198,:200,:432`) — reconcile link + format framing
|
||||
in one pass over that file.
|
||||
|
||||
**S29 — terminology scrub: "thought leadership" → "LinkedIn Studio" / neutral (added 2026-06-19,
|
||||
operator-approved during S26).** The phrase must not appear anywhere in the plugin (it is named LinkedIn
|
||||
|
|
@ -116,8 +121,18 @@ questions for this pass: (a) user-facing surface only, or include historical CHA
|
|||
`thought-leadership-angles.md` rename is its own sub-step — every pointer to the filename must update with
|
||||
it. Same tool-grounded discipline (read-and-show → grep-confirm → re-grep final); hardening-class.
|
||||
|
||||
Run after S26; order adjustable (S27 → S28 → S29). These edit already-hardened files surgically and are
|
||||
hardening-class (commit local, no push).
|
||||
**S30 — magnitude scrub: unsourced reach-coefficients → SSOT (surfaced during S27, 2026-06-19).** A
|
||||
*different* class from S27's link/topic-relevance framing: discrete percentage penalties with **no
|
||||
primary source in the SSOT** — `−68%` (5+ hashtags: `linkedin-growth-playbook:166`, `ab-testing-framework:66`),
|
||||
`−25%` (<1000 chars: `linkedin-growth-playbook:224`), `−15-25%` (topic-gap: `glossary:235`), `−30-50%`
|
||||
(engagement-bait: `glossary:91`), `55%`/`45%` (AI-comment: `engagement-coach:195`, `firsthour:112` — SSOT
|
||||
carries ~45% *correlational engagement gap* at medium confidence, not a 55% reach penalty), `−25%/post`
|
||||
(multiple posts/3h: `post-feedback-monitor:330`), poll-overuse (`poll-strategy-guide:20,:205`). **Leave
|
||||
intact (officially confirmed, high confidence): engagement-pod + AI-slop "penalized" framing.** Full grep
|
||||
catalog in `log.md` S27 entry, Bucket D. Same discipline; hardening-class.
|
||||
|
||||
Run after S26; order adjustable (S27 ✅ → S28 → S29 → S30). These edit already-hardened files surgically and
|
||||
are hardening-class (commit local, no push).
|
||||
|
||||
## End-of-session ritual (every session — STATE.md handoff baked in)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
# First Comment Strategy
|
||||
|
||||
Your first comment is a strategic tool, not an afterthought. Used correctly, it extends your post's value without triggering algorithm penalties. Used poorly, it looks like spam.
|
||||
Your first comment is a strategic tool, not an afterthought. Used correctly, it extends your post's value without the lower-reach correlation of body links. Used poorly, it looks like spam.
|
||||
|
||||
## Why First Comments Matter
|
||||
|
||||
External links in the post body correlate with lower reach (correlational, ~38% in 2026; LinkedIn denies an intentional penalty — see `references/algorithm-signals-reference.md`). A first comment is a common hedge — but lead with standalone value either way; it's much more than a link dump.
|
||||
|
||||
**First comment benefits:**
|
||||
- Avoids link penalty while still providing resources
|
||||
- Avoids the body-link reach correlation while still providing resources
|
||||
- Adds a second engagement surface (people reply to comments)
|
||||
- Signals to the algorithm that the post is generating conversation
|
||||
- Lets you add context that didn't fit the post's character limit
|
||||
|
|
@ -144,7 +144,7 @@ Commenting on your own post is not just for adding links. Strategic self-comment
|
|||
| Time | Action | Purpose |
|
||||
|------|--------|---------|
|
||||
| 0 min | Post goes live | — |
|
||||
| 0-1 min | First comment (if link/resource) | Avoid link penalty |
|
||||
| 0-1 min | First comment (if link/resource) | Avoid body-link reach hit |
|
||||
| 15-30 min | Reply to first 3-5 commenters | Build early engagement momentum |
|
||||
| 1-2 hours | Add additional perspective or data | Re-ignite algorithm distribution |
|
||||
| 4-6 hours | Respond to remaining comments | Maintain conversation signal |
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ Understanding why content fails is as important as knowing what works.
|
|||
- Posted at wrong time for YOUR audience
|
||||
- No pre-posting engagement (cold start)
|
||||
- Topic drift confusing algorithm about your expertise
|
||||
- External link penalizing reach
|
||||
- External links correlate with lower reach
|
||||
- Inconsistent posting breaking topical authority signal
|
||||
|
||||
**Solutions:**
|
||||
|
|
@ -124,7 +124,7 @@ Understanding how to recover from algorithmic suppression is critical for long-t
|
|||
1. **Profile-content mismatch (profile/topic mismatch)** - Algorithm validates profile before distributing content
|
||||
2. **Topic inconsistency** - Confused algorithm about your expertise
|
||||
3. **Engagement pod detection** - Artificial engagement patterns flagged
|
||||
4. **External link overuse** - LinkedIn penalizes directing traffic away
|
||||
4. **External link overuse** - body links correlate with lower reach (LinkedIn denies an intentional penalty; lead with value)
|
||||
5. **Posting frequency gap** - More than 5 days without posting
|
||||
6. **Shadow ban from policy violation** - Content flagged for misinformation, spam, or harassment
|
||||
|
||||
|
|
|
|||
|
|
@ -393,7 +393,7 @@ Before publishing URL-based content:
|
|||
| Copying structure | Looks like plagiarism | Restructure for LinkedIn |
|
||||
| Burying the source | Appears deceptive | Credit early |
|
||||
| Over-quoting | Looks lazy | Paraphrase more |
|
||||
| Link in post body | Reach penalty | Move to comment |
|
||||
| Link in post body | Correlates with lower reach | Move to comment |
|
||||
| Missing CTA | Lower engagement | Add discussion question |
|
||||
| Wrong angle | Doesn't fit expertise | Choose relevant angle |
|
||||
| Too timely | Loses relevance fast | Add evergreen insight |
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue