From e8b431c53674a049d43d8065d189553c33671f6e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 14 Jan 2026 11:50:36 +0000 Subject: [PATCH 1/5] Initial plan From 61f27bd2ae6e24fb821406a6c2497c84181be27a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 14 Jan 2026 11:56:20 +0000 Subject: [PATCH 2/5] Add webpage-snapshot plugin for browser screenshot functionality Co-authored-by: dofaromg <217537952+dofaromg@users.noreply.github.com> --- .claude-plugin/marketplace.json | 11 ++++ .../.claude-plugin/plugin.json | 9 ++++ plugins/webpage-snapshot/README.md | 52 +++++++++++++++++++ .../commands/webpage-snapshot.md | 23 ++++++++ 4 files changed, 95 insertions(+) create mode 100644 plugins/webpage-snapshot/.claude-plugin/plugin.json create mode 100644 plugins/webpage-snapshot/README.md create mode 100644 plugins/webpage-snapshot/commands/webpage-snapshot.md diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index d0601412c0..3e13150fa9 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -145,6 +145,17 @@ }, "source": "./plugins/security-guidance", "category": "security" + }, + { + "name": "webpage-snapshot", + "description": "Capture and save webpage screenshots using browser automation", + "version": "1.0.0", + "author": { + "name": "大粒子", + "email": "support@anthropic.com" + }, + "source": "./plugins/webpage-snapshot", + "category": "productivity" } ] } diff --git a/plugins/webpage-snapshot/.claude-plugin/plugin.json b/plugins/webpage-snapshot/.claude-plugin/plugin.json new file mode 100644 index 0000000000..d8533f418e --- /dev/null +++ b/plugins/webpage-snapshot/.claude-plugin/plugin.json @@ -0,0 +1,9 @@ +{ + "name": "webpage-snapshot", + "description": "Capture and save webpage screenshots using browser automation", + "version": "1.0.0", + "author": { + "name": "大粒子", + "email": "support@anthropic.com" + } +} diff --git a/plugins/webpage-snapshot/README.md b/plugins/webpage-snapshot/README.md new file mode 100644 index 0000000000..a08edb94d3 --- /dev/null +++ b/plugins/webpage-snapshot/README.md @@ -0,0 +1,52 @@ +# Webpage Snapshot Plugin + +A Claude Code plugin that enables capturing screenshots of webpages using browser automation. + +## Features + +- Capture full-page or viewport screenshots of any webpage +- Automatic page load detection +- Clean browser management + +## Installation + +This plugin is included in the claude-code-plugins bundle. To use it: + +1. Ensure you have Claude Code installed +2. The plugin is automatically available in projects that include the marketplace + +## Usage + +Use the `/webpage-snapshot` command followed by the URL you want to capture: + +``` +/webpage-snapshot https://example.com +``` + +The command will: +1. Open a browser window +2. Navigate to the specified URL +3. Wait for the page to load +4. Capture a screenshot +5. Save it with a descriptive filename +6. Close the browser + +## Examples + +Capture a screenshot of a website: +``` +/webpage-snapshot https://www.anthropic.com +``` + +## Requirements + +- Claude Code with browser automation support +- Internet connection for accessing webpages + +## Author + +Created by 大粒子 for the Claude Code ecosystem. + +## Version + +1.0.0 diff --git a/plugins/webpage-snapshot/commands/webpage-snapshot.md b/plugins/webpage-snapshot/commands/webpage-snapshot.md new file mode 100644 index 0000000000..1c4bbef70f --- /dev/null +++ b/plugins/webpage-snapshot/commands/webpage-snapshot.md @@ -0,0 +1,23 @@ +--- +allowed-tools: playwright-browser_navigate, playwright-browser_take_screenshot, playwright-browser_snapshot, playwright-browser_close +description: Capture a screenshot of a webpage +--- + +## Your task + +Capture a screenshot of the specified webpage URL. + +## Steps + +1. Navigate to the URL provided by the user +2. Wait for the page to load completely +3. Take a screenshot of the page +4. Save the screenshot with an appropriate filename +5. Close the browser when done + +## Important notes + +- Always wait for the page to fully load before taking a screenshot +- Use a descriptive filename for the screenshot +- Handle any errors gracefully and inform the user +- Close the browser after capturing the screenshot From 320bf61bd3b5670943c5d3c8f34d41c8b46d0d35 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 14 Jan 2026 11:57:57 +0000 Subject: [PATCH 3/5] Update author email to match repository owner Co-authored-by: dofaromg <217537952+dofaromg@users.noreply.github.com> --- .claude-plugin/marketplace.json | 2 +- plugins/webpage-snapshot/.claude-plugin/plugin.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index 3e13150fa9..e5c7bb19f3 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -152,7 +152,7 @@ "version": "1.0.0", "author": { "name": "大粒子", - "email": "support@anthropic.com" + "email": "z814241@gmail.com" }, "source": "./plugins/webpage-snapshot", "category": "productivity" diff --git a/plugins/webpage-snapshot/.claude-plugin/plugin.json b/plugins/webpage-snapshot/.claude-plugin/plugin.json index d8533f418e..380deae24b 100644 --- a/plugins/webpage-snapshot/.claude-plugin/plugin.json +++ b/plugins/webpage-snapshot/.claude-plugin/plugin.json @@ -4,6 +4,6 @@ "version": "1.0.0", "author": { "name": "大粒子", - "email": "support@anthropic.com" + "email": "z814241@gmail.com" } } From 81944147c652ded7f36c75dad0274faa9e37f411 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 14 Jan 2026 13:04:06 +0000 Subject: [PATCH 4/5] Initial plan From 49ebce8cb931d456869d512a3476fea6f5bfc001 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 14 Jan 2026 13:09:22 +0000 Subject: [PATCH 5/5] Enhance webpage-snapshot command with explicit wait tool and clearer instructions Co-authored-by: dofaromg <217537952+dofaromg@users.noreply.github.com> --- .../commands/webpage-snapshot.md | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/plugins/webpage-snapshot/commands/webpage-snapshot.md b/plugins/webpage-snapshot/commands/webpage-snapshot.md index 1c4bbef70f..c741526e3d 100644 --- a/plugins/webpage-snapshot/commands/webpage-snapshot.md +++ b/plugins/webpage-snapshot/commands/webpage-snapshot.md @@ -1,5 +1,5 @@ --- -allowed-tools: playwright-browser_navigate, playwright-browser_take_screenshot, playwright-browser_snapshot, playwright-browser_close +allowed-tools: playwright-browser_navigate, playwright-browser_wait_for, playwright-browser_take_screenshot, playwright-browser_snapshot, playwright-browser_close description: Capture a screenshot of a webpage --- @@ -10,14 +10,15 @@ Capture a screenshot of the specified webpage URL. ## Steps 1. Navigate to the URL provided by the user -2. Wait for the page to load completely -3. Take a screenshot of the page -4. Save the screenshot with an appropriate filename -5. Close the browser when done +2. Wait for the page to load completely using `playwright-browser_wait_for` (wait at least 2-3 seconds after navigation) +3. Take a screenshot of the page using `playwright-browser_take_screenshot` +4. Save the screenshot with an appropriate filename (e.g., including domain and timestamp) +5. Close the browser when done using `playwright-browser_close` ## Important notes -- Always wait for the page to fully load before taking a screenshot -- Use a descriptive filename for the screenshot -- Handle any errors gracefully and inform the user -- Close the browser after capturing the screenshot +- Always wait for the page to fully load before taking a screenshot to ensure all content is rendered +- Use a descriptive filename for the screenshot that includes the domain name and timestamp +- Handle any errors gracefully and inform the user of any issues +- Always close the browser after capturing the screenshot to free up resources +- If the page fails to load, provide a clear error message to the user