image-deep-research 0.0.0-stage → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Binary file
@@ -0,0 +1,22 @@
1
+ {
2
+ "$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
3
+ "name": "image-deep-research",
4
+ "description": "Image deep research and visual research for Claude Code and Codex",
5
+ "owner": {
6
+ "name": "Gev",
7
+ "email": "app.ridelink@gmail.com"
8
+ },
9
+ "plugins": [
10
+ {
11
+ "name": "image-deep-research",
12
+ "description": "Image deep research for Claude Code and Codex: find reference images on open, licensed collections (Openverse, Wikimedia Commons, Art Institute of Chicago, the Met) with every URL verified and every licence kept, render real websites into screenshot contact sheets, measure a live site's palette and typefaces, and build moodboards - visual research for design references, styles, palettes, typefaces, materials and competitors.",
13
+ "author": {
14
+ "name": "Gev"
15
+ },
16
+ "category": "productivity",
17
+ "source": "./",
18
+ "homepage": "https://github.com/ridelink0/image-deep-research",
19
+ "version": "1.2.0"
20
+ }
21
+ ]
22
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "$schema": "https://anthropic.com/claude-code/plugin.schema.json",
3
+ "name": "image-deep-research",
4
+ "version": "1.2.0",
5
+ "description": "Image deep research for Claude Code and Codex: find reference images on open, licensed collections (Openverse, Wikimedia Commons, Art Institute of Chicago, the Met) with every URL verified and every licence kept, render real websites into screenshot contact sheets, measure a live site's palette and typefaces, and build moodboards - visual research for design references, styles, palettes, typefaces, materials and competitors.",
6
+ "author": {
7
+ "name": "Gev",
8
+ "url": "https://github.com/ridelink0"
9
+ },
10
+ "homepage": "https://github.com/ridelink0/image-deep-research",
11
+ "repository": "https://github.com/ridelink0/image-deep-research",
12
+ "documentationUrl": "https://github.com/ridelink0/image-deep-research#readme",
13
+ "supportUrl": "https://github.com/ridelink0/image-deep-research/issues",
14
+ "privacyPolicyUrl": "https://github.com/ridelink0/image-deep-research/blob/main/PRIVACY.md",
15
+ "license": "MIT",
16
+ "keywords": [
17
+ "image research",
18
+ "deep research",
19
+ "image deep research",
20
+ "visual research",
21
+ "reference images",
22
+ "design references",
23
+ "moodboard",
24
+ "mood board",
25
+ "contact sheet",
26
+ "screenshots",
27
+ "website screenshots",
28
+ "image search",
29
+ "openverse",
30
+ "wikimedia commons",
31
+ "public domain images",
32
+ "creative commons",
33
+ "color palette",
34
+ "typography",
35
+ "competitor research",
36
+ "inspiration"
37
+ ]
38
+ }
@@ -0,0 +1,53 @@
1
+ {
2
+ "name": "image-deep-research",
3
+ "version": "1.2.0",
4
+ "description": "Image deep research for Claude Code and Codex: find reference images on open, licensed collections (Openverse, Wikimedia Commons, Art Institute of Chicago, the Met) with every URL verified and every licence kept, render real websites into screenshot contact sheets, measure a live site's palette and typefaces, and build moodboards - visual research for design references, styles, palettes, typefaces, materials and competitors.",
5
+ "author": {
6
+ "name": "Gev",
7
+ "url": "https://github.com/ridelink0"
8
+ },
9
+ "homepage": "https://github.com/ridelink0/image-deep-research",
10
+ "repository": "https://github.com/ridelink0/image-deep-research",
11
+ "license": "MIT",
12
+ "keywords": [
13
+ "image research",
14
+ "deep research",
15
+ "image deep research",
16
+ "visual research",
17
+ "reference images",
18
+ "design references",
19
+ "moodboard",
20
+ "mood board",
21
+ "contact sheet",
22
+ "screenshots",
23
+ "website screenshots",
24
+ "image search",
25
+ "openverse",
26
+ "wikimedia commons",
27
+ "public domain images",
28
+ "creative commons",
29
+ "color palette",
30
+ "typography",
31
+ "competitor research",
32
+ "inspiration"
33
+ ],
34
+ "skills": "./skills/",
35
+ "interface": {
36
+ "displayName": "Image Deep Research",
37
+ "shortDescription": "Find, verify and read reference images and real websites",
38
+ "longDescription": "Answers design questions by looking. Searches Openverse, Wikimedia Commons, the Art Institute of Chicago and the Met with no keys, checks that every URL really serves an image, keeps the licence and creator beside each one, and tiles them into a numbered moodboard. Renders real websites in a headless browser into contact sheets and measures their ground colours, text colours and typefaces as computed.",
39
+ "developerName": "Gev",
40
+ "category": "Productivity",
41
+ "capabilities": [
42
+ "Read",
43
+ "Write"
44
+ ],
45
+ "websiteURL": "https://github.com/ridelink0/image-deep-research",
46
+ "defaultPrompt": [
47
+ "Find public-domain reference images of brutalist concrete interiors",
48
+ "Render these five competitor sites and tell me what their first screens do",
49
+ "Build a moodboard for a warm, editorial coffee brand"
50
+ ],
51
+ "brandColor": "#16140f"
52
+ }
53
+ }
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Gev
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/PRIVACY.md ADDED
@@ -0,0 +1,42 @@
1
+ # Privacy
2
+
3
+ image-deep-research collects nothing about you. It has no account, no
4
+ analytics, no telemetry and no server of its own, and nothing it does is sent
5
+ to its author.
6
+
7
+ ## What leaves your machine
8
+
9
+ Only what a search or a study needs, and only when you or Claude run one of
10
+ its scripts:
11
+
12
+ - **Image searches** (`images.mjs`) send the search words you gave to the
13
+ public APIs of [Openverse](https://openverse.org),
14
+ [Wikimedia Commons](https://commons.wikimedia.org), the
15
+ [Art Institute of Chicago](https://api.artic.edu/docs/) and
16
+ [the Met](https://metmuseum.github.io/), then fetch the image URLs they
17
+ return to check each one is a real image. Requests carry a user agent
18
+ naming the plugin (`image-deep-research/1.0`, plus this repository's URL
19
+ for Wikimedia and the Art Institute, as their API rules ask) and no key,
20
+ cookie or credential.
21
+ - **Website studies** (`study.mjs`) open the sites you name in a headless
22
+ Chrome, Edge or Chromium on your machine, the same as visiting them. The
23
+ browser runs with a fresh profile made for that run in the system temp
24
+ folder and deleted when it ends, so your own cookies and logins are never
25
+ used.
26
+
27
+ Each of those services has its own privacy policy, which applies to the
28
+ requests it receives.
29
+
30
+ ## What stays on your machine
31
+
32
+ Contact sheets, moodboards, downloaded images and reports are written to the
33
+ folder you point the scripts at. Moodboards cache bounded image files there
34
+ before rendering so their browser loads local images. Reports retain source
35
+ URLs, checked redirect URLs and capture timestamps. The plugin reads two environment variables,
36
+ `IDR_BROWSER` and `ATELIER_BROWSER`, only to find a browser executable, plus
37
+ the standard program-folder variables for the same purpose. It reads no
38
+ credential.
39
+
40
+ ## Contact
41
+
42
+ Questions or problems: [open an issue](https://github.com/ridelink0/image-deep-research/issues).
package/README.md CHANGED
@@ -1,3 +1,244 @@
1
- # Temporary Holding Version
1
+ # Image Deep Research
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ This repository is a compatibility mirror for existing standalone installations
4
+ and directory listings. Development lives in
5
+ [Ultimate Frontend Skills](https://github.com/ridelink0/ultimate-frontend-skills),
6
+ with the standalone plugin source under
7
+ [`plugins/image-deep-research`](https://github.com/ridelink0/ultimate-frontend-skills/tree/master/plugins/image-deep-research).
8
+ Please open new issues and changes in that canonical repository. The standalone
9
+ installation instructions below remain available for existing users.
10
+
11
+ **Image deep research and visual research for Claude Code and Codex.** Find
12
+ reference images on open, licensed collections with every URL verified and
13
+ every licence kept, render real websites into screenshot contact sheets,
14
+ measure a live site's palette and typefaces, and build moodboards - then read
15
+ the pictures as pictures.
16
+
17
+ Most design questions are answered by looking at twenty examples, not by
18
+ reading one article about them. This plugin gets those twenty examples in
19
+ front of the model in one or two image reads, and holds it to what it
20
+ actually saw.
21
+
22
+ ![A moodboard of eight public-domain works found for "cypress trees" at the Art Institute of Chicago and the Met, each tile labelled with its source and licence.](docs/img/moodboard-cypress-trees.jpg)
23
+
24
+ <sub>Real output of `node skills/image-deep-research/scripts/images.mjs "cypress trees" --sources aic,met --n 6 --sheet`, 2026-09-26: the first of two sheets, every URL fetched and verified before it was tiled. All eight works are CC0. Not every hit is a cypress, which is why the skill reads the sheet before it recommends anything.</sub>
25
+
26
+ ```
27
+ /plugin marketplace add ridelink0/image-deep-research
28
+ /plugin install image-deep-research@image-deep-research
29
+ ```
30
+
31
+ Codex and the other routes are under [Install](#install).
32
+
33
+ It also ships inside [Ultimate Frontend Skills](https://github.com/ridelink0/ultimate-frontend-skills),
34
+ which carries this skill as its image research route. If you already have
35
+ UFS installed you have this skill: do not install both, or the skill will show
36
+ up twice.
37
+
38
+ ## What it does
39
+
40
+ **Open image collections, no keys.** `images.mjs` searches
41
+ [Openverse](https://openverse.org) (Creative Commons and public-domain images
42
+ from Flickr, museums and more), [Wikimedia Commons](https://commons.wikimedia.org),
43
+ the [Art Institute of Chicago](https://www.artic.edu/open-access) (public-domain
44
+ works only) and [the Met](https://www.metmuseum.org/about-the-met/policies-and-documents/open-access)
45
+ (Open Access works only). Each result keeps its title, creator, licence,
46
+ licence URL and source page. Every image URL is fetched before it is reported,
47
+ and one that does not answer with an image is marked as failed and never put
48
+ on the moodboard. `--commercial` keeps only licences that allow commercial use
49
+ and changes; `--sheet` tiles the verified images into a numbered moodboard;
50
+ `--download` saves them.
51
+
52
+ **Real websites, rendered.** `study.mjs` loads each site in headless Chrome,
53
+ Edge or Chromium, screenshots the top and one screen down, and tiles the shots
54
+ eight to a contact sheet. It measures what the browser computed: the ground
55
+ colours by element-rectangle area (overlaps can count twice), text colours by amount of text, and heading
56
+ and body typefaces with size, weight and line height. A page that answers
57
+ with a bot challenge or Access Denied, or renders next to nothing (a
58
+ preloader), is reported as a wall with the reason and kept off the sheet
59
+ rather than guessed at. Four curated lists come
60
+ with it: `editorial`, `object`, `cinema`, `product`.
61
+
62
+ **A method, not just a search.** The skill runs research in rounds: write the
63
+ question so a picture can answer it, gather, read the sheets, search again
64
+ with the better words the first round taught you, and stop when a new round
65
+ stops changing the answer. The report lists sheet paths, every recommended
66
+ image with its verified URL and licence, and one concrete move per reference.
67
+
68
+ ## Install
69
+
70
+ ### Claude Code
71
+
72
+ ```
73
+ /plugin marketplace add ridelink0/image-deep-research
74
+ /plugin install image-deep-research@image-deep-research
75
+ ```
76
+
77
+ or from a terminal:
78
+
79
+ ```bash
80
+ claude plugin marketplace add ridelink0/image-deep-research
81
+ claude plugin install image-deep-research@image-deep-research
82
+ ```
83
+
84
+ ### Codex
85
+
86
+ ```bash
87
+ codex plugin marketplace add ridelink0/image-deep-research
88
+ codex plugin add image-deep-research@image-deep-research
89
+ ```
90
+
91
+ Codex reads the same `.claude-plugin/marketplace.json` and the plugin's
92
+ `.codex-plugin/plugin.json`.
93
+
94
+ ### Any agent the skills CLI knows
95
+
96
+ ```bash
97
+ npx skills add ridelink0/image-deep-research
98
+ ```
99
+
100
+ This copies the skill folder, scripts included, into every agent it finds on
101
+ the machine. It installs the skill only, not the slash commands.
102
+
103
+ ### Requirements
104
+
105
+ Node 22 or newer (the scripts use its built-in `fetch` and `WebSocket`; there
106
+ are no dependencies to install). Rendering needs Chrome, Edge or Chromium; on
107
+ Windows Edge is usually already there. Set `IDR_BROWSER` to the browser
108
+ executable if it lives somewhere unusual. On Linux it also finds the Chromium
109
+ that Playwright downloads (`$PLAYWRIGHT_BROWSERS_PATH`, `~/.cache/ms-playwright`
110
+ or `/opt/pw-browsers`), and when it runs as root, as in many containers, it
111
+ starts the browser with `--no-sandbox`, which Chrome needs there
112
+ (`IDR_NO_SANDBOX=1` asks for that flag without root). The browser always runs
113
+ headless and never opens a window. Image search alone needs no browser.
114
+
115
+ ## Use
116
+
117
+ Ask a question that is better answered by looking:
118
+
119
+ > What do the first screens of luxury watch sites have in common? Show me.
120
+
121
+ > Find public-domain reference images of brutalist concrete interiors for a moodboard.
122
+
123
+ Or start it directly:
124
+
125
+ | Claude Code | Codex | What it does |
126
+ |---|---|---|
127
+ | `/image-deep-research:image-deep-research <topic>` (or `/image-deep-research`) | `$image-deep-research:image-deep-research` | The full research loop |
128
+ | `/image-deep-research:find-reference-images <subject>` | `$image-deep-research:source-command-find-reference-images` | Search the open collections and build a moodboard |
129
+ | `/image-deep-research:website-contact-sheet <urls or list>` | `$image-deep-research:source-command-website-contact-sheet` | Render sites into contact sheets with palette and type |
130
+
131
+ The scripts also run on their own:
132
+
133
+ ```bash
134
+ node skills/image-deep-research/scripts/images.mjs "cypress trees" --sheet --commercial
135
+ node skills/image-deep-research/scripts/study.mjs https://stripe.com https://linear.app
136
+ node skills/image-deep-research/scripts/study.mjs --list editorial --width 390
137
+ node skills/image-deep-research/scripts/study.mjs https://example.com --width 390 --reduced-motion
138
+ ```
139
+
140
+ Output goes to a temporary folder that is printed at the end (`--out <dir>`
141
+ to choose one): the sheets as JPEG, the screenshots as PNG, and
142
+ `results.json` or `report.json` with everything measured.
143
+
144
+ **Compact mode (1.1.0).** Every picture the model reads stays in the
145
+ conversation and is sent again on every later turn, so in a coding session
146
+ add `--compact` to either script. It draws one sheet of up to 16 tiles with
147
+ only a number badge on each: 1288x812 px, which Anthropic's vision pricing
148
+ (28 px patches) puts at exactly 1,334 image tokens on every Claude model,
149
+ against 2,852 for one of the eight-tile sheets on the high-resolution
150
+ models (1,064 on the others). A JPEG over 150,000 bytes at
151
+ quality 80 is taken again at 70 and then 60 (sixteen website screenshots came
152
+ out at 131-141 kB at 80; a very busy sheet can stay over). Text is one line
153
+ per result (number, source, licence, title, creator) or per site (ground,
154
+ ink, heading and body type), with no URLs; `images.mjs --compact` searches
155
+ 4 per source instead of 6. The numbers on the tiles and the lines are the
156
+ same numbers, and
157
+ `images.mjs --pick 3,7 --results <out>/results.json` prints the full record of
158
+ the ones you keep (licence URL, image URL, source page) without touching the
159
+ network. On the fixtures, 16 results print in about 1,500 characters, where
160
+ the full table for 24 prints about 8,200.
161
+
162
+ ```bash
163
+ node skills/image-deep-research/scripts/images.mjs "cypress trees" --compact
164
+ node skills/image-deep-research/scripts/images.mjs --pick 3,7 --results /tmp/image-deep-research/images-.../results.json
165
+ node skills/image-deep-research/scripts/study.mjs --list product --compact
166
+ ```
167
+
168
+ ## What it cannot do
169
+
170
+ ### Evidence and safe downloads in 1.2.0
171
+
172
+ Each screenshot keeps its own computed-style probe, actual viewport, reached
173
+ scroll position, capture time and reduced-motion preference. Hidden ancestors
174
+ are excluded when choosing text, heading, images and canvases. Requested phone
175
+ width and actual layout width can differ on a page without a viewport tag;
176
+ the report records the actual width. A still image does not establish motion
177
+ quality, and element rectangles are not a pixel-level palette measurement.
178
+
179
+ An image URL check establishes HTTP status and a supported raster Content-Type;
180
+ it does not verify the licence or decode the pixels. Downloads and moodboards
181
+ also check raster file signatures, cap each image at 20 MiB, and save PNG,
182
+ JPEG, GIF or WebP bytes before the sheet browser opens them. Private and
183
+ special-use IPs, credential-bearing URLs and redirects into private networks
184
+ are blocked for collection/API requests; DNS answers are checked and pinned to
185
+ the socket. API JSON is capped at 2 MiB. Sheets use these local files, retaining
186
+ tile numbers when a later download fails. The browser separately reports
187
+ whether each local raster actually decoded.
188
+
189
+ The study browser intentionally visits the URLs the user selected, including
190
+ local development URLs. It is a fresh profile, not a network sandbox. Do not
191
+ give it untrusted internal targets. No dependencies, binary payloads or
192
+ install-time downloads were added to the plugin.
193
+
194
+ ### Limits
195
+
196
+ It cannot see behind a bot wall or a login, and a WebGL site may screenshot as
197
+ its preloader; it says so instead of guessing. Unsplash and Pexels need a free
198
+ API key, so they are not searched; the skill explains how to use them if you
199
+ have one. A licence is reported as the collection states it: check the source
200
+ page before shipping an image in a product.
201
+
202
+ ## Development
203
+
204
+ ```bash
205
+ npm test # units, manifests, command rules, CLI errors, and the browser half
206
+ npm run test:live # the four collections, live (not run in CI)
207
+ ```
208
+
209
+ CI runs `npm test` on Ubuntu and Windows with a real Chrome and fails if any
210
+ test is skipped, so the browser half always runs there.
211
+
212
+ ### Keeping Ultimate Frontend Skills in step
213
+
214
+ UFS vendors `skills/image-deep-research/` from a tagged release of this repo
215
+ with its `scripts/sync-image-research.mjs`, which records the version and a
216
+ sha256 of every file in a lock file; a UFS test fails if the bundled copy
217
+ drifts from the lock. Change the skill here, tag a release, then sync UFS to
218
+ the tag.
219
+
220
+ ## Keywords
221
+
222
+ image research, deep research, image deep research, visual research, reference
223
+ images, design references, moodboard, mood board, contact sheet, website
224
+ screenshots, competitor research, colour palette, typography, public domain
225
+ images, Creative Commons images, Openverse, Wikimedia Commons, Claude Code
226
+ plugin, Claude skill, Codex plugin.
227
+
228
+ ## Credits
229
+
230
+ - Built by [Gev](https://github.com/ridelink0).
231
+ - The skill began as the `visual-research` skill in
232
+ [Ultimate Frontend Skills](https://github.com/ridelink0/ultimate-frontend-skills);
233
+ `scripts/browser.mjs` is vendored from its `scripts/inspect.mjs` (MIT), and
234
+ the curated site lists follow its study lists.
235
+ - Image data from [Openverse](https://openverse.org) (WordPress Foundation),
236
+ [Wikimedia Commons](https://commons.wikimedia.org), the
237
+ [Art Institute of Chicago API](https://api.artic.edu/docs/) and
238
+ [The Metropolitan Museum of Art Collection API](https://metmuseum.github.io/).
239
+ Each image keeps its own licence and creator; this project claims none of
240
+ them.
241
+
242
+ ## License
243
+
244
+ MIT. See [LICENSE](LICENSE).
@@ -0,0 +1,30 @@
1
+ ---
2
+ description: "Find reference images for a topic on open, licensed collections (Openverse, Wikimedia Commons, Art Institute of Chicago, the Met), verify every URL, and tile them into a moodboard - image deep research"
3
+ argument-hint: "<subject, style, palette or material to find images of>"
4
+ disable-model-invocation: true
5
+ ---
6
+
7
+ Find reference images with the image-deep-research skill. Read
8
+ `${CLAUDE_PLUGIN_ROOT}/skills/image-deep-research/SKILL.md` first and follow
9
+ its loop and its report.
10
+
11
+ The subject is the text the user typed with this command (Claude Code appends
12
+ it below as ARGUMENTS; in Codex it is the rest of the message). If it is
13
+ empty, ask one question: images of what.
14
+
15
+ `${CLAUDE_PLUGIN_ROOT}` is this plugin's folder. Codex runs this command as a
16
+ skill and leaves that variable empty; there, use the folder that holds
17
+ `.codex-plugin/`, three levels above this file.
18
+
19
+ Run:
20
+
21
+ `node "${CLAUDE_PLUGIN_ROOT}/skills/image-deep-research/scripts/images.mjs" "<subject>" --sheet`
22
+
23
+ Add `--commercial` when the images are for a shipped product (it keeps only
24
+ licences that allow commercial use and changes), and `--download` to save
25
+ them. Then open the moodboard sheets and read them before writing a word about
26
+ them. Search again with the better words the first round gives you.
27
+
28
+ Report the moodboard paths, and for every image you recommend: the verified
29
+ URL, creator, licence and source page. Say plainly which results failed
30
+ verification.
@@ -0,0 +1,33 @@
1
+ ---
2
+ description: "Render real websites in a headless browser into screenshot contact sheets and measure their palette and typefaces - visual research on competitors, styles and design references"
3
+ argument-hint: "<URLs, or a list name: editorial, object, cinema, product>"
4
+ disable-model-invocation: true
5
+ ---
6
+
7
+ Render websites with the image-deep-research skill. Read
8
+ `${CLAUDE_PLUGIN_ROOT}/skills/image-deep-research/SKILL.md` first and follow
9
+ its loop and its report.
10
+
11
+ The sites are the text the user typed with this command (Claude Code appends
12
+ it below as ARGUMENTS; in Codex it is the rest of the message). If it is
13
+ empty, ask one question: which sites, or which kind of site.
14
+
15
+ `${CLAUDE_PLUGIN_ROOT}` is this plugin's folder. Codex runs this command as a
16
+ skill and leaves that variable empty; there, use the folder that holds
17
+ `.codex-plugin/`, three levels above this file.
18
+
19
+ Run, with URLs:
20
+
21
+ `node "${CLAUDE_PLUGIN_ROOT}/skills/image-deep-research/scripts/study.mjs" <url> <url>`
22
+
23
+ or with a curated list:
24
+
25
+ `node "${CLAUDE_PLUGIN_ROOT}/skills/image-deep-research/scripts/study.mjs" --list editorial`
26
+
27
+ Add `--width 390` for a phone read. Then open the contact sheets and read them
28
+ before writing a word about them; the grounds, ink colours and typefaces it
29
+ prints are what the browser computed.
30
+
31
+ Report the sheet paths and, per site, the one concrete move worth taking.
32
+ Name every site that rendered as a wall or failed, and do not guess what is
33
+ behind it.
package/package.json CHANGED
@@ -1,6 +1,52 @@
1
1
  {
2
2
  "name": "image-deep-research",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "1.2.0",
4
+ "description": "Image deep research for Claude Code and Codex: find licensed reference images with every URL verified, render real websites into contact sheets, measure their palette and typefaces, and build moodboards.",
5
+ "keywords": [
6
+ "claude",
7
+ "claude-code",
8
+ "claude-plugin",
9
+ "claude-skills",
10
+ "codex",
11
+ "image-research",
12
+ "deep-research",
13
+ "visual-research",
14
+ "moodboard",
15
+ "reference-images",
16
+ "design-references",
17
+ "screenshots",
18
+ "contact-sheet",
19
+ "openverse",
20
+ "wikimedia-commons",
21
+ "public-domain",
22
+ "creative-commons",
23
+ "ai-agent"
24
+ ],
25
+ "homepage": "https://github.com/ridelink0/image-deep-research",
26
+ "repository": {
27
+ "type": "git",
28
+ "url": "git+https://github.com/ridelink0/image-deep-research.git"
29
+ },
30
+ "bugs": "https://github.com/ridelink0/image-deep-research/issues",
31
+ "license": "MIT",
32
+ "author": "Gev (https://github.com/ridelink0)",
33
+ "type": "module",
34
+ "engines": {
35
+ "node": ">=22"
36
+ },
37
+ "files": [
38
+ "skills/",
39
+ "commands/",
40
+ ".claude-plugin/",
41
+ ".codex-plugin/",
42
+ "LICENSE",
43
+ "README.md",
44
+ "PRIVACY.md"
45
+ ],
46
+ "scripts": {
47
+ "test": "node --test --test-concurrency=1 test/*.test.mjs",
48
+ "test:live": "node --test test/live/*.mjs",
49
+ "study": "node skills/image-deep-research/scripts/study.mjs",
50
+ "images": "node skills/image-deep-research/scripts/images.mjs"
51
+ }
52
+ }