newsjack 0.1.5

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.
Files changed (54) hide show
  1. package/.mcp.json +9 -0
  2. package/.newsjack-npm +1 -0
  3. package/COMMIT +1 -0
  4. package/LICENSE +21 -0
  5. package/README.md +133 -0
  6. package/VERSION +1 -0
  7. package/bin/newsjack +74 -0
  8. package/package.json +37 -0
  9. package/skills/.gitkeep +0 -0
  10. package/skills/ETHICS.md +265 -0
  11. package/skills/WHY-NOT-SPAM.md +257 -0
  12. package/skills/angle-generator/SKILL.md +224 -0
  13. package/skills/angle-generator/examples.md +517 -0
  14. package/skills/angle-generator/rubric.md +219 -0
  15. package/skills/coverage-tracker/SKILL.md +124 -0
  16. package/skills/coverage-tracker-setup/SKILL.md +84 -0
  17. package/skills/crisis-holding/SKILL.md +336 -0
  18. package/skills/crisis-holding/examples.md +302 -0
  19. package/skills/crisis-holding/rubric.md +218 -0
  20. package/skills/fact-check/SKILL.md +212 -0
  21. package/skills/fact-check/examples.md +195 -0
  22. package/skills/fact-check/rubric.md +228 -0
  23. package/skills/journalist-fit-check/SKILL.md +199 -0
  24. package/skills/journalist-fit-check/examples.md +271 -0
  25. package/skills/journalist-fit-check/rubric.md +251 -0
  26. package/skills/meanest-editor/SKILL.md +112 -0
  27. package/skills/meanest-editor/examples.md +331 -0
  28. package/skills/meanest-editor/rubric.md +275 -0
  29. package/skills/media-list-manager/SKILL.md +204 -0
  30. package/skills/media-list-manager/examples.md +88 -0
  31. package/skills/media-list-manager/rubric.md +67 -0
  32. package/skills/news-search/SKILL.md +56 -0
  33. package/skills/newsjack-detector/SKILL.md +286 -0
  34. package/skills/newsjack-detector/examples.md +118 -0
  35. package/skills/newsjack-detector/references/engine-cli.md +29 -0
  36. package/skills/newsjack-detector/references/harness-routing.md +38 -0
  37. package/skills/newsjack-detector/references/rss-feeds.json +106 -0
  38. package/skills/newsjack-detector/rubric.md +160 -0
  39. package/skills/newsjack-monitor-setup/SKILL.md +202 -0
  40. package/skills/newsjack-monitor-setup/examples.md +106 -0
  41. package/skills/newsjack-triage/SKILL.md +98 -0
  42. package/skills/newsworthiness-check/SKILL.md +179 -0
  43. package/skills/newsworthiness-check/examples.md +232 -0
  44. package/skills/newsworthiness-check/rubric.md +218 -0
  45. package/skills/pr-strategist/SKILL.md +304 -0
  46. package/skills/reactive-comment/SKILL.md +297 -0
  47. package/skills/reactive-comment/examples.md +284 -0
  48. package/skills/reactive-comment/rubric.md +280 -0
  49. package/skills/relevance-coarse-filter/SKILL.md +61 -0
  50. package/skills/story-origin-check/SKILL.md +160 -0
  51. package/skills/voice-extractor/SKILL.md +330 -0
  52. package/skills/voice-extractor/examples.md +227 -0
  53. package/skills/voice-extractor/rubric.md +251 -0
  54. package/skills-manifest.json +254 -0
@@ -0,0 +1,517 @@
1
+ # Angle Generator - Worked Examples
2
+
3
+ These examples show the pattern: realistic input, strict output, no padded angles. The examples are abbreviated only where repetition would teach nothing; keep the JSON shape intact when using the skill.
4
+
5
+ ---
6
+
7
+ ## Example 1: Series A Funding With Real Substance
8
+
9
+ ### Before
10
+
11
+ ```json
12
+ {
13
+ "update": {
14
+ "headline": "ForgeLedger raises $12M Series A",
15
+ "facts": [
16
+ "Round led by Foundry Climate; Sequoia participated",
17
+ "Company sells carbon-accounting software to mid-market manufacturers",
18
+ "127 paying customers, $2.4M ARR",
19
+ "Founders are ex-Stripe (CEO) and ex-Watershed (CTO)",
20
+ "Plans to hire 20 engineers in New York and Berlin"
21
+ ],
22
+ "links": [],
23
+ "embargo": "none"
24
+ },
25
+ "company": {
26
+ "name": "ForgeLedger",
27
+ "one_liner": "Carbon accounting for mid-market manufacturers",
28
+ "category": "climate-tech",
29
+ "stage": "series-a",
30
+ "geo": "USA + Germany",
31
+ "prior_coverage": []
32
+ },
33
+ "profile": {
34
+ "target_beats": ["climate-tech", "manufacturing", "venture capital"],
35
+ "ban_list_outlets": [],
36
+ "voice_notes": null
37
+ },
38
+ "context": {
39
+ "current_time": "2026-05-18T10:00:00Z",
40
+ "signal_from_newsjack_detector": null,
41
+ "moments_from_story_calendar": null
42
+ },
43
+ "constraints": {
44
+ "min_angles": 3,
45
+ "max_angles": 7,
46
+ "require_data_angle": false,
47
+ "require_contrarian": false
48
+ }
49
+ }
50
+ ```
51
+
52
+ ### After
53
+
54
+ ```json
55
+ {
56
+ "angles": [
57
+ {
58
+ "id": "a1-midmarket-manufacturing-gap",
59
+ "headline_frame": "ForgeLedger raises $12M for carbon accounting in mid-market manufacturing",
60
+ "story_type": "category-creation",
61
+ "journalist_shape": {
62
+ "beat_description": "Climate-tech reporter at a B2B trade or newsletter outlet covering industrial decarbonization for mid-market manufacturers.",
63
+ "outlet_archetype": "Climate trade, manufacturing trade, or technical climate newsletter.",
64
+ "evidence_they_care": "The angle is not the round amount; it is the buyer segment. A reporter on industrial decarbonization can test whether mid-market manufacturers have different reporting pain than enterprise ESG teams.",
65
+ "do_not_target": "Consumer tech press, general startup blogs, broad enterprise ESG desks."
66
+ },
67
+ "why_now": "The Series A is live now; the broader mid-market compliance story has a longer window if ForgeLedger can prove customer demand.",
68
+ "decay": {
69
+ "stage": "week",
70
+ "rationale": "Funding news is a 24hr event, but the segment thesis can support a week-long trend angle."
71
+ },
72
+ "distinctness_check": {
73
+ "compared_to_other_angles_in_this_set": "This angle makes the mid-market manufacturing segment the story. The other kept angles focus on founder lineage and the investor thesis.",
74
+ "compared_to_prior_coverage": null
75
+ },
76
+ "required_proof": [
77
+ "One named mid-market manufacturer willing to describe the compliance pain",
78
+ "Evidence that existing ESG tools overserve enterprise buyers",
79
+ "Source for any regulatory-deadline claim before using it in a pitch"
80
+ ],
81
+ "anti_slop_pass": true,
82
+ "facts_used": [
83
+ "Round led by Foundry Climate; Sequoia participated",
84
+ "Company sells carbon-accounting software to mid-market manufacturers",
85
+ "127 paying customers, $2.4M ARR"
86
+ ]
87
+ },
88
+ {
89
+ "id": "a2-founder-lineage",
90
+ "headline_frame": "Stripe and Watershed alumni are building climate software for factory floors",
91
+ "story_type": "founder-profile",
92
+ "journalist_shape": {
93
+ "beat_description": "Founder-focused reporter at a VC newsletter or tech business outlet tracking operator-to-founder pipelines.",
94
+ "outlet_archetype": "VC-adjacent newsletter or founder-profile desk.",
95
+ "evidence_they_care": "Founder lineage is the entry point: ex-Stripe commercial discipline plus ex-Watershed climate domain credibility applied to manufacturers.",
96
+ "do_not_target": "Manufacturing trade press that does not cover founder backstories."
97
+ },
98
+ "why_now": "The funding round gives the founder-profile angle a reason to run now.",
99
+ "decay": {
100
+ "stage": "24hr",
101
+ "rationale": "Founder-lineage angles decay with the funding announcement unless tied to a broader reported trend."
102
+ },
103
+ "distinctness_check": {
104
+ "compared_to_other_angles_in_this_set": "This angle makes the founders the protagonist, not the customer segment or the investor.",
105
+ "compared_to_prior_coverage": null
106
+ },
107
+ "required_proof": [
108
+ "Confirmed roles and dates at Stripe and Watershed",
109
+ "Founder quote on why mid-market manufacturers were chosen",
110
+ "At least one detail showing what the founders learned at prior companies"
111
+ ],
112
+ "anti_slop_pass": true,
113
+ "facts_used": [
114
+ "Founders are ex-Stripe (CEO) and ex-Watershed (CTO)",
115
+ "Round led by Foundry Climate; Sequoia participated"
116
+ ]
117
+ },
118
+ {
119
+ "id": "a3-foundry-thesis",
120
+ "headline_frame": "Foundry Climate's Series A bet says mid-market carbon accounting is not a back-office chore",
121
+ "story_type": "funding-mechanics",
122
+ "journalist_shape": {
123
+ "beat_description": "VC reporter covering climate-tech fund theses, especially checks that go against the default enterprise-software narrative.",
124
+ "outlet_archetype": "Venture trade, paid tech newsletter, or climate finance desk.",
125
+ "evidence_they_care": "The investor is the news hook. A climate-finance reporter can use the round to examine whether investors see mid-market manufacturing as a distinct software market.",
126
+ "do_not_target": "Local hiring reporters, product-review outlets, broad consumer business desks."
127
+ },
128
+ "why_now": "The round gives Foundry's thesis a timely peg, but the thesis must be stated on record.",
129
+ "decay": {
130
+ "stage": "week",
131
+ "rationale": "Investor-thesis stories can run after the funding day if the partner supplies a real argument."
132
+ },
133
+ "distinctness_check": {
134
+ "compared_to_other_angles_in_this_set": "This angle makes the investor's market bet the story. It is not another version of the company milestone.",
135
+ "compared_to_prior_coverage": null
136
+ },
137
+ "required_proof": [
138
+ "On-record Foundry partner quote explaining the mid-market manufacturing thesis",
139
+ "Comparable recent climate-software rounds or market data supplied by the user",
140
+ "Clarify whether Sequoia participated with capital, board role, or both"
141
+ ],
142
+ "anti_slop_pass": true,
143
+ "facts_used": [
144
+ "Round led by Foundry Climate; Sequoia participated",
145
+ "Company sells carbon-accounting software to mid-market manufacturers",
146
+ "127 paying customers, $2.4M ARR"
147
+ ]
148
+ }
149
+ ],
150
+ "refused_angles": [
151
+ {
152
+ "would_have_been": "ForgeLedger revolutionizes carbon accounting for manufacturers",
153
+ "refusal_reason": "slop"
154
+ },
155
+ {
156
+ "would_have_been": "ForgeLedger proves climate-tech funding is back",
157
+ "refusal_reason": "hallucinated_fact"
158
+ }
159
+ ],
160
+ "uncomfortable_questions": [
161
+ "Are any of the 127 customers willing to be named? Without one, the strongest manufacturing angle becomes much thinner.",
162
+ "Has Foundry actually said the mid-market thesis on record, or are you inferring it from the investment?",
163
+ "How many of the 20 engineering hires are in Berlin versus New York? The regional hiring angle needs a real split."
164
+ ],
165
+ "follow_up_suggestions": {
166
+ "next_skill": "journalist-fit-check",
167
+ "rationale": "The output has three viable journalist shapes. Resolve names only after choosing the shape."
168
+ }
169
+ }
170
+ ```
171
+
172
+ ### Why This Works
173
+
174
+ The output finds three different protagonists: customer segment, founders, and investor thesis. It refuses the slop and the unsupported market-wide claim instead of dressing them up.
175
+
176
+ ---
177
+
178
+ ## Example 2: Weak Product Update That Should Mostly Refuse
179
+
180
+ ### Before
181
+
182
+ ```json
183
+ {
184
+ "update": {
185
+ "headline": "Northstar Workflow launches v2",
186
+ "facts": ["Faster than v1", "New UI"],
187
+ "links": [],
188
+ "embargo": "none"
189
+ },
190
+ "company": {
191
+ "name": "Northstar Workflow",
192
+ "one_liner": "Workflow software for B2B operations teams",
193
+ "category": "B2B SaaS",
194
+ "stage": "seed",
195
+ "geo": "USA",
196
+ "prior_coverage": []
197
+ },
198
+ "profile": {
199
+ "target_beats": ["SaaS", "future of work"],
200
+ "ban_list_outlets": [],
201
+ "voice_notes": null
202
+ },
203
+ "context": {
204
+ "current_time": "2026-05-18T10:00:00Z",
205
+ "signal_from_newsjack_detector": null,
206
+ "moments_from_story_calendar": null
207
+ },
208
+ "constraints": {
209
+ "min_angles": 3,
210
+ "max_angles": 7,
211
+ "require_data_angle": false,
212
+ "require_contrarian": false
213
+ }
214
+ }
215
+ ```
216
+
217
+ ### After
218
+
219
+ ```json
220
+ {
221
+ "angles": [],
222
+ "refused_angles": [
223
+ {
224
+ "would_have_been": "Northstar Workflow launches v2 with faster performance and a new UI",
225
+ "refusal_reason": "no_journalist_shape"
226
+ },
227
+ {
228
+ "would_have_been": "Northstar Workflow reshapes how operations teams manage work",
229
+ "refusal_reason": "slop"
230
+ },
231
+ {
232
+ "would_have_been": "Why Northstar Workflow v2 matters for the future of work",
233
+ "refusal_reason": "hallucinated_fact"
234
+ }
235
+ ],
236
+ "uncomfortable_questions": [
237
+ "What specifically is faster: page load, task completion, report generation, or something else?",
238
+ "By how much is it faster, measured over what baseline, and in whose environment?",
239
+ "Why did the UI need replacing? Customer complaints, a new buyer, a new workflow, or a pivot?",
240
+ "Who is already using v2, and can one customer describe what changed in their work?",
241
+ "What can v2 do that v1 could not do? A new UI is a refresh. A new capability might be news."
242
+ ],
243
+ "follow_up_suggestions": {
244
+ "next_skill": null,
245
+ "rationale": "There is no pitchable angle yet. Get measurable proof, a customer, or a real capability change, then rerun angle-generator."
246
+ }
247
+ }
248
+ ```
249
+
250
+ ### Why This Works
251
+
252
+ The skill does not pad to three angles. It tells the user exactly what facts would turn a product refresh into a story.
253
+
254
+ ---
255
+
256
+ ## Example 3: Newsjack-Detector Handoff With A Live Signal
257
+
258
+ ### Before
259
+
260
+ ```json
261
+ {
262
+ "update": {
263
+ "headline": "ClearGov AI helps public companies prepare AI-risk disclosures",
264
+ "facts": [
265
+ "ClearGov AI offers AI-governance software for public companies",
266
+ "Tracks model usage, audit logs, and disclosure workflows",
267
+ "47 public-company customers",
268
+ "CEO can take calls today from 15:00-18:00 UTC"
269
+ ],
270
+ "links": [],
271
+ "embargo": "none"
272
+ },
273
+ "company": {
274
+ "name": "ClearGov AI",
275
+ "one_liner": "AI governance for public companies",
276
+ "category": "regtech",
277
+ "stage": "series-b",
278
+ "geo": "USA",
279
+ "prior_coverage": []
280
+ },
281
+ "profile": {
282
+ "target_beats": ["SEC", "AI governance", "public-company compliance"],
283
+ "ban_list_outlets": [],
284
+ "voice_notes": null
285
+ },
286
+ "context": {
287
+ "current_time": "2026-05-18T14:00:00Z",
288
+ "signal_from_newsjack_detector": {
289
+ "signal_id": "sec-ai-disclosure-final-rule-2026-05-18",
290
+ "headline": "SEC finalizes AI disclosure rule for public companies, effective 90 days from publication",
291
+ "fetched_at": "2026-05-18T13:42:00Z",
292
+ "published_at": "2026-05-18T13:00:00Z",
293
+ "decay_stage": "4hr"
294
+ },
295
+ "moments_from_story_calendar": null
296
+ },
297
+ "constraints": {
298
+ "min_angles": 3,
299
+ "max_angles": 5,
300
+ "require_data_angle": false,
301
+ "require_contrarian": false
302
+ }
303
+ }
304
+ ```
305
+
306
+ ### After
307
+
308
+ ```json
309
+ {
310
+ "angles": [
311
+ {
312
+ "id": "a1-sec-rule-reaction",
313
+ "headline_frame": "SEC just finalized AI disclosure rules. ClearGov has 47 public-company customers in the affected market.",
314
+ "story_type": "defensive-comment",
315
+ "journalist_shape": {
316
+ "beat_description": "Reporter writing same-day SEC rule reaction for a securities-law trade, governance newsletter, or business regulatory desk.",
317
+ "outlet_archetype": "Regulatory trade publication or business press compliance desk.",
318
+ "evidence_they_care": "The reporter needs credible company reaction within hours, and ClearGov has public-company customer exposure plus CEO availability today.",
319
+ "do_not_target": "General AI product press; they will not care inside the 4hr regulatory-reaction window."
320
+ },
321
+ "why_now": "The SEC signal was published at 13:00 UTC and fetched at 13:42 UTC; the reaction window is live.",
322
+ "decay": {
323
+ "stage": "4hr",
324
+ "rationale": "Direct handoff from newsjack-detector with a 4hr decay stage."
325
+ },
326
+ "distinctness_check": {
327
+ "compared_to_other_angles_in_this_set": "This is the same-day reaction angle. The second angle is a slower implementation story.",
328
+ "compared_to_prior_coverage": null
329
+ },
330
+ "required_proof": [
331
+ "Link to final SEC rule text",
332
+ "CEO available during the stated window",
333
+ "One example of a disclosure workflow ClearGov tracks, without revealing confidential customer data"
334
+ ],
335
+ "anti_slop_pass": true,
336
+ "facts_used": [
337
+ "ClearGov AI offers AI-governance software for public companies",
338
+ "47 public-company customers",
339
+ "CEO can take calls today from 15:00-18:00 UTC",
340
+ "SEC finalizes AI disclosure rule for public companies, effective 90 days from publication"
341
+ ]
342
+ },
343
+ {
344
+ "id": "a2-90-day-implementation",
345
+ "headline_frame": "The 90-day AI disclosure clock starts now for public companies",
346
+ "story_type": "trend",
347
+ "journalist_shape": {
348
+ "beat_description": "Enterprise-risk or governance reporter writing implementation pieces after the first wave of rule-reaction stories.",
349
+ "outlet_archetype": "CFO, legal, governance, or risk-management trade outlet.",
350
+ "evidence_they_care": "The story moves from what the rule says to what companies must inventory, log, and disclose before the deadline.",
351
+ "do_not_target": "Breaking-news desks that only want immediate comment."
352
+ },
353
+ "why_now": "The rule creates a 90-day implementation clock; this angle has a slower but still timely window.",
354
+ "decay": {
355
+ "stage": "week",
356
+ "rationale": "Implementation stories can run after the initial same-day reaction cycle."
357
+ },
358
+ "distinctness_check": {
359
+ "compared_to_other_angles_in_this_set": "This angle is operational and deadline-driven, not a same-day reaction quote.",
360
+ "compared_to_prior_coverage": null
361
+ },
362
+ "required_proof": [
363
+ "Checklist of model-usage, audit-log, and disclosure-workflow steps",
364
+ "One anonymized customer pattern if named customer approval is unavailable",
365
+ "Legal review that the 90-day deadline is stated correctly"
366
+ ],
367
+ "anti_slop_pass": true,
368
+ "facts_used": [
369
+ "Tracks model usage, audit logs, and disclosure workflows",
370
+ "47 public-company customers",
371
+ "SEC finalizes AI disclosure rule for public companies, effective 90 days from publication"
372
+ ]
373
+ }
374
+ ],
375
+ "refused_angles": [
376
+ {
377
+ "would_have_been": "ClearGov AI is the future of public-company AI governance",
378
+ "refusal_reason": "slop"
379
+ }
380
+ ],
381
+ "uncomfortable_questions": [
382
+ "Can the CEO actually take a call in the next two hours? If not, downgrade a1 from 4hr reaction to a week-long implementation angle.",
383
+ "Can you share a customer example without violating confidentiality? Without it, reporters may treat this as vendor commentary only."
384
+ ],
385
+ "follow_up_suggestions": {
386
+ "next_skill": "journalist-fit-check",
387
+ "rationale": "The 4hr angle needs named reporters now, not tomorrow."
388
+ }
389
+ }
390
+ ```
391
+
392
+ ### Why This Works
393
+
394
+ The live signal controls the first angle's decay. The skill keeps one fast reaction angle and one slower implementation angle instead of pretending every angle is breaking news.
395
+
396
+ ---
397
+
398
+ ## Example 4: Spray-And-Pray Partnership Request
399
+
400
+ ### Before
401
+
402
+ ```json
403
+ {
404
+ "update": {
405
+ "headline": "RelayDesk announces Zendesk partnership",
406
+ "facts": [
407
+ "RelayDesk integrates with Zendesk",
408
+ "Both companies issued a joint press release"
409
+ ],
410
+ "links": [],
411
+ "embargo": "none"
412
+ },
413
+ "company": {
414
+ "name": "RelayDesk",
415
+ "one_liner": "Workflow automation for support teams",
416
+ "category": "B2B SaaS",
417
+ "stage": "growth",
418
+ "geo": "USA",
419
+ "prior_coverage": []
420
+ },
421
+ "profile": {
422
+ "target_beats": ["tech", "SaaS", "customer support", "AI", "future of work", "remote work", "startups"],
423
+ "ban_list_outlets": [],
424
+ "voice_notes": null
425
+ },
426
+ "context": {
427
+ "current_time": "2026-05-18T10:00:00Z",
428
+ "signal_from_newsjack_detector": null,
429
+ "moments_from_story_calendar": null
430
+ },
431
+ "constraints": {
432
+ "min_angles": 7,
433
+ "max_angles": 7,
434
+ "require_data_angle": false,
435
+ "require_contrarian": false
436
+ }
437
+ }
438
+ ```
439
+
440
+ ### After
441
+
442
+ ```json
443
+ {
444
+ "angles": [
445
+ {
446
+ "id": "a1-support-integration-mechanics",
447
+ "headline_frame": "RelayDesk's Zendesk integration automates support triage without a developer",
448
+ "story_type": "trend",
449
+ "journalist_shape": {
450
+ "beat_description": "Customer-experience trade reporter covering support operations and Zendesk's integration ecosystem.",
451
+ "outlet_archetype": "CX trade publication or support-ops newsletter.",
452
+ "evidence_they_care": "The only honest beat is support operations. The integration mechanics may matter if they change how teams triage tickets.",
453
+ "do_not_target": "AI press, remote-work press, general startup press, future-of-work columnists."
454
+ },
455
+ "why_now": "The joint announcement is live today.",
456
+ "decay": {
457
+ "stage": "24hr",
458
+ "rationale": "Standard partnership-news cycle."
459
+ },
460
+ "distinctness_check": {
461
+ "compared_to_other_angles_in_this_set": "Only one angle survived. The other requested beats would be rephrasings or unsupported claims.",
462
+ "compared_to_prior_coverage": null
463
+ },
464
+ "required_proof": [
465
+ "A named customer using the integration",
466
+ "What the integration automates that Zendesk alone does not",
467
+ "Quote from a Zendesk product lead or marketplace owner"
468
+ ],
469
+ "anti_slop_pass": true,
470
+ "facts_used": [
471
+ "RelayDesk integrates with Zendesk",
472
+ "Both companies issued a joint press release"
473
+ ]
474
+ }
475
+ ],
476
+ "refused_angles": [
477
+ {
478
+ "would_have_been": "RelayDesk and Zendesk shape the future of support",
479
+ "refusal_reason": "slop"
480
+ },
481
+ {
482
+ "would_have_been": "RelayDesk announces an innovative Zendesk integration",
483
+ "refusal_reason": "slop"
484
+ },
485
+ {
486
+ "would_have_been": "Why AI reporters should care about RelayDesk's Zendesk partnership",
487
+ "refusal_reason": "hallucinated_fact"
488
+ },
489
+ {
490
+ "would_have_been": "RelayDesk brings remote-work teams a better support workflow",
491
+ "refusal_reason": "hallucinated_fact"
492
+ },
493
+ {
494
+ "would_have_been": "What this partnership means for startups",
495
+ "refusal_reason": "no_journalist_shape"
496
+ },
497
+ {
498
+ "would_have_been": "The future-of-work angle on RelayDesk and Zendesk",
499
+ "refusal_reason": "duplicate"
500
+ }
501
+ ],
502
+ "uncomfortable_questions": [
503
+ "You asked for seven angles. From these facts, one honest angle exists. The rest are the spray-and-pray pattern in different clothes.",
504
+ "What does the integration do that Zendesk's own automation cannot do?",
505
+ "Do you have usage data: tickets triaged, time saved, deflection rate, or implementation time?",
506
+ "Can a customer or Zendesk product lead speak on record?"
507
+ ],
508
+ "follow_up_suggestions": {
509
+ "next_skill": "meanest-editor",
510
+ "rationale": "Draft one tight pitch around the support-ops angle. Do not pad the beat list."
511
+ }
512
+ }
513
+ ```
514
+
515
+ ### Why This Works
516
+
517
+ The output is quietly hostile to the volume request. It gives the one defensible angle and shows exactly why the other six would be inbox spam.