ktg-plugin-marketplace/plugins/linkedin-thought-leadership/hooks/scripts
Kjell Tore Guttormsen e4aa5a61c2 refactor(linkedin): merge publish into calendar — reconcile hook refs (S16)
Step 17 of voyage-build (S16 in plan). publish.md absorbed into calendar.md
as an inline action (Mark as Published flow: queue update, state update,
first-hour battle plan) reusing the same queue-manager.mjs + state-updater.mjs
primitives that publish.md called. calendar.md frontmatter triggers extended
with the publish trigger words; quick-routing block jumps straight to the
publish action when the user prompt names it.

All 21 route-refs reconciled across the 9 expected files, with the 9
hook-script refs (5 in session-start.mjs, 2 in posting-reminder.mjs, 1 in
user-prompt-context.mjs, 1 in hooks/prompts/state-update-reminder.md)
rewritten to call /linkedin:calendar so the runtime guidance no longer
points at a dead command. compile-hooks.py --check reports clean (no
type: prompt hook changes touched hooks.json).

Verify (intent: zero stray refs, file gone): exit 0. Literal Verify in
plan.md:727 logged exit 1 (same exit-inverted && pattern as S15 plan.md:635
— logged for plan-pass at Step 21).

Manifest audit: PASS (expected_paths=calendar.md present; must_contain
[Pp]ublish: 17 matches in calendar.md).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-28 05:27:36 +02:00
..
__tests__ feat(linkedin): add state-updater.mjs — deterministic state mutations with tests 2026-04-11 00:40:16 +02:00
clipboard-helper.mjs feat(linkedin): add clipboard-helper.mjs — cross-platform clipboard utility 2026-04-10 15:08:42 +02:00
compile-hooks.py feat(linkedin-thought-leadership): v1.0.0 — initial open-source import 2026-04-07 22:09:03 +02:00
content-gatekeeper.mjs feat(linkedin-thought-leadership): v1.0.0 — initial open-source import 2026-04-07 22:09:03 +02:00
ical-generator.mjs feat(linkedin): add ical-generator.mjs — RFC 5545 calendar file generation 2026-04-10 18:38:20 +02:00
linkedin-content-filter.mjs feat(linkedin-thought-leadership): v1.0.0 — initial open-source import 2026-04-07 22:09:03 +02:00
personalization-score.mjs feat(linkedin-thought-leadership): v1.0.0 — initial open-source import 2026-04-07 22:09:03 +02:00
posting-reminder.mjs refactor(linkedin): merge publish into calendar — reconcile hook refs (S16) 2026-05-28 05:27:36 +02:00
pre-compact.mjs feat(linkedin-thought-leadership): v1.0.0 — initial open-source import 2026-04-07 22:09:03 +02:00
queue-manager.mjs feat(linkedin-thought-leadership): v1.0.0 — initial open-source import 2026-04-07 22:09:03 +02:00
quick-import.mjs feat(linkedin-thought-leadership): v1.0.0 — initial open-source import 2026-04-07 22:09:03 +02:00
session-start.mjs refactor(linkedin): merge publish into calendar — reconcile hook refs (S16) 2026-05-28 05:27:36 +02:00
state-updater.mjs feat(linkedin): add state-updater.mjs — deterministic state mutations with tests 2026-04-11 00:40:16 +02:00
stop-reminder.mjs feat(linkedin-thought-leadership): v1.0.0 — initial open-source import 2026-04-07 22:09:03 +02:00
user-prompt-context.mjs refactor(linkedin): merge publish into calendar — reconcile hook refs (S16) 2026-05-28 05:27:36 +02:00
week-rollover.mjs feat(linkedin-thought-leadership): v1.1.0 — Q2 2026 feature release 2026-04-08 06:16:35 +02:00