Wire orphan agent #11 (engagement-coach) by giving it a command surface, and add the tracked first-hour state the plan calls for (remediation Step 16). - commands/firsthour.md (new, 27th command): post-publish first-hour / reply-loop sprint. Delegates plan construction to engagement-coach via Task (subagent_type: linkedin-studio:engagement-coach) — returns a grouped target list (whales/inner-circle/ICPs/new connections), 2-3 seed self-comments + 3-5 CEA replies in the user's voice, and a minute-by-minute timeline anchored to publish time. Presents timeline/targets/drafts + velocity checkpoints, auto-copies the drafts to clipboard, persists the plan, then hands off to post-feedback-monitor for the 48h window. - hooks/scripts/state-updater.mjs: new pure mutation recordFirstHourPlan() mirroring updatePostTracking — additive by contract (inserts last_firsthour_date after last_post_date when absent, creates the ## First-Hour Plans section when absent, never touches existing fields). Section name is deliberately non-R-initial so it stays outside pruneContentHistory's "## Recent Posts ... (?=\n## [^R])" capture window. + a --record-firsthour CLI branch for parity with the other mutations. - config/state-file.template.md: additive scalars (last_firsthour_date, firsthour_active) + the ## First-Hour Plans section. - hooks/scripts/__tests__/state-updater.test.mjs: extend (existing file) with 7 recordFirstHourPlan tests — section creation, field insertion vs in-place update (no duplication), round-trip non-interference, graceful empty defaults, changes array. - CLAUDE.md: register the command (## Commands 26 -> 27, table row). - scripts/test-runner.sh: EXPECT_COMMANDS 26 -> 27 (registration guard). Verify: grep 'subagent_type: linkedin-studio:engagement-coach' commands/ -> firsthour.md; node --test state-updater -> 26/26; full hook suite -> 83/83; bash scripts/test-runner.sh -> exit 0 (62 passed, commands 27/27). Plan Step 16 (Wave 4 S3). [skip-docs]: tre-doc + version bump deferred to Step 21 per remediation plan. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
70 lines
1.5 KiB
Markdown
70 lines
1.5 KiB
Markdown
---
|
|
# LinkedIn Studio State
|
|
# Auto-managed by the linkedin-studio plugin
|
|
# Copy to ~/.claude/linkedin-studio.local.md
|
|
|
|
# Posting metrics
|
|
last_post_date: null
|
|
first_post_date: null # YYYY-MM-DD, set once on first post, never changed
|
|
last_post_topic: "" # Should match an expertise_areas value for pillar tracking
|
|
posts_this_week: 0
|
|
weekly_goal: 3
|
|
current_streak: 0
|
|
longest_streak: 0
|
|
|
|
# Week tracking (ISO week)
|
|
current_week: ""
|
|
|
|
# Analytics tracking
|
|
last_import_date: null
|
|
last_import_week: ""
|
|
|
|
# Milestone tracking
|
|
follower_count: 0
|
|
follower_target: 10000
|
|
target_date: "2026-12-31"
|
|
monthly_growth: []
|
|
projected_10k_date: ""
|
|
growth_rate_needed: 0
|
|
|
|
# Planning
|
|
next_planned_topic: ""
|
|
pending_5x5x5: false
|
|
content_series_active: ""
|
|
|
|
# First-hour / reply-loop engagement
|
|
last_firsthour_date: null # "YYYY-MM-DD HH:MM" of the most recent first-hour plan
|
|
firsthour_active: false # true while a first-hour loop is in progress
|
|
|
|
# Profile
|
|
expertise_areas:
|
|
- "general"
|
|
- ""
|
|
- ""
|
|
- ""
|
|
- ""
|
|
---
|
|
|
|
# LinkedIn Session State
|
|
|
|
## Recent Posts
|
|
|
|
<!-- Updated automatically by Stop hook -->
|
|
<!-- Format: [YYYY-MM-DD] "Hook text..." (chars) - topic_area -->
|
|
|
|
## Session Notes
|
|
|
|
<!-- Free-form notes from sessions -->
|
|
|
|
## Planned Content
|
|
|
|
<!-- Upcoming posts and topics -->
|
|
|
|
## Milestone Log
|
|
|
|
<!-- Updated when follower_count changes. Format: [YYYY-MM] count (+delta) -->
|
|
|
|
## First-Hour Plans
|
|
|
|
<!-- First-hour / reply-loop plans, newest first. Written by /linkedin:firsthour. -->
|
|
<!-- Format: ### [YYYY-MM-DD HH:MM] topic -->
|