Skip to content

Conversation

@miguelg719
Copy link
Collaborator

why

To improve context

what changed

Added current page and url to the system prompt

test plan

@changeset-bot
Copy link

changeset-bot bot commented Oct 1, 2025

🦋 Changeset detected

Latest commit: f376142

The changes in this PR will be included in the next version bump.

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@miguelg719 miguelg719 marked this pull request as ready for review October 1, 2025 16:38
Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Greptile Overview

Summary

This PR adds contextual information to the agent system prompt by appending the current date and page URL. The change is made to the `buildSystemPrompt` method in `lib/handlers/stagehandAgentHandler.ts`, where a new line is added to the system prompt: `Today's date is ${new Date().toLocaleDateString()}. You're currently on the website: ${this.stagehand.page.url}.`

This enhancement provides the Stagehand agent with essential environmental context that can improve its decision-making capabilities. The current date enables time-sensitive operations such as scheduling tasks, understanding temporal context on web pages, or making date-based comparisons. The page URL helps the agent understand its current location within a website, which is valuable for navigation decisions and understanding the context of available actions.

This change integrates well with the existing Stagehand architecture, specifically the agent handler system that was introduced in version 2.0.0 as part of the major release that added stagehand.agent functionality for computer use models. The modification is minimal and follows the existing pattern of building comprehensive system prompts that guide the agent's behavior.

Important Files Changed

Changed Files
Filename Score Overview
lib/handlers/stagehandAgentHandler.ts 4/5 Added current date and page URL to the agent's system prompt for better context awareness

Confidence score: 4/5

  • This PR is safe to merge with minimal risk as it only adds contextual information to a system prompt
  • Score reflects the simple nature of the change with clear benefits and no apparent side effects
  • No files require special attention as this is a straightforward enhancement to agent context

Sequence Diagram

sequenceDiagram
    participant User
    participant StagehandAgentHandler as "StagehandAgentHandler"
    participant Stagehand as "Stagehand"
    participant LLMClient as "LLMClient"
    participant AgentTools as "AgentTools"

    User->>StagehandAgentHandler: "execute(instruction)"
    StagehandAgentHandler->>StagehandAgentHandler: "buildSystemPrompt(instruction, systemInstructions)"
    Note over StagehandAgentHandler: "Adds current date and page URL to system prompt"
    StagehandAgentHandler->>Stagehand: "page.url"
    Stagehand-->>StagehandAgentHandler: "current page URL"
    StagehandAgentHandler->>StagehandAgentHandler: "createTools()"
    StagehandAgentHandler->>AgentTools: "createAgentTools(stagehand, options)"
    AgentTools-->>StagehandAgentHandler: "default tools"
    StagehandAgentHandler->>LLMClient: "getLanguageModel()"
    LLMClient-->>StagehandAgentHandler: "base language model"
    StagehandAgentHandler->>LLMClient: "generateText(model, systemPrompt, messages, tools)"
    LLMClient-->>StagehandAgentHandler: "agent execution result with actions"
    StagehandAgentHandler-->>User: "AgentResult with success, message, actions"
Loading

1 file reviewed, 1 comment

Edit Code Review Agent Settings | Greptile

For each action, provide clear reasoning about why you're taking that step.`;
For each action, provide clear reasoning about why you're taking that step.
Today's date is ${new Date().toLocaleDateString()}. You're currently on the website: ${this.stagehand.page.url}.`;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

style: The date format will vary by system locale - consider using toLocaleDateString('en-US') or toISOString().split('T')[0] for consistency

Prompt To Fix With AI
This is a comment left during a code review.
Path: lib/handlers/stagehandAgentHandler.ts
Line: 241:241

Comment:
style: The date format will vary by system locale - consider using `toLocaleDateString('en-US')` or `toISOString().split('T')[0]` for consistency

How can I resolve this? If you propose a fix, please make it concise.

@miguelg719 miguelg719 merged commit a99aa48 into main Oct 1, 2025
15 checks passed
miguelg719 added a commit that referenced this pull request Oct 2, 2025
# why
To improve context

# what changed
Added current page and url to the system prompt

# test plan
miguelg719 pushed a commit that referenced this pull request Oct 7, 2025
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @browserbasehq/stagehand@2.5.1

### Patch Changes

- [#1082](#1082)
[`8c0fd01`](8c0fd01)
Thanks [@tkattkat](https://github.com/tkattkat)! - Pass stagehand object
to agent instead of stagehand page

- [#1104](#1104)
[`a1ad06c`](a1ad06c)
Thanks [@miguelg719](https://github.com/miguelg719)! - Fix logging for
stagehand agent

- [#1066](#1066)
[`9daa584`](9daa584)
Thanks [@tkattkat](https://github.com/tkattkat)! - Add playwright
arguments to agent execute response

- [#1077](#1077)
[`7f38b3a`](7f38b3a)
Thanks [@tkattkat](https://github.com/tkattkat)! - adds support for
stagehand agent in the api

- [#1032](#1032)
[`bf2d0e7`](bf2d0e7)
Thanks [@miguelg719](https://github.com/miguelg719)! - Fix for zod peer
dependency support

- [#1014](#1014)
[`6966201`](6966201)
Thanks [@tkattkat](https://github.com/tkattkat)! - Replace operator
handler with base of new agent

- [#1089](#1089)
[`536f366`](536f366)
Thanks [@miguelg719](https://github.com/miguelg719)! - Fixed info logs
on api session create

- [#1103](#1103)
[`889cb6c`](889cb6c)
Thanks [@tkattkat](https://github.com/tkattkat)! - patch custom tool
support in anthropic cua client

- [#1056](#1056)
[`6a002b2`](6a002b2)
Thanks [@chrisreadsf](https://github.com/chrisreadsf)! - remove need for
duplicate project id if already passed to Stagehand

- [#1090](#1090)
[`8ff5c5a`](8ff5c5a)
Thanks [@miguelg719](https://github.com/miguelg719)! - Improve failed
act error logs

- [#1014](#1014)
[`6966201`](6966201)
Thanks [@tkattkat](https://github.com/tkattkat)! - replace operator
agent with scaffold for new stagehand agent

- [#1107](#1107)
[`3ccf335`](3ccf335)
Thanks [@seanmcguire12](https://github.com/seanmcguire12)! - fix: url
extraction not working inside an array

- [#1102](#1102)
[`a99aa48`](a99aa48)
Thanks [@miguelg719](https://github.com/miguelg719)! - Add current page
and date context to agent

- [#1110](#1110)
[`dda52f1`](dda52f1)
Thanks [@miguelg719](https://github.com/miguelg719)! - Add support for
new Gemini Computer Use models

## @browserbasehq/stagehand-evals@1.1.0

### Minor Changes

- [#1057](#1057)
[`b7be89e`](b7be89e)
Thanks [@filip-michalsky](https://github.com/filip-michalsky)! - added
web voyager ground truth (optional), added web bench, and subset of
OSWorld evals which run on a browser

### Patch Changes

- [#1072](#1072)
[`dc2d420`](dc2d420)
Thanks [@filip-michalsky](https://github.com/filip-michalsky)! - improve
evals screenshot service - add img hashing diff to add screenshots and
change to screenshot intercepts from the agent

- Updated dependencies
\[[`8c0fd01`](8c0fd01),
[`a1ad06c`](a1ad06c),
[`9daa584`](9daa584),
[`7f38b3a`](7f38b3a),
[`bf2d0e7`](bf2d0e7),
[`6966201`](6966201),
[`536f366`](536f366),
[`889cb6c`](889cb6c),
[`6a002b2`](6a002b2),
[`8ff5c5a`](8ff5c5a),
[`6966201`](6966201),
[`3ccf335`](3ccf335),
[`a99aa48`](a99aa48),
[`dda52f1`](dda52f1)]:
    -   @browserbasehq/stagehand@2.5.1

## @browserbasehq/stagehand-examples@1.0.10

### Patch Changes

- Updated dependencies
\[[`8c0fd01`](8c0fd01),
[`a1ad06c`](a1ad06c),
[`9daa584`](9daa584),
[`7f38b3a`](7f38b3a),
[`bf2d0e7`](bf2d0e7),
[`6966201`](6966201),
[`536f366`](536f366),
[`889cb6c`](889cb6c),
[`6a002b2`](6a002b2),
[`8ff5c5a`](8ff5c5a),
[`6966201`](6966201),
[`3ccf335`](3ccf335),
[`a99aa48`](a99aa48),
[`dda52f1`](dda52f1)]:
    -   @browserbasehq/stagehand@2.5.1

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants