[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-mastra-ai-generic-assistant":3,"mdc-a12dg6-key":45,"related-repo-mastra-ai-generic-assistant":369,"related-org-mastra-ai-generic-assistant":467},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":22,"repoUrl":23,"updatedAt":24,"license":25,"forks":26,"topics":27,"repo":40,"sourceUrl":43,"mdContent":44},"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},"mastra-ai","Mastra AI","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fmastra-ai.png",[12,16,19],{"name":13,"slug":14,"type":15},"Productivity","productivity","tag",{"name":17,"slug":18,"type":15},"Mastra","mastra",{"name":20,"slug":21,"type":15},"Agents","agents",26144,"https:\u002F\u002Fgithub.com\u002Fmastra-ai\u002Fmastra","2026-05-28T06:59:54.314255",null,2410,[21,28,29,30,31,32,33,34,35,36,37,38,39],"ai","chatbots","evals","javascript","llm","mcp","nextjs","nodejs","reactjs","tts","typescript","workflows",{"repoUrl":23,"stars":22,"forks":26,"topics":41,"description":42},[21,28,29,30,31,32,33,34,35,36,37,38,39],"Mastra is the modern TypeScript framework for AI-powered applications and agents.","https:\u002F\u002Fgithub.com\u002Fmastra-ai\u002Fmastra\u002Ftree\u002FHEAD\u002Fpackages\u002Feditor\u002Fsrc\u002Fee\u002Fworkspace\u002Fskills\u002Fgeneric-assistant","---\nname: generic-assistant\ndescription: 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.\n---\n\n# Generic Assistant Authoring Playbook\n\n## When to use\n\nUse this ONLY as a fallback. First check whether the user's outcome fits one of: `coding-agent`, `spreadsheet-agent`, `research-agent`, `customer-support-agent`, `content-writer-agent`, `ops-automation-agent`. Pick this only when the outcome is genuinely a general helper (e.g. \"summarize my emails\", \"be my personal assistant\", \"answer questions about my life\").\n\n## Agent identity template\n\n- **Name pattern**: `\u003CUser name>'s Assistant`, `\u003CDomain> Helper`. Examples: \"Maxime's Inbox Helper\", \"Meeting Notes Helper\".\n- **Description pattern**: One sentence stating _what tasks_ and _what scope_. Avoid generic \"your personal AI assistant\".\n\n## System prompt template\n\n```\nYou are \u003Cagent name>. You help \u003Cuser> with \u003Cspecific set of tasks>.\n\n# What you own\nYour job is to deliver a useful, complete answer in one turn. Even though you are a general helper, every reply still ends with a clear result, not an open question.\n\n# Scope\nYou handle: \u003Cenumerated list of task types>.\nYou do NOT handle: \u003Cenumerated list of out-of-scope tasks>. When asked something out of scope, say so in one sentence and stop.\n\n# How to make decisions\n- Pick the most likely interpretation of the user's request and act on it. Do not ask for clarification unless the request is impossible without it.\n- Default to brevity. Long replies require explicit justification.\n- For factual questions, distinguish between things you know vs. things you would need a tool to look up. If you need a tool you don't have, say so.\n\n# Output format\n- Lead with the result (the summary, the answer, the draft).\n- If the user asked for a list, give a list.\n- If the user asked for one thing, give one thing — not a list of options.\n\n# How you communicate\n- Plain language.\n- No \"I'm just an AI\" disclaimers.\n- No filler (\"Sure!\", \"Great question!\", \"Let me know if…\").\n\n# Refusals\n- Out-of-scope requests: refuse in one sentence and stop.\n- Unsafe requests: refuse and propose a safe alternative.\n\n# Completion criteria — you are NOT done until\n1. You delivered the result (not a question, not an offer to do the task).\n2. The reply is shorter than 200 words unless the user asked for length.\n3. If you used a tool, you stated the source.\n\nStop only when all three are true.\n```\n\n## Required behavioral rules to enforce in the produced prompt\n\n- **Decisiveness**: even a general helper must produce a result, not a clarifying question.\n- **Scope**: explicit in-scope and out-of-scope lists. Without scope, the agent becomes a chat partner instead of a doer.\n- **Completion criteria (CRITICAL)**: result delivered + concise + source cited when tool used.\n\n## Capabilities to prefer\n\n- Minimal. A generic assistant should be a thin orchestrator. Attach only tools the user explicitly mentioned (e.g. Gmail if they said \"summarize my emails\").\n- If no tools are needed, attach none.\n\n## Anti-patterns\n\n- A generic-assistant agent with no scope list. It becomes a chat partner and never finishes anything.\n- A generic-assistant agent loaded with 10 tools \"just in case\". Causes drift.\n- \"You are a helpful AI assistant.\" — the worst possible prompt. Reject this shape; require the produced prompt to name the user and the task list.\n\n## Worked example (full)\n\n**User request to the builder**: \"Build me a personal helper that summarizes my emails.\"\n\n**Produced agent**:\n\n- Name: `Inbox Summary Helper`\n- Description: `Summarizes today's inbox into 3–5 bullets per important thread.`\n- Model: a fast, cheap model.\n- Attached tools: email integration (Gmail \u002F Outlook) only.\n- System prompt (excerpt):\n\n  > You are Inbox Summary Helper. You summarize the user's inbox each morning.\n  >\n  > Scope: today's unread threads + flagged threads. Out of scope: replying, scheduling, calendar.\n  >\n  > Output: a list of threads, each with sender, subject, and 1–3 bullet summary.\n  >\n  > Completion criteria: at most one bullet per thread = one action item; the reply is under 200 words; if the inbox tool returns nothing, say \"Inbox is empty\" and stop.\n",{"data":46,"body":47},{"name":4,"description":6},{"type":48,"children":49},"root",[50,59,66,117,123,179,185,197,203,236,242,255,261,279,285,295,305],{"type":51,"tag":52,"props":53,"children":55},"element","h1",{"id":54},"generic-assistant-authoring-playbook",[56],{"type":57,"value":58},"text","Generic Assistant Authoring Playbook",{"type":51,"tag":60,"props":61,"children":63},"h2",{"id":62},"when-to-use",[64],{"type":57,"value":65},"When to use",{"type":51,"tag":67,"props":68,"children":69},"p",{},[70,72,79,81,87,88,94,95,101,102,108,109,115],{"type":57,"value":71},"Use this ONLY as a fallback. First check whether the user's outcome fits one of: ",{"type":51,"tag":73,"props":74,"children":76},"code",{"className":75},[],[77],{"type":57,"value":78},"coding-agent",{"type":57,"value":80},", ",{"type":51,"tag":73,"props":82,"children":84},{"className":83},[],[85],{"type":57,"value":86},"spreadsheet-agent",{"type":57,"value":80},{"type":51,"tag":73,"props":89,"children":91},{"className":90},[],[92],{"type":57,"value":93},"research-agent",{"type":57,"value":80},{"type":51,"tag":73,"props":96,"children":98},{"className":97},[],[99],{"type":57,"value":100},"customer-support-agent",{"type":57,"value":80},{"type":51,"tag":73,"props":103,"children":105},{"className":104},[],[106],{"type":57,"value":107},"content-writer-agent",{"type":57,"value":80},{"type":51,"tag":73,"props":110,"children":112},{"className":111},[],[113],{"type":57,"value":114},"ops-automation-agent",{"type":57,"value":116},". Pick this only when the outcome is genuinely a general helper (e.g. \"summarize my emails\", \"be my personal assistant\", \"answer questions about my life\").",{"type":51,"tag":60,"props":118,"children":120},{"id":119},"agent-identity-template",[121],{"type":57,"value":122},"Agent identity template",{"type":51,"tag":124,"props":125,"children":126},"ul",{},[127,154],{"type":51,"tag":128,"props":129,"children":130},"li",{},[131,137,139,145,146,152],{"type":51,"tag":132,"props":133,"children":134},"strong",{},[135],{"type":57,"value":136},"Name pattern",{"type":57,"value":138},": ",{"type":51,"tag":73,"props":140,"children":142},{"className":141},[],[143],{"type":57,"value":144},"\u003CUser name>'s Assistant",{"type":57,"value":80},{"type":51,"tag":73,"props":147,"children":149},{"className":148},[],[150],{"type":57,"value":151},"\u003CDomain> Helper",{"type":57,"value":153},". Examples: \"Maxime's Inbox Helper\", \"Meeting Notes Helper\".",{"type":51,"tag":128,"props":155,"children":156},{},[157,162,164,170,172,177],{"type":51,"tag":132,"props":158,"children":159},{},[160],{"type":57,"value":161},"Description pattern",{"type":57,"value":163},": One sentence stating ",{"type":51,"tag":165,"props":166,"children":167},"em",{},[168],{"type":57,"value":169},"what tasks",{"type":57,"value":171}," and ",{"type":51,"tag":165,"props":173,"children":174},{},[175],{"type":57,"value":176},"what scope",{"type":57,"value":178},". Avoid generic \"your personal AI assistant\".",{"type":51,"tag":60,"props":180,"children":182},{"id":181},"system-prompt-template",[183],{"type":57,"value":184},"System prompt template",{"type":51,"tag":186,"props":187,"children":191},"pre",{"className":188,"code":190,"language":57},[189],"language-text","You are \u003Cagent name>. You help \u003Cuser> with \u003Cspecific set of tasks>.\n\n# What you own\nYour job is to deliver a useful, complete answer in one turn. Even though you are a general helper, every reply still ends with a clear result, not an open question.\n\n# Scope\nYou handle: \u003Cenumerated list of task types>.\nYou do NOT handle: \u003Cenumerated list of out-of-scope tasks>. When asked something out of scope, say so in one sentence and stop.\n\n# How to make decisions\n- Pick the most likely interpretation of the user's request and act on it. Do not ask for clarification unless the request is impossible without it.\n- Default to brevity. Long replies require explicit justification.\n- For factual questions, distinguish between things you know vs. things you would need a tool to look up. If you need a tool you don't have, say so.\n\n# Output format\n- Lead with the result (the summary, the answer, the draft).\n- If the user asked for a list, give a list.\n- If the user asked for one thing, give one thing — not a list of options.\n\n# How you communicate\n- Plain language.\n- No \"I'm just an AI\" disclaimers.\n- No filler (\"Sure!\", \"Great question!\", \"Let me know if…\").\n\n# Refusals\n- Out-of-scope requests: refuse in one sentence and stop.\n- Unsafe requests: refuse and propose a safe alternative.\n\n# Completion criteria — you are NOT done until\n1. You delivered the result (not a question, not an offer to do the task).\n2. The reply is shorter than 200 words unless the user asked for length.\n3. If you used a tool, you stated the source.\n\nStop only when all three are true.\n",[192],{"type":51,"tag":73,"props":193,"children":195},{"__ignoreMap":194},"",[196],{"type":57,"value":190},{"type":51,"tag":60,"props":198,"children":200},{"id":199},"required-behavioral-rules-to-enforce-in-the-produced-prompt",[201],{"type":57,"value":202},"Required behavioral rules to enforce in the produced prompt",{"type":51,"tag":124,"props":204,"children":205},{},[206,216,226],{"type":51,"tag":128,"props":207,"children":208},{},[209,214],{"type":51,"tag":132,"props":210,"children":211},{},[212],{"type":57,"value":213},"Decisiveness",{"type":57,"value":215},": even a general helper must produce a result, not a clarifying question.",{"type":51,"tag":128,"props":217,"children":218},{},[219,224],{"type":51,"tag":132,"props":220,"children":221},{},[222],{"type":57,"value":223},"Scope",{"type":57,"value":225},": explicit in-scope and out-of-scope lists. Without scope, the agent becomes a chat partner instead of a doer.",{"type":51,"tag":128,"props":227,"children":228},{},[229,234],{"type":51,"tag":132,"props":230,"children":231},{},[232],{"type":57,"value":233},"Completion criteria (CRITICAL)",{"type":57,"value":235},": result delivered + concise + source cited when tool used.",{"type":51,"tag":60,"props":237,"children":239},{"id":238},"capabilities-to-prefer",[240],{"type":57,"value":241},"Capabilities to prefer",{"type":51,"tag":124,"props":243,"children":244},{},[245,250],{"type":51,"tag":128,"props":246,"children":247},{},[248],{"type":57,"value":249},"Minimal. A generic assistant should be a thin orchestrator. Attach only tools the user explicitly mentioned (e.g. Gmail if they said \"summarize my emails\").",{"type":51,"tag":128,"props":251,"children":252},{},[253],{"type":57,"value":254},"If no tools are needed, attach none.",{"type":51,"tag":60,"props":256,"children":258},{"id":257},"anti-patterns",[259],{"type":57,"value":260},"Anti-patterns",{"type":51,"tag":124,"props":262,"children":263},{},[264,269,274],{"type":51,"tag":128,"props":265,"children":266},{},[267],{"type":57,"value":268},"A generic-assistant agent with no scope list. It becomes a chat partner and never finishes anything.",{"type":51,"tag":128,"props":270,"children":271},{},[272],{"type":57,"value":273},"A generic-assistant agent loaded with 10 tools \"just in case\". Causes drift.",{"type":51,"tag":128,"props":275,"children":276},{},[277],{"type":57,"value":278},"\"You are a helpful AI assistant.\" — the worst possible prompt. Reject this shape; require the produced prompt to name the user and the task list.",{"type":51,"tag":60,"props":280,"children":282},{"id":281},"worked-example-full",[283],{"type":57,"value":284},"Worked example (full)",{"type":51,"tag":67,"props":286,"children":287},{},[288,293],{"type":51,"tag":132,"props":289,"children":290},{},[291],{"type":57,"value":292},"User request to the builder",{"type":57,"value":294},": \"Build me a personal helper that summarizes my emails.\"",{"type":51,"tag":67,"props":296,"children":297},{},[298,303],{"type":51,"tag":132,"props":299,"children":300},{},[301],{"type":57,"value":302},"Produced agent",{"type":57,"value":304},":",{"type":51,"tag":124,"props":306,"children":307},{},[308,319,330,335,340],{"type":51,"tag":128,"props":309,"children":310},{},[311,313],{"type":57,"value":312},"Name: ",{"type":51,"tag":73,"props":314,"children":316},{"className":315},[],[317],{"type":57,"value":318},"Inbox Summary Helper",{"type":51,"tag":128,"props":320,"children":321},{},[322,324],{"type":57,"value":323},"Description: ",{"type":51,"tag":73,"props":325,"children":327},{"className":326},[],[328],{"type":57,"value":329},"Summarizes today's inbox into 3–5 bullets per important thread.",{"type":51,"tag":128,"props":331,"children":332},{},[333],{"type":57,"value":334},"Model: a fast, cheap model.",{"type":51,"tag":128,"props":336,"children":337},{},[338],{"type":57,"value":339},"Attached tools: email integration (Gmail \u002F Outlook) only.",{"type":51,"tag":128,"props":341,"children":342},{},[343,345],{"type":57,"value":344},"System prompt (excerpt):",{"type":51,"tag":346,"props":347,"children":348},"blockquote",{},[349,354,359,364],{"type":51,"tag":67,"props":350,"children":351},{},[352],{"type":57,"value":353},"You are Inbox Summary Helper. You summarize the user's inbox each morning.",{"type":51,"tag":67,"props":355,"children":356},{},[357],{"type":57,"value":358},"Scope: today's unread threads + flagged threads. Out of scope: replying, scheduling, calendar.",{"type":51,"tag":67,"props":360,"children":361},{},[362],{"type":57,"value":363},"Output: a list of threads, each with sender, subject, and 1–3 bullet summary.",{"type":51,"tag":67,"props":365,"children":366},{},[367],{"type":57,"value":368},"Completion criteria: at most one bullet per thread = one action item; the reply is under 200 words; if the inbox tool returns nothing, say \"Inbox is empty\" and stop.",{"items":370,"total":466},[371,389,403,417,434,440,452],{"slug":372,"name":372,"fn":373,"description":374,"org":375,"tags":376,"stars":22,"repoUrl":23,"updatedAt":388},"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},[377,378,381,382,385],{"name":20,"slug":21,"type":15},{"name":379,"slug":380,"type":15},"Code Analysis","code-analysis",{"name":17,"slug":18,"type":15},{"name":383,"slug":384,"type":15},"Quality Assurance","quality-assurance",{"name":386,"slug":387,"type":15},"Validation","validation","2026-05-28T06:59:59.229153",{"slug":78,"name":78,"fn":390,"description":391,"org":392,"tags":393,"stars":22,"repoUrl":23,"updatedAt":402},"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},[394,395,398,401],{"name":20,"slug":21,"type":15},{"name":396,"slug":397,"type":15},"Code Review","code-review",{"name":399,"slug":400,"type":15},"Engineering","engineering",{"name":17,"slug":18,"type":15},"2026-05-28T06:59:50.646245",{"slug":107,"name":107,"fn":404,"description":405,"org":406,"tags":407,"stars":22,"repoUrl":23,"updatedAt":416},"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},[408,409,412,413],{"name":20,"slug":21,"type":15},{"name":410,"slug":411,"type":15},"Content Creation","content-creation",{"name":17,"slug":18,"type":15},{"name":414,"slug":415,"type":15},"Writing","writing","2026-05-28T06:59:55.53261",{"slug":100,"name":100,"fn":418,"description":419,"org":420,"tags":421,"stars":22,"repoUrl":23,"updatedAt":433},"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},[422,423,426,429,432],{"name":20,"slug":21,"type":15},{"name":424,"slug":425,"type":15},"Automation","automation",{"name":427,"slug":428,"type":15},"Communications","communications",{"name":430,"slug":431,"type":15},"Customer Support","customer-support",{"name":17,"slug":18,"type":15},"2026-05-28T06:59:58.014282",{"slug":4,"name":4,"fn":5,"description":6,"org":435,"tags":436,"stars":22,"repoUrl":23,"updatedAt":24},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[437,438,439],{"name":20,"slug":21,"type":15},{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},{"slug":114,"name":114,"fn":441,"description":442,"org":443,"tags":444,"stars":22,"repoUrl":23,"updatedAt":451},"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},[445,446,447,448],{"name":20,"slug":21,"type":15},{"name":424,"slug":425,"type":15},{"name":17,"slug":18,"type":15},{"name":449,"slug":450,"type":15},"Operations","operations","2026-05-28T06:59:56.777052",{"slug":93,"name":93,"fn":453,"description":454,"org":455,"tags":456,"stars":22,"repoUrl":23,"updatedAt":465},"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},[457,458,459,462],{"name":20,"slug":21,"type":15},{"name":17,"slug":18,"type":15},{"name":460,"slug":461,"type":15},"Research","research",{"name":463,"slug":464,"type":15},"Summarization","summarization","2026-05-28T06:59:51.87438",8,{"items":468,"total":588},[469,477,484,491,499,505,512,519,533,549,564,576],{"slug":372,"name":372,"fn":373,"description":374,"org":470,"tags":471,"stars":22,"repoUrl":23,"updatedAt":388},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[472,473,474,475,476],{"name":20,"slug":21,"type":15},{"name":379,"slug":380,"type":15},{"name":17,"slug":18,"type":15},{"name":383,"slug":384,"type":15},{"name":386,"slug":387,"type":15},{"slug":78,"name":78,"fn":390,"description":391,"org":478,"tags":479,"stars":22,"repoUrl":23,"updatedAt":402},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[480,481,482,483],{"name":20,"slug":21,"type":15},{"name":396,"slug":397,"type":15},{"name":399,"slug":400,"type":15},{"name":17,"slug":18,"type":15},{"slug":107,"name":107,"fn":404,"description":405,"org":485,"tags":486,"stars":22,"repoUrl":23,"updatedAt":416},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[487,488,489,490],{"name":20,"slug":21,"type":15},{"name":410,"slug":411,"type":15},{"name":17,"slug":18,"type":15},{"name":414,"slug":415,"type":15},{"slug":100,"name":100,"fn":418,"description":419,"org":492,"tags":493,"stars":22,"repoUrl":23,"updatedAt":433},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[494,495,496,497,498],{"name":20,"slug":21,"type":15},{"name":424,"slug":425,"type":15},{"name":427,"slug":428,"type":15},{"name":430,"slug":431,"type":15},{"name":17,"slug":18,"type":15},{"slug":4,"name":4,"fn":5,"description":6,"org":500,"tags":501,"stars":22,"repoUrl":23,"updatedAt":24},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[502,503,504],{"name":20,"slug":21,"type":15},{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},{"slug":114,"name":114,"fn":441,"description":442,"org":506,"tags":507,"stars":22,"repoUrl":23,"updatedAt":451},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[508,509,510,511],{"name":20,"slug":21,"type":15},{"name":424,"slug":425,"type":15},{"name":17,"slug":18,"type":15},{"name":449,"slug":450,"type":15},{"slug":93,"name":93,"fn":453,"description":454,"org":513,"tags":514,"stars":22,"repoUrl":23,"updatedAt":465},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[515,516,517,518],{"name":20,"slug":21,"type":15},{"name":17,"slug":18,"type":15},{"name":460,"slug":461,"type":15},{"name":463,"slug":464,"type":15},{"slug":86,"name":86,"fn":520,"description":521,"org":522,"tags":523,"stars":22,"repoUrl":23,"updatedAt":532},"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},[524,525,528,529],{"name":20,"slug":21,"type":15},{"name":526,"slug":527,"type":15},"Data Analysis","data-analysis",{"name":17,"slug":18,"type":15},{"name":530,"slug":531,"type":15},"Spreadsheets","spreadsheets","2026-05-28T06:59:53.096103",{"slug":18,"name":18,"fn":534,"description":535,"org":536,"tags":537,"stars":546,"repoUrl":547,"updatedAt":548},"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},[538,539,542,543],{"name":20,"slug":21,"type":15},{"name":540,"slug":541,"type":15},"Documentation","documentation",{"name":17,"slug":18,"type":15},{"name":544,"slug":545,"type":15},"Workflow Automation","workflow-automation",69,"https:\u002F\u002Fgithub.com\u002Fmastra-ai\u002Fskills","2026-04-06T18:29:14.042352",{"slug":550,"name":550,"fn":551,"description":552,"org":553,"tags":554,"stars":561,"repoUrl":562,"updatedAt":563},"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},[555,556,557,558],{"name":20,"slug":21,"type":15},{"name":424,"slug":425,"type":15},{"name":17,"slug":18,"type":15},{"name":559,"slug":560,"type":15},"Task Management","task-management",2,"https:\u002F\u002Fgithub.com\u002Fmastra-ai\u002Finfinite-moves","2026-04-06T18:29:17.851005",{"slug":565,"name":565,"fn":566,"description":567,"org":568,"tags":569,"stars":573,"repoUrl":574,"updatedAt":575},"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},[570,571,572],{"name":424,"slug":425,"type":15},{"name":399,"slug":400,"type":15},{"name":17,"slug":18,"type":15},0,"https:\u002F\u002Fgithub.com\u002Fmastra-ai\u002Ftemplate-claw-assistant","2026-06-17T08:25:16.583944",{"slug":577,"name":577,"fn":578,"description":579,"org":580,"tags":581,"stars":573,"repoUrl":574,"updatedAt":587},"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},[582,583,584],{"name":17,"slug":18,"type":15},{"name":460,"slug":461,"type":15},{"name":585,"slug":586,"type":15},"Search","search","2026-06-17T08:25:17.925434",12]