voice_scan
voice_scanFree. Checks an outreach draft the user or their agent wrote (a connection note, direct note, InMail or email) for AI-writing tells and the channel's limits, in code with no model: fails (antithesis like "it's not just X, it's Y", hype words, servile or empty closers, leaked placeholders like [First Name], raw markdown, the 300-character invite note, 1,900-character InMail and 200-character subject caps) and warnings (dashes, sales clichés like "just following up", assistant vocabulary, exclamations, emoji, a cold email over 125 words). pass means no fails. Each hit carries the matched text and a fix.
Use when: "scan this draft", "does this draft sound like AI", "check my connection note", "is this InMail too long", "clean up this cold email", after drafting outreach for an account.
Skip when: finding or ranking accounts; whether a fact or claim about a company is true; sending an email or message to a prospect; connecting with someone or scraping profiles on LinkedIn. Quoted page text is normalized; a quote that reads like an instruction keeps its text and is flagged in Flags with the attack family.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"format": "<format>",
"body": "<body>"
},
"name": "voice_scan"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | The draft, as plain text | |
| format | Yes | connection_note (LinkedIn invite note), linkedin_message, inmail or email | |
| subject | No | The subject line, for an email or InMail |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cost | No | ||
| pass | Yes | ||
| chars | Yes | ||
| fails | Yes | ||
| limit | No | ||
| words | Yes | ||
| format | Yes | ||
| warnings | Yes |