AI Voice Check tool
The AI Voice Check tool sends each block's source text to a configured LLM
provider alongside the guidelines a voice profile carries, and reads back
structured findings over four dimensions (tone, style, clarity and brand
compliance), each with a severity, a message and a suggested rewrite. It
computes an overall compliance score, records the score and any findings on the
block's properties, and attaches a voice annotation carrying both. A block
whose source text is empty or whitespace-only is skipped.
A voice profile is the context type that says how content should read; a
brand's tone of voice is the common use of it. The profile reaches this tool
three ways: named by profileId and resolved from the local store, supplied
already-resolved by the host (the kapi voice command, or a project's
defaults.voice binding), or resolved lazily from the organizational context
hierarchy on first use. With no profile the prompt carries no guidelines, and
the model is asked to judge against nothing.
This is the judged half of a pair. voice-vocab-check is the deterministic
half, the profile's vocabulary and style patterns matched as rules, needing
no credentials and no network. Run it first, so that the model
is spent on what rules cannot decide.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
apiKey | string | API key for the AI provider | |
model | string | AI model name | |
profileId | string | Voice profile to resolve from the store | |
provider | string | anthropic | AI provider |
Configure it live
Examples
Judge against a stored profile
Resolve a profile by name from the local store and judge each block against it.
provider: anthropic
profileId: house-style
Processing notes
Operates on blocks; blocks are judged in parallel by default for throughput.
The compliance score and any findings are written to the block's properties, and a
voiceannotation carries both.A profile that cannot be resolved is not an error, and the run proceeds with no guidelines in the prompt.
Limitations
Requires provider credentials and makes an external API call per block.
Findings are model output; two runs over the same text may not agree.
Judges source text only, and skips a block whose source is empty or whitespace-only.
← Back to the Tool Reference