Commit graph

6 commits

Author SHA1 Message Date
ab091121d9 fix(linkedin-studio): N19 — terminologi-sveip (8 treff) + monetize scorecard/scope [skip-docs]
Terminologi (memory no-thought-leadership-phrase, plugin-is-domain-general):
erstatter "thought leader(s)" med nøytral, kontekstvalgt ordbruk i de 8
load-bearing treffene — competitive.md:4,17,31,34 · monetize.md:4 ·
linkedin.md:145 · strategy.md:371 · outreach.md:229.

Fasit-korreksjon: planens "14 treff / 6 gjenværende" var en telle-feil.
`git grep` mot planens egen baseline 882f6ee gir 15 — settet er uendret
siden da, kun linkedin.md (118→145) og post.md (134→142) har flyttet seg.
Riktig regnestykke er 15 = 8 fiks + 7 urørte.

De 7 urørte er alle bevisste negative eksempler og står med vilje:
- pipeline.md:79, post.md:142, react.md:131 — buzzword-blocklisten i
  pre-publish-sjekklisten (Content Quality Rule #4; frasen ER regelen)
- carousel.md:123, video.md:129 — samme blocklist sitert i caption-steget
- profile.md:79 — "thought leader"/"guru"/"ninja" som headline-antimønster
- profile.md:101 — en dårlig headline vist som avskrekkende eksempel

Monetize:
- Audience Size summerte 40 mot /25 (5+10+15+5+5). Follower-tiersene er nå
  ett gjensidig utelukkende valg (pick ONE), så maks blir 15+5+5 = 25.
  Alle fire dimensjoner summerer nå eksakt 25 → TOTAL /100 er ekte.
- Beskrivelsens "Works from 1K+ followers" motsa Stage 1 (0–1K, :92).
  Staged formulering i stedet, konsistent med linkedin.md-gatingregelen
  ("work at any follower count, value compounds") og CLAUDE.md-tabellens
  "unlocks at ~1K followers".

Verifisert: re-grep gir nøyaktig 7 gjenværende, alle på ikke-rør-lista.
ASCII-boksen måler 60 tegn på hver linje. Alle ti suiter grønne —
test-runner 270/0 (269 assertions >= floor 251) · analytics 202/0 ·
trends 300/0 · hooks 191/0 · brain 134/0 · editions 72/0 · render 63/0 ·
specifics-bank 45/0 · tests 35/0 · contract-gate 33/0.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PbMAQ3MR3TvDtAznxRNbR8
2026-07-31 15:38:10 +02:00
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
aaacb20a3f fix(linkedin-studio): S21 harden monetize — drop orphan WebFetch+Write grants, re-source fabricated DM-conversion decay curve to SSOT
- allowed-tools: drop WebFetch (:13) + Write (:15) — orphan grants, zero body
  use; command fetches no URL and persists no file (now Read/Glob/Grep/AskUserQuestion)
- :343-346: replace postulated same-day/next-day/3+day decay curve (incl. invented
  <10% floor) with SSOT-supported qualitative claim + cite references/opportunity-generation.md
- gate 81/0/0 exit 0; counts 29/19 unchanged (.md-only)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016qgzo6rxthw7KuxHjn5vyE
2026-06-19 15:23:28 +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
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