mastra-skills
SKILL.md
Mastra Skills
Core principle: Build composable, observable, and testable AI agents.
When to Use This Skill
Always use when:
- Creating new Mastra agents
- Implementing agent tools
- Setting up workflows
- Debugging agent behavior
- Integrating external APIs with agents
Don't use for:
- Non-agent-related code
- Pure frontend components without agent interaction
Documentation Quick Links
- reference.md - Official API documentation links
- examples.md - Official examples and how to use them
- Official Mastra Docs - https://mastra.ai/docs/
Development Checklist
When creating a new agent, use TodoWrite to track:
- Define clear agent purpose and capabilities
- Identify required tools and integrations
- Plan observability and logging strategy
- Design agent memory and state management
- Consider error handling and fallbacks
- Write tests for key scenarios
Essential Requirements
Every Agent Must Have
- Clear purpose and instructions - Specific, not generic
- Descriptive name - Not 'agent1' or 'myAgent'
- Appropriate model selection - Choose based on task complexity
- Explicit tool registration - No implicit assumptions
Every Tool Must Have
- Descriptive ID - Clear what it does
- Clear description - For the LLM to understand
- Zod schema validation - Type-safe inputs
- Error handling - Never let tools crash agents
- Logging - For debugging and observability
Every Workflow Must Have
- Clear trigger schema - Validated inputs
- Proper step sequencing - Sequential vs parallel
- Error handling - In each step
- Observability hooks - beforeAll/afterAll for logging
Core Patterns
Basic Agent
import { Agent } from '@mastra/core';
const agent = new Agent({
name: 'descriptive-name',
instructions: 'Clear, specific instructions',
model: {
provider: 'ANTHROPIC',
name: 'claude-sonnet-4-5',
},
tools: { /* ... */ },
});
📚 More details: reference.md | https://mastra.ai/docs/agents/
Basic Tool
import { z } from 'zod';
const tool = {
id: 'descriptive-id',
description: 'What this tool does',
inputSchema: z.object({
param: z.string().describe('Parameter description'),
}),
execute: async ({ context }) => {
try {
const result = await operation();
return { success: true, data: result };
} catch (error) {
logger.error('Operation failed', { error, context });
return { success: false, error: error.message };
}
},
};
📚 More examples: examples.md | https://mastra.ai/docs/tools/
Basic Workflow
import { Workflow } from '@mastra/core';
const workflow = new Workflow({
name: 'workflow-name',
triggerSchema: z.object({ input: z.string() }),
});
workflow
.step({ id: 'step1', execute: async () => { /* ... */ } })
.then({ id: 'step2', execute: async () => { /* ... */ } })
.commit();
📚 More examples: examples.md | https://mastra.ai/docs/workflows/
Red Flags - Stop If You See
- Agent without clear purpose
- Tools without input validation
- No error handling in tools
- Missing observability/logging
- Hardcoded credentials
- No rate limiting for external APIs
- Unbounded memory growth
Common Rationalizations
| Excuse | Reality |
|---|---|
| "Agent instructions don't need to be specific" | Vague instructions → unpredictable behavior |
| "Error handling adds complexity" | Unhandled errors → crashed agents |
| "We can add observability later" | Can't debug what you can't observe |
| "Tool schemas are optional" | Invalid inputs → runtime failures |
Integration Checklist
When integrating external services, use TodoWrite to track:
- Create typed tool interface
- Add input validation with Zod
- Implement error handling
- Add logging for debugging
- Consider rate limiting
- Handle authentication securely
- Test with edge cases
- Document tool usage
Testing Requirements
// Unit test for tools
describe('myTool', () => {
it('should handle valid input', async () => {
const result = await myTool.execute({
context: { param: 'test' },
mastra: mockMastra,
});
expect(result.success).toBe(true);
});
});
// Integration test for agents
describe('myAgent', () => {
it('should respond to queries', async () => {
const response = await myAgent.generate([
{ role: 'user', content: 'test query' }
]);
expect(response.role).toBe('assistant');
});
});
📚 More examples: examples.md
Quick Workflow
- Need API details? → Check reference.md
- Need examples? → Check examples.md
- Building something? → Follow checklists above, use TodoWrite
- Stuck? → Check official docs at https://mastra.ai/docs/
Final Rule
Every agent must have:
1. Clear purpose and instructions
2. Type-safe tools with validation
3. Error handling and observability
4. Tests covering key scenarios
Follow these principles for reliable, maintainable Mastra agents.
Weekly Installs
2
Repository
yuann3/skillsFirst Seen
Feb 22, 2026
Security Audits
Installed on
openclaw2
antigravity2
claude-code2
github-copilot2
codex2
kimi-cli2