docs(linkedin-studio): honest dated API/auto-publish/analytics boundaries

Wave 3 / Step 10 of the remediation plan (Phase 1 — usable by a non-author), per
research/02.

State what the plugin can and cannot do for a PERSONAL profile, dated 'as of
2026-05', without replacing one false claim with another:
- README.md: new 'Boundaries (as of 2026-05)' section. (a) post-level analytics API
  EXISTS but is partner-gated (vetted Community Management app + verified org +
  Page) — not self-serve; CSV is the practical floor; saves visible natively
  (count-only, ~Sept 2025) with no self-serve API pull. (b) auto-publish is
  technically POSSIBLE self-serve (w_member_social) but deliberately NOT built — a
  design + ToS choice, explicitly 'not an impossibility' (avoids the new false
  'cannot auto-publish' claim). (c) dwell internal-only for organic, not exportable.
- commands/calendar.md: the publish action now states plainly it marks a post YOU
  posted manually as published — the tool does not post on your behalf.
- commands/report.md: dated the saves/no-self-serve-API note ('as of 2026-05').
- commands/import.md: dated 'Why CSV' note — API is partner-gated, CSV is the floor.

Verify: grep -niE 'cannot auto-publish|only way to (get|access)' README.md
commands/*.md -> no matches; grep -ni 'as of 2026' README.md -> 2.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-05-30 00:58:05 +02:00
commit 86e4d5109b
4 changed files with 33 additions and 2 deletions

View file

@ -424,6 +424,29 @@ Agents that consume analytics data: `analytics-interpreter` (interpret/report mo
---
## Boundaries (as of 2026-05)
LinkedIn Studio is honest about what it can and cannot do for a **personal
profile**. As of 2026-05:
- **Post-level analytics via API** — exists, but is **partner-gated** (a vetted
Community Management API app + a verified organization + a Page). It is **not
self-serve** for a solo personal profile, so the practical floor is the **CSV
export** you drop into `/linkedin:import`. Per-post **saves** are visible in your
**native** LinkedIn post analytics (count-only, since ~Sept 2025), but there is
no self-serve API to pull them — this tool does not auto-track them; read them in
LinkedIn directly.
- **Auto-publish** — technically **possible** self-serve via the `w_member_social`
scope, so this is **not** an API limitation. LinkedIn Studio **deliberately does
not** post for you: the OAuth/token overhead plus LinkedIn's terms on automated
posting make copy-to-clipboard + you-paste the right default. This is a **design
choice**, not an impossibility. The calendar's "publish" action marks a post
**you** posted as published — it never posts on your behalf.
- **Dwell time** — internal to LinkedIn for organic posts; not exportable. The tool
does not measure it.
---
## Personalization Engine
The plugin tracks how well you've populated asset templates with your own data. A higher personalization score means more tailored content output.

View file

@ -87,7 +87,9 @@ Use AskUserQuestion:
### Action: Mark as Published
This is the publish flow (no separate command — runs inline here).
This is the publish flow (no separate command — runs inline here). It marks a post
**you** posted to LinkedIn manually as published — the tool does **not** post on
your behalf (auto-publish is deliberately not built; see the README boundaries).
**3a. Show publishable posts.** Present today's scheduled posts and any overdue posts:

View file

@ -23,6 +23,12 @@ You are a LinkedIn analytics data import assistant. Guide the user through impor
For data format details and directory structure, see `assets/analytics/README.md`.
> **Why CSV (as of 2026-05).** Post-level analytics via LinkedIn's API is
> partner-gated (vetted Community Management app + verified org + Page) and **not
> self-serve** for a personal profile, so the CSV export is the practical floor.
> Saves are visible in native post analytics (count-only) but have no self-serve
> API pull; dwell is internal-only for organic posts. See the README boundaries.
## Step 1: Check for CSV Files in Exports Directory
First, check if any CSV files exist in the exports directory:

View file

@ -236,7 +236,7 @@ Compare current week's `aggregateMetrics` against baseline means and standard de
🔴 **Critical: Engagement rate declining**
Your engagement rate has dropped from 4.2% to 2.8% over the last 3 weeks.
**Action:** Review recent post hooks. Consider more provocative angles or questions.
**Reference:** Hook length should be <140 chars. In the engagement order (see `references/algorithm-signals-reference.md`), saves rank above shares, then quality comments, then reactions. Saves are visible in your native LinkedIn post analytics (count-only, ~Sept 2025 onward) but there is no self-serve API to pull them — so this tool does not auto-track saves; read them in LinkedIn directly. Dwell time is internal to LinkedIn for organic posts (not exposed anywhere this tool can read).
**Reference:** Hook length should be <140 chars. In the engagement order (see `references/algorithm-signals-reference.md`), saves rank above shares, then quality comments, then reactions. Saves are visible in your native LinkedIn post analytics (count-only, ~Sept 2025 onward) but (as of 2026-05) there is no self-serve API to pull them — so this tool does not auto-track saves; read them in LinkedIn directly. Dwell time is internal to LinkedIn for organic posts (not exposed anywhere this tool can read).
🟢 **Positive: New impression record**
Your post on [topic] achieved 12,500 impressions — a personal best!