skills/text-manipulation-and-converter/SKILL.md
Text Manipulation and Converter: Manipulate text: case conversion (11 formats), whitespace handling, line operations, sorting, deduplication, wrapping, character counts. Use when an agent needs text manipulation and converter, converting variable names between programming language conventions, cleaning and normalizing imported data, meeting word or character count requirements, formatting text to specific column widths, add quotes, text, quote type through AgentPMT-hosted remote tool calls.
npx skillsauth add AgentPMT/agent-skills text-manipulation-and-converterInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Last updated: 2026-06-23.
If the current date is more than 7 days after the last updated date, reinstall this skill from skills.sh or ClawHub before relying on endpoints, schemas, setup steps, or examples.
Text Tools is a comprehensive text manipulation utility providing 23 operations across four categories: text manipulation, case conversion, special transformations, and counting.
Text manipulation operations handle whitespace and line-level transformations. These include removing line breaks, collapsing extra spaces, sorting lines alphabetically (ascending or descending), removing duplicate lines while preserving order, adding quotes (single, double, or backtick) to each line, converting between tabs and spaces with configurable width (1–16), trimming whitespace from lines, removing empty lines, normalizing whitespace comprehensively, indenting and dedenting text, wrapping text at a specified column width (10–200), unwrapping text, and reversing line order.
Case conversion supports 11 formats through a single action: camelCase, snake_case, PascalCase, kebab-case, SCREAMING_SNAKE_CASE, UPPERCASE, lowercase, Title Case, Sentence case, dot.case, and path/case.
Special transformations include reversing text character-by-character, removing accents and diacritical marks (é becomes e), alternating case (aLtErNaTiNg), and detecting the case style of input text.
Counting operations return line count, word count, and detailed character statistics including totals with and without spaces, letter count, digit count, and space count.
A comprehensive text processing tool for manipulating, converting, and analyzing text. Supports whitespace management, case conversion across 11 formats, line operations, and character/word/line counting.
Converts multi-line text into a single line by replacing line breaks with spaces.
text (string) - The input textExample:
{ "action": "remove-line-breaks", "text": "Hello\nWorld\nFoo" }
Returns: "Hello World Foo"
Collapses multiple consecutive spaces into a single space.
text (string)Example:
{ "action": "remove-extra-spaces", "text": "Hello world foo" }
Returns: "Hello world foo"
Sorts lines alphabetically in ascending or descending order.
text (string)order (string) - "asc" (default) or "desc"Example:
{ "action": "sort-lines", "text": "banana\napple\ncherry", "order": "asc" }
Returns: "apple\nbanana\ncherry"
Removes duplicate lines while preserving the original order of first occurrences.
text (string)Example:
{ "action": "remove-duplicate-lines", "text": "apple\nbanana\napple\ncherry\nbanana" }
Returns: "apple\nbanana\ncherry"
Wraps each line in quotes of the specified type.
text (string)quote_type (string) - "single", "double" (default), or "backtick"Example:
{ "action": "add-quotes", "text": "apple\nbanana", "quote_type": "single" }
Returns: "'apple'\n'banana'"
Converts tab characters to spaces.
text (string)tab_width (integer, 1-16, default: 4) - Number of spaces per tabExample:
{ "action": "tabs-to-spaces", "text": "\tHello\n\t\tWorld", "tab_width": 2 }
Converts leading spaces to tab characters.
text (string)tab_width (integer, 1-16, default: 4) - Number of spaces per tabExample:
{ "action": "spaces-to-tabs", "text": " Hello\n World", "tab_width": 4 }
Removes leading and trailing whitespace from each line and the overall text.
text (string)Example:
{ "action": "trim-whitespace", "text": " Hello \n World " }
Returns: "Hello\nWorld"
Removes all blank/empty lines from the text.
text (string)Example:
{ "action": "remove-empty-lines", "text": "Hello\n\n\nWorld\n\nFoo" }
Returns: "Hello\nWorld\nFoo"
Comprehensive cleanup: trims each line, removes empty lines, and collapses multiple spaces within lines.
text (string)Example:
{ "action": "normalize-whitespace", "text": " Hello world \n\n Foo bar " }
Returns: "Hello world\nFoo bar"
Adds consistent indentation to every line of text.
text (string)indent_char (string) - "space" (default) or "tab"indent_count (integer, 1-16, default: 4) - Number of indent characters per levelExample:
{ "action": "indent-text", "text": "Hello\nWorld", "indent_char": "space", "indent_count": 2 }
Returns: " Hello\n World"
Removes common leading whitespace from all lines (the minimum shared indentation).
text (string)Example:
{ "action": "dedent-text", "text": " Hello\n World\n Nested" }
Returns: "Hello\nWorld\n Nested"
Wraps text to fit within a specified column width.
text (string)width (integer, 10-200, default: 80) - Maximum line widthExample:
{ "action": "wrap-text", "text": "This is a long sentence that should be wrapped at a shorter width.", "width": 30 }
Joins all lines into a single line, removing line breaks.
text (string)Example:
{ "action": "unwrap-text", "text": "This is\na wrapped\nparagraph." }
Returns: "This is a wrapped paragraph."
Reverses the order of lines (last line becomes first).
text (string)Example:
{ "action": "reverse-lines", "text": "first\nsecond\nthird" }
Returns: "third\nsecond\nfirst"
Converts text to a target case format. Supports 11 case types.
text (string)case_type (string) - One of: camel, snake, pascal, kebab, screaming-snake, upper, lower, title, sentence, dot, pathCase type reference:
| case_type | Output |
|---|---|
| camel | helloWorld |
| snake | hello_world |
| pascal | HelloWorld |
| kebab | hello-world |
| screaming-snake | HELLO_WORLD |
| upper | HELLO WORLD |
| lower | hello world |
| title | Hello World |
| sentence | Hello world |
| dot | hello.world |
| path | hello/world |
Example:
{ "action": "change-case", "text": "hello world example", "case_type": "camel" }
Returns: "helloWorldExample"
Reverses the entire text character by character.
text (string)Example:
{ "action": "reverse-text", "text": "Hello" }
Returns: "olleH"
Strips accents and diacritical marks from characters.
text (string)Example:
{ "action": "remove-accents", "text": "café résumé naïve" }
Returns: "cafe resume naive"
Alternates between uppercase and lowercase for each character position.
text (string)Example:
{ "action": "alternate-case", "text": "hello world" }
Returns: "HeLlO wOrLd"
Detects the case style of the input text. Returns one of: upper, lower, title, snake, kebab, dot, path, camel, pascal, mixed, or empty.
text (string)Example:
{ "action": "smart-case-detect", "text": "helloWorld" }
Returns: "camel"
Counts the number of lines in the text.
text (string)Example:
{ "action": "count-lines", "text": "Line 1\nLine 2\nLine 3" }
Returns: 3
Counts the number of words in the text.
text (string)Example:
{ "action": "count-words", "text": "Hello world this is a test" }
Returns: 6
Returns detailed character statistics including total characters, characters without spaces, letters, digits, spaces, and line count.
text (string)Example:
{ "action": "count-characters", "text": "Hello World 123" }
Returns:
{ "total": 15, "without_spaces": 13, "letters": 10, "digits": 3, "spaces": 2, "lines": 1 }
normalize-whitespace for a one-step cleanup of irregular spacing and blank lines.add-quotes with quote_type: "double" to wrap each line in quotes.change-case to convert between naming conventions (e.g., camelCase to snake_case).count-words, count-characters, and count-lines for a full text analysis.sort-lines followed by remove-duplicate-lines to get a clean sorted unique list.text parameter is required for all actions.change-case action requires the case_type parameter.spaces-to-tabs only converts leading spaces on each line, not spaces within text.smart-case-detect returns "mixed" when text does not match any recognized case pattern.Text Manipulation and Converter on AgentPMT.add-quotes, alternate-case, change-case, count-characters, count-lines, count-words, dedent-text, indent-text, normalize-whitespace, remove-accents, remove-duplicate-lines, remove-empty-lines, remove-extra-spaces, remove-line-breaks, reverse-lines, reverse-text, smart-case-detect, sort-lines, spaces-to-tabs, tabs-to-spaces, trim-whitespace, unwrap-text, wrap-text.No categories or industry tags are published for this tool.
Complete generated action schema: ./schema.md.
Supported action count: 23.
x402 availability: not enabled for this product.
add-quotes (action slug: add-quotes): Wrap each line in quotes of the specified type. Price: 5 credits. Parameters: quote_type, text.alternate-case (action slug: alternate-case): Alternate between uppercase and lowercase for each character position. Price: 5 credits. Parameters: text.change-case (action slug: change-case): Convert text to a target case format. Supports 11 case types: camel (camelCase), snake (snake_case), pascal (PascalCase), kebab (kebab-case), screaming-snake (SCREAMING_SNAKE_CASE), upper (UPPERCASE), lower (lowercase), title (Title Case), sentence (Sentence case), dot (dot.case), path (path/case). Price: 5 credits. Parameters: case_type, text.count-characters (action slug: count-characters): Return detailed character statistics: total characters, characters without spaces, letters, digits, spaces, and line count. Price: 5 credits. Parameters: text.count-lines (action slug: count-lines): Count the number of lines in the text. Price: 5 credits. Parameters: text.count-words (action slug: count-words): Count the number of words in the text. Price: 5 credits. Parameters: text.dedent-text (action slug: dedent-text): Remove common leading whitespace from all lines. Price: 5 credits. Parameters: text.indent-text (action slug: indent-text): Add consistent indentation to every line of text. Price: 5 credits. Parameters: indent_char, indent_count, text.normalize-whitespace (action slug: normalize-whitespace): Comprehensive cleanup: trim each line, remove empty lines, collapse multiple spaces. Price: 5 credits. Parameters: text.remove-accents (action slug: remove-accents): Strip accents and diacritical marks from characters. Price: 5 credits. Parameters: text.remove-duplicate-lines (action slug: remove-duplicate-lines): Remove duplicate lines while preserving the order of first occurrences. Price: 5 credits. Parameters: text.remove-empty-lines (action slug: remove-empty-lines): Remove all blank/empty lines from the text. Price: 5 credits. Parameters: text.remove-extra-spaces (action slug: remove-extra-spaces): Collapse multiple consecutive spaces into a single space. Price: 5 credits. Parameters: text.remove-line-breaks (action slug: remove-line-breaks): Convert multi-line text to a single line by replacing line breaks with spaces. Price: 5 credits. Parameters: text.reverse-lines (action slug: reverse-lines): Reverse the order of lines (last line becomes first). Price: 5 credits. Parameters: text.reverse-text (action slug: reverse-text): Reverse the entire text character by character. Price: 5 credits. Parameters: text.smart-case-detect (action slug: smart-case-detect): Detect the case style of input text. Returns: upper, lower, title, snake, kebab, dot, path, camel, pascal, mixed, or empty. Price: 5 credits. Parameters: text.sort-lines (action slug: sort-lines): Sort lines alphabetically in ascending or descending order. Price: 5 credits. Parameters: order, text.spaces-to-tabs (action slug: spaces-to-tabs): Convert leading spaces to tab characters. Price: 5 credits. Parameters: tab_width, text.tabs-to-spaces (action slug: tabs-to-spaces): Convert tab characters to spaces with configurable tab width. Price: 5 credits. Parameters: tab_width, text.trim-whitespace (action slug: trim-whitespace): Remove leading and trailing whitespace from each line and the overall text. Price: 5 credits. Parameters: text.unwrap-text (action slug: unwrap-text): Join all lines into a single line, removing line breaks. Price: 5 credits. Parameters: text.wrap-text (action slug: wrap-text): Wrap text to fit within a specified column width. Price: 5 credits. Parameters: text, width.Use the compact schema above for ordinary calls. Before a new production integration, or whenever parameters, enum values, nested objects, outputs, or examples are unclear, fetch live details first.
agentpmt-tool-search-and-execution with action: "get_schema", and tool_id: "text-manipulation-and-converter".agentpmt-tool-search-and-execution with action: "get_instructions" and tool_id: "text-manipulation-and-converter", or call this product with action: "get_instructions" when the product tool is already selected.MCP schema lookup through the main AgentPMT MCP server:
{
"method": "tools/call",
"params": {
"name": "AgentPMT-Tool-Search-and-Execution",
"arguments": {
"action": "get_schema",
"tool_id": "text-manipulation-and-converter"
}
}
}
For live examples, keep the same MCP tool and use these arguments:
{
"action": "get_instructions",
"tool_id": "text-manipulation-and-converter"
}
Authenticated AgentPMT REST schema lookup body:
{
"name": "agentpmt-tool-search-and-execution",
"parameters": {
"action": "get_schema",
"tool_id": "text-manipulation-and-converter"
}
}
Authenticated AgentPMT REST live examples body:
{
"name": "agentpmt-tool-search-and-execution",
"parameters": {
"action": "get_instructions",
"tool_id": "text-manipulation-and-converter"
}
}
Product slug: text-manipulation-and-converter
Marketplace page: https://www.agentpmt.com/marketplace/text-manipulation-and-converter
../agentpmt-account-mcp-rest-api-setup to connect the main MCP server or REST API for an Agent Group where this tool is enabled.../what-is-agentpmt for marketplace, Agent Group, workflow, MCP, REST, and payment concepts.If those setup skills are not installed beside this product skill, use the downloads below.
Core AgentPMT setup skills:
openclaw skills install what-is-agentpmtnpx skills add AgentPMT/agent-skills --skill what-is-agentpmtopenclaw skills install agentpmt-account-mcp-rest-api-setupnpx skills add AgentPMT/agent-skills --skill agentpmt-account-mcp-rest-api-setupskills.sh install script:
npx skills add AgentPMT/agent-skills --skill what-is-agentpmt
npx skills add AgentPMT/agent-skills --skill agentpmt-account-mcp-rest-api-setup
MCP call shape after the main AgentPMT MCP server is connected:
{
"method": "tools/call",
"params": {
"name": "Text-Manipulation-and-Converter",
"arguments": {
"action": "add-quotes",
"quote_type": "double",
"text": "example text"
}
}
}
Use the exact tool name returned by tools/list; the name above is the expected readable form.
Authenticated AgentPMT REST call body:
{
"name": "text-manipulation-and-converter",
"parameters": {
"action": "add-quotes",
"quote_type": "double",
"text": "example text"
}
}
Use the setup skill for the account connection details before making REST calls.
passed or success-style boolean, use it as the workflow gate.get_schema or get_instructions before retrying.add-quotes fails, preserve the request parameters and retry only after fixing schema, auth, or payment errors.what-is-agentpmt, page: https://clawhub.ai/agentpmt/what-is-agentpmt; skills.sh: npx skills add AgentPMT/agent-skills --skill what-is-agentpmt)agentpmt-account-mcp-rest-api-setup, page: https://clawhub.ai/agentpmt/agentpmt-account-mcp-rest-api-setup; skills.sh: npx skills add AgentPMT/agent-skills --skill agentpmt-account-mcp-rest-api-setup)tools
Plaud Transcripts Corrected With Your Own Terminology Glossary: Fixes the words your transcription keeps getting wrong, by giving the pipeline your vocabulary instead of hoping a bigger model guesses right. Every speech model mangles terms it has never seen: cell line and reagent names, drug and device names, case and matter numbers, part numbers, local spelling and number conventions, team and client names. Swapping to a different model does not fix this, because none of them have your terms e.
tools
Plaud Spoken Field Notes to a Structured Sheet: Turns a spoken site visit into a filled-in spreadsheet row, so measurements and specs never get typed up twice. Built for anyone who dictates structured details on the job rather than writing them down: window and flooring measurements, equipment specs, inspection findings, punch lists, service call notes. Say the details out loud in the same order each visit (client, room, width, drop, colour, notes) and the workflow reads each new Plaud recordin.
development
Plaud Recordings to Google Calendar Events: Puts the meetings you agree to out loud straight onto your Google Calendar, without Zapier in the middle. Plaud's own app has no Calendar integration, so this closes that gap directly: each new recording is scanned, the transcript pulled, and any genuine scheduling commitment spoken in it ("let's do Tuesday at 3", "I'll come back out Thursday morning") is extracted with the relative date resolved against the recording's own date and your timezone. Eac.
development
One Plaud Recording, Several Differently Formatted Summaries: Gets you past the one-template-per-recording ceiling. The Plaud app applies a single AutoFlow template to a recording, so if you want a short recap for yourself, a decisions-only version for the people who missed it, and a clean action list for your task manager, you are re-running or rewriting by hand. This workflow reads the transcript once and produces every format you have defined in a single pass: you list the output formats you.