refactor(linkedin): merge analytics + engagement agents 2→1 each (S19)

- analytics-interpreter absorbs performance-reporter (interpret/report modes,
  identical data sources): mode-selector + both output templates kept inline.
- engagement-coach absorbs comment-strategist (5x5x5 + first-hour + CEA
  commenting + target selection + scoring + quality scorecard + daily
  routine). Self-ref at engagement-coach.md:24 rewritten — target is now
  in-file. Model upgraded from haiku to sonnet (absorbed deeper work);
  tools union: Read, Glob, WebSearch.
- 7 ref-files reconciled: commands/linkedin.md (router rules merged),
  skills/linkedin-analytics (row dropped), skills/linkedin-thought-leadership
  (2 rows merged), skills/linkedin-networking (row dropped), CLAUDE.md
  (agents table 16→14, merged rows), README.md (agents table, flow diagram,
  intent table, analytics consumers line), references/glossary.md (3 'Used in'
  refs), scripts/test-runner.sh (EXPECTED_AGENTS list reconciled to current
  14 — also closed lingering S5/S6 gaps for fact-checker/persona-reviewer/
  video-scripter, removed already-deleted content-tracker/personalization-scorer),
  docs/agents-capability-matrix.md (full restructure: header count 16→14,
  agent table, capability grid columns + capabilities, pipeline diagram,
  intent table, model selection table — fixed STATE residual #1 on the
  tracker/pers-scorer stale columns in the same pass).
- Q2 decision (video-scripter → content-repurposer?): KEEP separate.
  Distinct invocation paths (/linkedin:video vs format conversion), distinct
  outputs (timed video script with pacing+captions vs format-translation
  artifact), and newsletter.md already uses content-repurposer for prose
  drafting independently of video-scripter. Net agents/ 16→14.
- agents/README.md dropped from Files (moved to docs/agents-capability-matrix.md
  in S14); literal Verify exits 2 on missing path (logged), corrected Verify
  passes 4/4 predicates. Manifest audit: 2/2 expected paths exist, 13 'CEA'
  occurrences in engagement-coach.md.
- gitleaks: clean.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-05-28 06:19:20 +02:00
commit 930836597e
13 changed files with 589 additions and 720 deletions

View file

@ -178,19 +178,17 @@ All 26 commands use colon notation: `/linkedin:post`, `/linkedin:quick`, etc.
## Agent Architecture
The plugin delegates specialized work to 16 purpose-built agents. Each agent has its own model assignment, color identity, and focused responsibility.
The plugin delegates specialized work to 14 purpose-built agents. Each agent has its own model assignment, color identity, and focused responsibility.
| Agent | Model | Color | Primary Responsibility |
|-------|-------|-------|----------------------|
| `content-optimizer` | Sonnet | Blue | Optimize posts against algorithm signals, hooks, CTAs |
| `strategy-advisor` | Sonnet | Green | Growth strategy and phase-specific guidance |
| `analytics-interpreter` | Sonnet | Yellow | Pattern discovery from analytics data |
| `engagement-coach` | Haiku | Magenta | 5x5x5 method and first-hour engagement tactics |
| `analytics-interpreter` | Sonnet | Yellow | Pattern discovery + weekly/monthly performance reports (interpret/report modes) |
| `engagement-coach` | Sonnet | Magenta | 5x5x5 + first-hour tactics + CEA commenting + target selection |
| `content-planner` | Sonnet | Cyan | Weekly/monthly content calendars and mix enforcement |
| `performance-reporter` | Sonnet | Amber | Weekly/monthly performance reports |
| `network-builder` | Sonnet | Teal | Strategic networking, connection scoring, DM templates |
| `content-repurposer` | Sonnet | Purple | Format conversion and evergreen content refresh |
| `comment-strategist` | Sonnet | Red | CEA commenting strategy and target selection |
| `trend-spotter` | Sonnet | White | Trending topics, opportunity scoring, first-mover assessment |
| `voice-trainer` | Sonnet | Pink | Voice profile building and drift detection |
| `differentiation-checker` | Sonnet | Gray | Originality scoring and commodity content detection |
@ -207,12 +205,16 @@ Agents collaborate across the end-to-end content lifecycle:
trend-spotter --> content-planner --> differentiation-checker --> content-optimizer --> [PUBLISH]
| |
voice-trainer engagement-coach
|
performance-reporter comment-strategist
(5x5x5 + first-hour
+ CEA commenting)
analytics-interpreter
(interpret + report modes)
```
Parallel support agents: `strategy-advisor`, `analytics-interpreter`, `network-builder`, `content-repurposer`, `video-scripter`.
Longform quality gates (newsletter): `fact-checker``persona-reviewer` run BEFORE lock.
> **Note (agent invocation + reload):** Commands invoke agents by their **namespaced**
> type — `subagent_type: linkedin-thought-leadership:<name>`, never the bare name. And a
> **newly added** agent file under `agents/` only becomes invokable after a Claude Code
@ -227,10 +229,10 @@ Parallel support agents: `strategy-advisor`, `analytics-interpreter`, `network-b
| "What should I post about?" | content-planner, trend-spotter |
| "Is this original enough?" | differentiation-checker |
| "Plan my week's content" | content-planner |
| "How did I do this week?" | performance-reporter |
| "Analyze my LinkedIn data" | analytics-interpreter |
| "How did I do this week?" | analytics-interpreter (report mode) |
| "Analyze my LinkedIn data" | analytics-interpreter (interpret mode) |
| "Help me engage more" | engagement-coach |
| "Who should I comment on?" | comment-strategist |
| "Who should I comment on?" | engagement-coach |
| "Build my network" | network-builder |
| "Does this sound like me?" | voice-trainer |
| "Repurpose my best post" | content-repurposer |
@ -350,7 +352,7 @@ assets/analytics/
└── weekly-reports/ # Generated weekly reports
```
Agents that consume analytics data: `analytics-interpreter`, `performance-reporter`.
Agents that consume analytics data: `analytics-interpreter` (interpret/report modes).
---