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

@ -173,14 +173,13 @@ If the user's intent is clear from context:
- Mentions "adapt" or "cross-post" → Route to `/linkedin:multiplatform`
- Mentions "import" or "CSV" or "export data" → Route to `/linkedin:import`
- Mentions "report" or "weekly numbers" → Route to `/linkedin:report`
- Mentions "engagement tips" or "5x5x5" or "first hour strategy" → Suggest `engagement-coach` agent
- Mentions "engagement tips" or "5x5x5" or "first hour strategy" or "comment strategy" or "who to comment on" or "CEA method" or "whale posts" → Suggest `engagement-coach` agent
- Mentions "optimize post" or "improve draft" or "make this better" → Suggest `content-optimizer` agent
- Mentions "comment strategy" or "who to comment on" → Suggest `comment-strategist` agent
- Mentions "trending" or "what should I post about" → Suggest `trend-spotter` agent
- Mentions "my voice" or "voice profile" or "voice audit" → Suggest `voice-trainer` agent
- Mentions "is this original" or "differentiation" or "commodity content" → Suggest `differentiation-checker` agent
- Mentions "network" or "who to connect with" → Suggest `network-builder` agent
- Mentions "performance" or "weekly report" or "how did I do" → Suggest `performance-reporter` agent
- Mentions "performance" or "weekly report" or "how did I do" or "analyze my analytics" or "interpret data" → Suggest `analytics-interpreter` agent
- Mentions "how is my post doing" or "monitor post" or "post performance" or "first hour" or "post-publish" or "boost post" or "post feedback" → Suggest `post-feedback-monitor` agent
- Mentions "A/B test" or "split test" or "test my hooks" or "compare formats" or "experiment" or "what works better" or "test variations" → Route to `/linkedin:ab-test`
- Mentions "personalization score" or "how personalized" or "asset completeness" → Route to `/linkedin:setup` (score computed by `hooks/scripts/personalization-score.mjs`)