orthogonal-website-screenshot
Take screenshots of websites and web pages
Best use case
orthogonal-website-screenshot is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Take screenshots of websites and web pages
Teams using orthogonal-website-screenshot should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/orthogonal-website-screenshot/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How orthogonal-website-screenshot Compares
| Feature / Agent | orthogonal-website-screenshot | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Take screenshots of websites and web pages
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Website Screenshot
## Setup
Read your credentials from ~/.gooseworks/credentials.json:
```bash
export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])")
export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))")
```
If ~/.gooseworks/credentials.json does not exist, tell the user to run: `npx gooseworks login`
All endpoints use Bearer auth: `-H "Authorization: Bearer $GOOSEWORKS_API_KEY"`
Capture screenshots of any website or web page. Useful for documentation, monitoring, and visual records.
## When to Use
- User asks for a screenshot of a website
- User wants to see what a site looks like
- Documenting web pages
- Monitoring website changes
- Creating visual records
## How It Works
Uses Notte or Brand.dev APIs to capture website screenshots.
## Usage
### Screenshot with Notte
```bash
# First start a session, then screenshot
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"notte","path":"/sessions/start","body":{"url":"https://stripe.com"}}'
# Then take screenshot with the session_id
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"notte","path":"/sessions/{session_id}/page/screenshot"}'
```
### Screenshot with Brand.dev (simpler)
```bash
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"brand-dev","path":"/v1/brand/screenshot","query":{"domain":"stripe.com"}}'
```
### Scrape and Screenshot with Notte
```bash
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"notte","path":"/scrape","body":{"url":"https://example.com"}}'
```
## Parameters
### Notte Session
- **url** (required) - Full URL to navigate to
### Brand.dev
- **domain** (required) - Website domain
## Response
### Brand.dev Response
Returns screenshot URL:
- **status** (string) - `ok` on success
- **domain** (string) - Domain that was screenshotted
- **screenshot** (string) - Public URL to the screenshot image (PNG)
- **screenshotType** (string) - `viewport` (above-the-fold) or `full_page`
- **code** (integer) - HTTP status code
### Notte Response
Returns page content + session:
- **markdown** (string) - Page content as markdown text
- **images** (array|null) - Extracted images (if any)
- **structured** (object|null) - Structured data (if extraction was requested)
- **session.session_id** (string) - Session ID for follow-up actions
- **session.status** (string) - `active` while session is open
- **session.credit_usage** (integer) - Credits consumed
To take an explicit screenshot via Notte session:
```bash
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"notte","path":"/sessions/{session_id}/page/screenshot"}'
```
## Examples
**User:** "Take a screenshot of Notion's homepage"
```bash
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"brand-dev","path":"/v1/brand/screenshot","query":{"domain":"notion.so"}}'
```
**User:** "Capture what vercel.com looks like"
```bash
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"brand-dev","path":"/v1/brand/screenshot","query":{"domain":"vercel.com"}}'
```
**User:** "Screenshot and scrape the content from this article"
```bash
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"notte","path":"/scrape","body":{"url":"https://example.com/article"}}'
```
## Error Handling
- **400** - Missing required parameter (`domain` for Brand.dev, `url` for Notte)
- **404** - Domain not found or page doesn't exist
- **504** - Page took too long to load — retry or try simpler URL
- Brand.dev only screenshots the homepage (pass domain, not full URL)
- Notte sessions auto-expire after `idle_timeout_minutes` (default 3) — take screenshots promptly
## Tips
- Brand.dev is simpler for quick homepage screenshots
- Notte is more powerful for full page control
- For pages requiring login, use Notte sessions with authentication
- Screenshots are typically full-page or viewport-sized
- Some sites may block automated screenshotsRelated Skills
icp-website-review
Evaluate a website, landing page, content, or any online asset through the eyes of pre-built synthetic ICP personas. Loads personas from icp-persona-builder output, then runs them against target URLs. Supports three modes: structured scorecard, freeform focus group, and head-to-head competitive comparison. Reusable — run against the same site after changes, or against new content anytime.
icp-website-audit
End-to-end website audit through ICP eyes. Builds synthetic personas (if they don't already exist), runs a structured scorecard review of the client's site, then runs a head-to-head competitive comparison against top competitors. Produces a single consolidated report with persona feedback, competitive positioning, and prioritized recommendations. The complete "how do our buyers actually experience our site vs the competition?" workflow.
orthogonal-yc-batch-evaluator
Evaluate YC batch companies for investment — scrapes the YC directory, researches each company and its founders (work history, LinkedIn, website), assesses founder-company fit, and exports to Google Sheets with priority rankings. Use when asked to evaluate YC companies, research a YC batch, screen startups, or do due diligence on YC companies.
orthogonal-weather
Get current weather and forecasts using free APIs (no API key required). Use when asked about weather, temperature, forecasts, or climate conditions for any location.
orthogonal-weather-forecast
Get weather forecasts - temperature, precipitation, wind, and conditions
orthogonal-vhs-terminal-recordings
Create polished terminal GIF recordings using VHS (Video Hardware Software) by Charmbracelet. Use when asked to create terminal demos, CLI gifs, command-line recordings, or animated terminal screenshots for documentation, READMEs, or marketing.
orthogonal-verify-email
Verify if an email address is valid and deliverable
orthogonal-valyu
Web search, AI answers, content extraction, and async deep research
orthogonal-uptime-monitor
Monitor website uptime - check availability, response times, and status
orthogonal-twitter-profile-lookup
Look up Twitter/X profiles - get bio, followers, tweets, and engagement
orthogonal-tomba
Email finder and verifier - find emails from domains, LinkedIn, or company search
orthogonal-tiktok-search
Search TikTok - find profiles, videos, hashtags, and trending content