Image Analyzer - AI Image Analysis

Analyze images with AI - extract text, describe content, detect objects

How to use it

  1. Hit Copy the whole skill.
  2. Claude: ⋯ → Download .md, then Customize → Skills → Add → Upload skill.
    ChatGPT: make a Project and paste it into Instructions.
    Neither? Paste it at the top of a new chat — it works for that chat.
  3. Describe your job in plain words. The AI follows the skill from there.
Claude Code — installs the whole folder, not just SKILL.md
npx degit gooseworks-ai/goose-skills/skills/research-tools/capabilities/image-analyzer#main ~/.claude/skills/image-analyzer

For one project only, change the path to .claude/skills/image-analyzer.

Not working?
  • Check which app you pasted it into — the steps above name the right one.
  • Some skills need the paid tier of Claude or ChatGPT.
Step-by-step guide with screenshots · Ask in the forum

Paste into Claude, ChatGPT or Cursor.

Show the full text125 lines
image-analyzer/SKILL.md125 lines4.0 KBpushed 96d agoRawView on GitHub

Image Analyzer - AI Image Analysis

Setup

Read your credentials from ~/.gooseworks/credentials.json:

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"

Analyze images to extract text, describe content, and detect objects using AI.

Workflow

Step 1: Get Image from URL

Fetch image content:

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"linkup","path":"/fetch","body":{"url":"https://example.com/image.jpg"}}'

Step 2: Extract Text (OCR)

Use AI to extract text from images:

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"scrapegraph","path":"/v1/smartscraper"}'
  "website_url": "https://example.com/screenshot.png",
  "user_prompt": "Extract all visible text from this image"
}'

Step 3: Extract Structured Data

Get specific data from images:

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"riveter","path":"/v1/run"}'
  "input": {
    "urls": ["https://example.com/receipt.jpg"]
  },
  "output": {
    "store_name": {"prompt": "Store name", "contexts": ["urls"]},
    "date": {"prompt": "Date", "contexts": ["urls"]},
    "items": {"prompt": "Items with names and prices", "contexts": ["urls"]},
    "total": {"prompt": "Total amount", "contexts": ["urls"]}
  }
}'

Step 4: Capture Website Screenshots

Get screenshots of web pages:

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"}}'

Example Usage

# Extract receipt data
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"scrapegraph","path":"/v1/smartscraper"}'
  "website_url": "https://example.com/receipt.jpg",
  "user_prompt": "Extract store name, date, all items with prices, and total amount"
}'

# Get website 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":"brand-dev","path":"/v1/brand/screenshot","query":{"domain":"openai.com"}}'

Tips

  • Use clear, high-resolution images
  • Specify exact data needed for extraction
  • Combine with OCR for text-heavy images
  • Use screenshots for website analysis

Discover More

List all endpoints, or add a path for parameter details:

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/search \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt":"brand-dev API endpoints"}' api show linkup
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/search \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt":"riveter API endpoints"}' api show scrapegraph

Example: curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/details \ -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"api":"olostep","path":"/v1/scrapes"}' for endpoint parameters.

1---
2name: image-analyzer
3description: Analyze images with AI - extract text, describe content, detect objects
4source: orthogonal
5---
6 
7 
8# Image Analyzer - AI Image Analysis
9 
10## Setup
11 
12Read your credentials from ~/.gooseworks/credentials.json:
13```bash
14export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])")
15export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))")
16```
17 
18If ~/.gooseworks/credentials.json does not exist, tell the user to run: `npx gooseworks login`
19 
20All endpoints use Bearer auth: `-H "Authorization: Bearer $GOOSEWORKS_API_KEY"`
21 
22 
23Analyze images to extract text, describe content, and detect objects using AI.
24 
25## Workflow
26 
27### Step 1: Get Image from URL
28Fetch image content:
29 
30```bash
31curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
32 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
33 -H "Content-Type: application/json" \
34 -d '{"api":"linkup","path":"/fetch","body":{"url":"https://example.com/image.jpg"}}'
35```
36 
37### Step 2: Extract Text (OCR)
38Use AI to extract text from images:
39 
40```bash
41curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
42 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
43 -H "Content-Type: application/json" \
44 -d '{"api":"scrapegraph","path":"/v1/smartscraper"}'
45 "website_url": "https://example.com/screenshot.png",
46 "user_prompt": "Extract all visible text from this image"
47}'
48```
49 
50### Step 3: Extract Structured Data
51Get specific data from images:
52 
53```bash
54curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
55 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
56 -H "Content-Type: application/json" \
57 -d '{"api":"riveter","path":"/v1/run"}'
58 "input": {
59 "urls": ["https://example.com/receipt.jpg"]
60 },
61 "output": {
62 "store_name": {"prompt": "Store name", "contexts": ["urls"]},
63 "date": {"prompt": "Date", "contexts": ["urls"]},
64 "items": {"prompt": "Items with names and prices", "contexts": ["urls"]},
65 "total": {"prompt": "Total amount", "contexts": ["urls"]}
66 }
67}'
68```
69 
70### Step 4: Capture Website Screenshots
71Get screenshots of web pages:
72 
73```bash
74curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
75 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
76 -H "Content-Type: application/json" \
77 -d '{"api":"brand-dev","path":"/v1/brand/screenshot","query":{"domain":"stripe.com"}}'
78```
79 
80## Example Usage
81 
82```bash
83# Extract receipt data
84curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
85 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
86 -H "Content-Type: application/json" \
87 -d '{"api":"scrapegraph","path":"/v1/smartscraper"}'
88 "website_url": "https://example.com/receipt.jpg",
89 "user_prompt": "Extract store name, date, all items with prices, and total amount"
90}'
91 
92# Get website screenshot
93curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
94 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
95 -H "Content-Type: application/json" \
96 -d '{"api":"brand-dev","path":"/v1/brand/screenshot","query":{"domain":"openai.com"}}'
97```
98 
99## Tips
100 
101- Use clear, high-resolution images
102- Specify exact data needed for extraction
103- Combine with OCR for text-heavy images
104- Use screenshots for website analysis
105 
106## Discover More
107 
108List all endpoints, or add a path for parameter details:
109 
110```bash
111curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/search \
112 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
113 -H "Content-Type: application/json" \
114 -d '{"prompt":"brand-dev API endpoints"}' api show linkup
115curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/search \
116 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
117 -H "Content-Type: application/json" \
118 -d '{"prompt":"riveter API endpoints"}' api show scrapegraph
119```
120 
121Example: `curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/details \
122 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
123 -H "Content-Type: application/json" \
124 -d '{"api":"olostep","path":"/v1/scrapes`"}' for endpoint parameters.
125 

Discussion

Alternatives

Also in Services & APIs
Context7Pulls up-to-date, version-specific library docs and code examples into the prompt so the AI stops inventing old APIs.Coding · MITAdaptyv Bio Foundry APIHow to use the Adaptyv Bio Foundry API and Python SDK for protein experiment design, submission, and results retrieval. Use this skill whenever the user mentions Adaptyv, Foundry API, protein binding assays, protein screening experiments, BLI/SPR assays, thermostability assays, or wants to submit protein sequences for experimental characterization. Also trigger when code imports `adaptyv`, `adaptyv_sdk`, or `FoundryClient`, or references `foundry-api-public.adaptyvbio.com`.Science · MIT.NET Backend Development PatternsMaster C#/.NET backend development patterns for building robust APIs, MCP servers, and enterprise applications. Covers async/await, dependency injection, Entity Framework Core, Dapper, configuration, caching, and testing with xUnit. Use when developing .NET backends, reviewing C# code, or designing API architectures.Coding · MITAdd AI protectionProtect AI chat and completion endpoints from abuse — detect prompt injection and jailbreak attempts, block PII and sensitive info from leaking in responses, and enforce token budget rate limits to control costs. Use this skill when the user is building or securing any endpoint that processes user prompts with an LLM, even if they describe it as "preventing jailbreaks," "stopping prompt attacks," "blocking sensitive data," or "controlling AI API costs" rather than naming specific protections.Coding · CC0-1.0