refactor(linkedin)!: rename plugin linkedin-thought-leadership → linkedin-studio (v3.0.0)

BREAKING CHANGE: the marketplace slug, the agent namespace
(linkedin-studio:<agent>), and the runtime state-file path
(~/.claude/linkedin-studio.local.md) all change. Reinstall required;
existing state migrated in place (post metrics, streak, history preserved).
The /linkedin:* commands are unchanged — the command namespace is set
per-command in frontmatter and was always independent of the plugin slug.
Functionality is byte-identical to v2.4.0; this release is pure identity.

- dir + manifests: plugins/linkedin-studio + plugin.json + root marketplace.json
- agent namespace updated in commands/newsletter.md (only functional invoker)
- state path updated in 4 hook scripts + topic-rotation prompt + state template
- catch-all skill dir renamed skills/linkedin-studio (5 functional skills unchanged)
- docs + version bump to 3.0.0 across README badge, CHANGELOG, root README/CLAUDE.md
- historical records (CHANGELOG past entries, docs/ build artifacts,
  config-audit v5.0.0 snapshots) intentionally retain the old slug

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-05-29 11:32:02 +02:00
commit 52fa87a255
59 changed files with 148 additions and 122 deletions

View file

@ -70,7 +70,7 @@ Always load these for pattern comparison:
## Manual Data Sources (fallback)
When structured analytics aren't available:
- `~/.claude/linkedin-thought-leadership.local.md` — Posting history, streaks, weekly stats
- `~/.claude/linkedin-studio.local.md` — Posting history, streaks, weekly stats
- `${CLAUDE_PLUGIN_ROOT}/assets/plans/` — Planned vs. actual content
- `${CLAUDE_PLUGIN_ROOT}/assets/drafts/` — Draft history
- See `${CLAUDE_PLUGIN_ROOT}/assets/analytics/README.md` for data format and directory structure.

View file

@ -28,13 +28,13 @@ You are a LinkedIn content planning specialist. You create strategic content pla
Read these files before planning:
```
${CLAUDE_PLUGIN_ROOT}/skills/linkedin-thought-leadership/SKILL.md → expertise areas, voice
${CLAUDE_PLUGIN_ROOT}/skills/linkedin-studio/SKILL.md → expertise areas, voice
${CLAUDE_PLUGIN_ROOT}/references/thought-leadership-angles.md → 8 universal angles
${CLAUDE_PLUGIN_ROOT}/references/linkedin-growth-playbook-2025-2026.md → growth strategies
${CLAUDE_PLUGIN_ROOT}/references/low-frequency-posting-strategy.md → sustainable posting
${CLAUDE_PLUGIN_ROOT}/references/linkedin-formats.md → format options
${CLAUDE_PLUGIN_ROOT}/assets/templates/weekly-content-calendar-2-3x.md → calendar template
~/.claude/linkedin-thought-leadership.local.md → user state + recent posts
~/.claude/linkedin-studio.local.md → user state + recent posts
```
Also scan `${CLAUDE_PLUGIN_ROOT}/assets/plans/` for previous plans to avoid repetition.
@ -469,7 +469,7 @@ Create the `plans/` directory if it doesn't exist.
### Update State File
After plan approval, update `~/.claude/linkedin-thought-leadership.local.md`:
After plan approval, update `~/.claude/linkedin-studio.local.md`:
- Set `next_planned_topic` to the first upcoming topic
- Add planned topics to the recent topics list for dedup
- Update `last_plan_date`

View file

@ -37,7 +37,7 @@ ${CLAUDE_PLUGIN_ROOT}/references/newsletter-strategy-guide.md → newslette
${CLAUDE_PLUGIN_ROOT}/references/thought-leadership-angles.md → 8 universal angles
${CLAUDE_PLUGIN_ROOT}/assets/case-studies/case-study-template.md → case study structure + 4 LinkedIn post angles
${CLAUDE_PLUGIN_ROOT}/assets/examples/high-engagement-posts.md → proven patterns to replicate
~/.claude/linkedin-thought-leadership.local.md → user state + performance data
~/.claude/linkedin-studio.local.md → user state + performance data
```
## Step 1: Source Content Analysis

View file

@ -34,8 +34,8 @@ ${CLAUDE_PLUGIN_ROOT}/references/collaborations-guide.md → coll
${CLAUDE_PLUGIN_ROOT}/references/engagement-frameworks.md → engagement methods
${CLAUDE_PLUGIN_ROOT}/references/linkedin-growth-playbook-2025-2026.md → growth strategies
${CLAUDE_PLUGIN_ROOT}/references/opportunity-generation.md → conversion + DM strategy
${CLAUDE_PLUGIN_ROOT}/skills/linkedin-thought-leadership/SKILL.md → user expertise + voice
~/.claude/linkedin-thought-leadership.local.md → user state + network data
${CLAUDE_PLUGIN_ROOT}/skills/linkedin-studio/SKILL.md → user expertise + voice
~/.claude/linkedin-studio.local.md → user state + network data
```
Also check `${CLAUDE_PLUGIN_ROOT}/assets/network/` for existing tracker files.

View file

@ -36,7 +36,7 @@ Before analyzing anything, load these files:
1. **Algorithm knowledge:** Read `${CLAUDE_PLUGIN_ROOT}/references/algorithm-signals-reference.md`
2. **Engagement frameworks:** Read `${CLAUDE_PLUGIN_ROOT}/references/engagement-frameworks.md`
3. **State file:** Read `~/.claude/linkedin-thought-leadership.local.md` (if exists)
3. **State file:** Read `~/.claude/linkedin-studio.local.md` (if exists)
4. **Latest analytics:** Use Glob to find the most recent file in `${CLAUDE_PLUGIN_ROOT}/assets/analytics/posts/` and read it
This gives you the user's baseline performance and algorithm context for accurate benchmarking.

View file

@ -43,7 +43,7 @@ ${CLAUDE_PLUGIN_ROOT}/assets/audience-insights/demographics.md → audience
${CLAUDE_PLUGIN_ROOT}/assets/audience-insights/engagement-patterns.md → timing, topic, and format patterns
${CLAUDE_PLUGIN_ROOT}/assets/examples/high-engagement-posts.md → proven patterns from top posts
${CLAUDE_PLUGIN_ROOT}/references/trajectory-strategy-adjustments.md → trajectory-to-action mappings
~/.claude/linkedin-thought-leadership.local.md → user state + posting history
~/.claude/linkedin-studio.local.md → user state + posting history
```
Use demographics data to compare the user's **intended** audience vs **actual** engagers when making strategic recommendations.

View file

@ -36,7 +36,7 @@ ${CLAUDE_PLUGIN_ROOT}/references/engagement-frameworks.md → Hook
${CLAUDE_PLUGIN_ROOT}/references/thought-leadership-angles.md → 8 universal angles
${CLAUDE_PLUGIN_ROOT}/assets/voice-samples/ → User's authentic voice (ALWAYS read before scripting)
${CLAUDE_PLUGIN_ROOT}/assets/examples/high-engagement-posts.md → Successful content patterns
~/.claude/linkedin-thought-leadership.local.md → User state, recent topics, streak
~/.claude/linkedin-studio.local.md → User state, recent topics, streak
```
## Step 1: Video Type Selection
@ -218,7 +218,7 @@ Examples:
video-2026-01-30-copilot-demo-screen-recording-60s.md
```
Update state in `~/.claude/linkedin-thought-leadership.local.md`:
Update state in `~/.claude/linkedin-studio.local.md`:
- Update `last_post_date`, `posts_this_week`, streak (same as text posts)
- Add to "Recent Posts" section with format note: `[VIDEO/talking-head/90s]`