Overview
Reverse Text applies one of three transformations to `text`, chosen with `mode`. The value must be `characters` (the default), `words` or `lines`.
In `characters` mode the string is split into JavaScript string units, reversed and joined, so "Hello World" becomes "dlroW olleH". Characters stored as two units, such as most emoji and some CJK extension characters, are split by this process and come out as broken symbols, and combining accents end up attached to the wrong letter. Strip or pre-process those first if they matter.
In `words` mode the text is split on single space characters only, the pieces are reversed and rejoined with single spaces. Punctuation stays attached to its word, so "Hello, world!" becomes "world! Hello,". Tabs and line breaks are not word separators in this mode, and consecutive spaces produce empty pieces that keep the spacing pattern in reverse order.
In `lines` mode the text is split on line feed characters and the lines are reversed and rejoined with line feeds; the content of each line is unchanged. Windows line endings leave a carriage return at the end of each line, which travels with it.
`reversed` holds the result, `original` echoes the input and `mode` echoes the mode applied. `length` is the length of the original text in JavaScript string units, which equals the character count for plain text but counts each emoji as two. No trimming or normalization is applied in any mode. The response is the same on every plan.
Live Test Reverse Text Skill Skill →
The tool
Once your client is connected to the VerveKit server, this appears in its tool list as ReverseTextSkill. It is read-only and open-world — it fetches and never mutates anything on your side — so most clients call it without asking you to confirm.
{
"name": "ReverseTextSkill",
"arguments": {
"text": "Hello World"
}
}You do not name the tool yourself; the model picks it. Asking about Hello World in the terms this skill covers is enough for it to reach for ReverseTextSkill on its own — naming it explicitly also works, and is the way to force the call.
Connecting
One server URL covers every skill in the catalog, including this one. Authorization is OAuth: the client opens a browser once, and there is no key to paste into a config file.
{
"mcpServers": {
"vervekit": {
"url": "https://api.vervekit.com/v1/mcp"
}
}
}https://api.vervekit.com/v1/mcpPer-client setup — Claude, Cursor, VS Code, ChatGPT — is on the MCP setup page.
Arguments
These are the properties on the tool's inputSchema, so a well-behaved client validates them before the call is made. Premium arguments are accepted on every plan but only take effect on plans that include them.
| Argument | Type | Description |
|---|---|---|
textRequired | string | Text to reverse |
modeOptional | string | Reversal modecharacterswordslinesdefault characters |
What the model gets back
The result carries a structuredContent object matching the tool's declared outputSchema, so a client reads fields without parsing prose. status is "ok" and error is null on success; a null field means the value was not available for that input, not that the call failed.
{
"status": "ok",
"error": null,
"data": {
"reversed": "dlroW olleH",
"original": "Hello World",
"mode": "characters",
"length": 11
}
}
Response fields
Paths are relative to data. Premium fields are absent rather than zeroed on plans that do not include them, so check for presence instead of comparing to 0.
| Field | Type | Example | Description |
|---|---|---|---|
reversed | string | dlroW olleH | Reversed text result |
original | string | Hello World | Original input text |
mode | string | characters | Reversal mode that was applied |
length | number | 11 | Character length of the original text |
Failure modes
Errors come back as tool errors carrying a sentence the model can act on, not a bare status code. Error handling covers the full list.
| Status | What it means |
|---|---|
400 / 422 | The arguments did not validate. The message names the offending one. |
401 | The OAuth session is invalid or expired — reconnect the server. |
403 | Blocked by a key restriction or an IP allow-list. Never a bad identity. |
404 | This skill is not part of VerveKit. Check the catalog. |
429 | Out of credits, or a brief rate limit. The message tells them apart. |
A call costs 1 credit each time the tool actually runs; a model that reasons about the tool without calling it costs nothing.
Use cases
- Text Effects
- Create reversed text effects for creative content and visual designs
- String Manipulation
- Reverse strings for data processing and algorithm testing
- Content Transformation
- Transform text content with different reversal modes for specific formatting needs
- Data Processing
- Process and reverse text data for analysis and transformation tasks
Other ways to use Reverse Text Skill
Set up Reverse Text Skill on VerveKit, or reach the same source a different way. Your VerveKit account and credits work on all of them — one key, one balance.
Related
More in Text Processing: