Commit graph

9 commits

Author SHA1 Message Date
9d83dbc81c fix(linkedin-studio): S29a terminology-scrub — "thought leadership" → neutral (commands/)
First sub-pass of the S29 plugin-wide terminology scrub: the banned brand phrase
"thought leadership" (FORM A) removed from the user-facing command surface. 15 in-file
phrase occurrences across 9 commands re-sourced to neutral wording (post, video, strategy,
batch, setup, react, outreach, onboarding, monetize) — e.g. "thought leadership content
creator" → "content creator", "Select Thought Leadership Angle" → "Select Content Angle",
"Build thought leadership & authority" → "Build authority & influence", onboarding guide
→ "LinkedIn Studio onboarding guide".

Scope (operator-set): FORM A only. FORM B ("thought leader" as role, incl. the buzzword
denylist at post.md:134) left untouched. The 11 filename pointers to
references/thought-leadership-angles.md deferred to S29e (atomic rename + pointer update);
competitive.md/pipeline.md carry only pointers and are untouched here. Pure history
(CHANGELOG, docs/**) left intact per "history → git".

Verify: assertive non-filename FORM-A in commands/ = NONE; FORM B count unchanged (15);
diff +15/-15 across 9 files (1:1); gate 81/0/0; counts 29/19/26/6 + v0.5.0 unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016qgzo6rxthw7KuxHjn5vyE
2026-06-19 22:37:05 +02:00
4dbebdb7b8 fix(linkedin-studio): S19 harden strategy — drop orphan WebFetch grant from allowed-tools 2026-06-19 14:02:44 +02:00
6bd263144f docs(linkedin-studio): M0-15 — repoint remaining prose families + route ab-tests/plans 2026-06-18 13:04:18 +02:00
570b163bbe refactor(linkedin-studio): wire or delete 11 orphan agents (case-by-case) — 9 here, 2 in Steps 14/16
Resolves the orphan-agent audit finding by the locked default: wire all, no deletions, so the agent count stays 19. Per agent, added Task to the target command's allowed-tools and a coherent 'subagent_type: linkedin-studio:<name>' delegation at a real point in the command's flow (not a token grep-match).

Wired (agents 1-9 of 11): video-scripter -> video.md (Step 4); content-optimizer -> post.md (Step 7 refinement) + ab-test.md (2a.4 optimized challenger); analytics-interpreter -> report.md (Step 7, report mode) + analyze.md (Step 2, interpret mode); content-planner -> batch.md (Step 2) + pipeline.md (Step 1); trend-spotter -> batch.md (Step 1) + pipeline.md (Step 1); network-builder -> outreach.md (Step 3a); strategy-advisor -> strategy.md (Step 3); voice-trainer -> setup.md (Step 3a); post-feedback-monitor -> calendar.md (publish action, 48h monitor).

Deferred to their dedicated steps: #10 differentiation-checker -> Step 14 (short-form de-AI gate), #11 engagement-coach -> Step 16 (first-hour command). Namespaced subagent_type form requires a session reload before the wired agents are invokable.

Verify: each of the 9 has >=1 invocation in commands/; structural lint 61/61 (counts 19/26/25/6 intact); agent-fixtures 35/35; hook tests 62/62. Three-doc + version reconciliation deferred to Step 21 per the locked plan [skip-docs].

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-30 01:26:36 +02:00
d2e1f038c6 fix(linkedin-studio): honest saves/dwell wording, no false tracking claim
Wave 2 / Step 7 of the remediation plan (research/02 D2/D4).

The tool parses the LinkedIn analytics CSV export, which has no saves/dwell — and
there is no self-serve API to pull them. Stop implying it tracks them:
- report.md: replace "Saves (10x weight) and expert comments (7-9x) are the
  highest-impact signals" with honest wording — saves rank highest in the
  engagement ORDER (cite references/algorithm-signals-reference.md, not a restated
  coefficient), but are visible only in native LinkedIn post analytics (count-only,
  ~Sept 2025+) with no self-serve API, so this tool does not auto-track them; dwell
  is internal to LinkedIn for organic posts.
- types.ts: document why PostMetrics intentionally omits saves/dwell (no ingest
  source) so a future contributor does not "add the missing fields".
- strategy.md: reconcile two saves references (signature-content criterion +
  authority scorecard) to say the count is read from native LinkedIn analytics, not
  captured by this tool.

No new metric field, no manual-entry feature (operator Q3).

Verify: report.md has no "Saves (10x"/"highest-impact signals" and does say "no
self-serve API"; tsc --noEmit clean; analytics suite 106/106; structural lint
0 failed (report.md cites the reference, so stat-consistency stays green).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-30 00:28:23 +02:00
3dd8f40c31 fix(linkedin-studio): propagate reconciled algorithm numbers, cite-not-restate
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-29 20:32:17 +02:00
52fa87a255 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>
2026-05-29 11:32:02 +02:00
fba5a2b5bd refactor(linkedin): absorb authority into strategy + profile canon (S18)
- commands/strategy.md: extend frontmatter with authority triggers; insert
  Step 3.6 Authority Building (signature content map, greatest hits, derivative
  planning, content + network signals, action plan, monthly scorecard); add
  algorithm-signals-reference.md to Reference Files.
- commands/audit.md: Step 5.5 trajectory-review and Step 7 report-block
  trajectory section now route to /linkedin:strategy (the canon); Step 6
  profile-alignment routes to /linkedin:profile (the canon); drop
  trajectory-strategy-adjustments.md + algorithm-signals-reference.md from
  loaded references (canons own them).
- commands/analyze.md: 'If Profile-Content Mismatch' subsection routes to
  /linkedin:profile for the per-section checklist; quick-triage list kept.
- commands/authority.md: removed (absorbed by strategy.md).
- commands/linkedin.md: drop authority table row, merge 'Build authority'
  into AskUser item #10 (Growth strategy & authority), renumber 14-23 to
  13-22, broaden strategy routing trigger keywords, drop standalone
  authority routing rule.
- skills/linkedin-strategy/SKILL.md, skills/linkedin-thought-leadership/SKILL.md,
  CLAUDE.md, README.md: drop /linkedin:authority rows; widen /linkedin:strategy
  descriptions to reflect new scope.

Verification:
- Literal Verify (plan.md:704) exits 1 (expected inversion).
- Corrected predicate (test ! -f && ! grep -rqn …) exits 0 — clean.
- Manifest: commands/strategy.md present; [Aa]uthority match count = 24.
- Hooks: python3 hooks/scripts/compile-hooks.py --check → clean.
- Command count: 25 → 24.
- End-to-end Verification §849 (templates|publish|authority|collab|speaking)
  grep across commands/ agents/ skills/ hooks/ README.md CLAUDE.md → empty.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-28 06:01:43 +02:00
Kjell Tore Guttormsen
40986575b6 feat(ultraplan-local): v1.6.0 — /ultraresearch-local deep research command
Add /ultraresearch-local for structured research combining local codebase
analysis with external knowledge via parallel agent swarms. Produces research
briefs with triangulation, confidence ratings, and source quality assessment.

New command: /ultraresearch-local with modes --quick, --local, --external, --fg.
New agents: research-orchestrator (opus), docs-researcher, community-researcher,
security-researcher, contrarian-researcher, gemini-bridge (all sonnet).
New template: research-brief-template.md.

Integration: --research flag in /ultraplan-local accepts pre-built research
briefs (up to 3), enriches the interview and exploration phases. Planning
orchestrator cross-references brief findings during synthesis.

Design principle: Context Engineering — right information to right agent at
right time. Research briefs are structured artifacts in the pipeline:
ultraresearch → brief → ultraplan --research → plan → ultraexecute.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 08:58:35 +02:00