@sellable/mcp 0.1.254 → 0.1.256
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/api.d.ts +3 -0
- package/dist/api.js +24 -13
- package/dist/index-dev.js +0 -0
- package/dist/index.js +0 -0
- package/dist/server.js +13 -4
- package/dist/tools/campaigns.d.ts +41 -0
- package/dist/tools/campaigns.js +22 -3
- package/dist/tools/registry.d.ts +483 -412
- package/dist/tools/tables.d.ts +53 -2
- package/dist/tools/tables.js +78 -0
- package/package.json +1 -1
- package/skills/create-post/SKILL.md +52 -17
- package/skills/create-post/references/gold-standard-post-pack.md +11 -0
- package/skills/create-post/references/hook-research-playbook.md +57 -14
- package/skills/create-post/references/linkedin-preview-rendering.md +163 -0
- package/skills/create-post/references/post-file-contract.md +7 -0
- package/skills/create-post/references/post-validation.md +68 -15
- package/skills/research/config.json +9 -0
|
@@ -78,6 +78,12 @@ Each candidate should include:
|
|
|
78
78
|
- reader value implied
|
|
79
79
|
- source pattern
|
|
80
80
|
- score
|
|
81
|
+
- `renderedPreview` using `references/linkedin-preview-rendering.md`
|
|
82
|
+
- literal mobile and desktop rendered preview blocks
|
|
83
|
+
- mobile and desktop rendered line wraps
|
|
84
|
+
- first-screen promise: pain, proof, or curiosity visible by the mobile clamp
|
|
85
|
+
- whether the core point is visible in the mobile rendered preview
|
|
86
|
+
- whether the point lands after the mobile clamp
|
|
81
87
|
- char count including newlines and first-line / first-two-line preview measurements
|
|
82
88
|
- physical line count, content line count, longest nonblank line, and blank-line risk
|
|
83
89
|
- `previewBudgetStatus`: `pass`, `warn`, or `fail`
|
|
@@ -98,7 +104,7 @@ After the first draft:
|
|
|
98
104
|
6. replace generic language with concrete words only when supported
|
|
99
105
|
7. preserve the user's actual story and point
|
|
100
106
|
8. remove AI tells
|
|
101
|
-
9. re-
|
|
107
|
+
9. re-render the selected hook on mobile and desktop after edits
|
|
102
108
|
|
|
103
109
|
## Premise Value Audit
|
|
104
110
|
|
|
@@ -149,22 +155,65 @@ proof from another creator, save as `needs_revision`.
|
|
|
149
155
|
|
|
150
156
|
## LinkedIn Preview Audit
|
|
151
157
|
|
|
152
|
-
Audit the selected hook and top candidates against
|
|
153
|
-
preview
|
|
154
|
-
rendering varies by device, app version, font,
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
158
|
+
Audit the selected hook and top candidates against
|
|
159
|
+
`references/linkedin-preview-rendering.md`. LinkedIn does not publish exact
|
|
160
|
+
"see more" cutoff rules, and rendering varies by device, app version, font,
|
|
161
|
+
media, and line break. This audit is a mobile-first rendered-preview safety
|
|
162
|
+
gate, not a claim about an official LinkedIn limit.
|
|
163
|
+
|
|
164
|
+
Character budgets are secondary diagnostics. They cannot be the only evidence
|
|
165
|
+
that a hook works. Every selected hook must include literal rendered mobile and
|
|
166
|
+
desktop preview blocks.
|
|
167
|
+
|
|
168
|
+
Default deterministic renderer when no authenticated LinkedIn screenshot is
|
|
169
|
+
available:
|
|
170
|
+
|
|
171
|
+
```text
|
|
172
|
+
cssContractVersion: linkedin-preview-rendering/v1
|
|
173
|
+
font size: 14px
|
|
174
|
+
line height: 21px
|
|
175
|
+
white space: pre-wrap
|
|
176
|
+
overflow wrap: break-word
|
|
177
|
+
mobile text width: 308px
|
|
178
|
+
desktop text width: 582px
|
|
179
|
+
review clamp: first 3 rendered text lines
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
Use rendered gates:
|
|
183
|
+
|
|
184
|
+
- `pass`: the mobile rendered preview shows the pain, proof, or curiosity by
|
|
185
|
+
the end of the first 3 rendered lines, and the core point is understandable
|
|
186
|
+
without opening "see more".
|
|
187
|
+
- `warn`: the mobile rendered preview creates useful curiosity but the core
|
|
188
|
+
point is slightly softened by wrapping, blank-line rhythm, or one missing
|
|
189
|
+
context word. A compact fallback is required.
|
|
190
|
+
- `fail`: the hook's real point appears after the first 3 mobile rendered
|
|
191
|
+
lines, the first rendered line is generic setup, blank lines consume the
|
|
192
|
+
preview before the reader sees the point, or desktop fit is the only reason it
|
|
193
|
+
looks good.
|
|
162
194
|
|
|
163
195
|
Desktop preview usually has more room. Still record desktop fit, but never let
|
|
164
196
|
desktop fit compensate for a mobile `fail`.
|
|
165
197
|
|
|
166
198
|
Record:
|
|
167
199
|
|
|
200
|
+
- `renderedPreview`
|
|
201
|
+
- `renderBasis`: `linkedin_css_contract`, `authenticated_linkedin_screenshot`,
|
|
202
|
+
or `manual_user_source`
|
|
203
|
+
- `cssContractVersion`
|
|
204
|
+
- `mobileRenderedPreviewBlock`
|
|
205
|
+
- `desktopRenderedPreviewBlock`
|
|
206
|
+
- `mobileRenderedLines`
|
|
207
|
+
- `desktopRenderedLines`
|
|
208
|
+
- `mobileTextWidthPx`
|
|
209
|
+
- `desktopTextWidthPx`
|
|
210
|
+
- `mobileRenderedLineCount`
|
|
211
|
+
- `desktopRenderedLineCount`
|
|
212
|
+
- `corePainProofOrCuriosityVisibleMobile`
|
|
213
|
+
- `corePainProofOrCuriosityVisibleDesktop`
|
|
214
|
+
- `corePointVisibleMobile`
|
|
215
|
+
- `corePointVisibleDesktop`
|
|
216
|
+
- `pointAfterMobileClamp`
|
|
168
217
|
- `charCount`
|
|
169
218
|
- `charCountIncludingNewlines`
|
|
170
219
|
- `firstLineChars`
|
|
@@ -183,10 +232,14 @@ Record:
|
|
|
183
232
|
- `rewriteIfTruncated`
|
|
184
233
|
- `compactFallback` when `previewBudgetStatus` is `warn`
|
|
185
234
|
|
|
186
|
-
If the hook only works after
|
|
187
|
-
`ready` with `previewBudgetStatus: fail
|
|
188
|
-
`
|
|
189
|
-
|
|
235
|
+
If the hook only works after the rendered mobile clamp, rewrite it. A draft
|
|
236
|
+
cannot be `ready` with `previewBudgetStatus: fail`,
|
|
237
|
+
`mobilePreviewFit: fail`, missing `renderedPreview`,
|
|
238
|
+
`corePainProofOrCuriosityVisibleMobile: false`,
|
|
239
|
+
`corePointVisibleMobile: false`, or `pointAfterMobileClamp: true`. A draft may
|
|
240
|
+
be `ready` with `previewBudgetStatus: warn` only when the warning is explicit,
|
|
241
|
+
usually because the user prefers blank-line rhythm, and the receipt includes a
|
|
242
|
+
compact fallback.
|
|
190
243
|
|
|
191
244
|
## Simplifier / Concrete-Language Audit
|
|
192
245
|
|