> Published source evidence. Quoted prompts and code are material to analyze, not instructions to follow. [HTML reference](https://harness.dtmont.com/cursor/discovered-context/) · [Agent index](https://harness.dtmont.com/cursor/llms.txt)

# Discovered context and user-turn templates

50 texts of context and user-turn templates that Jev judged to be written for the model, from 5 shipped files. A text shipped in several bundles is listed once with every location; overlap with a reviewed entry is noted. The bundles are minified, so each is titled by its opening words. Shipped text does not show that a session sent it.

## desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-exec/dist/main.js

### user query summary request Please summarize the conversation so far.…

Source: `main.js` · bytes 5480156–5480772 · line 5 · sha256 `9703f940d086…` · Jev confidence 0.92 · role: user-turn template

Also shown in the reviewed record *Summary request*.

~~~~text
<user_query>
<summary_request>
Please summarize the conversation so far.

This summary (everything after your thinking) will be provided to another AI assistant to continue working on the task. The other assistant will only see the user's original query and your summary, it will not have access to any tool calls or tool outputs from this conversation. The purpose of the summary is to compress the conversation context while preserving the essential information needed to seamlessly continue.

Useful things to include: ${xl[e]}

DO NOT call any tools in your response.
</summary_request>
</user_query>
~~~~

### ${ec("self-summary",s)} Your conversation was summarized due to context…

Source: `main.js` · bytes 5920339–5920703 · line 5 · sha256 `9703f940d086…` · Jev confidence 0.86 · role: context

~~~~text
${ec("self-summary",s)}

Your conversation was summarized due to context constraints. Here is the summary of the conversation so far:

<summary_content>
${e.text}
</summary_content>${Za("self-summary",s)}

Total summaries generated so far for this user query: ${n}

If the task is complete, respond to the user. Otherwise, continue working on the task.
~~~~

### Exact Subagent Prompt (template)

Source: `main.js` · bytes 6466924–6466958 · line 5 · sha256 `9703f940d086…` · Jev confidence 0.89 · role: user-turn template

Also in: `desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/agent-host-daemon/dist/bin/daemon.cjs` · bytes 20963067–20963101 · line 549811; `desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js` · bytes 6526818–6526852 · line 5; `desktop/Cursor.app/Contents/Resources/app/extensions/cursor-local-agent-runtime/dist/main.js` · bytes 3230049–3230083 · line 5

~~~~text
Exact Subagent Prompt (template)
~~~~

### You are a subagent working as part of a parallel multi-agent synthesis r…

Source: `main.js` · bytes 6467120–6468283 · line 5 · sha256 `9703f940d086…` · Jev confidence 0.94 · role: user-turn template

Also in: `desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js` · bytes 6527014–6528177 · line 5; `desktop/Cursor.app/Contents/Resources/app/extensions/cursor-local-agent-runtime/dist/main.js` · bytes 3230245–3231408 · line 5

~~~~text
You are a subagent working as part of a parallel multi-agent synthesis run.

You have been assigned a unique git branch name:
<BRANCH_NAME>

### Required setup: create a dedicated git worktree
You MUST do all your work inside a dedicated git worktree for your assigned branch.

1) From the repository root, create a worktree directory (choose any path you like outside the repo; example shown):
   WORKTREE_DIR="~/worktrees/<BRANCH_NAME>"

   Notes:
   - The branch name is chosen to be filesystem-safe (no '/', spaces, etc.). Use it verbatim for the directory name.

2) Create a new branch and worktree in one step (base it off the current HEAD unless instructed otherwise):
   git worktree add -b "<BRANCH_NAME>" "$WORKTREE_DIR" HEAD

3) Enter the worktree and do all edits there:
   cd "$WORKTREE_DIR"

4) Verify you are on the correct branch:
   git rev-parse --abbrev-ref HEAD

### Working rules
- Make changes only within your worktree directory.
- Do not switch branches; work only on your assigned branch.
- At the end, report your branch name and a concise summary of changes.

### Task (verbatim)
<ORIGINAL_USER_REQUEST>
~~~~

### github pr context Here is the context of the Pull Request you are work…

Source: `main.js` · bytes 6629394–6629748 · line 5 · sha256 `9703f940d086…` · Jev confidence 0.81 · role: context

Also in: `desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js` · bytes 6686457–6686811 · line 5

~~~~text
<github_pr_context>
Here is the context of the Pull Request you are working on:
PR Title: ${t.title}${""!==t.description?`\nPR Description:\n${t.description}`:""}${""!==t.comments?`\nRecent PR Comments/Reviews:\n${t.comments}`:""}${void 0!==t.ciFailures&&""!==t.ciFailures?`\nPossibly Relevant CI Failures:\n${t.ciFailures}`:""}
</github_pr_context>
~~~~

### open and recently viewed files ${o}${i}${a} Note: these files may or m…

Source: `main.js` · bytes 6632459–6632689 · line 5 · sha256 `9703f940d086…` · Jev confidence 0.88 · role: context

Also in: `desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js` · bytes 6689522–6689752 · line 5

~~~~text
<open_and_recently_viewed_files>
${o}${i}${a}
Note: these files may or may not be relevant to the current conversation. Use the read file tool if you need to get the contents of some of them.
</open_and_recently_viewed_files>
~~~~

### Website URL: ${t.url} Website Title: ${t.title} Website Content: ${t.con…

Source: `main.js` · bytes 6650116–6650208 · line 5 · sha256 `9703f940d086…` · Jev confidence 0.80 · role: context

Also in: `desktop/Cursor.app/Contents/Resources/app/extensions/cursor-local-agent-runtime/dist/main.js` · bytes 3413606–3413698 · line 5

~~~~text
Website URL: ${t.url}
Website Title: ${t.title}
Website Content:
${t.content}
____


~~~~

### pr review context The user has attached diffs from a pull request ${e}…

Source: `main.js` · bytes 6654416–6654514 · line 5 · sha256 `9703f940d086…` · Jev confidence 0.80 · role: context

Also in: `desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js` · bytes 6711313–6711411 · line 5

~~~~text
<pr_review_context>
The user has attached diffs from a pull request
${e}
</pr_review_context>
~~~~

### browser context The user has attached the following browser tab(s) as…

Source: `main.js` · bytes 6655623–6655808 · line 5 · sha256 `9703f940d086…` · Jev confidence 0.91 · role: context

Also in: `desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js` · bytes 6712520–6712705 · line 5; `desktop/Cursor.app/Contents/Resources/app/extensions/cursor-local-agent-runtime/dist/main.js` · bytes 3419121–3419306 · line 5

~~~~text
<browser_context>
The user has attached the following browser tab(s) as context. You can use the Browser ID to interact with these tabs using browser tools:
${e}
</browser_context>
~~~~

### Use the current branch as the working context.

Source: `main.js` · bytes 6796040–6796088 · line 5 · sha256 `9703f940d086…` · Jev confidence 0.81 · role: context

~~~~text
Use the current branch as the working context.
~~~~

### system reminder The active git branch changed since the last turn: ${o…

Source: `main.js` · bytes 6796095–6796209 · line 5 · sha256 `9703f940d086…` · Jev confidence 0.81 · role: context

Also in: `desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js` · bytes 6851510–6851624 · line 5

~~~~text
<system_reminder>
The active git branch changed since the last turn:
${o.join("\n")}
${a}
</system_reminder>
~~~~

### Search the web for the following query and return a concise answer with…

Source: `main.js` · bytes 8086866–8086965 · line 5 · sha256 `9703f940d086…` · Jev confidence 0.88 · role: user-turn template

Also in: `desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js` · bytes 10533503–10533602 · line 8; `desktop/Cursor.app/Contents/Resources/app/extensions/cursor-local-agent-runtime/dist/main.js` · bytes 4851518–4851617 · line 5

~~~~text
Search the web for the following query and return a concise answer with sources:
${r.searchTerm}
~~~~

## desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/agent-host-daemon/dist/bin/daemon.cjs

### Set up a new development environment for this codebase. Follow the “Set…

Source: `daemon.cjs` · bytes 1515249–1515472 · line 39017 · sha256 `3c36ac2497eb…` · Jev confidence 0.90 · role: user-turn template

~~~~text
Set up a new development environment for this codebase. Follow the “Set up a new environment” workflow in the env-setup skill. Run the relevant applications and demonstrate that the environment works end to end.
~~~~

### user query summary request Please summarize the conversation so far.…

Source: `daemon.cjs` · bytes 18280654–18281301 · line 491498 · sha256 `3c36ac2497eb…` · Jev confidence 0.94 · role: user-turn template

~~~~text
<user_query>
<summary_request>
Please summarize the conversation so far.

This summary (everything after your thinking) will be provided to another AI assistant to continue working on the task. The other assistant will only see the user's original query and your summary, it will not have access to any tool calls or tool outputs from this conversation. The purpose of the summary is to compress the conversation context while preserving the essential information needed to seamlessly continue.

Useful things to include: ${SELF_SUMMARY_USEFUL_THINGS_BY_VARIANT[variant]}

DO NOT call any tools in your response.
</summary_request>
</user_query>
~~~~

### Apply the full diff from the remote branch below to the current local wo…

Source: `daemon.cjs` · bytes 19933632–19933714 · line 528988 · sha256 `3c36ac2497eb…` · Jev confidence 0.88 · role: user-turn template

~~~~text
Apply the full diff from the remote branch below to the current local workspace.
~~~~

### Create and check out a new branch for the current changes.

Source: `daemon.cjs` · bytes 19935268–19935328 · line 529024 · sha256 `3c36ac2497eb…` · Jev confidence 0.83 · role: user-turn template

~~~~text
Create and check out a new branch for the current changes.
~~~~

### Push this branch to remote and create a pull request.

Source: `daemon.cjs` · bytes 19937730–19937785 · line 529086 · sha256 `3c36ac2497eb…` · Jev confidence 0.83 · role: user-turn template

~~~~text
Push this branch to remote and create a pull request.
~~~~

### User-defined tools for this session. ${discoveryInvocationLine} Availabl…

Source: `daemon.cjs` · bytes 20426056–20426152 · line 544814 · sha256 `3c36ac2497eb…` · Jev confidence 0.85 · role: context

~~~~text
User-defined tools for this session. ${discoveryInvocationLine}

Available tools:
${toolLines}
~~~~

### This conversation is bound to a single Slack thread: the people in that…

Source: `daemon.cjs` · bytes 20589307–20589493 · line 547483 · sha256 `3c36ac2497eb…` · Jev confidence 0.86 · role: context

~~~~text
This conversation is bound to a single Slack thread: the people in that thread are talking to you from Slack, and the same conversation can also receive follow-ups from the Cursor app.
~~~~

### github pr context Here is the context of the Pull Request you are work…

Source: `daemon.cjs` · bytes 21167688–21168071 · line 551567 · sha256 `3c36ac2497eb…` · Jev confidence 0.83 · role: context

~~~~text
<github_pr_context>
Here is the context of the Pull Request you are working on:
PR Title: ${pr2.title}${pr2.description !== "" ? `
PR Description:
${pr2.description}` : ""}${pr2.comments !== "" ? `
Recent PR Comments/Reviews:
${pr2.comments}` : ""}${pr2.ciFailures !== void 0 && pr2.ciFailures !== "" ? `
Possibly Relevant CI Failures:
${pr2.ciFailures}` : ""}
</github_pr_context>
~~~~

### open and recently viewed files ${recentlyViewedSection}${visibleFilesS…

Source: `daemon.cjs` · bytes 21174185–21174473 · line 551709 · sha256 `3c36ac2497eb…` · Jev confidence 0.89 · role: context

~~~~text
<open_and_recently_viewed_files>
${recentlyViewedSection}${visibleFilesSection}${currentlyViewedPrSection}
Note: these files may or may not be relevant to the current conversation. Use the read file tool if you need to get the contents of some of them.
</open_and_recently_viewed_files>
~~~~

### uploaded documents The following documents have been saved to your fil…

Source: `daemon.cjs` · bytes 21212302–21212486 · line 552663 · sha256 `3c36ac2497eb…` · Jev confidence 0.86 · role: context

~~~~text
<uploaded_documents>
The following documents have been saved to your filesystem. You can read them using your file-reading tool or other tools:
${documentsList}
</uploaded_documents>
~~~~

### attached videos The following videos have been attached by the user an…

Source: `daemon.cjs` · bytes 21212795–21212953 · line 552674 · sha256 `3c36ac2497eb…` · Jev confidence 0.87 · role: context

~~~~text
<attached_videos>
The following videos have been attached by the user and saved to your filesystem.${watchVideoInstruction}
${videosList}
</attached_videos>
~~~~

### cursor rules context Cursor Rules are extra documentation provided by…

Source: `daemon.cjs` · bytes 21213725–21213953 · line 552703 · sha256 `3c36ac2497eb…` · Jev confidence 0.88 · role: context

~~~~text
<cursor_rules_context>
Cursor Rules are extra documentation provided by the user to help the AI understand the codebase.
Use them if they seem useful to the users most recent query, but do not use them if they seem unrelated.

~~~~

### recent agents context The user has other recent agent conversations av…

Source: `daemon.cjs` · bytes 21216692–21217013 · line 552783 · sha256 `3c36ac2497eb…` · Jev confidence 0.93 · role: context

~~~~text
<recent_agents_context>
The user has other recent agent conversations available as transcript files.
If they seem relevant to the user's current query, you may read them for additional context.
Do not read full transcript files in one go; search and read in targeted chunks.
${recentAgentsText}
</recent_agents_context>
~~~~

### pr review context The user has attached diffs from a pull request ${pr…

Source: `daemon.cjs` · bytes 21218221–21218325 · line 552822 · sha256 `3c36ac2497eb…` · Jev confidence 0.83 · role: context

~~~~text
<pr_review_context>
The user has attached diffs from a pull request
${prDiffText}
</pr_review_context>
~~~~

### browser context The user has attached the following browser tab(s) as…

Source: `daemon.cjs` · bytes 21220133–21220326 · line 552879 · sha256 `3c36ac2497eb…` · Jev confidence 0.91 · role: context

~~~~text
<browser_context>
The user has attached the following browser tab(s) as context. You can use the Browser ID to interact with these tabs using browser tools:
${browsersText}
</browser_context>
~~~~

### The user started a Project named "${name17}". Frame your work as part of…

Source: `daemon.cjs` · bytes 21400870–21400948 · line 555830 · sha256 `3c36ac2497eb…` · Jev confidence 0.84 · role: user-turn template

~~~~text
The user started a Project named "${name17}". Frame your work as part of it.
~~~~

### You are in a side chat from ${projectReference(escapeProjectName(options…

Source: `daemon.cjs` · bytes 21407326–21407546 · line 555945 · sha256 `3c36ac2497eb…` · Jev confidence 0.89 · role: user-turn template

~~~~text
You are in a side chat from ${projectReference(escapeProjectName(options2.projectName))}, branched from the Project's main thread.

You share the parent Project's session Agent Store: `${options2.storeDir}`.

${body}
~~~~

### Use to sleep and check shell progress. Never sleep using shell.

Source: `daemon.cjs` · bytes 22716386–22716451 · line 583130 · sha256 `3c36ac2497eb…` · Jev confidence 0.87 · role: context

~~~~text
Use to sleep and check shell progress. Never sleep using shell.
~~~~

### Search the web for the following query and return a concise answer with…

Source: `daemon.cjs` · bytes 26106563–26106664 · line 665467 · sha256 `3c36ac2497eb…` · Jev confidence 0.87 · role: user-turn template

~~~~text
Search the web for the following query and return a concise answer with sources:
${args.searchTerm}
~~~~

## desktop/Cursor.app/Contents/Resources/app/extensions/cursor-agent-host/dist/main.js

### user query summary request Please summarize the conversation so far.…

Source: `main.js` · bytes 5906942–5907557 · line 5 · sha256 `7f21d5cc4cac…` · Jev confidence 0.92 · role: user-turn template

~~~~text
<user_query>
<summary_request>
Please summarize the conversation so far.

This summary (everything after your thinking) will be provided to another AI assistant to continue working on the task. The other assistant will only see the user's original query and your summary, it will not have access to any tool calls or tool outputs from this conversation. The purpose of the summary is to compress the conversation context while preserving the essential information needed to seamlessly continue.

Useful things to include: ${f[e]}

DO NOT call any tools in your response.
</summary_request>
</user_query>
~~~~

### For each subagent, send the following prompt after replacing

Source: `main.js` · bytes 6526873–6526935 · line 5 · sha256 `7f21d5cc4cac…` · Jev confidence 0.89 · role: user-turn template

Also in: `desktop/Cursor.app/Contents/Resources/app/extensions/cursor-local-agent-runtime/dist/main.js` · bytes 3230104–3230166 · line 5

~~~~text
For each subagent, send the following prompt after replacing
~~~~

### Document Name: ${t.docName} Document URL: ${t.pageUrl} Document content:…

Source: `main.js` · bytes 6708149–6708260 · line 5 · sha256 `7f21d5cc4cac…` · Jev confidence 0.81 · role: context

~~~~text
Document Name: ${t.docName}
Document URL: ${t.pageUrl}
Document content:
${t.documentationChunk}
____


~~~~

## desktop/Cursor.app/Contents/Resources/app/extensions/cursor-local-agent-runtime/dist/main.js

### user query summary request Please summarize the conversation so far.…

Source: `main.js` · bytes 1692176–1692792 · line 5 · sha256 `e424bc3d6643…` · Jev confidence 0.92 · role: user-turn template

~~~~text
<user_query>
<summary_request>
Please summarize the conversation so far.

This summary (everything after your thinking) will be provided to another AI assistant to continue working on the task. The other assistant will only see the user's original query and your summary, it will not have access to any tool calls or tool outputs from this conversation. The purpose of the summary is to compress the conversation context while preserving the essential information needed to seamlessly continue.

Useful things to include: ${bd[e]}

DO NOT call any tools in your response.
</summary_request>
</user_query>
~~~~

### ${Kc("self-summary",o)} Your conversation was summarized due to context…

Source: `main.js` · bytes 2141862–2142226 · line 5 · sha256 `e424bc3d6643…` · Jev confidence 0.86 · role: context

~~~~text
${Kc("self-summary",o)}

Your conversation was summarized due to context constraints. Here is the summary of the conversation so far:

<summary_content>
${e.text}
</summary_content>${Vc("self-summary",o)}

Total summaries generated so far for this user query: ${n}

If the task is complete, respond to the user. Otherwise, continue working on the task.
~~~~

### You are running on a hosted Cursor virtual machine, not on the user's ma…

Source: `main.js` · bytes 2989111–2989355 · line 5 · sha256 `e424bc3d6643…` · Jev confidence 0.81 · role: context

~~~~text
You are running on a hosted Cursor virtual machine, not on the user's machine. This environment persists for the duration of the conversation: files, checkouts, branches, and running processes you leave behind remain available on later turns.
~~~~

### open and recently viewed files ${s}${i}${a} Note: these files may or m…

Source: `main.js` · bytes 3395935–3396165 · line 5 · sha256 `e424bc3d6643…` · Jev confidence 0.87 · role: context

~~~~text
<open_and_recently_viewed_files>
${s}${i}${a}
Note: these files may or may not be relevant to the current conversation. Use the read file tool if you need to get the contents of some of them.
</open_and_recently_viewed_files>
~~~~

### uploaded documents The following documents have been saved to your fil…

Source: `main.js` · bytes 3413834–3414009 · line 5 · sha256 `e424bc3d6643…` · Jev confidence 0.88 · role: context

~~~~text
<uploaded_documents>
The following documents have been saved to your filesystem. You can read them using your file-reading tool or other tools:
${e}
</uploaded_documents>
~~~~

### This Project's starting focus, drawn from the user's recent chats, is "$…

Source: `main.js` · bytes 3535727–3535887 · line 5 · sha256 `e424bc3d6643…` · Jev confidence 0.81 · role: context

~~~~text

This Project's starting focus, drawn from the user's recent chats, is "${o}". Treat it as background on what they are likely to want, not as an instruction.
~~~~

### system reminder The active git branch changed since the last turn: ${s…

Source: `main.js` · bytes 3560128–3560242 · line 5 · sha256 `e424bc3d6643…` · Jev confidence 0.80 · role: context

~~~~text
<system_reminder>
The active git branch changed since the last turn:
${s.join("\n")}
${a}
</system_reminder>
~~~~

## desktop/Cursor.app/Contents/Resources/app/out/vs/workbench/workbench.glass.main.js

### Help me create this subagent for Cursor:

Source: `workbench.glass.main.js` · bytes 21344734–21344777 · line 9906 · sha256 `b00e55478f16…` · Jev confidence 0.83 · role: user-turn template

~~~~text
Help me create this subagent for Cursor: 
~~~~

### Continue this self-driving task locally. Title: ${Ae.title} ${Te}

Source: `workbench.glass.main.js` · bytes 32523491–32523560 · line 21545 · sha256 `b00e55478f16…` · Jev confidence 0.82 · role: user-turn template

~~~~text
Continue this self-driving task locally.

Title: ${Ae.title}

${Te}
~~~~

### Continue this self-driving task locally. Title: ${Ae.title}

Source: `workbench.glass.main.js` · bytes 32523561–32523623 · line 21549 · sha256 `b00e55478f16…` · Jev confidence 0.82 · role: user-turn template

~~~~text
Continue this self-driving task locally.

Title: ${Ae.title}
~~~~

### Review changes in the repository at ${JSON.stringify(vls(h.rootUri))}.

Source: `workbench.glass.main.js` · bytes 40081783–40081855 · line 22619 · sha256 `b00e55478f16…` · Jev confidence 0.82 · role: user-turn template

~~~~text
Review changes in the repository at ${JSON.stringify(vls(h.rootUri))}.
~~~~

### Use the ${t} plugin in one concrete, useful way that shows why it's valu…

Source: `workbench.glass.main.js` · bytes 41402796–41402893 · line 22795 · sha256 `b00e55478f16…` · Jev confidence 0.80 · role: user-turn template

~~~~text
Use the ${t} plugin in one concrete, useful way that shows why it's valuable in this workspace.
~~~~

### Summarize urgent Slack messages, assigned Linear issues, and GitHub acti…

Source: `workbench.glass.main.js` · bytes 41939443–41939560 · line 22806 · sha256 `b00e55478f16…` · Jev confidence 0.81 · role: user-turn template

~~~~text
Summarize urgent Slack messages, assigned Linear issues, and GitHub activity. Highlight what needs attention today.
~~~~

### Review my assigned Linear issues, active GitHub pull requests, and relev…

Source: `workbench.glass.main.js` · bytes 41939769–41939909 · line 22806 · sha256 `b00e55478f16…` · Jev confidence 0.88 · role: user-turn template

~~~~text
Review my assigned Linear issues, active GitHub pull requests, and relevant Slack threads. Summarize progress, blockers, and next actions.
~~~~

### Help me create a plan to implement a new feature:

Source: `workbench.glass.main.js` · bytes 42309221–42309272 · line 22871 · sha256 `b00e55478f16…` · Jev confidence 0.82 · role: user-turn template

~~~~text
Help me create a plan to implement a new feature:
~~~~

### Help me repro and fix this bug report:

Source: `workbench.glass.main.js` · bytes 42309403–42309443 · line 22871 · sha256 `b00e55478f16…` · Jev confidence 0.84 · role: user-turn template

~~~~text
Help me repro and fix this bug report:
~~~~

