Recipe catalog / persuasion-technique
Identify a persuasion technique
Which persuasion technique, if any, does the wording of message primarily use?
You need to annotate or flag how a message tries to persuade, for moderation, research, or review of outgoing drafts.
Explore this recipe interactively ยท Source and implementation guide
Use persuasion-technique in TypeScript
Install with npm install jev-recipes. Requires Node.js 22.9 or newer and ES modules. Set TYPESAFE_API_KEY in your server environment for live calls, which send input to TypeSafe and use API quota. See the installation guide.
import { persuasionTechnique } from 'jev-recipes/persuasion-technique';
const result = await persuasionTechnique({
"message": "Only 3 seats left at this price, and the offer closes at midnight tonight. Book now before they are gone."
});
console.log(result);
Input contract
| Field | Type | Needed |
|---|---|---|
| message | string | Required |
| context | string | Optional |
| minConfidence | number | Optional |
Full input and result schemas
{
"input": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"message": {
"type": "string"
},
"context": {
"type": "string"
},
"minConfidence": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"message"
]
},
"result": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"model": {
"type": "string"
},
"usage": {
"type": "object",
"properties": {
"input_tokens": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"output_tokens": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"input_tokens",
"output_tokens"
],
"additionalProperties": false
},
"status": {
"type": "string",
"enum": [
"ready",
"review"
]
},
"verdict": {
"type": "string",
"enum": [
"authority",
"scarcity",
"social_proof",
"reciprocity",
"emotional_appeal",
"none",
"unclear"
]
},
"confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"probabilities": {
"type": "object",
"propertyNames": {
"type": "string",
"enum": [
"authority",
"scarcity",
"social_proof",
"reciprocity",
"emotional_appeal",
"none",
"unclear"
]
},
"additionalProperties": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"required": [
"authority",
"scarcity",
"social_proof",
"reciprocity",
"emotional_appeal",
"none",
"unclear"
]
}
},
"required": [
"model",
"usage",
"status",
"verdict",
"confidence",
"probabilities"
],
"additionalProperties": false
}
}Saved example result
This hand-authored response demonstrates the contract. It is not a model accuracy measurement. Run it without an API key: npx jev-recipes demo persuasion-technique.
{
"model": "demo-fixture",
"usage": {
"input_tokens": 0,
"output_tokens": 0
},
"status": "ready",
"verdict": "scarcity",
"confidence": 0.91,
"probabilities": {
"authority": 0,
"scarcity": 0.91,
"social_proof": 0.02,
"reciprocity": 0,
"emotional_appeal": 0.04,
"none": 0.01,
"unclear": 0.02
}
}
Evaluation evidence
No verified live accuracy measurement is available. Evaluate representative cases before using this decision in your workflow.
Use the evaluation guide to measure this decision on your own labeled cases.
Limitations
- Labels expressed wording, not the writer's intent, honesty, or the effect on readers.
- Returns the single dominant technique. Messages that combine several collapse to one or to unclear.
Related recipes
- motivation-source: Use motivation-source to classify a stated reason for acting rather than a technique aimed at a reader.
- question-leading: Use question-leading to detect a question that steers toward a particular answer.