[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-mastra-ai-mastra":3,"mdc-37z35z-key":35,"related-org-mastra-ai-mastra":842,"related-repo-mastra-ai-mastra":1014},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":24,"repoUrl":25,"updatedAt":26,"license":27,"forks":28,"topics":29,"repo":30,"sourceUrl":33,"mdContent":34},"mastra","build agents and workflows with Mastra","Comprehensive Mastra framework guide for building agents, workflows, tools, memory, workspaces, and storage with current APIs. Use for documentation lookup, API verification, TypeScript setup, common errors, migrations, and `mastra api` CLI tasks: inspect or call resources on local, Mastra platform, or remote servers.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"mastra-ai","Mastra AI","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fmastra-ai.png",[12,15,18,21],{"name":13,"slug":4,"type":14},"Mastra","tag",{"name":16,"slug":17,"type":14},"Documentation","documentation",{"name":19,"slug":20,"type":14},"Agents","agents",{"name":22,"slug":23,"type":14},"Workflow Automation","workflow-automation",69,"https:\u002F\u002Fgithub.com\u002Fmastra-ai\u002Fskills","2026-04-06T18:29:14.042352","Apache-2.0",4,[],{"repoUrl":25,"stars":24,"forks":28,"topics":31,"description":32},[],"Official agent skills for coding agents working with the Mastra AI framework","https:\u002F\u002Fgithub.com\u002Fmastra-ai\u002Fskills\u002Ftree\u002FHEAD\u002Fskills\u002Fmastra","---\nname: mastra\ndescription: \"Comprehensive Mastra framework guide for building agents, workflows, tools, memory, workspaces, and storage with current APIs. Use for documentation lookup, API verification, TypeScript setup, common errors, migrations, and `mastra api` CLI tasks: inspect or call resources on local, Mastra platform, or remote servers.\"\nlicense: Apache-2.0\nmetadata:\n  author: Mastra\n  version: \"2.0.0\"\n  repository: https:\u002F\u002Fgithub.com\u002Fmastra-ai\u002Fskills\n---\n\n# Mastra Framework Guide\n\nBuild AI applications with Mastra. This skill teaches you how to find current documentation and build agents and workflows.\n\n## Critical: Do not trust internal knowledge\n\nEverything you know about Mastra is likely outdated or wrong. Never rely on memory. Always verify against current documentation.\n\nYour training data contains obsolete APIs, deprecated patterns, and incorrect usage. Mastra evolves rapidly - APIs change between versions, constructor signatures shift, and patterns get refactored.\n\n## Prerequisites\n\nBefore writing any Mastra code, check if packages are installed:\n\n```bash\nls node_modules\u002F@mastra\u002F\n```\n\n- If packages exist: Use embedded docs first (most reliable)\n- If no packages: Install first or use remote docs\n\n## Resources\n\n### References\n\n| User Question                       | First Check                                                      | How To                                         |\n| ----------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------- |\n| Create\u002Finstall Mastra project     | [`references\u002Fcreate-mastra.md`](references\u002Fcreate-mastra.md)     | Setup guide with CLI and manual steps          |\n| Choose Agent\u002FWorkflow\u002FTool\u002FMemory\u002FStorage | [`references\u002Fcore-concepts.md`](references\u002Fcore-concepts.md) | Core concepts and when to use each primitive |\n| How do I use Agent\u002FWorkflow\u002FTool? | [`references\u002Fembedded-docs.md`](references\u002Fembedded-docs.md)     | Look up in `node_modules\u002F@mastra\u002F*\u002Fdist\u002Fdocs\u002F` |\n| How do I use X? (no packages)     | [`references\u002Fremote-docs.md`](references\u002Fremote-docs.md)         | Fetch from `https:\u002F\u002Fmastra.ai\u002Fllms.txt`        |\n| Choose or validate a model        | [`references\u002Fmodel-selection.md`](references\u002Fmodel-selection.md) | Model format and provider registry lookup      |\n| I'm getting an error...           | [`references\u002Fcommon-errors.md`](references\u002Fcommon-errors.md)     | Common errors and solutions                    |\n| Upgrade from v0.x to v1.x         | [`references\u002Fmigration-guide.md`](references\u002Fmigration-guide.md) | Version upgrade workflows                      |\n| Inspect\u002Fcall server resources via CLI | [`references\u002Fmastra-api.md`](references\u002Fmastra-api.md)       | `mastra api` CLI for local, Mastra platform, or remote servers |\n\n### Scripts\n\n- `scripts\u002Fprovider-registry.mjs`: Look up current providers and models available in the model router. Always run this before using a model to verify provider keys and model names.\n\n## Priority order for writing code\n\nNever write code without checking current docs first.\n\n1. Embedded docs first (if packages installed)\n\n   Look up current docs in `node_modules` for a package. This matches the exact installed version and is the most reliable source of truth. See [`references\u002Fembedded-docs.md`](references\u002Fembedded-docs.md).\n\n2. Source code second (if packages installed)\n\n   If embedded docs don't cover the question, inspect the installed source and type definitions. This is the source of truth when docs are missing or unclear. See [`references\u002Fembedded-docs.md`](references\u002Fembedded-docs.md).\n\n3. Remote docs third (if packages not installed)\n\n   Use the latest published docs when packages are not installed or when exploring new features. Remote docs may be ahead of the user's installed version. See [`references\u002Fremote-docs.md`](references\u002Fremote-docs.md).\n\n## Core concepts\n\nUse [`references\u002Fcore-concepts.md`](references\u002Fcore-concepts.md) when choosing between agents, workflows, tools, memory, and storage.\n\n- Agent: Use for open-ended tasks that make decisions and use tools.\n- Workflow: Use for defined multi-step processes.\n\n## Mastra Studio\n\nStudio is the interactive UI for building, testing, and managing agents, workflows, and tools. Use Studio when advising a human to inspect or debug visually.\n\nInside a Mastra project, run:\n\n```bash\nnpm run dev\n```\n\nThen open `http:\u002F\u002Flocalhost:4111` in a browser to show Mastra Studio to your human user.\n\n## Mastra API CLI\n\nUse `mastra api` to inspect or call resources on local dev servers, Mastra platform deployments, or remote Mastra endpoints. It is useful for agent-readable state, execution, traces, logs, scores, threads, and workflow operations. See [`references\u002Fmastra-api.md`](references\u002Fmastra-api.md) for usage patterns.\n\n## Critical requirements\n\n### TypeScript config\n\nMastra requires ES2022 modules. CommonJS will fail. See [`references\u002Fcreate-mastra.md`](references\u002Fcreate-mastra.md) for setup and [`references\u002Fcommon-errors.md`](references\u002Fcommon-errors.md) for troubleshooting.\n\n### Model format\n\nAlways use `\"provider\u002Fmodel-name\"` when defining models using Mastra's model router.\n\nWhen the user asks to use a model or provider, always run `scripts\u002Fprovider-registry.mjs` first to verify the provider key and model name are valid. Do not guess model names from memory as they change frequently. See [`references\u002Fmodel-selection.md`](references\u002Fmodel-selection.md).\n\n## When you see errors\n\nType errors often mean your knowledge is outdated.\n\nCommon signs of outdated knowledge:\n\n- `Property X does not exist on type Y`\n- `Cannot find module`\n- `Type mismatch` errors\n- Constructor parameter errors\n\nWhat to do:\n\n1. Check [`references\u002Fcommon-errors.md`](references\u002Fcommon-errors.md)\n2. Verify current API in embedded docs\n3. Don't assume the error is a user mistake - it might be your outdated knowledge\n\n## Development workflow\n\nAlways verify before writing code:\n\n1. Check whether Mastra packages are installed\n2. Look up current API\n   - If installed: Use embedded docs [`references\u002Fembedded-docs.md`](references\u002Fembedded-docs.md)\n   - If not: Use remote docs [`references\u002Fremote-docs.md`](references\u002Fremote-docs.md)\n3. Write code based on current docs\n4. Test with the project scripts or Studio when available\n",{"data":36,"body":39},{"name":4,"description":6,"license":27,"metadata":37},{"author":13,"version":38,"repository":25},"2.0.0",{"type":40,"children":41},"root",[42,51,57,64,69,74,80,85,115,130,136,143,395,401,415,421,426,497,503,518,531,537,542,547,572,585,591,612,618,624,649,655,668,689,695,700,705,742,747,773,779,784,836],{"type":43,"tag":44,"props":45,"children":47},"element","h1",{"id":46},"mastra-framework-guide",[48],{"type":49,"value":50},"text","Mastra Framework Guide",{"type":43,"tag":52,"props":53,"children":54},"p",{},[55],{"type":49,"value":56},"Build AI applications with Mastra. This skill teaches you how to find current documentation and build agents and workflows.",{"type":43,"tag":58,"props":59,"children":61},"h2",{"id":60},"critical-do-not-trust-internal-knowledge",[62],{"type":49,"value":63},"Critical: Do not trust internal knowledge",{"type":43,"tag":52,"props":65,"children":66},{},[67],{"type":49,"value":68},"Everything you know about Mastra is likely outdated or wrong. Never rely on memory. Always verify against current documentation.",{"type":43,"tag":52,"props":70,"children":71},{},[72],{"type":49,"value":73},"Your training data contains obsolete APIs, deprecated patterns, and incorrect usage. Mastra evolves rapidly - APIs change between versions, constructor signatures shift, and patterns get refactored.",{"type":43,"tag":58,"props":75,"children":77},{"id":76},"prerequisites",[78],{"type":49,"value":79},"Prerequisites",{"type":43,"tag":52,"props":81,"children":82},{},[83],{"type":49,"value":84},"Before writing any Mastra code, check if packages are installed:",{"type":43,"tag":86,"props":87,"children":92},"pre",{"className":88,"code":89,"language":90,"meta":91,"style":91},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","ls node_modules\u002F@mastra\u002F\n","bash","",[93],{"type":43,"tag":94,"props":95,"children":96},"code",{"__ignoreMap":91},[97],{"type":43,"tag":98,"props":99,"children":102},"span",{"class":100,"line":101},"line",1,[103,109],{"type":43,"tag":98,"props":104,"children":106},{"style":105},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[107],{"type":49,"value":108},"ls",{"type":43,"tag":98,"props":110,"children":112},{"style":111},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[113],{"type":49,"value":114}," node_modules\u002F@mastra\u002F\n",{"type":43,"tag":116,"props":117,"children":118},"ul",{},[119,125],{"type":43,"tag":120,"props":121,"children":122},"li",{},[123],{"type":49,"value":124},"If packages exist: Use embedded docs first (most reliable)",{"type":43,"tag":120,"props":126,"children":127},{},[128],{"type":49,"value":129},"If no packages: Install first or use remote docs",{"type":43,"tag":58,"props":131,"children":133},{"id":132},"resources",[134],{"type":49,"value":135},"Resources",{"type":43,"tag":137,"props":138,"children":140},"h3",{"id":139},"references",[141],{"type":49,"value":142},"References",{"type":43,"tag":144,"props":145,"children":146},"table",{},[147,171],{"type":43,"tag":148,"props":149,"children":150},"thead",{},[151],{"type":43,"tag":152,"props":153,"children":154},"tr",{},[155,161,166],{"type":43,"tag":156,"props":157,"children":158},"th",{},[159],{"type":49,"value":160},"User Question",{"type":43,"tag":156,"props":162,"children":163},{},[164],{"type":49,"value":165},"First Check",{"type":43,"tag":156,"props":167,"children":168},{},[169],{"type":49,"value":170},"How To",{"type":43,"tag":172,"props":173,"children":174},"tbody",{},[175,202,227,258,289,314,339,364],{"type":43,"tag":152,"props":176,"children":177},{},[178,184,197],{"type":43,"tag":179,"props":180,"children":181},"td",{},[182],{"type":49,"value":183},"Create\u002Finstall Mastra project",{"type":43,"tag":179,"props":185,"children":186},{},[187],{"type":43,"tag":188,"props":189,"children":191},"a",{"href":190},"references\u002Fcreate-mastra.md",[192],{"type":43,"tag":94,"props":193,"children":195},{"className":194},[],[196],{"type":49,"value":190},{"type":43,"tag":179,"props":198,"children":199},{},[200],{"type":49,"value":201},"Setup guide with CLI and manual steps",{"type":43,"tag":152,"props":203,"children":204},{},[205,210,222],{"type":43,"tag":179,"props":206,"children":207},{},[208],{"type":49,"value":209},"Choose Agent\u002FWorkflow\u002FTool\u002FMemory\u002FStorage",{"type":43,"tag":179,"props":211,"children":212},{},[213],{"type":43,"tag":188,"props":214,"children":216},{"href":215},"references\u002Fcore-concepts.md",[217],{"type":43,"tag":94,"props":218,"children":220},{"className":219},[],[221],{"type":49,"value":215},{"type":43,"tag":179,"props":223,"children":224},{},[225],{"type":49,"value":226},"Core concepts and when to use each primitive",{"type":43,"tag":152,"props":228,"children":229},{},[230,235,247],{"type":43,"tag":179,"props":231,"children":232},{},[233],{"type":49,"value":234},"How do I use Agent\u002FWorkflow\u002FTool?",{"type":43,"tag":179,"props":236,"children":237},{},[238],{"type":43,"tag":188,"props":239,"children":241},{"href":240},"references\u002Fembedded-docs.md",[242],{"type":43,"tag":94,"props":243,"children":245},{"className":244},[],[246],{"type":49,"value":240},{"type":43,"tag":179,"props":248,"children":249},{},[250,252],{"type":49,"value":251},"Look up in ",{"type":43,"tag":94,"props":253,"children":255},{"className":254},[],[256],{"type":49,"value":257},"node_modules\u002F@mastra\u002F*\u002Fdist\u002Fdocs\u002F",{"type":43,"tag":152,"props":259,"children":260},{},[261,266,278],{"type":43,"tag":179,"props":262,"children":263},{},[264],{"type":49,"value":265},"How do I use X? (no packages)",{"type":43,"tag":179,"props":267,"children":268},{},[269],{"type":43,"tag":188,"props":270,"children":272},{"href":271},"references\u002Fremote-docs.md",[273],{"type":43,"tag":94,"props":274,"children":276},{"className":275},[],[277],{"type":49,"value":271},{"type":43,"tag":179,"props":279,"children":280},{},[281,283],{"type":49,"value":282},"Fetch from ",{"type":43,"tag":94,"props":284,"children":286},{"className":285},[],[287],{"type":49,"value":288},"https:\u002F\u002Fmastra.ai\u002Fllms.txt",{"type":43,"tag":152,"props":290,"children":291},{},[292,297,309],{"type":43,"tag":179,"props":293,"children":294},{},[295],{"type":49,"value":296},"Choose or validate a model",{"type":43,"tag":179,"props":298,"children":299},{},[300],{"type":43,"tag":188,"props":301,"children":303},{"href":302},"references\u002Fmodel-selection.md",[304],{"type":43,"tag":94,"props":305,"children":307},{"className":306},[],[308],{"type":49,"value":302},{"type":43,"tag":179,"props":310,"children":311},{},[312],{"type":49,"value":313},"Model format and provider registry lookup",{"type":43,"tag":152,"props":315,"children":316},{},[317,322,334],{"type":43,"tag":179,"props":318,"children":319},{},[320],{"type":49,"value":321},"I'm getting an error...",{"type":43,"tag":179,"props":323,"children":324},{},[325],{"type":43,"tag":188,"props":326,"children":328},{"href":327},"references\u002Fcommon-errors.md",[329],{"type":43,"tag":94,"props":330,"children":332},{"className":331},[],[333],{"type":49,"value":327},{"type":43,"tag":179,"props":335,"children":336},{},[337],{"type":49,"value":338},"Common errors and solutions",{"type":43,"tag":152,"props":340,"children":341},{},[342,347,359],{"type":43,"tag":179,"props":343,"children":344},{},[345],{"type":49,"value":346},"Upgrade from v0.x to v1.x",{"type":43,"tag":179,"props":348,"children":349},{},[350],{"type":43,"tag":188,"props":351,"children":353},{"href":352},"references\u002Fmigration-guide.md",[354],{"type":43,"tag":94,"props":355,"children":357},{"className":356},[],[358],{"type":49,"value":352},{"type":43,"tag":179,"props":360,"children":361},{},[362],{"type":49,"value":363},"Version upgrade workflows",{"type":43,"tag":152,"props":365,"children":366},{},[367,372,384],{"type":43,"tag":179,"props":368,"children":369},{},[370],{"type":49,"value":371},"Inspect\u002Fcall server resources via CLI",{"type":43,"tag":179,"props":373,"children":374},{},[375],{"type":43,"tag":188,"props":376,"children":378},{"href":377},"references\u002Fmastra-api.md",[379],{"type":43,"tag":94,"props":380,"children":382},{"className":381},[],[383],{"type":49,"value":377},{"type":43,"tag":179,"props":385,"children":386},{},[387,393],{"type":43,"tag":94,"props":388,"children":390},{"className":389},[],[391],{"type":49,"value":392},"mastra api",{"type":49,"value":394}," CLI for local, Mastra platform, or remote servers",{"type":43,"tag":137,"props":396,"children":398},{"id":397},"scripts",[399],{"type":49,"value":400},"Scripts",{"type":43,"tag":116,"props":402,"children":403},{},[404],{"type":43,"tag":120,"props":405,"children":406},{},[407,413],{"type":43,"tag":94,"props":408,"children":410},{"className":409},[],[411],{"type":49,"value":412},"scripts\u002Fprovider-registry.mjs",{"type":49,"value":414},": Look up current providers and models available in the model router. Always run this before using a model to verify provider keys and model names.",{"type":43,"tag":58,"props":416,"children":418},{"id":417},"priority-order-for-writing-code",[419],{"type":49,"value":420},"Priority order for writing code",{"type":43,"tag":52,"props":422,"children":423},{},[424],{"type":49,"value":425},"Never write code without checking current docs first.",{"type":43,"tag":427,"props":428,"children":429},"ol",{},[430,459,478],{"type":43,"tag":120,"props":431,"children":432},{},[433,435,439,441,447,449,457],{"type":49,"value":434},"Embedded docs first (if packages installed)",{"type":43,"tag":436,"props":437,"children":438},"br",{},[],{"type":49,"value":440},"Look up current docs in ",{"type":43,"tag":94,"props":442,"children":444},{"className":443},[],[445],{"type":49,"value":446},"node_modules",{"type":49,"value":448}," for a package. This matches the exact installed version and is the most reliable source of truth. See ",{"type":43,"tag":188,"props":450,"children":451},{"href":240},[452],{"type":43,"tag":94,"props":453,"children":455},{"className":454},[],[456],{"type":49,"value":240},{"type":49,"value":458},".",{"type":43,"tag":120,"props":460,"children":461},{},[462,464,467,469,477],{"type":49,"value":463},"Source code second (if packages installed)",{"type":43,"tag":436,"props":465,"children":466},{},[],{"type":49,"value":468},"If embedded docs don't cover the question, inspect the installed source and type definitions. This is the source of truth when docs are missing or unclear. See ",{"type":43,"tag":188,"props":470,"children":471},{"href":240},[472],{"type":43,"tag":94,"props":473,"children":475},{"className":474},[],[476],{"type":49,"value":240},{"type":49,"value":458},{"type":43,"tag":120,"props":479,"children":480},{},[481,483,486,488,496],{"type":49,"value":482},"Remote docs third (if packages not installed)",{"type":43,"tag":436,"props":484,"children":485},{},[],{"type":49,"value":487},"Use the latest published docs when packages are not installed or when exploring new features. Remote docs may be ahead of the user's installed version. See ",{"type":43,"tag":188,"props":489,"children":490},{"href":271},[491],{"type":43,"tag":94,"props":492,"children":494},{"className":493},[],[495],{"type":49,"value":271},{"type":49,"value":458},{"type":43,"tag":58,"props":498,"children":500},{"id":499},"core-concepts",[501],{"type":49,"value":502},"Core concepts",{"type":43,"tag":52,"props":504,"children":505},{},[506,508,516],{"type":49,"value":507},"Use ",{"type":43,"tag":188,"props":509,"children":510},{"href":215},[511],{"type":43,"tag":94,"props":512,"children":514},{"className":513},[],[515],{"type":49,"value":215},{"type":49,"value":517}," when choosing between agents, workflows, tools, memory, and storage.",{"type":43,"tag":116,"props":519,"children":520},{},[521,526],{"type":43,"tag":120,"props":522,"children":523},{},[524],{"type":49,"value":525},"Agent: Use for open-ended tasks that make decisions and use tools.",{"type":43,"tag":120,"props":527,"children":528},{},[529],{"type":49,"value":530},"Workflow: Use for defined multi-step processes.",{"type":43,"tag":58,"props":532,"children":534},{"id":533},"mastra-studio",[535],{"type":49,"value":536},"Mastra Studio",{"type":43,"tag":52,"props":538,"children":539},{},[540],{"type":49,"value":541},"Studio is the interactive UI for building, testing, and managing agents, workflows, and tools. Use Studio when advising a human to inspect or debug visually.",{"type":43,"tag":52,"props":543,"children":544},{},[545],{"type":49,"value":546},"Inside a Mastra project, run:",{"type":43,"tag":86,"props":548,"children":550},{"className":88,"code":549,"language":90,"meta":91,"style":91},"npm run dev\n",[551],{"type":43,"tag":94,"props":552,"children":553},{"__ignoreMap":91},[554],{"type":43,"tag":98,"props":555,"children":556},{"class":100,"line":101},[557,562,567],{"type":43,"tag":98,"props":558,"children":559},{"style":105},[560],{"type":49,"value":561},"npm",{"type":43,"tag":98,"props":563,"children":564},{"style":111},[565],{"type":49,"value":566}," run",{"type":43,"tag":98,"props":568,"children":569},{"style":111},[570],{"type":49,"value":571}," dev\n",{"type":43,"tag":52,"props":573,"children":574},{},[575,577,583],{"type":49,"value":576},"Then open ",{"type":43,"tag":94,"props":578,"children":580},{"className":579},[],[581],{"type":49,"value":582},"http:\u002F\u002Flocalhost:4111",{"type":49,"value":584}," in a browser to show Mastra Studio to your human user.",{"type":43,"tag":58,"props":586,"children":588},{"id":587},"mastra-api-cli",[589],{"type":49,"value":590},"Mastra API CLI",{"type":43,"tag":52,"props":592,"children":593},{},[594,595,600,602,610],{"type":49,"value":507},{"type":43,"tag":94,"props":596,"children":598},{"className":597},[],[599],{"type":49,"value":392},{"type":49,"value":601}," to inspect or call resources on local dev servers, Mastra platform deployments, or remote Mastra endpoints. It is useful for agent-readable state, execution, traces, logs, scores, threads, and workflow operations. See ",{"type":43,"tag":188,"props":603,"children":604},{"href":377},[605],{"type":43,"tag":94,"props":606,"children":608},{"className":607},[],[609],{"type":49,"value":377},{"type":49,"value":611}," for usage patterns.",{"type":43,"tag":58,"props":613,"children":615},{"id":614},"critical-requirements",[616],{"type":49,"value":617},"Critical requirements",{"type":43,"tag":137,"props":619,"children":621},{"id":620},"typescript-config",[622],{"type":49,"value":623},"TypeScript config",{"type":43,"tag":52,"props":625,"children":626},{},[627,629,637,639,647],{"type":49,"value":628},"Mastra requires ES2022 modules. CommonJS will fail. See ",{"type":43,"tag":188,"props":630,"children":631},{"href":190},[632],{"type":43,"tag":94,"props":633,"children":635},{"className":634},[],[636],{"type":49,"value":190},{"type":49,"value":638}," for setup and ",{"type":43,"tag":188,"props":640,"children":641},{"href":327},[642],{"type":43,"tag":94,"props":643,"children":645},{"className":644},[],[646],{"type":49,"value":327},{"type":49,"value":648}," for troubleshooting.",{"type":43,"tag":137,"props":650,"children":652},{"id":651},"model-format",[653],{"type":49,"value":654},"Model format",{"type":43,"tag":52,"props":656,"children":657},{},[658,660,666],{"type":49,"value":659},"Always use ",{"type":43,"tag":94,"props":661,"children":663},{"className":662},[],[664],{"type":49,"value":665},"\"provider\u002Fmodel-name\"",{"type":49,"value":667}," when defining models using Mastra's model router.",{"type":43,"tag":52,"props":669,"children":670},{},[671,673,678,680,688],{"type":49,"value":672},"When the user asks to use a model or provider, always run ",{"type":43,"tag":94,"props":674,"children":676},{"className":675},[],[677],{"type":49,"value":412},{"type":49,"value":679}," first to verify the provider key and model name are valid. Do not guess model names from memory as they change frequently. See ",{"type":43,"tag":188,"props":681,"children":682},{"href":302},[683],{"type":43,"tag":94,"props":684,"children":686},{"className":685},[],[687],{"type":49,"value":302},{"type":49,"value":458},{"type":43,"tag":58,"props":690,"children":692},{"id":691},"when-you-see-errors",[693],{"type":49,"value":694},"When you see errors",{"type":43,"tag":52,"props":696,"children":697},{},[698],{"type":49,"value":699},"Type errors often mean your knowledge is outdated.",{"type":43,"tag":52,"props":701,"children":702},{},[703],{"type":49,"value":704},"Common signs of outdated knowledge:",{"type":43,"tag":116,"props":706,"children":707},{},[708,717,726,737],{"type":43,"tag":120,"props":709,"children":710},{},[711],{"type":43,"tag":94,"props":712,"children":714},{"className":713},[],[715],{"type":49,"value":716},"Property X does not exist on type Y",{"type":43,"tag":120,"props":718,"children":719},{},[720],{"type":43,"tag":94,"props":721,"children":723},{"className":722},[],[724],{"type":49,"value":725},"Cannot find module",{"type":43,"tag":120,"props":727,"children":728},{},[729,735],{"type":43,"tag":94,"props":730,"children":732},{"className":731},[],[733],{"type":49,"value":734},"Type mismatch",{"type":49,"value":736}," errors",{"type":43,"tag":120,"props":738,"children":739},{},[740],{"type":49,"value":741},"Constructor parameter errors",{"type":43,"tag":52,"props":743,"children":744},{},[745],{"type":49,"value":746},"What to do:",{"type":43,"tag":427,"props":748,"children":749},{},[750,763,768],{"type":43,"tag":120,"props":751,"children":752},{},[753,755],{"type":49,"value":754},"Check ",{"type":43,"tag":188,"props":756,"children":757},{"href":327},[758],{"type":43,"tag":94,"props":759,"children":761},{"className":760},[],[762],{"type":49,"value":327},{"type":43,"tag":120,"props":764,"children":765},{},[766],{"type":49,"value":767},"Verify current API in embedded docs",{"type":43,"tag":120,"props":769,"children":770},{},[771],{"type":49,"value":772},"Don't assume the error is a user mistake - it might be your outdated knowledge",{"type":43,"tag":58,"props":774,"children":776},{"id":775},"development-workflow",[777],{"type":49,"value":778},"Development workflow",{"type":43,"tag":52,"props":780,"children":781},{},[782],{"type":49,"value":783},"Always verify before writing code:",{"type":43,"tag":427,"props":785,"children":786},{},[787,792,826,831],{"type":43,"tag":120,"props":788,"children":789},{},[790],{"type":49,"value":791},"Check whether Mastra packages are installed",{"type":43,"tag":120,"props":793,"children":794},{},[795,797],{"type":49,"value":796},"Look up current API\n",{"type":43,"tag":116,"props":798,"children":799},{},[800,813],{"type":43,"tag":120,"props":801,"children":802},{},[803,805],{"type":49,"value":804},"If installed: Use embedded docs ",{"type":43,"tag":188,"props":806,"children":807},{"href":240},[808],{"type":43,"tag":94,"props":809,"children":811},{"className":810},[],[812],{"type":49,"value":240},{"type":43,"tag":120,"props":814,"children":815},{},[816,818],{"type":49,"value":817},"If not: Use remote docs ",{"type":43,"tag":188,"props":819,"children":820},{"href":271},[821],{"type":43,"tag":94,"props":822,"children":824},{"className":823},[],[825],{"type":49,"value":271},{"type":43,"tag":120,"props":827,"children":828},{},[829],{"type":49,"value":830},"Write code based on current docs",{"type":43,"tag":120,"props":832,"children":833},{},[834],{"type":49,"value":835},"Test with the project scripts or Studio when available",{"type":43,"tag":837,"props":838,"children":839},"style",{},[840],{"type":49,"value":841},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":843,"total":1013},[844,864,879,894,912,924,937,952,967,974,989,1001],{"slug":845,"name":845,"fn":846,"description":847,"org":848,"tags":849,"stars":861,"repoUrl":862,"updatedAt":863},"agent-prompt-quality-bar","audit agent system prompts","Universal quality bar and final audit rubric for any agent system prompt. Activate this whenever you are unsure which archetype skill applies, or as a final review pass before writing the system prompt. It defines the required run contract, completion criteria, fallback paths, response format, and anti-patterns every produced agent prompt must satisfy.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[850,851,854,855,858],{"name":19,"slug":20,"type":14},{"name":852,"slug":853,"type":14},"Code Analysis","code-analysis",{"name":13,"slug":4,"type":14},{"name":856,"slug":857,"type":14},"Quality Assurance","quality-assurance",{"name":859,"slug":860,"type":14},"Validation","validation",26144,"https:\u002F\u002Fgithub.com\u002Fmastra-ai\u002Fmastra","2026-05-28T06:59:59.229153",{"slug":865,"name":865,"fn":866,"description":867,"org":868,"tags":869,"stars":861,"repoUrl":862,"updatedAt":878},"coding-agent","build coding and refactoring agents","Authoring playbook for building agents that write, edit, review, or refactor code. Use this when the user asks for an agent that writes scripts, generates code, reviews pull requests, refactors a codebase, fixes bugs, implements features, writes tests, or works with programming languages such as Python, TypeScript, JavaScript, Go, Rust, SQL, or shell.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[870,871,874,877],{"name":19,"slug":20,"type":14},{"name":872,"slug":873,"type":14},"Code Review","code-review",{"name":875,"slug":876,"type":14},"Engineering","engineering",{"name":13,"slug":4,"type":14},"2026-05-28T06:59:50.646245",{"slug":880,"name":880,"fn":881,"description":882,"org":883,"tags":884,"stars":861,"repoUrl":862,"updatedAt":893},"content-writer-agent","build content writing agents","Authoring playbook for building agents that draft written content — blog posts, marketing copy, social media posts, newsletters, product descriptions, landing pages, or ad copy. Use this when the user wants an agent that writes, drafts, or rewrites text for publication or marketing.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[885,886,889,890],{"name":19,"slug":20,"type":14},{"name":887,"slug":888,"type":14},"Content Creation","content-creation",{"name":13,"slug":4,"type":14},{"name":891,"slug":892,"type":14},"Writing","writing","2026-05-28T06:59:55.53261",{"slug":895,"name":895,"fn":896,"description":897,"org":898,"tags":899,"stars":861,"repoUrl":862,"updatedAt":911},"customer-support-agent","build customer support agents","Authoring playbook for building agents that triage and reply to customer messages — support tickets, email inquiries, chat questions, refund requests, or product issues. Use this when the user wants an agent that handles inbound customer questions, drafts replies, escalates hard cases, summarizes tickets, or follows a support playbook.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[900,901,904,907,910],{"name":19,"slug":20,"type":14},{"name":902,"slug":903,"type":14},"Automation","automation",{"name":905,"slug":906,"type":14},"Communications","communications",{"name":908,"slug":909,"type":14},"Customer Support","customer-support",{"name":13,"slug":4,"type":14},"2026-05-28T06:59:58.014282",{"slug":913,"name":913,"fn":914,"description":915,"org":916,"tags":917,"stars":861,"repoUrl":862,"updatedAt":923},"generic-assistant","build general-purpose assistant agents","Fallback authoring playbook for building general-purpose personal assistant agents that do not fit a more specific archetype. Use this only after checking the other archetype skills (coding, spreadsheet, research, customer-support, content-writer, ops-automation). Examples include summarizing emails, drafting short answers, capturing notes, or generic personal-helper agents.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[918,919,920],{"name":19,"slug":20,"type":14},{"name":13,"slug":4,"type":14},{"name":921,"slug":922,"type":14},"Productivity","productivity","2026-05-28T06:59:54.314255",{"slug":925,"name":925,"fn":926,"description":927,"org":928,"tags":929,"stars":861,"repoUrl":862,"updatedAt":936},"ops-automation-agent","build operations automation agents","Authoring playbook for building agents that automate recurring internal tasks — running scheduled workflows, syncing data between systems, posting notifications, processing inbound events, or executing operational runbooks. Use this when the user wants an agent that runs on a schedule, reacts to events, automates a process, syncs between tools, or handles ops\u002Finternal infrastructure.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[930,931,932,933],{"name":19,"slug":20,"type":14},{"name":902,"slug":903,"type":14},{"name":13,"slug":4,"type":14},{"name":934,"slug":935,"type":14},"Operations","operations","2026-05-28T06:59:56.777052",{"slug":938,"name":938,"fn":939,"description":940,"org":941,"tags":942,"stars":861,"repoUrl":862,"updatedAt":951},"research-agent","build research and synthesis agents","Authoring playbook for building agents that search, read, and synthesize information into a report. Use this when the user wants an agent to research a topic, summarize sources, compare options, do competitive analysis, monitor news, generate briefs, or pull together a citation-backed report from the web or internal documents.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[943,944,945,948],{"name":19,"slug":20,"type":14},{"name":13,"slug":4,"type":14},{"name":946,"slug":947,"type":14},"Research","research",{"name":949,"slug":950,"type":14},"Summarization","summarization","2026-05-28T06:59:51.87438",{"slug":953,"name":953,"fn":954,"description":955,"org":956,"tags":957,"stars":861,"repoUrl":862,"updatedAt":966},"spreadsheet-agent","build spreadsheet and data agents","Authoring playbook for building agents that read or write tabular data — Google Sheets, Microsoft Excel, CSV, Airtable, Notion databases, or any spreadsheet. Use this when the user wants an agent that updates rows, reads cells, computes totals, generates reports from sheets, syncs data between spreadsheets, or automates anything involving rows, columns, ranges, or worksheets.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[958,959,962,963],{"name":19,"slug":20,"type":14},{"name":960,"slug":961,"type":14},"Data Analysis","data-analysis",{"name":13,"slug":4,"type":14},{"name":964,"slug":965,"type":14},"Spreadsheets","spreadsheets","2026-05-28T06:59:53.096103",{"slug":4,"name":4,"fn":5,"description":6,"org":968,"tags":969,"stars":24,"repoUrl":25,"updatedAt":26},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[970,971,972,973],{"name":19,"slug":20,"type":14},{"name":16,"slug":17,"type":14},{"name":13,"slug":4,"type":14},{"name":22,"slug":23,"type":14},{"slug":975,"name":975,"fn":976,"description":977,"org":978,"tags":979,"stars":986,"repoUrl":987,"updatedAt":988},"infinite-moves","execute autonomous tasks with Infinite Moves","Bridges to the infinite-moves plugin for autonomous task execution. Activates when user mentions tasks, backlog, dev loop, ideate, generate tasks, sweep debt, or wants continuous development. Knows how to invoke \u002Fmoves commands without user typing them.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[980,981,982,983],{"name":19,"slug":20,"type":14},{"name":902,"slug":903,"type":14},{"name":13,"slug":4,"type":14},{"name":984,"slug":985,"type":14},"Task Management","task-management",2,"https:\u002F\u002Fgithub.com\u002Fmastra-ai\u002Finfinite-moves","2026-04-06T18:29:17.851005",{"slug":990,"name":990,"fn":991,"description":992,"org":993,"tags":994,"stars":998,"repoUrl":999,"updatedAt":1000},"general-tasks","execute general file and shell tasks","Default process for handling open-ended tasks that touch files, the shell, or the web.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[995,996,997],{"name":902,"slug":903,"type":14},{"name":875,"slug":876,"type":14},{"name":13,"slug":4,"type":14},0,"https:\u002F\u002Fgithub.com\u002Fmastra-ai\u002Ftemplate-claw-assistant","2026-06-17T08:25:16.583944",{"slug":1002,"name":1002,"fn":1003,"description":1004,"org":1005,"tags":1006,"stars":998,"repoUrl":999,"updatedAt":1012},"research-tasks","conduct web research and save findings","Process for answering research questions using the web and saving findings into the workspace.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1007,1008,1009],{"name":13,"slug":4,"type":14},{"name":946,"slug":947,"type":14},{"name":1010,"slug":1011,"type":14},"Search","search","2026-06-17T08:25:17.925434",12,{"items":1015,"total":101},[1016],{"slug":4,"name":4,"fn":5,"description":6,"org":1017,"tags":1018,"stars":24,"repoUrl":25,"updatedAt":26},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1019,1020,1021,1022],{"name":19,"slug":20,"type":14},{"name":16,"slug":17,"type":14},{"name":13,"slug":4,"type":14},{"name":22,"slug":23,"type":14}]