fix(linkedin-studio): S12 harden firsthour — re-source ~70% stat to first 15-30 min + drop CEA mislabel
Axis-b: command attributed ~70% of reach to the first 60 min (desc + body); SSOT algorithm-signals-reference.md:81 pins ~70% to the first 15-30 min sub-window (golden window 60-90 min). The command even cited that SSOT, so it contradicted its own source. Re-attributed to '15-30 minutes decide ~70%', framing the hour as the golden window worked. Axis-a: footer labelled engagement-frameworks.md as carrying CEA, but CEA lives in the SSOT + engagement-coach. Dropped 'CEA' from the footer label. Verified clean: both agents namespaced + frontmatter name/model/color match CLAUDE.md; recordFirstHourPlan exported/additive/$-safe; delegation + hand-off sound. test-runner.sh 81/0/0; counts 29/19/26 unchanged. FIXED, 0 deferrals. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016qgzo6rxthw7KuxHjn5vyE
This commit is contained in:
parent
4fad655a66
commit
bc325f0243
2 changed files with 58 additions and 4 deletions
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
name: linkedin:firsthour
|
name: linkedin:firsthour
|
||||||
description: |
|
description: |
|
||||||
Run the critical first hour after you publish — the window that decides ~70% of a post's
|
Run the critical first hour after you publish — its first 15–30 minutes decide ~70% of a post's
|
||||||
reach. Builds a timestamped first-hour plan: a warm-up + reply-loop target list, draft
|
reach. Builds a timestamped first-hour plan: a warm-up + reply-loop target list, draft
|
||||||
self-comments and CEA replies in your voice, and a minute-by-minute timeline — then persists
|
self-comments and CEA replies in your voice, and a minute-by-minute timeline — then persists
|
||||||
it to state so you can work it live. Hands off to the 48-hour monitor afterwards.
|
it to state so you can work it live. Hands off to the 48-hour monitor afterwards.
|
||||||
|
|
@ -19,8 +19,9 @@ allowed-tools:
|
||||||
# First Hour / Reply Loop — Post-Publish Engagement Sprint
|
# First Hour / Reply Loop — Post-Publish Engagement Sprint
|
||||||
|
|
||||||
You are a LinkedIn engagement operator. A post just went live (or is about to). The first
|
You are a LinkedIn engagement operator. A post just went live (or is about to). The first
|
||||||
60 minutes set ~70% of its total reach, so this command turns that window into a concrete,
|
15–30 minutes decide ~70% of its reach and the first hour is the golden window you work it,
|
||||||
worked plan: who to engage, what to say, and exactly when — persisted to state.
|
so this command turns that window into a concrete, worked plan: who to engage, what to say,
|
||||||
|
and exactly when — persisted to state.
|
||||||
|
|
||||||
## Step 0: Load Context
|
## Step 0: Load Context
|
||||||
|
|
||||||
|
|
@ -114,5 +115,5 @@ delayed spike) with the post-feedback monitor — invoke it via `Task` with
|
||||||
## Reference Files
|
## Reference Files
|
||||||
|
|
||||||
- `${LINKEDIN_STUDIO_DATA:-$HOME/.claude/linkedin-studio}/voice-samples/authentic-voice-samples.md` — voice matching for the draft comments
|
- `${LINKEDIN_STUDIO_DATA:-$HOME/.claude/linkedin-studio}/voice-samples/authentic-voice-samples.md` — voice matching for the draft comments
|
||||||
- `references/engagement-frameworks.md` — hook types, CEA, engagement hierarchy
|
- `references/engagement-frameworks.md` — hook types, engagement hierarchy
|
||||||
- `references/algorithm-signals-reference.md` — first-hour weighting, signal order, timing data
|
- `references/algorithm-signals-reference.md` — first-hour weighting, signal order, timing data
|
||||||
|
|
|
||||||
|
|
@ -1021,3 +1021,56 @@ functionally safe but mis-labelled "(Step 3b)". Root cause: conflating "the phas
|
||||||
post-fix.
|
post-fix.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## Session 12 — Hardening (`firsthour`)
|
||||||
|
|
||||||
|
> S12 status: re-grounded STATE's predicates against the actual `firsthour.md` (119 lines) BEFORE talk.
|
||||||
|
> Class agreed steps 1–2: **post-publish engagement orchestrator — first-hour / reply-loop sprint.
|
||||||
|
> NOT post-emitting / feed-draft.** It builds a first-hour plan (target list + draft comments + timeline)
|
||||||
|
> by DELEGATING construction to `engagement-coach` (Step 2, `Task`), presents + auto-copies the draft
|
||||||
|
> comments (Step 3), persists via `recordFirstHourPlan` (Step 4), and hands off to `post-feedback-monitor`
|
||||||
|
> (Step 5). It emits COMMENT copy, not a feed post → the feed-format predicates (hook 110–140, 1,200–1,800
|
||||||
|
> band, no-body-link) do NOT apply; the inline comment band (25–50 words, voice, no bait, no generic
|
||||||
|
> praise) is its own surface. Axis-d heavy: 2 agents + a state-writer + a hand-off chain.
|
||||||
|
|
||||||
|
**WHAT VERIFIED CLEAN (no change).**
|
||||||
|
- Agent wiring (axis-d): both `subagent_type: linkedin-studio:`-namespaced. `engagement-coach` frontmatter
|
||||||
|
= name / model:sonnet / color:magenta; `post-feedback-monitor` = name / model:opus / color:lime — both
|
||||||
|
match the CLAUDE.md table exactly.
|
||||||
|
- State-writer (axis-d): `recordFirstHourPlan` exported (`state-updater.mjs:235`), additive, `$`-safe
|
||||||
|
(function-replacements), stamps `last_firsthour_date` + `firsthour_active`, writes `## First-Hour Plans`
|
||||||
|
— exactly as Step 4 claims. `writeState` / `clipboard-helper.mjs` / both ref files present.
|
||||||
|
- Delegation sound (axis-d): CEA / 5x5x5 / first-hour / target-selection genuinely owned by
|
||||||
|
`engagement-coach.md` (whales / inner-circle, velocity table). Hand-off coach→monitor present (Step 5).
|
||||||
|
- Axis-c: the draft-comment band is consistent with the SSOT AI-slop suppression + the 15+-word floor.
|
||||||
|
- Principle 2 "comments rank above reactions" (`:111`) IS supported — SSOT `:38`
|
||||||
|
`saves > shares > quality comments > reactions/likes` + `:160`. (My initial narrow grep was a false
|
||||||
|
negative — withdrawn.)
|
||||||
|
|
||||||
|
**THE FIX (2 findings, 3 surgical edits, confined to prose + footer).**
|
||||||
|
1. [REWORK · axis-b] `~70%`-stat MISATTRIBUTED to "the first 60 min". The command (desc `:4`, body `:22`)
|
||||||
|
said the first hour / "first 60 minutes" decide ~70% of reach. SSOT `algorithm-signals-reference.md:81`
|
||||||
|
pins ~70% to the **first 15–30 min** sub-window (golden window = 60–90 min); the command even cites
|
||||||
|
that SSOT (`:118`) → it contradicted its own source. Fix: desc + body re-attributed to "first 15–30
|
||||||
|
minutes decide ~70%", framing the hour as the golden window you work. (Operational guidance was already
|
||||||
|
front-loaded — the 5/15/30/60 velocity checkpoints were left unchanged.)
|
||||||
|
2. [REWORK-low · axis-a] Reference-label: `engagement-frameworks.md` does NOT contain CEA. The footer
|
||||||
|
labelled it "hook types, CEA, engagement hierarchy" — but CEA lives in `algorithm-signals-reference.md:162`
|
||||||
|
+ `engagement-coach.md`; the ref carries hook types + "Engagement Quality Hierarchy" only. Fix: dropped
|
||||||
|
"CEA" from the footer line (CEA already covered by the Step 2 coach-delegation + the SSOT pointer).
|
||||||
|
|
||||||
|
**VERIFY.**
|
||||||
|
- Re-grepped the final file: `~70%` is now attributed to "15–30 minutes" at desc `:4` + body `:22`; no
|
||||||
|
"first 60" / "60 minutes set" attribution remains (`:66` "5/15/30/60-minute" is the velocity-checkpoints
|
||||||
|
table, unchanged). CEA now only at `:6 / :44 / :54 / :65 / :112` (desc + Step 2 + Step 3 + principle),
|
||||||
|
GONE from the footer; footer `:118` = "hook types, engagement hierarchy".
|
||||||
|
- `bash scripts/test-runner.sh` → `Passed: 81 · Failed: 0 · Warnings: 0`; counts **29/19/26** unchanged
|
||||||
|
(count / version / model / stat-consistency guards passed; .md-only edit, node/analytics tests not
|
||||||
|
triggered).
|
||||||
|
- **One NICE left (anti-gold-plating):** no degradation note for an `engagement-coach`-Task failure /
|
||||||
|
absent voice-samples (thin orchestrator, fully coach-dependent) — consistent with the suite's posture,
|
||||||
|
below the axis-pass bar, left.
|
||||||
|
- Disposition: **FIXED** (3 edits, all in `commands/firsthour.md`) · 0 deferrals · axes a/b/c/d all PASS
|
||||||
|
post-fix.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue