@sellable/mcp 0.1.271 → 0.1.272
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/package.json
CHANGED
|
@@ -336,6 +336,13 @@ write from the user's idea and context. The worker may write in a voice-inspired
|
|
|
336
336
|
style for the private variant, but it must not claim the creator authored it,
|
|
337
337
|
copy source wording, copy personal proof, or invent facts about the user.
|
|
338
338
|
|
|
339
|
+
Voice variants must model **writing mechanics**, not just a broad persona.
|
|
340
|
+
Before drafting, each worker must infer what "in this creator's voice" concretely
|
|
341
|
+
means for this idea: target word-count band, line and paragraph rhythm, hook
|
|
342
|
+
posture, recurring phrase families, vocabulary level, proof pattern, formatting
|
|
343
|
+
habits, close style, and normal amount of directness or humor. If every variant
|
|
344
|
+
comes back as the same long LinkedIn essay with different labels, the lab failed.
|
|
345
|
+
|
|
339
346
|
The final orchestrator does not publish a collage of creator personas. It takes
|
|
340
347
|
the best hooks, pressure, structure, rhythm, and proof moves from the role-played
|
|
341
348
|
variants, then synthesizes the most compelling post for Christian/Sellable.
|
|
@@ -388,22 +395,26 @@ Default workflow:
|
|
|
388
395
|
repeated patterns, engagement quality, and follower-adjusted signal when
|
|
389
396
|
follower counts are available. Do not return the full scoring table.
|
|
390
397
|
6. Each worker must build a `voice_model` before drafting:
|
|
391
|
-
-
|
|
398
|
+
- target word-count band and normal variance for similar posts
|
|
392
399
|
- average paragraph/line length and spacing rhythm
|
|
393
400
|
- hook posture and opening moves
|
|
394
|
-
- common vocabulary, recurring
|
|
401
|
+
- common vocabulary, recurring phrase families, and taboo phrases
|
|
395
402
|
- proof style: story, numbers, teardown, checklist, confession, challenge
|
|
396
403
|
- formatting: bullets, numbering, questions, equations, parentheticals
|
|
397
404
|
- close style: command, reflection, CTA, punchline, open loop
|
|
398
405
|
- factual boundaries: what must come from Christian/Sellable context
|
|
399
406
|
7. Each worker writes the complete post that this creator would likely write
|
|
400
407
|
from the user's idea and context. Match the inferred length/rhythm/style; do
|
|
401
|
-
not compress to a generic short draft
|
|
408
|
+
not compress to a generic short draft, and do not stretch a short-style
|
|
409
|
+
creator into a generic long post.
|
|
402
410
|
8. Each worker returns a compact voice variant:
|
|
403
411
|
- person and profile URL
|
|
404
412
|
- worker status
|
|
405
413
|
- recent post count sampled
|
|
406
414
|
- voice model, max 8 bullets
|
|
415
|
+
- mechanics receipt: target length, actual length, line rhythm,
|
|
416
|
+
vocabulary markers used, formatting markers used, close style, and
|
|
417
|
+
`mechanics_match: pass | weak | fail`
|
|
407
418
|
- complete post variant in that creator's inferred voice and representative
|
|
408
419
|
length
|
|
409
420
|
- hook options, max 3
|
|
@@ -427,6 +438,10 @@ Hard rules:
|
|
|
427
438
|
by the creator.
|
|
428
439
|
- Do not copy outside wording, proof, jokes, personal stories, or status.
|
|
429
440
|
- Do not invent user proof just because it would fit the creator's style.
|
|
441
|
+
- Do not treat "voice" as a vibe label. Voice means concrete mechanics: length,
|
|
442
|
+
line rhythm, vocabulary, hook posture, proof style, formatting, and close.
|
|
443
|
+
- Do not publish or save a `ready` draft when voice variants are long generic
|
|
444
|
+
essays with swapped creator names instead of person-specific mechanics.
|
|
430
445
|
- Do not let a large-audience creator win only because of reach. Use engagement
|
|
431
446
|
per 1k followers when follower counts are available, and mark confidence when
|
|
432
447
|
follower data is missing.
|
|
@@ -1118,8 +1133,11 @@ Each worker must return:
|
|
|
1118
1133
|
- recent post count sampled
|
|
1119
1134
|
- follower count when available
|
|
1120
1135
|
- normalization confidence
|
|
1121
|
-
- voice model, max 8 bullets, including
|
|
1122
|
-
|
|
1136
|
+
- voice model, max 8 bullets, including target length, rhythm, vocabulary,
|
|
1137
|
+
formatting, proof style, and close style
|
|
1138
|
+
- mechanics receipt, including target word-count band, actual word count,
|
|
1139
|
+
paragraph/line rhythm, vocabulary markers, formatting markers, close style,
|
|
1140
|
+
and `mechanics_match: pass | weak | fail`
|
|
1123
1141
|
- complete role-played post variant in the creator's inferred voice and
|
|
1124
1142
|
representative length
|
|
1125
1143
|
- hook options, max 3
|
|
@@ -1138,6 +1156,7 @@ Variant labels must be:
|
|
|
1138
1156
|
```text
|
|
1139
1157
|
voice_variant_from: <person>
|
|
1140
1158
|
role_play_basis: public posts sampled + configured Reason lane
|
|
1159
|
+
mechanics_receipt: target length | actual length | rhythm | vocabulary markers | formatting markers | close | mechanics_match
|
|
1141
1160
|
post_variant: <complete variant>
|
|
1142
1161
|
steal_for_final: hook | structure | proof order | rhythm | close move
|
|
1143
1162
|
drop_for_final: copied wording | borrowed personal proof | fake user fact
|
|
@@ -1156,6 +1175,7 @@ Before drafting, record:
|
|
|
1156
1175
|
- `actualVoiceVariantCount`
|
|
1157
1176
|
- `missingVoiceVariants`
|
|
1158
1177
|
- `weakVoiceVariants`
|
|
1178
|
+
- `mechanicsReceipts`
|
|
1159
1179
|
- `selectedSynthesisIngredients`
|
|
1160
1180
|
- `voiceVariantsGeneratedBeforeFinalProse: yes | no`
|
|
1161
1181
|
- `workerExecutionMode: background_agents | sequential_fallback`
|
|
@@ -1175,6 +1195,7 @@ actualVoiceVariantCount: <number>
|
|
|
1175
1195
|
|
|
1176
1196
|
1. <person>
|
|
1177
1197
|
- worker_status:
|
|
1198
|
+
- mechanics_match:
|
|
1178
1199
|
- draft_review:
|
|
1179
1200
|
- strongest_move:
|
|
1180
1201
|
- weakness_or_drop:
|
|
@@ -1238,7 +1259,8 @@ Every saved draft needs a validation receipt with:
|
|
|
1238
1259
|
- pre-draft narrative outline
|
|
1239
1260
|
- selected source template and no-copy adaptation rationale
|
|
1240
1261
|
- thought leader voice variant lab, including skipped/opt-out reason when
|
|
1241
|
-
omitted
|
|
1262
|
+
omitted, expected-vs-actual variant counts for the active configured list,
|
|
1263
|
+
and per-person mechanics receipts
|
|
1242
1264
|
- post positioning breakdown
|
|
1243
1265
|
- viral-post outline
|
|
1244
1266
|
- hook-to-body promise map
|
|
@@ -718,6 +718,13 @@ missing variants, weak variants, and selected synthesis ingredients. Ready
|
|
|
718
718
|
drafts require one voice variant per active configured person unless the user
|
|
719
719
|
explicitly opted out or supplied a smaller named subset.
|
|
720
720
|
|
|
721
|
+
Voice variants must model writing mechanics, not just a broad creator lens.
|
|
722
|
+
Each worker has to define what "in this person's voice" means for this idea:
|
|
723
|
+
target word-count band, line and paragraph rhythm, hook posture, recurring
|
|
724
|
+
phrase families, vocabulary level, proof pattern, formatting habits, close
|
|
725
|
+
style, and normal directness or humor. If multiple creator variants all become
|
|
726
|
+
the same long LinkedIn essay with different labels, mark the lab weak or failed.
|
|
727
|
+
|
|
721
728
|
Use one bounded background worker per person when the host supports background
|
|
722
729
|
agents. This is required for Codex/Claude hosts that expose background agents or
|
|
723
730
|
Task workers. If the host does not expose a worker mechanism, process the list
|
|
@@ -755,10 +762,10 @@ Worker steps:
|
|
|
755
762
|
- adaptation fit for Christian/Sellable voice
|
|
756
763
|
- lead-magnet, giveaway, and status-only penalties
|
|
757
764
|
5. Build a `voice_model` before drafting. It must infer:
|
|
758
|
-
-
|
|
765
|
+
- target word-count band and normal variance for similar ideas
|
|
759
766
|
- paragraph and line rhythm
|
|
760
767
|
- hook posture and opening moves
|
|
761
|
-
- vocabulary and recurring
|
|
768
|
+
- vocabulary and recurring phrase families
|
|
762
769
|
- formatting habits: bullets, numbering, equations, parentheticals, spacing
|
|
763
770
|
- proof style: story, metric, teardown, confession, field guide, challenge
|
|
764
771
|
- close style: command, reflection, CTA, punchline, or open loop
|
|
@@ -768,7 +775,8 @@ Worker steps:
|
|
|
768
775
|
hook tension, pacing, section shape, directness, humor level, proof style,
|
|
769
776
|
formatting, and editorial instincts.
|
|
770
777
|
7. Write the complete post that this creator would likely write from the user's
|
|
771
|
-
selected premise and context. Do not compress it into a short generic draft
|
|
778
|
+
selected premise and context. Do not compress it into a short generic draft
|
|
779
|
+
or stretch a short-style creator into a generic long post.
|
|
772
780
|
8. Identify what the final synthesis should steal and what it must drop.
|
|
773
781
|
9. Keep factual claims grounded in the user's context. Do not invent user proof.
|
|
774
782
|
|
|
@@ -796,7 +804,15 @@ worker_status: pass | weak | retry_needed | blocked
|
|
|
796
804
|
recent_posts_sampled:
|
|
797
805
|
follower_count: <number | unavailable>
|
|
798
806
|
normalization_confidence: high | medium | low
|
|
799
|
-
voice_model: [max 8 bullets covering length, rhythm, vocabulary, formatting, proof style, close]
|
|
807
|
+
voice_model: [max 8 bullets covering target length, rhythm, vocabulary, formatting, proof style, close]
|
|
808
|
+
mechanics_receipt:
|
|
809
|
+
- target_word_count_band:
|
|
810
|
+
- actual_word_count:
|
|
811
|
+
- paragraph_line_rhythm:
|
|
812
|
+
- vocabulary_markers:
|
|
813
|
+
- formatting_markers:
|
|
814
|
+
- close_style:
|
|
815
|
+
- mechanics_match: pass | weak | fail
|
|
800
816
|
hook_options: [max 3]
|
|
801
817
|
post_variant: <complete post in the creator's inferred voice and representative length>
|
|
802
818
|
steal_for_final: [max 5 bullets]
|
|
@@ -356,8 +356,11 @@ Record:
|
|
|
356
356
|
- `workerExecutionMode`: `background_agents` | `sequential_fallback`
|
|
357
357
|
- `backgroundWorkerIds`: worker IDs or labels when available
|
|
358
358
|
- `thoughtLeaderList`: names and profile URLs or handles
|
|
359
|
-
- `voiceModels`: inferred length, rhythm, vocabulary, formatting, proof
|
|
360
|
-
and close style per person
|
|
359
|
+
- `voiceModels`: inferred target length, rhythm, vocabulary, formatting, proof
|
|
360
|
+
style, and close style per person
|
|
361
|
+
- `mechanicsReceipts`: target word-count band, actual word count, line rhythm,
|
|
362
|
+
vocabulary markers, formatting markers, close style, and
|
|
363
|
+
`mechanics_match: pass | weak | fail` per person
|
|
361
364
|
- `voiceVariants`: one representative-length role-played post per person, or
|
|
362
365
|
`not_available` with reason
|
|
363
366
|
- `normalizationConfidence`: high | medium | low
|
|
@@ -380,6 +383,12 @@ when variants are replaced by a generic influencer summary, or when voice
|
|
|
380
383
|
variants were generated after final prose instead of before final prose. Return
|
|
381
384
|
`retry-needed` when a tool/package/search failure prevents fetching configured
|
|
382
385
|
profiles or posts.
|
|
386
|
+
|
|
387
|
+
Save as `needs_revision` when the variants do not demonstrate person-specific
|
|
388
|
+
writing mechanics, when `mechanicsReceipts` are missing, or when multiple
|
|
389
|
+
variants are effectively the same long LinkedIn essay with different creator
|
|
390
|
+
labels.
|
|
391
|
+
|
|
383
392
|
Only mark `thought_leader_adaptation: not_used` when the user explicitly opted
|
|
384
393
|
out before drafting.
|
|
385
394
|
|