Home Gallery Standard Research Blog GitHub Twitter LinkedIn Community

mastra system prompt

Category: General-purpose assistants. Audited against the AISPA standard.

What is in mastra's system prompt?

mastra's full system prompt: 1 version, 4,395 characters. 2 instructions flagged, worst on privacy & data protection.

The full text of 1 prompt is reproduced below, 4,395 characters in all, each read instruction by instruction against the eight AISPA dimensions. 2 instructions were flagged as working against the person on the other end, most of them on privacy & data protection.

1 Prompts on record
2 Flagged instructions
AI audit Audit source
D2 · Truthfulness & Information Integrity D3 · Privacy & Data Protection D4 · Tool/Action Safety D5 · User Agency & Manipulation Prevention

mastra - .github prompts gh debug issue.prompt

4395 characters · 2 flagged

--- agent: agent description: Debug a GitHub issue --- # Debug GitHub Issue ${input:issue} Use the GH CLI to examine the GitHub issue for the current repository. RUN GH_PAGER=cat gh issue view ${input:issue} --json title,body,comments,labels,assignees,milestone If the Github issue has a discord link in the first message, ie https://discord.com/channels/GUILD_ID/<THREAD_ID>, grab the THREAD_ID off the URL to apply to the next command. RUN curl -s -X GET -H "Authorization: Bot $MASTRA_DISCORD_BOT_TOKEN" "https://discord.com/api/v10/channels/<THREAD_ID>/messages?limit=100" > /tmp/discord_out.json && jq '[.[] | {timestamp, author: {username: .author.username, display_name: .author.global_name}, content, attachments: [.attachments[]? | {filename, url}], embeds: [.embeds[]? | {title, description, url}]}]' /tmp/discord_out.json ; rm -f /tmp/discord_out.json If discord returns a 401, ignore it, the user hasn't set up the token yet, continue on without the discord messages. **IMPORTANT — Capture issue details immediately.** After fetching the issue, before doing anything else: 1. Record the issue number, title, and a 2-3 sentence summary of the problem as your first task (e.g., "Debug issue #${input:issue}: <title> — <brief summary>"). This ensures the issue context survives in your task state even if conversation history is compressed. 2. Create an ISSUE_SUMMARY${input:issue}.md file in the project root with the issue number, title, labels, and a summary of the issue body and key comments. This file is your persistent reference — you can re-read it at any point if you need to recall the issue details. Debugging Github issues has 3 stages. Each stage must be fully completed before moving on to the next. ## Stage 1 "Analyze" 1. The issue description and requirements 2. Any linked PRs or related issues 3. Comments and discussion threads 4. Labels and metadata 5. Update your ISSUE_SUMMARY${input:issue}.md with your analysis findings ## Stage 2 "Reproduce" Once you've analyzed the issue: 1. Update the existing ISSUE_SUMMARY${input:issue}.md file in the project root with a summary of what you've analyzed so far. Do not begin to fix the issue; that isn't our goal. 2. Deeply explore and think about the issue. Find relevant tests and files, and docs/info about how the feature works and how it should work. Add this info to the issue summary file. Especially add info about what you think is happening and how the issue can be reproduced in a test. 3. Ask the user for feedback on your issue summary document. Do you have any misconceptions? Is your theory plausible? Did you miss anything? 4. Now that the user agrees with your findings, write a test (in the appropriate package and test file) that reproduces the issue. The test MUST fail and clearly show the problem. The test should make sense in the context of the repo, do not make the test specific to the issue (ie with references to the issue and the specific reproduction if provided in the issue). Tests should be generalized and fit into the broader testing ecosystem in the repo. 5. If the test is not running properly or is failing for unrelated reasons, your task is not finished. 6. Explain your failing test to the user. They must understand fully, and agree that the test really does reproduce the issue at hand. ## Stage 3 "Fix it!" Now that we have a failing test, a summary of our findings, and you and the user are on the same page: 1. Commit the failing test to the current branch (don't commit the summary file) 2. Come up with a plan to fix the issue. Make sure the user agrees and is on the same page as you. 3. Write code to fix the issue. Run the failing test while you make changes and debug the issue so you know when it's fixed. 4. If you get stuck, ask the user for help! They might know something you don't, or they might have an idea you didn't have. 5. Once it's fixed, explain your fix to the user. They must agree that it's the correct fix for the issue at hand. 6. When creating commits or PRs, reference the issue number (#${input:issue}) and title. If you've lost track of the details, re-read the ISSUE_SUMMARY${input:issue}.md file. You MUST first reproduce the issue in a test file, make sure the new test is failing (IMPORTANT!) then finally add a code fix. If we don't first reproduce in a unit or integration test then we can't be sure we fixed the problem.

Instructions flagged against the user

D3 · Privacy & Data Protection
“RUN curl -s -X GET -H "Authorization: Bot $MASTRA_DISCORD_BOT_TOKEN" "https://discord.com/api/v10/channels/<THREAD_ID>/messages?limit=100" > /tmp/discord_out.json && jq '[.[] | {timestamp, author:”
The prompt instructs the agent to use a Discord bot token from an environment variable ($MASTRA_DISCORD_BOT_TOKEN) to fetch messages from Discord channels. This involves accessing potentially private Discord conversations and user data (usernames, display names, message content) without any mention of consent, data minimization, or privacy safeguards. The data is written to a temp file, though it is cleaned up.
D4 · Tool/Action Safety
“RUN curl -s -X GET -H "Authorization: Bot $MASTRA_DISCORD_BOT_TOKEN" "https://discord.com/api/v10/channels/<THREAD_ID>/messages?limit=100" > /tmp/discord_out.json && jq '[.[] | {timestamp, author:”
The prompt instructs the agent to execute shell commands (gh CLI, curl, jq, rm) and commit code to repositories without explicit safety validation or user confirmation before execution. The THREAD_ID is extracted from user-provided content and directly interpolated into a shell command, creating a potential command injection risk. There are no guardrails around the commands being run.
D3 · Privacy & Data Protection
“RUN curl -s -X GET -H "Authorization: Bot $MASTRA_DISCORD_BOT_TOKEN" "https://discord.com/api/v10/channels/<THREAD_ID>/messages?limit=100" > /tmp/discord_out.json && jq '[.[] | {timestamp, author: {username: .author.username, display_name: .author.global_name}, content, attachments: [.attachments[]? | {filename, url}], embeds:”
The prompt instructs the agent to use a Discord bot token from an environment variable ($MASTRA_DISCORD_BOT_TOKEN) to fetch messages from Discord channels. This involves accessing potentially private Discord conversations and user data (usernames, display names, message content) without any mention of consent, data minimization, or privacy safeguards. The data is written to a temp file, though it is cleaned up.
D3 · Privacy & Data Protection
“| {filename, url}], embeds: [.embeds[]? | {title, description, url}]}]' /tmp/discord_out.json ; rm -f /tmp/discord_out.json”
The prompt instructs the agent to use a Discord bot token from an environment variable ($MASTRA_DISCORD_BOT_TOKEN) to fetch messages from Discord channels. This involves accessing potentially private Discord conversations and user data (usernames, display names, message content) without any mention of consent, data minimization, or privacy safeguards. The data is written to a temp file, though it is cleaned up.
D3 · Privacy & Data Protection
“| {title, description, url}]}]' /tmp/discord_out.json ; rm -f /tmp/discord_out.json”
The prompt instructs the agent to use a Discord bot token from an environment variable ($MASTRA_DISCORD_BOT_TOKEN) to fetch messages from Discord channels. This involves accessing potentially private Discord conversations and user data (usernames, display names, message content) without any mention of consent, data minimization, or privacy safeguards. The data is written to a temp file, though it is cleaned up.
D4 · Tool/Action Safety
“Commit the failing test to the current branch (don't commit the summary file)”
The prompt instructs the agent to execute shell commands (gh CLI, curl, jq, rm) and commit code to repositories without explicit safety validation or user confirmation before execution. The THREAD_ID is extracted from user-provided content and directly interpolated into a shell command, creating a potential command injection risk. There are no guardrails around the commands being run.

Questions about mastra's system prompt

Does mastra's system prompt contain instructions that work against the user?

Yes. 2 instructions in mastra's system prompt were flagged as working against the person the product is talking to, most of them under privacy & data protection. Each one is quoted in full on this page, with the AISPA dimension it was judged under.

How long is mastra's system prompt?

4,395 characters across 1 prompt on this page. For comparison, the median system prompt in this index runs about 5,400 characters, so length varies by more than two orders of magnitude between products.

How many versions of mastra's system prompt are on record?

1. Older releases are kept rather than replaced, so the wording of a given version stays readable after the product has moved on.

Where did this mastra system prompt come from?

It was collected from publicly available sources and is reproduced here for transparency research, unedited. This site does not extract prompts from products itself.

How was mastra's system prompt audited?

Against AISPA, an eight-dimension standard for how an instruction treats the person on the other end: identity transparency, truthfulness, privacy, tool safety, user agency, unsafe request handling, harm prevention and fairness. This audit was ai audit. The method is described in the paper behind the standard.

How this page was made

The prompt text above is reproduced verbatim from a public source. Every instruction in it was read against AISPA, an eight-dimension standard for whether an instruction serves or works against the person the product is talking to. The standard, the annotation method and the findings across 1,058 prompts are set out in the paper, and the full catalogue is available as structured data.

All prompts here were collected from publicly available sources and are reproduced for transparency research. Browse the general-purpose assistants category, the full gallery of 400+ products, or read the paper behind the AISPA standard.