docs(linkedin-studio): session handoff — dream-spec expert panel launch-ready + push-except-STATE plan
Post-hardening. Two jobs queued for next session (operator: work starts next session): JOB 1 = run the dream-spec expert panel (docs/expert-review/dream-spec-panel.md, launch-ready Workflow script; supersedes plan.md critique-of-current direction). Operator twist: a world-class LinkedIn-growth panel defines the IDEAL plugin (north-star), then reviews the current plugin against it (informational, not a plan). Mission clarified: followers of an account using this plugin recruit NEW LinkedIn users to the account because the account is so good. JOB 2 = push everything EXCEPT STATE.md to public open/ (STATE woven into 8/18 parked commits -> strip via filter-repo, backup first, re-gitignore STATE local-only; open/ already public = low risk; check Ralph-Wiggum history item). STATE.md updated with full mechanics for both. Nothing started this session per operator. 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
1a467f6bde
commit
c968a28a77
1 changed files with 80 additions and 0 deletions
80
docs/expert-review/dream-spec-panel.md
Normal file
80
docs/expert-review/dream-spec-panel.md
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
# Dream-Spec Expert Panel — Launch-Ready Spec
|
||||
|
||||
> Operator-redirected expert panel (2026-06-20). **Supersedes the critique-of-current direction in
|
||||
> `plan.md`.** Instead of reviewing the existing plugin, a panel of world-class LinkedIn-growth experts
|
||||
> defines the **ideal plugin's capability spec** (north-star), then a second pass reviews the **current**
|
||||
> plugin against that dream-spec. **Informational — NOT a plan/roadmap** (operator's explicit framing).
|
||||
> Run as a background multi-agent Workflow; main context writes the final doc (operator-gated).
|
||||
|
||||
## Mission (the exact growth thesis — operator-clarified)
|
||||
A creator wants a **very large, highly engaged LinkedIn following in 2026 that compounds through
|
||||
word-of-mouth**: the account (powered by this plugin) gets so good that its **followers "recruit" new
|
||||
LinkedIn users to the account** — reshares, tagging, "save-and-send", collaborations, comment-networks.
|
||||
Engaged followers bring in more followers. Plus a strong, differentiated **personal brand** that converts
|
||||
attention into opportunity. The vehicle is an AI plugin (slash-commands + sub-agents) run by a **non-expert**
|
||||
who needs the tool to supply the domain expertise.
|
||||
|
||||
## Deliverable
|
||||
1. `docs/expert-review/dream-spec.md` — the consolidated north-star capability spec (the reference the
|
||||
operator consults when proposing improvements from real use).
|
||||
2. A **full review of the current plugin measured against the dream-spec** (delivers / partial / missing,
|
||||
with file:line evidence) — informational, appended or as `docs/expert-review/review-vs-spec.md`.
|
||||
|
||||
## Panel — 7 expert lenses (define the IDEAL, no anchoring to current)
|
||||
algo (algorithm & distribution) · craft (hook & format craft) · brand (positioning & personal brand) ·
|
||||
growth (audience growth & network effects — the "verver andre" core) · engage (engagement & community) ·
|
||||
analytics (data-driven iteration, honest about LinkedIn data limits) · voice (authenticity / anti-AI-slop).
|
||||
|
||||
## Review buckets — 7 (assess current plugin vs the dream-spec)
|
||||
Same 7 keys; each reviewer reads the relevant current files (see script `BUCKETS[].files`).
|
||||
|
||||
## How to run (next session, full context)
|
||||
1. `Workflow({ script })` below, **`run_in_background: true`**. Launch FIRST (it runs while you do the push).
|
||||
2. On completion: main context writes `dream-spec.md` + `review-vs-spec.md` from the returned
|
||||
`{ dreamSpec, principles, reviews }`. Opus, human-facing, operator-gated (no auto-merge).
|
||||
3. Then write a project memory for the dream-spec artifact.
|
||||
|
||||
## Workflow script (paste verbatim into `Workflow({script})`)
|
||||
```js
|
||||
export const meta = {
|
||||
name: 'linkedin-dream-spec-panel',
|
||||
description: 'World-class growth-expert panel defines the ideal LinkedIn plugin spec, then reviews the current plugin against it (informational, not a plan)',
|
||||
phases: [
|
||||
{ title: 'Dream-spec', detail: '7 expert lenses define ideal capabilities (no anchoring to current)' },
|
||||
{ title: 'Consolidate', detail: 'merge lenses into one dream-spec' },
|
||||
{ title: 'Review-vs-spec', detail: 'assess current plugin against the dream-spec' },
|
||||
],
|
||||
}
|
||||
const MISSION = `A creator wants a VERY LARGE, HIGHLY ENGAGED LinkedIn following in 2026 that COMPOUNDS THROUGH WORD-OF-MOUTH: the account (powered by this plugin) gets so good that its FOLLOWERS RECRUIT NEW LinkedIn users to the account — reshares, tagging, "save-and-send", collaborations, comment-networks. Engaged followers bring in more followers. Plus a strong, differentiated PERSONAL BRAND that converts attention into opportunity. The vehicle is an AI plugin (slash-commands + sub-agents) run by a NON-EXPERT who needs the tool to supply the domain expertise. Define what that plugin must DO.`
|
||||
const LENSES = [
|
||||
{ key:'algo', title:'LinkedIn algorithm & distribution', brief:'how the 2026 feed ranks, tests, suppresses and resurfaces content; what a tool must do to maximize organic reach and dwell' },
|
||||
{ key:'craft', title:'Hook & content-format craft', brief:'scroll-stopping hooks, narrative tension, format mechanics (carousel/video/text/poll), the craft that earns engagement' },
|
||||
{ key:'brand', title:'Personal-brand & positioning strategy', brief:'ICP clarity, differentiation, authority architecture, offer<->content fit, a recognizable point of view' },
|
||||
{ key:'growth', title:'Audience growth & network effects', brief:'the word-of-mouth loop — what makes engaged followers recruit MORE followers to the account: shareable/taggable formats, collaborations, comment-networks, compounding' },
|
||||
{ key:'engage', title:'Engagement & community building', brief:'first-hour tactics, comment strategy, relationship systems, turning followers into an active community that returns and advocates' },
|
||||
{ key:'analytics', title:'Analytics & data-driven iteration', brief:'what to measure (honest about LinkedIn data limits), how to close the feedback loop, experiment design, knowing what is working' },
|
||||
{ key:'voice', title:'Authenticity & anti-AI-slop voice', brief:'staying credibly human at scale, a real voice, avoiding generic AI tells and broetry fatigue, earning trust' },
|
||||
]
|
||||
const BUCKETS = [
|
||||
{ key:'algo', title:'Algorithm & distribution', files:'references/algorithm-signals-reference.md, commands/analyze.md, commands/report.md, agents/analytics-interpreter.md, agents/post-feedback-monitor.md, references/linkedin-formats.md' },
|
||||
{ key:'craft', title:'Content & format craft', files:'commands/post.md, commands/quick.md, commands/carousel.md, commands/video.md, commands/react.md, agents/content-optimizer.md, agents/video-scripter.md, references/engagement-frameworks.md, references/content-angles.md' },
|
||||
{ key:'brand', title:'Positioning & personal brand', files:'commands/strategy.md, commands/profile.md, commands/onboarding.md, commands/setup.md, agents/strategy-advisor.md' },
|
||||
{ key:'growth', title:'Growth & network effects', files:'commands/outreach.md, commands/competitive.md, commands/batch.md, agents/network-builder.md, agents/content-repurposer.md, agents/trend-spotter.md, references/collaborations-guide.md, references/opportunity-generation.md' },
|
||||
{ key:'engage', title:'Engagement & community', files:'commands/firsthour.md, commands/calendar.md, agents/engagement-coach.md, references/engagement-frameworks.md' },
|
||||
{ key:'analytics', title:'Analytics & iteration', files:'commands/import.md, commands/report.md, commands/analyze.md, commands/audit.md, commands/ab-test.md, commands/measure.md, agents/analytics-interpreter.md' },
|
||||
{ key:'voice', title:'Authenticity, voice & long-form', files:'skills/linkedin-voice/SKILL.md, agents/voice-trainer.md, agents/voice-scrubber.md, agents/differentiation-checker.md, commands/newsletter.md, agents/editorial-reviewer.md, agents/persona-reviewer.md, agents/fact-checker.md' },
|
||||
]
|
||||
const EXPERT_SCHEMA = { type:'object', additionalProperties:false, required:['lens','capabilities','northStarPrinciples'], properties:{ lens:{type:'string'}, capabilities:{type:'array', items:{type:'object', additionalProperties:false, required:['name','whatItDoes','whyItMatters','howDelivered','priority'], properties:{ name:{type:'string'}, whatItDoes:{type:'string'}, whyItMatters:{type:'string'}, howDelivered:{type:'string'}, priority:{type:'string', enum:['core','high','nice']} } } }, northStarPrinciples:{type:'array', items:{type:'string'}} } }
|
||||
const SPEC_SCHEMA = { type:'object', additionalProperties:false, required:['mission','capabilityAreas'], properties:{ mission:{type:'string'}, capabilityAreas:{type:'array', items:{type:'object', additionalProperties:false, required:['area','goal','capabilities'], properties:{ area:{type:'string'}, goal:{type:'string'}, capabilities:{type:'array', items:{type:'object', additionalProperties:false, required:['name','whatItDoes','whyItMatters','howDelivered','priority','sourceLenses'], properties:{ name:{type:'string'}, whatItDoes:{type:'string'}, whyItMatters:{type:'string'}, howDelivered:{type:'string'}, priority:{type:'string', enum:['core','high','nice']}, sourceLenses:{type:'array', items:{type:'string'}} } } } } } } } }
|
||||
const REVIEW_SCHEMA = { type:'object', additionalProperties:false, required:['bucket','summary','assessments'], properties:{ bucket:{type:'string'}, summary:{type:'string'}, assessments:{type:'array', items:{type:'object', additionalProperties:false, required:['capability','coverage','evidence','gap'], properties:{ capability:{type:'string'}, coverage:{type:'string', enum:['delivers','partial','missing']}, evidence:{type:'string'}, gap:{type:'string'} } } } } }
|
||||
phase('Dream-spec')
|
||||
const expertsRaw = await parallel(LENSES.map(l => () => agent(`You are a world-class expert in ${l.title} — ${l.brief}.\n\nMISSION:\n${MISSION}\n\nDefine the capabilities THIS plugin must have, through YOUR lens ONLY, to make the creator succeed. Define the IDEAL — do NOT anchor to any existing tool or worry about what is already built. For each capability: name; whatItDoes; whyItMatters (the domain MECHANISM — why it drives a large / engaged / self-compounding following); howDelivered (how an AI slash-command or sub-agent would actually deliver it for a non-expert). Mark priority core/high/nice. Aim for 6-12 concrete capabilities. Also give 2-4 northStarPrinciples for your lens. Ground platform-mechanic claims in real 2026 LinkedIn dynamics; if a capability rests on a specific platform number you are unsure of, say so in whyItMatters rather than inventing a figure.`, { label:`spec:${l.key}`, phase:'Dream-spec', schema: EXPERT_SCHEMA })))
|
||||
const experts = expertsRaw.filter(Boolean)
|
||||
log(`Dream-spec: ${experts.length}/${LENSES.length} expert lenses returned`)
|
||||
phase('Consolidate')
|
||||
const dreamSpec = await agent(`You are the panel's chief editor. ${experts.length} world-class experts each defined capabilities for the IDEAL LinkedIn-growth plugin (mission below). Consolidate into ONE dream-spec.\n\nMISSION:\n${MISSION}\n\nEXPERT OUTPUTS (JSON):\n${JSON.stringify(experts)}\n\nProduce: a one-paragraph mission; and capabilityAreas — each tied to a concrete creator-goal — with merged capabilities inside (dedupe overlaps across lenses; when lenses overlap, merge into one capability and list all sourceLenses). Comprehensive but non-redundant. This is the operator's north-star reference, so each capability must be concrete and actionable.`, { label:'consolidate', phase:'Consolidate', schema: SPEC_SCHEMA })
|
||||
phase('Review-vs-spec')
|
||||
const reviews = (await parallel(BUCKETS.map(b => () => agent(`You are an adversarial, independent product reviewer. Below is the DREAM-SPEC for an ideal LinkedIn-growth plugin. Assess how the CURRENT plugin delivers the capabilities relevant to the "${b.title}" area — honestly and specifically. INFORMATIONAL (a gap assessment for the operator to read), NOT a plan or roadmap.\n\nDREAM-SPEC (JSON):\n${JSON.stringify(dreamSpec)}\n\nRead these current plugin files (relative to the repo root = cwd): ${b.files}\n\nFor each dream-spec capability relevant to "${b.title}", judge coverage: delivers | partial | missing — with concrete evidence (file:line or a specific observation) and the precise gap vs the dream-spec capability. Do not praise vaguely; cite. End with a 2-3 sentence summary of where this area stands against the dream.`, { label:`review:${b.key}`, phase:'Review-vs-spec', schema: REVIEW_SCHEMA }))).filter(Boolean)
|
||||
log(`Review: ${reviews.length}/${BUCKETS.length} buckets assessed`)
|
||||
return { dreamSpec, principles: experts.map(e => ({ lens: e.lens, northStarPrinciples: e.northStarPrinciples })), reviews }
|
||||
```
|
||||
Loading…
Add table
Add a link
Reference in a new issue