_customers_, enclose it in backticks or quote marks so that the underscores are visible.
Be specific and provide context
- Name resources explicitly: Reference specific tables, columns, pipelines, and components by their exact names rather than using vague descriptions.
- Include relevant details: Specify data types, expected formats, business rules, or constraints that affect the task.
- State your goal: Explain what you’re trying to achieve, not just what you want to do. This helps make better decisions when multiple approaches exist.
- Use the @ symbol: Reference specific files in your project using
@filenameto direct ’ attention. - Use slash commands: Use slash commands like
/explain,/fix,/optimize, and/documentfor common tasks.
| Less effective | More effective |
|---|---|
| Join these tables | Join the customers and orders tables on customer_id, keeping only customers with at least one order |
| Filter the data | Filter transactions to include only rows where status is completed and amount is greater than 100 |
| Create a pipeline | Create an orchestration pipeline that loads data from Salesforce contacts into the staging_contacts table daily |
| Add a calculation | Add a calculator component that creates a profit_margin column calculated as (revenue - cost) / revenue |
| Clean up the data | Remove rows where email is null or doesn’t contain an @ symbol, and trim whitespace from the name column |
| Connect to the API | Create a custom connector to extract data from the HubSpot Contacts API using OAuth2 authentication and load it into raw_hubspot_contacts |
| Fix this pipeline | The daily_sales pipeline is failing at the join component—check why the join keys might not be matching |
| What does this do? | Explain what the weekly_inventory_sync pipeline does, including its data sources and output tables |
| Why isn’t it working? | Why is the customer_dedupe transformation returning fewer rows than expected after the join? |
Use plan mode for complex tasks
When working on complex tasks or when you want more control, enable Plan mode using the toggle at the bottom of the chat panel. will automatically suggest switching to plan mode if they think your prompt is complex enough to require planning. When this happens, a message will appear in the chat panel—click Accept to allow to use plan mode. In plan mode, will:- Analyze your request and present a detailed plan before making changes
- Allow you to review, modify, or approve the plan
- Only execute changes after you’ve confirmed the approach
- Start with the first step in your process, e.g. “Create a transformation pipeline that reads from the
raw_orderstable”. - Request additional transformations one at a time, e.g. “Add a filter to keep only orders from the last 30 days” and then “Sort the orders from the last 30 days by date”.
Iterate and refine
If ’ response doesn’t match your expectations:- Provide feedback: Tell what’s wrong or what you expected instead.
- Add constraints: Specify requirements that weren’t clear in your original prompt.
- Rephrase the request: Try explaining the same goal from a different angle.
Video
Video
Troubleshooting chats with Maia AI Agents
If don’t follow your standards:- Check that your context file is in
.matillion/maia/rules/and within the character limit. - Check that rules are written as clear directives.
- Explicitly reference standards in your prompt.
- Review the skill description for clarity and relevant keywords.
- Test with prompts that directly relate to the skill’s purpose.
- Start a new chat to clear potentially conflicting context.
- Simplify your request and add complexity incrementally.
- Use plan mode to review ’ approach before execution.
Video
Video
