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
|
||||
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
|
||||
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.
|
||||
|
|
@ -19,8 +19,9 @@ allowed-tools:
|
|||
# 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
|
||||
60 minutes set ~70% of its total reach, so this command turns that window into a concrete,
|
||||
worked plan: who to engage, what to say, and exactly when — persisted to state.
|
||||
15–30 minutes decide ~70% of its reach and the first hour is the golden window you work it,
|
||||
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
|
||||
|
||||
|
|
@ -114,5 +115,5 @@ delayed spike) with the post-feedback monitor — invoke it via `Task` with
|
|||
## Reference Files
|
||||
|
||||
- `${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
|
||||
|
|
|
|||
|
|
@ -1021,3 +1021,56 @@ functionally safe but mis-labelled "(Step 3b)". Root cause: conflating "the phas
|
|||
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