Overview
Returns all valid words with point values, a hexagonal puzzle image, and printable HTML with game rules.
Live Test Spelling Bee Generator Skill Skill →
The tool
Once your client is connected to the VerveKit server, this appears in its tool list as SpellingBeeGeneratorSkill. 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": "SpellingBeeGeneratorSkill",
"arguments": {}
}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 |
|---|---|---|
difficultyOptional | string | Difficulty: easy, medium, hard (affects word count)easymediumharddefault medium |
imageOptionalPremium | boolean | Set to true to generate a downloadable puzzle image |
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": {
"centerLetter": "A",
"outerLetters": [
"C",
"H",
"E",
"J",
"O",
"D"
],
"allLetters": [
"A",
"C",
"H",
"E",
"J",
"O",
"D"
],
"difficulty": "medium",
"wordCount": 53,
"pangramCount": 0,
"maxPoints": 200,
"words": [
{
"word": "DEADHEADED",
"points": 10,
"isPangram": false
},
{
"word": "COHEADED",
"points": 8,
"isPangram": false
},
{
"word": "DEADHEAD",
"points": 8,
"isPangram": false
},
{
"word": "HEADACHE",
"points": 8,
"isPangram": false
},
{
"word": "ACCEDED",
"points": 7,
"isPangram": false
},
{
"word": "COACHED",
"points": 7,
"isPangram": false
},
{
"word": "ACCEDE",
"points": 6,
"isPangram": false
},
{
"word": "AHCHOO",
"points": 6,
"isPangram": false
},
{
"word": "CACHED",
"points": 6,
"isPangram": false
},
{
"word": "COHEAD",
"points": 6,
"isPangram": false
},
{
"word": "DADOED",
"points": 6,
"isPangram": false
},
{
"word": "DECADE",
"points": 6,
"isPangram": false
},
{
"word": "DOODAD",
"points": 6,
"isPangram": false
},
{
"word": "HADJEE",
"points": 6,
"isPangram": false
},
{
"word": "HEADED",
"points": 6,
"isPangram": false
},
{
"word": "AAHED",
"points": 5,
"isPangram": false
},
{
"word": "ACHED",
"points": 5,
"isPangram": false
},
{
"word": "ACHOO",
"points": 5,
"isPangram": false
},
{
"word": "ADDED",
"points": 5,
"isPangram": false
},
{
"word": "AHEAD",
"points": 5,
"isPangram": false
},
{
"word": "CACAO",
"points": 5,
"isPangram": false
},
{
"word": "CACHE",
"points": 5,
"isPangram": false
},
{
"word": "CAECA",
"points": 5,
"isPangram": false
},
{
"word": "COACH",
"points": 5,
"isPangram": false
},
{
"word": "COCOA",
"points": 5,
"isPangram": false
},
{
"word": "DACHA",
"points": 5,
"isPangram": false
},
{
"word": "HADED",
"points": 5,
"isPangram": false
},
{
"word": "HODAD",
"points": 5,
"isPangram": false
},
{
"word": "JADED",
"points": 5,
"isPangram": false
},
{
"word": "JEHAD",
"points": 5,
"isPangram": false
},
{
"word": "ACED",
"points": 1,
"isPangram": false
},
{
"word": "ACHE",
"points": 1,
"isPangram": false
},
{
"word": "AHED",
"points": 1,
"isPangram": false
},
{
"word": "AJEE",
"points": 1,
"isPangram": false
},
{
"word": "CACA",
"points": 1,
"isPangram": false
},
{
"word": "CADE",
"points": 1,
"isPangram": false
},
{
"word": "CECA",
"points": 1,
"isPangram": false
},
{
"word": "CHAD",
"points": 1,
"isPangram": false
},
{
"word": "CHAO",
"points": 1,
"isPangram": false
},
{
"word": "COCA",
"points": 1,
"isPangram": false
},
{
"word": "CODA",
"points": 1,
"isPangram": false
},
{
"word": "DACE",
"points": 1,
"isPangram": false
},
{
"word": "DADA",
"points": 1,
"isPangram": false
},
{
"word": "DADO",
"points": 1,
"isPangram": false
},
{
"word": "DEAD",
"points": 1,
"isPangram": false
},
{
"word": "EACH",
"points": 1,
"isPangram": false
},
{
"word": "HADE",
"points": 1,
"isPangram": false
},
{
"word": "HADJ",
"points": 1,
"isPangram": false
},
{
"word": "HAED",
"points": 1,
"isPangram": false
},
{
"word": "HAHA",
"points": 1,
"isPangram": false
},
{
"word": "HAJJ",
"points": 1,
"isPangram": false
},
{
"word": "HEAD",
"points": 1,
"isPangram": false
},
{
"word": "JADE",
"points": 1,
"isPangram": false
}
],
"html": "<html><head><title>Spelling Bee</title><style>body {font-family: Arial, sans-serif; padding: 20px; max-width: 500px; margin: 0 auto; text-align: center;}h1 {color: #F9A825;}.honeycomb {display: flex; flex-wrap: wrap; justify-content: center; max-width: 200px; margin: 30px auto;}.hex {width: 60px; height: 52px; background: #E0E0E0; margin: 2px; display: flex; align-items: center; justify-content: center; font-size: 24px; font-weight: bold; clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);}.hex.center {background: #F9A825; color: white;}.stats {margin: 20px 0; font-size: 14px; color: #666;}.rules {text-align: left; background: #FFF8E1; padding: 15px; border-radius: 10px; margin-top: 20px;}.rules h3 {margin-top: 0; color: #F9A825;}.rules ul {margin: 0; padding-left: 20px;}</style></head><body><h1>Spelling Bee</h1><div class='honeycomb'><div class='hex center'>A</div><div class='hex'>C</div><div class='hex'>H</div><div class='hex'>E</div><div class='hex'>J</div><div class='hex'>O</div><div class='hex'>D</div></div><div class='stats'>53 words | 200 possible points</div><div class='rules'><h3>How to Play:</h3><ul><li>Create words using the letters shown</li><li>Words must contain the center letter (yellow)</li><li>Words must be at least 4 letters long</li><li>Letters can be used more than once</li><li>4-letter words = 1 point</li><li>Longer words = 1 point per letter</li><li>Pangrams (use all 7 letters) = +7 bonus points</li></ul></div></body></html>",
"image": {
"imageName": "0f8f8f2c-ac7d-46f9-b5fc-e2d777117f13.png",
"format": ".png",
"downloadURL": "https://storage.googleapis.com/apiverve/APIData/spellingbee/0f8f8f2c-ac7d-46f9-b5fc-e2d777117f13.png?GoogleAccessId=635500398038-compute%40developer.gserviceaccount.com&Expires=1766010561&Signature=cHvKHU7wb0RwJKVI6FGIS8%2B8%2BencmsoWEuH%2FT2cQsUjPTY%2FFLhSzipEyHex5HCEg5q8jEiRB3wZDXF9lyONQTVSNdZp0Xpm6Fw69tZZDvCeHePwa1v0h0rktZ6PLSbRswtr0vlHDZL3JPBl7i%2FsxM8QxTdGDOs7cyULy3d9qEyuPPIEDkOF1cnQce2qThIhZ%2BHieQNsBVX193NhyeCrgfRVQVPiFYo4ngSbOrMJKpVm2aSbtykG6Hyw%2B8RnQqkBqA5JB8XaB2ESBg0ZU8ldZUNoHd4cMoC2Oz4rI5FkLuQ2tzju9FVsxsCXiVvJCPd9jsWOlhQ7T1NVp%2FwV107k38w%3D%3D",
"expires": 1766010561052
}
}
}
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 |
|---|---|---|---|
centerLetter | string | A | The required center letter for all puzzle words |
outerLetters | array | ["C","H","E"] | Six letters surrounding the center letter in hexagon |
allLetters | array | ["A","C","H"] | Complete set of seven letters (center plus outer) |
difficulty | string | medium | Puzzle difficulty level (easy, medium, or hard) |
wordCountPremium | number | 53 | Total number of valid words in puzzle |
pangramCountPremium | number | 0 | Number of pangrams (words using all letters) |
maxPointsPremium | number | 200 | Maximum possible points achievable in puzzle |
wordsPremium | array[53] | Array of valid word objects with points and pangram status | |
words.0.wordPremium | string | DEADHEADED | Valid word that can be formed using puzzle letters |
words.0.pointsPremium | number | 10 | Points awarded for solving this word |
words.0.isPangramPremium | boolean | false | Whether word uses all seven puzzle letters |
htmlPremium | string | <html><head><title>Spelling Bee</title><style>body {font-family: Arial, sans-serif; padding: 20px; max-width: 500px; margin: 0 auto; text-align: center;}h1 {color: #F9A825;}.honeycomb {display: flex; flex-wrap: wrap; justify-content: center; max-width: 200px; margin: 30px auto;}.hex {width: 60px; height: 52px; background: #E0E0E0; margin: 2px; display: flex; align-items: center; justify-content: center; font-size: 24px; font-weight: bold; clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);}.hex.center {background: #F9A825; color: white;}.stats {margin: 20px 0; font-size: 14px; color: #666;}.rules {text-align: left; background: #FFF8E1; padding: 15px; border-radius: 10px; margin-top: 20px;}.rules h3 {margin-top: 0; color: #F9A825;}.rules ul {margin: 0; padding-left: 20px;}</style></head><body><h1>Spelling Bee</h1><div class='honeycomb'><div class='hex center'>A</div><div class='hex'>C</div><div class='hex'>H</div><div class='hex'>E</div><div class='hex'>J</div><div class='hex'>O</div><div class='hex'>D</div></div><div class='stats'>53 words | 200 possible points</div><div class='rules'><h3>How to Play:</h3><ul><li>Create words using the letters shown</li><li>Words must contain the center letter (yellow)</li><li>Words must be at least 4 letters long</li><li>Letters can be used more than once</li><li>4-letter words = 1 point</li><li>Longer words = 1 point per letter</li><li>Pangrams (use all 7 letters) = +7 bonus points</li></ul></div></body></html> | Fully formatted HTML version with visual puzzle display |
imagePremium | object | {…} | The rendered puzzle image, present only when image=true is requested |
image.imageNamePremium | string | 0f8f8f2c-ac7d-46f9-b5fc-e2d777117f13.png | Unique filename of the generated puzzle image |
image.formatPremium | string | .png | Image file format (e.g., .png or .jpg) |
image.downloadURLPremium | string | https://storage.googleapis.com/apiverve/APIData/spellingbee/0f8f8f2c-ac7d-46f9-b5fc-e2d777117f13.png?GoogleAccessId=635500398038-compute%40developer.gserviceaccount.com&Expires=1766010561&Signature=cHvKHU7wb0RwJKVI6FGIS8%2B8%2BencmsoWEuH%2FT2cQsUjPTY%2FFLhSzipEyHex5HCEg5q8jEiRB3wZDXF9lyONQTVSNdZp0Xpm6Fw69tZZDvCeHePwa1v0h0rktZ6PLSbRswtr0vlHDZL3JPBl7i%2FsxM8QxTdGDOs7cyULy3d9qEyuPPIEDkOF1cnQce2qThIhZ%2BHieQNsBVX193NhyeCrgfRVQVPiFYo4ngSbOrMJKpVm2aSbtykG6Hyw%2B8RnQqkBqA5JB8XaB2ESBg0ZU8ldZUNoHd4cMoC2Oz4rI5FkLuQ2tzju9FVsxsCXiVvJCPd9jsWOlhQ7T1NVp%2FwV107k38w%3D%3D | Direct URL to download the generated puzzle image |
image.expiresPremium | number | 1766010561052 | Unix timestamp when download URL expires |
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 2 credits each time the tool actually runs; a model that reasons about the tool without calling it costs nothing.
Use cases
- Daily Puzzles
- Create daily spelling bee challenges for websites and apps
- Education
- Build vocabulary and spelling exercises
- Brain Training
- Develop word recognition and recall skills
- Mobile Games
- Power spelling bee game apps with fresh puzzles
Other ways to use Spelling Bee Generator Skill
Set up Spelling Bee Generator 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 Games: