diff --git a/packages/html-reporter/src/testErrorView.tsx b/packages/html-reporter/src/testErrorView.tsx
index f48479cfed..44a59e13dc 100644
--- a/packages/html-reporter/src/testErrorView.tsx
+++ b/packages/html-reporter/src/testErrorView.tsx
@@ -55,17 +55,31 @@ const PromptButton: React.FC<{
}> = ({ error, result }) => {
const gitCommitInfo = React.useContext(GitCommitInfoContext);
const prompt = React.useMemo(() => {
- const diff = gitCommitInfo?.['pull.diff'] ?? gitCommitInfo?.['revision.diff'];
- const pageSnapshot = result?.attachments.find(a => a.name === 'pageSnapshot')?.body;
-
- return [
- 'You are a helpful assistant. Help me understand the error cause. Here is the error:',
+ const promptParts = [
+ 'This test failed, suggest how to fix it. Please be correct, concise and keep Playwright best practices in mind.',
+ 'Here is the error:',
+ '\n',
stripAnsiEscapes(error),
- 'And this is the code diff:',
- diff,
- 'And this is how the page looked:',
- pageSnapshot,
- ].join('\n\n');
+ '\n',
+ ];
+
+ const pageSnapshot = result?.attachments.find(a => a.name === 'pageSnapshot')?.body;
+ if (pageSnapshot)
+ promptParts.push(
+ 'This is how the page looked at the end of the test:',
+ pageSnapshot,
+ '\n'
+ );
+
+ const diff = gitCommitInfo?.['pull.diff'] ?? gitCommitInfo?.['revision.diff'];
+ if (diff)
+ promptParts.push(
+ 'And this is the code diff:',
+ diff,
+ '\n'
+ );
+
+ return promptParts.join('\n');
}, [gitCommitInfo, result])
return } title="Copy prompt to clipboard" />;