@sellable/mcp 0.1.258 → 0.1.260
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/server.js +4 -1
- package/dist/tools/csv-dnc.d.ts +36 -0
- package/dist/tools/csv-dnc.js +94 -2
- package/dist/tools/engage-discovery.d.ts +21 -18
- package/dist/tools/engage-discovery.js +90 -112
- package/dist/tools/leads.d.ts +381 -21
- package/dist/tools/leads.js +219 -5
- package/dist/tools/registry.d.ts +213 -21
- package/package.json +1 -1
- package/skills/create-campaign/SKILL.md +6 -0
- package/skills/create-campaign-v2/references/filter-leads.md +2 -0
- package/skills/create-campaign-v2/references/lead-validation-preview.md +2 -0
- package/skills/create-campaign-v2/references/step-13-import-leads.md +3 -1
- package/skills/create-post/SKILL.md +147 -120
- package/skills/create-post/references/gold-standard-post-pack.md +0 -11
- package/skills/create-post/references/hook-research-playbook.md +276 -311
- package/skills/create-post/references/post-file-contract.md +8 -16
- package/skills/create-post/references/post-validation.md +142 -211
- package/skills/create-post/references/premise-development.md +250 -5
- package/skills/find-leads/SKILL.md +6 -0
|
@@ -60,9 +60,8 @@ Do:
|
|
|
60
60
|
|
|
61
61
|
- capture rough ideas, voice memos, freestyle notes, and ad hoc prompts
|
|
62
62
|
- research currently working LinkedIn hooks
|
|
63
|
-
- reverse engineer why source hooks work, what shape to keep, and what not to copy
|
|
64
63
|
- develop premise cards with real story/observed tension and reader value
|
|
65
|
-
-
|
|
64
|
+
- generate hook candidates
|
|
66
65
|
- draft a post body that stays true to the source idea
|
|
67
66
|
- run validation before calling a draft ready
|
|
68
67
|
- save ideas, hook research, drafts, and published records under `~/.sellable/content/linkedin/**`
|
|
@@ -306,8 +305,7 @@ If local idea capture succeeds but auth/workspace is missing, keep the idea and
|
|
|
306
305
|
|
|
307
306
|
## Step 1: Hook Research
|
|
308
307
|
|
|
309
|
-
Use `references/hook-research-playbook.md
|
|
310
|
-
`references/linkedin-preview-rendering.md`.
|
|
308
|
+
Use `references/hook-research-playbook.md`.
|
|
311
309
|
|
|
312
310
|
If the host supports background agents, delegate the search/fetch/autopsy work
|
|
313
311
|
to one bounded `research-worker` before hook candidate generation. The worker
|
|
@@ -319,16 +317,18 @@ and drafting gate.
|
|
|
319
317
|
The research worker must return a compact packet only:
|
|
320
318
|
|
|
321
319
|
- source examples kept and rejected
|
|
322
|
-
- hook reverse-engineering autopsies: why each source hook works, which shape to
|
|
323
|
-
keep, what not to copy, and what payoff the body must deliver
|
|
324
320
|
- full adapted hook blocks
|
|
325
|
-
- angle territories tested before drafting
|
|
326
321
|
- market belief map: resonating ideas, implicit beliefs, audience wants, resentments, fears, and credible controversy angles
|
|
327
322
|
- premise inputs: real scenes, observed tensions, reader value openings, and proof gaps
|
|
328
|
-
- reach-normalized signal notes, including follower-band fit when available
|
|
329
323
|
- exact phrase patterns and sentence shapes
|
|
324
|
+
- post positioning breakdowns that label each meaningful line or phrase by
|
|
325
|
+
narrative job and category
|
|
326
|
+
- viral-post outlines for the best source posts
|
|
327
|
+
- line-to-template conversions that turn source structures into reusable
|
|
328
|
+
templates without source wording
|
|
329
|
+
- hook-to-body promise maps that show how each hook tells the body
|
|
330
330
|
- body structures and exact body language moves
|
|
331
|
-
-
|
|
331
|
+
- preview measurements
|
|
332
332
|
- track-person and gold-standard recommendations
|
|
333
333
|
- blocked states or confidence gaps
|
|
334
334
|
|
|
@@ -339,24 +339,26 @@ the exact extracted phrase shapes.
|
|
|
339
339
|
Default flow:
|
|
340
340
|
|
|
341
341
|
1. Convert the idea into 3-8 search keywords.
|
|
342
|
-
2. Call `mcp__sellable__search_engagement_posts` with an explicit multi-month window. Default to `maxAgeDays: 120`, tightening to 30-60 days only when the topic is trend-sensitive.
|
|
343
|
-
3. Shortlist posts by topic fit,
|
|
344
|
-
4. Because search results may only include previews, call `mcp__sellable__fetch_linkedin_posts` for shortlisted authors/profile URLs and match recent posts by URL/activity ID when full text is needed.
|
|
342
|
+
2. Call `mcp__sellable__search_engagement_posts` with an explicit multi-month window. Default to `maxAgeDays: 120`, tightening to 30-60 days only when the topic is trend-sensitive.
|
|
343
|
+
3. Shortlist high-engagement posts by topic fit, hook strength, creator repeat evidence, and weighted engagement quality.
|
|
344
|
+
4. Because search results may only include previews, call `mcp__sellable__fetch_linkedin_posts` for shortlisted authors/profile URLs and match recent posts by URL/activity ID when full text is needed.
|
|
345
345
|
5. If full text cannot be matched, record `full_text_unavailable` and use only the preview. Do not invent missing body details.
|
|
346
|
-
6. Weigh shares/reposts above comments, comments above reactions, and reactions as weak reach unless paired with stronger signals.
|
|
346
|
+
6. Weigh shares/reposts above comments, comments above reactions, and reactions as weak reach unless paired with stronger signals. If shares/reposts are unavailable, record `repost_data_unavailable`.
|
|
347
347
|
7. Penalize lead-magnet or giveaway mechanics unless the user explicitly asks for a lead magnet post.
|
|
348
348
|
8. Build a market belief map before hook generation: what the space is rewarding, what the audience implicitly believes, what they want permission to say, what they resent or fear, what they will argue with, and which controversial angle the user can credibly own. If the user's raw idea is internally coherent but not attached to a live market tension, do not draft from the internal idea alone; present stronger directions or rewrite the draft angle around the external tension.
|
|
349
349
|
9. Extract premise inputs: real story/scene possibilities, observed tensions, useful reader takeaways, and proof gaps. A good hook cannot rescue a premise with no value.
|
|
350
350
|
10. For story posts, extract the story mechanism that made the post work, not just the first line.
|
|
351
351
|
11. Extract hook structures plus specific reusable words, phrases, sentence
|
|
352
352
|
shapes, transitions, and body language patterns.
|
|
353
|
-
12.
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
353
|
+
12. Create a post positioning breakdown for each keeper post: line/phrase,
|
|
354
|
+
category, narrative technique, tension created, reader question opened,
|
|
355
|
+
proof dependency, and reusable template line.
|
|
356
|
+
13. Convert each keeper into a viral-post outline: hook job, see-more trigger,
|
|
357
|
+
body payoff, close job, and beat-by-beat narrative structure.
|
|
358
|
+
14. Convert the best outlines into reusable post templates with positioning
|
|
359
|
+
sequences, required story/proof inputs, forbidden borrowing, and
|
|
360
|
+
Sellable-specific adaptation instructions.
|
|
361
|
+
15. Save the research with `mcp__sellable__save_hook_research`.
|
|
360
362
|
|
|
361
363
|
Record provenance:
|
|
362
364
|
|
|
@@ -365,29 +367,22 @@ Record provenance:
|
|
|
365
367
|
- search window
|
|
366
368
|
- source post URLs
|
|
367
369
|
- authors/profile URLs
|
|
368
|
-
- author follower counts and target follower-band fit when available
|
|
369
370
|
- engagement totals and available likes/comments/shares breakdown
|
|
370
|
-
- reach-normalized scoring fields and confidence notes
|
|
371
371
|
- creator repeat evidence
|
|
372
372
|
- lead-magnet or engagement-bait penalties
|
|
373
373
|
- story mechanism when relevant
|
|
374
374
|
- full-text match status
|
|
375
|
-
- source hook
|
|
376
|
-
authenticated LinkedIn screenshots, or a search preview
|
|
375
|
+
- source hook preview measurements and whether they came from full text or a search preview
|
|
377
376
|
- selected hook patterns
|
|
378
|
-
- hook reverse-engineering autopsies, including `clickQuestion`,
|
|
379
|
-
`promisedPayoff`, `sourceShapeToKeep`, `sourceWordsNotToCopy`, and
|
|
380
|
-
`adaptationRule`
|
|
381
377
|
- market belief map and selected controversy
|
|
382
378
|
- premise cards and selected premise
|
|
383
379
|
- exact phrase patterns and sentence shapes
|
|
380
|
+
- post positioning breakdowns
|
|
381
|
+
- viral-post outlines
|
|
382
|
+
- reusable post templates
|
|
383
|
+
- hook-to-body promise maps
|
|
384
384
|
- body structures and body language patterns
|
|
385
385
|
- why each pattern fits the user's idea and voice
|
|
386
|
-
- `whyTheHookCarries`: why the selected hook works from the words, tension, and
|
|
387
|
-
content pattern independent of the source creator's reach
|
|
388
|
-
- `whyTheReachEvidenceIsTrustworthy`: follower-band fit, reach-adjusted score,
|
|
389
|
-
baseline lift, share/comment quality, or why a large-account example is only
|
|
390
|
-
secondary pattern evidence
|
|
391
386
|
|
|
392
387
|
## Step 1.5: Research Learning Report
|
|
393
388
|
|
|
@@ -413,9 +408,6 @@ Research status:
|
|
|
413
408
|
- keywords:
|
|
414
409
|
- full-text coverage:
|
|
415
410
|
- repost/share data:
|
|
416
|
-
- target follower band:
|
|
417
|
-
- reach-normalized winners:
|
|
418
|
-
- big-account examples used only as secondary pattern evidence:
|
|
419
411
|
|
|
420
412
|
Best source examples:
|
|
421
413
|
1. author, URL, engagement, why kept, why not copied
|
|
@@ -436,16 +428,11 @@ Premise cards:
|
|
|
436
428
|
Hook patterns learned:
|
|
437
429
|
1. full adapted hook block
|
|
438
430
|
- source mechanism:
|
|
439
|
-
-
|
|
440
|
-
-
|
|
441
|
-
-
|
|
442
|
-
- source shape to keep:
|
|
443
|
-
- source words not to copy:
|
|
444
|
-
- rendered preview:
|
|
445
|
-
- mobile visible block:
|
|
446
|
-
- desktop visible block:
|
|
447
|
-
- verdict:
|
|
431
|
+
- preview budget:
|
|
432
|
+
- see-more tension:
|
|
433
|
+
- curiosity debt:
|
|
448
434
|
- internal question:
|
|
435
|
+
- hook-to-body promise:
|
|
449
436
|
- why it fits / why it does not:
|
|
450
437
|
|
|
451
438
|
Specific words and phrase shapes:
|
|
@@ -456,9 +443,35 @@ Specific words and phrase shapes:
|
|
|
456
443
|
- adapted Sellable form:
|
|
457
444
|
- do not copy:
|
|
458
445
|
|
|
446
|
+
Post positioning breakdown templates:
|
|
447
|
+
1. source + template name
|
|
448
|
+
- positioning sequence:
|
|
449
|
+
- line-level narrative techniques:
|
|
450
|
+
- tension created:
|
|
451
|
+
- reader questions opened:
|
|
452
|
+
- reusable template lines:
|
|
453
|
+
- Sellable adaptation:
|
|
454
|
+
|
|
455
|
+
Viral-post outlines:
|
|
456
|
+
1. outline name
|
|
457
|
+
- hook job:
|
|
458
|
+
- see-more trigger:
|
|
459
|
+
- body payoff:
|
|
460
|
+
- close job:
|
|
461
|
+
- beat sequence:
|
|
462
|
+
|
|
463
|
+
Line-to-template conversion:
|
|
464
|
+
1. source line/beat
|
|
465
|
+
- narrative job:
|
|
466
|
+
- template line shape:
|
|
467
|
+
- required user story/proof:
|
|
468
|
+
- forbidden borrowing:
|
|
469
|
+
- adapted Sellable expression:
|
|
470
|
+
|
|
459
471
|
Body structures learned:
|
|
460
472
|
1. structure name
|
|
461
473
|
- source:
|
|
474
|
+
- positioning sequence:
|
|
462
475
|
- sequence:
|
|
463
476
|
- exact language moves:
|
|
464
477
|
- adapted Sellable body move:
|
|
@@ -472,9 +485,9 @@ Save recommendations:
|
|
|
472
485
|
- gold-standard candidates:
|
|
473
486
|
|
|
474
487
|
Recommended draft directions:
|
|
475
|
-
1. premise card +
|
|
476
|
-
2. premise card +
|
|
477
|
-
3. premise card +
|
|
488
|
+
1. premise card + source template + hook block + viral outline + body structure
|
|
489
|
+
2. premise card + source template + hook block + viral outline + body structure
|
|
490
|
+
3. premise card + source template + hook block + viral outline + body structure
|
|
478
491
|
```
|
|
479
492
|
|
|
480
493
|
Keep this report concise enough to read, but concrete enough that another agent
|
|
@@ -488,7 +501,9 @@ Generate 3-5 `Premise Card` candidates from the raw idea, market research, core
|
|
|
488
501
|
memory, story/proof files, and current-session user feedback. Each card must
|
|
489
502
|
include a real story/scene or observed pattern, target reader, common belief,
|
|
490
503
|
contrarian truth, tension, reader value, proof available, proof missing, and a
|
|
491
|
-
score.
|
|
504
|
+
score. Each card must also evaluate which source template or no-template path
|
|
505
|
+
fits, which positioning sequence to test, and how the hook promise will be
|
|
506
|
+
repaid in the body.
|
|
492
507
|
|
|
493
508
|
Select the strongest premise before hook generation. The selected premise must
|
|
494
509
|
pass:
|
|
@@ -500,56 +515,76 @@ pass:
|
|
|
500
515
|
- `credible_speaker`
|
|
501
516
|
- `proof_safety`
|
|
502
517
|
- `market_heat`
|
|
518
|
+
- `template_fit`
|
|
519
|
+
- `hook_to_body_repayment`
|
|
503
520
|
|
|
504
521
|
If the idea has market heat but no real scene, ask for the missing scene unless
|
|
505
522
|
the user explicitly requested an immediate draft. For immediate draft mode, use
|
|
506
523
|
only source-backed observed patterns and save the draft as `needs_revision`
|
|
507
524
|
unless the premise still has concrete reader value.
|
|
508
525
|
|
|
509
|
-
## Step
|
|
526
|
+
## Step 1.9: Pre-Draft Structure Brief
|
|
527
|
+
|
|
528
|
+
Before generating final draft prose, create and show a compact `Pre-Draft
|
|
529
|
+
Structure Brief`. In other words, show a compact Pre-Draft Structure Brief
|
|
530
|
+
before the final draft body. This is the checkpoint that prevents the agent from
|
|
531
|
+
jumping from a good hook into a messy body.
|
|
510
532
|
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
533
|
+
The brief must be concise, mobile-scanable, and concrete enough for the user to
|
|
534
|
+
approve or correct. Do not hide it inside the validation receipt after the
|
|
535
|
+
draft. Show it before writing the draft body unless the user explicitly says to
|
|
536
|
+
skip outline/structure and write immediately. Even when the user skips the
|
|
537
|
+
visible checkpoint, still include the brief in the validation receipt.
|
|
514
538
|
|
|
515
|
-
|
|
539
|
+
The `Pre-Draft Structure Brief` must include:
|
|
516
540
|
|
|
517
|
-
|
|
518
|
-
-
|
|
519
|
-
|
|
520
|
-
-
|
|
541
|
+
```text
|
|
542
|
+
Pre-Draft Structure Brief
|
|
543
|
+
- hook:
|
|
544
|
+
- thesis:
|
|
545
|
+
- reader being taught:
|
|
546
|
+
- why this reader cares now:
|
|
547
|
+
- core equation or mechanism:
|
|
548
|
+
- key definitions:
|
|
549
|
+
- proof claims:
|
|
550
|
+
- proof source / risk:
|
|
551
|
+
- source template or no-template rationale:
|
|
552
|
+
- mobile scan path:
|
|
553
|
+
- section outline:
|
|
554
|
+
- body promise after see more:
|
|
555
|
+
- concrete examples to include:
|
|
556
|
+
- abstractions to remove:
|
|
557
|
+
- draft risks:
|
|
558
|
+
```
|
|
521
559
|
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
560
|
+
Rules:
|
|
561
|
+
|
|
562
|
+
- The hook must already have a rendered mobile and desktop preview record.
|
|
563
|
+
- The thesis must be one sentence the post can defend.
|
|
564
|
+
- The reader must be specific enough to guide what gets cut.
|
|
565
|
+
- Key definitions must name concrete examples when the post teaches an
|
|
566
|
+
operating concept. For example, define `lead source` as how the list was
|
|
567
|
+
built, not as a persona label.
|
|
568
|
+
- `mobile scan path` must say what a reader understands if they read only the
|
|
569
|
+
hook, separators, section labels, numbers, and final line.
|
|
570
|
+
- `abstractions to remove` must list abstract phrases and the concrete words
|
|
571
|
+
that will replace them.
|
|
572
|
+
- If the user corrects the brief, update the brief first, then draft. Do not
|
|
573
|
+
patch the final prose while leaving the brief stale.
|
|
574
|
+
|
|
575
|
+
## Step 2: Hook Candidates
|
|
576
|
+
|
|
577
|
+
Generate at least 12 hook candidates from the selected premise unless the user
|
|
578
|
+
requested a smaller set. Do not generate hooks directly from the raw idea before
|
|
579
|
+
the premise is selected.
|
|
527
580
|
|
|
528
581
|
Each hook must include:
|
|
529
582
|
|
|
530
583
|
- selected premise
|
|
531
|
-
- angle territory
|
|
532
584
|
- premise tension opened
|
|
533
585
|
- reader value implied
|
|
534
586
|
- source hook pattern
|
|
535
|
-
- source shape kept
|
|
536
|
-
- source words not copied
|
|
537
587
|
- why it fits this idea
|
|
538
|
-
- `renderedPreview` using `references/linkedin-preview-rendering.md`
|
|
539
|
-
- `mobileRenderedPreviewBlock`
|
|
540
|
-
- `desktopRenderedPreviewBlock`
|
|
541
|
-
- `mobileRenderedLines`
|
|
542
|
-
- `desktopRenderedLines`
|
|
543
|
-
- `firstScreenPromise`
|
|
544
|
-
- `intentionalOpenLoop`
|
|
545
|
-
- `specificClickQuestionVisible`
|
|
546
|
-
- `seeMoreClickReason`
|
|
547
|
-
- `clickQuestion`
|
|
548
|
-
- `payoffAfterFold`
|
|
549
|
-
- `bodyProofObligation`
|
|
550
|
-
- `corePainProofOrCuriosityVisibleMobile`
|
|
551
|
-
- `corePointVisibleMobile`
|
|
552
|
-
- `pointAfterMobileClamp`
|
|
553
588
|
- `charCount`
|
|
554
589
|
- `charCountIncludingNewlines`
|
|
555
590
|
- `firstLineChars`
|
|
@@ -566,50 +601,26 @@ Each hook must include:
|
|
|
566
601
|
- `rewriteIfTruncated`
|
|
567
602
|
- proof/story dependency
|
|
568
603
|
- AI-tell risk
|
|
569
|
-
- why it should win
|
|
570
|
-
- why it should lose
|
|
571
604
|
- score
|
|
572
605
|
|
|
573
606
|
Do not copy source wording. Copy only the structure.
|
|
574
607
|
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
-
|
|
581
|
-
-
|
|
582
|
-
-
|
|
583
|
-
- line height: `21px`
|
|
584
|
-
- white space: `pre-wrap`
|
|
585
|
-
- overflow wrap: `break-word`
|
|
586
|
-
- review clamp: first 3 rendered text lines
|
|
587
|
-
|
|
588
|
-
Use the rendered gates from `references/linkedin-preview-rendering.md`:
|
|
589
|
-
|
|
590
|
-
- `pass`: the mobile rendered preview shows the pain, proof, or curiosity by
|
|
591
|
-
the end of the first 3 rendered lines, and either the core point is
|
|
592
|
-
understandable without opening "see more" or an intentional open loop creates
|
|
593
|
-
a specific click question with an immediate planned payoff.
|
|
594
|
-
- `warn`: the mobile rendered preview creates useful curiosity but the core
|
|
595
|
-
point or click question is slightly softened by wrapping, blank-line rhythm,
|
|
596
|
-
or one missing context word. A compact fallback is required.
|
|
597
|
-
- `fail`: the hook's real point appears after the first 3 mobile rendered
|
|
598
|
-
lines without an intentional open-loop plan, the visible open loop is vague,
|
|
599
|
-
the first rendered line is generic setup, blank lines consume the preview
|
|
600
|
-
before the reader sees the point, or desktop fit is the only reason it looks
|
|
601
|
-
good.
|
|
608
|
+
Use this conservative mobile-first LinkedIn preview gate. LinkedIn does not
|
|
609
|
+
publish exact "see more" cutoff rules, and rendering varies by device, app
|
|
610
|
+
version, font, media, and line break. These are v1 safety budgets, not claims
|
|
611
|
+
about an official LinkedIn limit:
|
|
612
|
+
|
|
613
|
+
- `pass`: hook is <= 110 chars including newlines, every nonblank line is <= 45 chars, and the hook's core point lands before likely truncation.
|
|
614
|
+
- `warn`: hook is 111-140 chars including newlines, any nonblank line is 46-55 chars, or blank lines create visual-line risk. Blank lines are allowed, but they count as physical lines.
|
|
615
|
+
- `fail`: hook is > 140 chars including newlines, any nonblank line is > 55 chars, or the hook's point depends on text after likely truncation.
|
|
602
616
|
|
|
603
617
|
Desktop preview usually has more room. Still record `desktopPreviewFit`, but
|
|
604
618
|
never let desktop fit compensate for a mobile `fail`.
|
|
605
619
|
|
|
606
|
-
If a hook's point depends on text after the
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
selected hook may carry a `warn` only when the warning is explicit and the
|
|
611
|
-
validation receipt includes a compact fallback. A hook with no rendered mobile
|
|
612
|
-
and desktop preview record cannot be selected.
|
|
620
|
+
If a hook's point depends on text after the likely preview, rewrite it before
|
|
621
|
+
selecting it. A selected hook may carry a `warn` only when the warning is about
|
|
622
|
+
intentional blank-line rhythm or a slight line-length overage; include a compact
|
|
623
|
+
fallback in the validation receipt.
|
|
613
624
|
|
|
614
625
|
## Step 3: Draft
|
|
615
626
|
|
|
@@ -618,7 +629,12 @@ Draft from:
|
|
|
618
629
|
- exact raw idea
|
|
619
630
|
- selected premise card
|
|
620
631
|
- selected hook
|
|
632
|
+
- approved or latest `Pre-Draft Structure Brief`
|
|
621
633
|
- hook research artifact
|
|
634
|
+
- selected source template or no-template rationale
|
|
635
|
+
- viral-post outline
|
|
636
|
+
- post positioning breakdown template
|
|
637
|
+
- body expression candidates and combined body plan
|
|
622
638
|
- user's core memory
|
|
623
639
|
- story/proof files
|
|
624
640
|
- post writing rules
|
|
@@ -639,15 +655,20 @@ Every saved draft needs a validation receipt with:
|
|
|
639
655
|
- selected premise card
|
|
640
656
|
- candidate hooks considered
|
|
641
657
|
- selected hook and why
|
|
642
|
-
-
|
|
643
|
-
-
|
|
644
|
-
-
|
|
658
|
+
- pre-draft structure brief
|
|
659
|
+
- selected source template and no-copy adaptation rationale
|
|
660
|
+
- post positioning breakdown
|
|
661
|
+
- viral-post outline
|
|
662
|
+
- hook-to-body promise map
|
|
663
|
+
- body expression candidates and combined body plan
|
|
645
664
|
- proof claims used and source
|
|
646
665
|
- story/proof files consulted
|
|
647
666
|
- gold standards consulted
|
|
648
667
|
- LinkedIn preview audit
|
|
649
|
-
- rendered mobile and desktop hook preview blocks
|
|
650
668
|
- premise/value audit findings
|
|
669
|
+
- mobile scanability audit findings
|
|
670
|
+
- template-adaptation audit findings
|
|
671
|
+
- abstraction-to-concrete rewrite audit findings
|
|
651
672
|
- simplifier/concrete-language audit findings
|
|
652
673
|
- voice audit findings
|
|
653
674
|
- anti-AI audit findings
|
|
@@ -742,8 +763,14 @@ iteration:
|
|
|
742
763
|
score: <compact score object>
|
|
743
764
|
selected_premise: <premise or none>
|
|
744
765
|
selected_hook: <hook>
|
|
766
|
+
pre_draft_structure_brief: <compact structure summary or none>
|
|
767
|
+
selected_source_template: <template name/source or none>
|
|
745
768
|
validation_summary:
|
|
746
769
|
premise_value: pass | needs_user_input | needs_revision
|
|
770
|
+
mobile_scanability: pass | needs_revision
|
|
771
|
+
template_adaptation: pass | needs_revision | blocked
|
|
772
|
+
abstraction_to_concrete: pass | needs_revision
|
|
773
|
+
hook_to_body_repayment: pass | needs_revision
|
|
747
774
|
proof: pass | needs_user_input | blocked
|
|
748
775
|
voice: pass | needs_revision
|
|
749
776
|
anti_ai: pass | needs_revision
|
|
@@ -119,8 +119,6 @@ Show compact candidate cards. Include:
|
|
|
119
119
|
- why it might belong in the pack
|
|
120
120
|
- hook mechanism
|
|
121
121
|
- hook preview budget status and measurement basis
|
|
122
|
-
- rendered mobile preview block and verdict
|
|
123
|
-
- rendered desktop preview block and verdict
|
|
124
122
|
- content/body mechanism
|
|
125
123
|
- rhythm notes
|
|
126
124
|
- sentence-structure notes
|
|
@@ -196,15 +194,6 @@ Tags:
|
|
|
196
194
|
- longest nonblank line chars:
|
|
197
195
|
- blank-line visual risk:
|
|
198
196
|
- source text basis:
|
|
199
|
-
- render basis:
|
|
200
|
-
- css contract version:
|
|
201
|
-
- mobile rendered preview block:
|
|
202
|
-
- desktop rendered preview block:
|
|
203
|
-
- mobile rendered lines:
|
|
204
|
-
- desktop rendered lines:
|
|
205
|
-
- core pain/proof/curiosity visible on mobile:
|
|
206
|
-
- core point visible on mobile:
|
|
207
|
-
- point after mobile clamp:
|
|
208
197
|
- preview budget status:
|
|
209
198
|
- mobile preview fit:
|
|
210
199
|
- desktop preview fit:
|