ktg-plugin-marketplace/plugins/linkedin-studio/hooks/scripts/pre-compact.mjs
Kjell Tore Guttormsen b6bb61246b 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

29 lines
852 B
JavaScript

#!/usr/bin/env node
// pre-compact.mjs
// PreCompact hook for linkedin-studio plugin
// Reminds Claude to preserve critical LinkedIn session context before compaction
//
// Exit codes:
// 0 - Always allow (informational hook)
const context = [
'Before compacting context, preserve these critical LinkedIn session details:',
'- Current post draft (full text if in progress)',
'- Chosen angle and format',
'- User feedback and iteration direction',
'- Quality check results',
'- State file values (streak, weekly count, last post date)',
'- Any planned topics or next steps',
'Ensure these survive the context compaction.',
].join('\n');
const output = {
continue: true,
hookSpecificOutput: {
hookEventName: 'PreCompact',
additionalContext: context,
},
};
process.stdout.write(JSON.stringify(output));
process.exit(0);