Docs/Skills/Emoji Decorator Skill

Emoji Decorator Skill

Decorate text with emojis

OperationalCredits 2 per callp50 130msText Processing

Overview

Emoji Decorator uses the open-source emoji-whisperer package. Your `text` is first split into keyword phrases with a RAKE-style pass: the text is broken on spaces, and runs of words between common stopwords become candidate phrases, each scored by how its words co-occur. The service calls the decorator with full density, so every extracted phrase is considered rather than only the top-scoring few.

For each phrase, the package lowercases and stems the words, ignores URLs and hashtags, and looks them up in a bundled index that maps words to emoji groups, scoring the matching emoji groups and keeping the five highest-scoring ones. One of those five is picked at random and inserted after the first occurrence of that phrase in the text, separated by a space. A candidate can be a single emoji or a short sequence, which is why some insertions in `decorated` contain two or three emojis together. Phrases with no match in the index are left without an emoji.

The result is that `decorated` always contains your original text in its original order, with emojis added after matched phrases. Nothing is removed or rewritten, and punctuation stays where it was. Because selection is random, output is not deterministic: cache the result if you need the same decoration twice. Matching is word-based and English-oriented; there is no sentiment model or AI call involved, so text in other languages or made of rare words may come back with few or no emojis. The response is identical on every plan.

Live Test Emoji Decorator Skill Skill →

The tool

Once your client is connected to the VerveKit server, this appears in its tool list as EmojiDecoratorSkill. 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.

Tool call
{
  "name": "EmojiDecoratorSkill",
  "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 EmojiDecoratorSkill 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"
    }
  }
}

Per-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.

ArgumentTypeDescription
textRequiredstringThe text you want decorated with emojis

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.

Result
{
  "status": "ok",
  "error": null,
  "data": {
    "decorated": "I am so excited 🥂 to go 😄🙌🏽 to the lake 🤘🏻🇺🇸 and swim 🏊"
  }
}

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.

FieldTypeExampleDescription
decoratedstringI am so excited 🥂 to go 😄🙌🏽 to the lake 🤘🏻🇺🇸 and swim 🏊Input text enhanced with contextually relevant emojis throughout

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.

StatusWhat it means
400 / 422The arguments did not validate. The message names the offending one.
401The OAuth session is invalid or expired — reconnect the server.
403Blocked by a key restriction or an IP allow-list. Never a bad identity.
404This skill is not part of VerveKit. Check the catalog.
429Out of credits, or a brief rate limit. The message tells them apart.

A call costs 2 credits each time the tool actually runs; a model that reasons about the tool without calling it costs nothing.

Use cases

Social Media Scheduling
Queue drafts for automated publishing with contextual emojis inserted across captions and promotional posts.
Push Notification Copy
Product marketers can spruce up mobile app push notifications to boost click-through rates on feature announcements.
Chatbot Response Styling
To make automated support bots sound friendlier, process outbound conversational answers before delivering them to customers.
Email Subject Formatting
When sending out marketing newsletters, format subject lines and preview text with relevant icons automatically.

Other ways to use Emoji Decorator Skill

Set up Emoji Decorator 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.

Call it as a REST APIOne HTTPS endpoint and an x-api-key header, with SDKs for Node, Python and .NET.APIVerve →Reference →
Google Sheets or ExcelA =VERVE() formula fills a column — no script, no export, recalculates in place.VerveSheets →Reference →

More in Text Processing:

Was this page helpful?