@giljae/ag-lazyweb-skill 0.0.1

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.
@@ -0,0 +1,337 @@
1
+ ---
2
+ name: lazyweb-design-improve
3
+ description: |
4
+ Capture a screenshot of the user's current design, find similar screens in Lazyweb,
5
+ and generate concrete improvement ideas backed by real references. Use when the user
6
+ has an existing design and wants feedback or improvement suggestions.
7
+ Trigger on: "improve this design", "how can I make this better", "critique my design",
8
+ "design feedback", "what should I change", "make this look better",
9
+ "compare my design to", "design review".
10
+ allowed-tools:
11
+ - Bash
12
+ - Read
13
+ - Write
14
+ - Glob
15
+ - Grep
16
+ - WebSearch
17
+ - AskUserQuestion
18
+ - Agent
19
+ - browser_subagent
20
+ ---
21
+
22
+ # Lazyweb Design Improve
23
+
24
+ ## CRITICAL: Output Behavior
25
+
26
+ **This skill produces FILES, not a plan.** Regardless of whether you are in plan mode
27
+ or not, ALWAYS:
28
+
29
+ 1. Write the report to `.lazyweb/design-improve/{screen}-{date}/report.md`
30
+ 2. Write the HTML to `.lazyweb/design-improve/{screen}-{date}/report.html`
31
+ 3. Download references to `.lazyweb/design-improve/{screen}-{date}/references/`
32
+ 4. Do NOT write improvement content into a plan file
33
+ 5. After saving, show the user a summary of improvement ideas and tell them where the files are
34
+ 6. Ask the user if the improvements look good
35
+ 7. If in plan mode, exit plan mode after the user confirms
36
+ 8. Suggest next steps: "You can now implement these improvements, run
37
+ `/lazyweb-design-brainstorm` for more creative ideas, or start building."
38
+
39
+ ## Antigravity Artifacts (PREVIEW)
40
+
41
+ After saving the `report.md`, ALWAYS create an Antigravity Artifact to show the user
42
+ the improvements in a beautiful, interactive layout. Use the `write_to_file` tool
43
+ with `IsArtifact: true` to display the content of `report.md` as a walkthrough
44
+ or improvement report.
45
+
46
+ ---
47
+
48
+ Capture the current state of a design, find similar screens from the best apps,
49
+ and generate 1-5 concrete improvement ideas — each tied to a real reference.
50
+
51
+ ## When to Use This
52
+
53
+ - User has an existing screen/page and wants to make it better
54
+ - User asks "how can I improve this" or "what's wrong with my design"
55
+ - User wants to compare their design against competitors
56
+
57
+ ## When NOT to Use This
58
+
59
+ - User hasn't built anything yet and wants research → use `/lazyweb-design-research`
60
+ - User wants to see examples of a specific screen type → use `/lazyweb-quick-references`
61
+ - User wants creative/unconventional ideas → use `/lazyweb-design-brainstorm`
62
+
63
+ ## Lazyweb MCP Setup
64
+
65
+ Use the hosted Lazyweb MCP tools for all Lazyweb database access.
66
+
67
+ Required MCP tools:
68
+ - `lazyweb_search` — text search over mobile and desktop screenshots
69
+ - `lazyweb_find_similar` — more results like a known Lazyweb screenshot ID
70
+ - `lazyweb_compare_image` — visual search from `image_base64` + `mime_type` or `image_url`
71
+ - `lazyweb_health` — connectivity check
72
+
73
+ Before searching, verify MCP is available by listing tools and running
74
+ `lazyweb_health`.
75
+
76
+ **If Lazyweb MCP is not installed or auth fails:**
77
+ Tell the user: "Lazyweb MCP is not installed. Enable the global Lazyweb plugin or
78
+ get the free one-line install prompt at https://lazyweb.com/#pricing, paste it
79
+ into this agent, then rerun this skill."
80
+ Then proceed with web research only — the skill still works, just without Lazyweb's database.
81
+
82
+ ## Browse Setup (Use browser_subagent)
83
+
84
+ For capturing the current state and live web examples, Antigravity uses the `browser_subagent`.
85
+
86
+ 1. Launch `browser_subagent` with the task to navigate to the URL.
87
+ 2. Ask the subagent to take a full-page screenshot.
88
+ 3. Save the screenshot to `$REPORT_DIR/references/`.
89
+
90
+ ## Workflow
91
+
92
+ ### 1. Capture the Current Design
93
+
94
+ Get a screenshot of what the user currently has. Try these approaches in order:
95
+
96
+ **For web apps (if a dev server is running or URL is available):**
97
+ - Use `browser_subagent` to navigate to the URL and take a screenshot.
98
+ - If you have access to a preview tool, use it to capture the state.
99
+
100
+ **For mobile apps:**
101
+ - Ask the user to upload a screenshot or provide a file path
102
+
103
+ **For mockups/designs:**
104
+ - Ask the user to provide the image file path
105
+
106
+ Save the screenshot as `current.png` in the output directory.
107
+
108
+ If no screenshot can be captured, ask the user to provide one. Don't proceed without a visual of the current state.
109
+
110
+ ### 2. Find Similar Screens in Lazyweb
111
+
112
+ Use image comparison to find visually similar screens. Read the local screenshot
113
+ bytes, base64 encode them, detect the MIME type, then call `lazyweb_compare_image`:
114
+
115
+ ```json
116
+ {"image_base64":"<base64 file bytes>","mime_type":"image/png","limit":30}
117
+ ```
118
+
119
+ Also do text searches for the screen type with multiple angles:
120
+
121
+ ```json
122
+ {"query":"<description of the screen>","limit":30}
123
+ {"query":"<alternative description>","platform":"desktop","limit":30}
124
+ {"query":"<specific component>","limit":30}
125
+ ```
126
+
127
+ If you know the category, include `"category":"<category>"`.
128
+
129
+ **Platform routing:** Lazyweb has both mobile app screenshots and desktop/web site screenshots.
130
+ - `--platform mobile` — mobile app screenshots only
131
+ - `--platform desktop` — desktop/web site screenshots only
132
+ - `--platform all` (default) — search both, results grouped desktop-first then mobile
133
+ - A mac app, SaaS dashboard, or web product → use `--platform desktop`
134
+ - An iPhone/Android app → use `--platform mobile`
135
+ - General research or cross-platform → omit (searches both)
136
+
137
+ Each result includes a `platform` field ("mobile" or "desktop") so you know the source.
138
+ Desktop results also include a `pageUrl` field with the original site URL.
139
+
140
+ **Explore generously.** Run 3-5 searches to find the best references. More raw material
141
+ means better improvement ideas.
142
+
143
+ **HIGH BAR FOR REFERENCES:** Each Lazyweb result includes a `visionDescription` field —
144
+ a text description of what's actually in the screenshot. Read it.
145
+
146
+ **Rules for attaching references:**
147
+ 1. Read `visionDescription` before using ANY screenshot
148
+ 2. The screenshot MUST directly illustrate the improvement you're suggesting
149
+ 3. If `visionDescription` doesn't match your improvement idea — DO NOT USE IT
150
+ 4. A report with 3 perfectly-matched references beats 10 loosely-related ones
151
+ 5. Better to have NO image than a mismatched one — describe the idea with an ASCII sketch instead
152
+ 6. Never guess what's in a screenshot — use `visionDescription` for captions
153
+
154
+ Mismatched references destroy user trust faster than anything else.
155
+
156
+ ### 3. Search Connected Inspiration Libraries
157
+
158
+ Check if `~/.lazyweb/libraries.json` exists and has connected libraries:
159
+
160
+ ```bash
161
+ cat ~/.lazyweb/libraries.json 2>/dev/null
162
+ ```
163
+
164
+ If libraries are configured, search each one using the browse tool. For each library:
165
+
166
+ 1. Navigate to the library's search URL: `$LB goto "{searchUrl}"`
167
+ 2. Take a snapshot to understand the page: `$LB snapshot -i`
168
+ 3. Search for the same screen type the user is improving: `$LB fill @eN "{query}"`
169
+ 4. Submit and wait for results: `$LB press Enter` then `$LB snapshot -i`
170
+ 5. Browse through results — click into ones that look like strong alternatives to the current design
171
+ 6. Screenshot the best results: `$LB screenshot "$REPORT_DIR/references/{library}-{company}-{screen}.png"`
172
+ 7. Note what's in each screenshot for accurate captions
173
+
174
+ **Quality bar**: Only use screenshots that directly illustrate an improvement idea.
175
+ A reference from Mobbin that doesn't clearly show a better approach than the current
176
+ design is useless — skip it.
177
+
178
+ **If the library session has expired** (login wall, redirect to sign-in):
179
+ - Tell the user: "Your {library} session has expired. Run `/lazyweb-add-inspo-source` to reconnect."
180
+ - Skip this library and continue with other sources.
181
+
182
+ Label all library-sourced references: `[Mobbin]`, `[Savee]`, etc.
183
+
184
+ ### 4. Web Research + Live Screenshot Capture (REQUIRED)
185
+
186
+ **Always supplement** with live competitor screenshots and recent examples.
187
+
188
+ **Step A — Find competitor URLs via WebSearch:**
189
+ - Search for "[screen type] best design examples [current year]"
190
+ - Search for "[competitor] [screen type] design"
191
+ - Search for "best [screen type] UX"
192
+ Collect 3-5 URLs of best-in-class examples.
193
+
194
+ **Step B — Capture live screenshots:**
195
+ ```bash
196
+ if [ -x "$LB" ]; then
197
+ $LB goto "https://competitor.com/page"
198
+ $LB screenshot "$REPORT_DIR/references/competitor-page.png"
199
+ fi
200
+ ```
201
+
202
+ If no browse tool is available, describe web examples in the report without images.
203
+
204
+ **Platform balance:** Aim for at least 50% same-platform references.
205
+
206
+ ### 5. Download References
207
+
208
+ ```bash
209
+ REPORT_DIR="$(pwd)/.lazyweb/design-improve/{screen-slug}-{YYYY-MM-DD}"
210
+ mkdir -p "$REPORT_DIR/references"
211
+ ```
212
+
213
+ Copy the current screenshot:
214
+ ```bash
215
+ cp <current-screenshot> "$REPORT_DIR/references/current.png"
216
+ ```
217
+
218
+ Download Lazyweb results (cap 30):
219
+ ```bash
220
+ curl -sL "{imageUrl}" -o "$REPORT_DIR/references/{company}-{screen}.png"
221
+ ```
222
+
223
+ For web screenshots:
224
+ ```bash
225
+ if [ -x "$LB" ]; then
226
+ $LB goto "https://example.com"
227
+ $LB screenshot "$REPORT_DIR/references/{company}-{screen}.png"
228
+ fi
229
+ ```
230
+
231
+ ### 6. Analyze and Generate Ideas
232
+
233
+ Look at the current design alongside the references. Consider:
234
+ - What's the user's product context? (audience, platform, goals)
235
+ - What are the references doing that the current design isn't?
236
+ - What IS the current design doing well? (don't just criticize)
237
+ - What patterns from the references would actually fit this product?
238
+
239
+ **Key principle:** References are inspiration, not templates. Don't suggest copying a
240
+ reference exactly. Identify the PATTERN or IDEA from the reference and explain how it
241
+ could be adapted to the user's specific context.
242
+
243
+ **Be careful with references from very different contexts.** A gaming app's onboarding
244
+ won't necessarily work for a finance app. Flag context differences.
245
+
246
+ Generate 1-5 concrete improvement ideas. Each must be:
247
+ - Specific (not "make it cleaner" — what exactly should change?)
248
+ - Tied to a reference (which screenshot inspired this idea?)
249
+ - Actionable (the user should be able to implement it)
250
+
251
+ ### 7. Write Improvement Report
252
+
253
+ Write to `.lazyweb/design-improve/{screen-slug}-{YYYY-MM-DD}/report.md`
254
+
255
+ **Reverse pyramid:** Lead with what to do, then show the evidence.
256
+
257
+ ```markdown
258
+ # Design Improvement: {Screen/Feature}
259
+
260
+ ## TL;DR
261
+ {The single biggest opportunity — 1-2 sentences}
262
+
263
+ ## Current State
264
+ ![Current Design](references/current.png)
265
+ *{Brief description of what we're looking at}*
266
+
267
+ ## Improvement Ideas
268
+
269
+ ### 1. {Idea Title} ⭐ (highest impact)
270
+ {Clear description of what to change and why}
271
+
272
+ **Inspired by:**
273
+ ![Reference](references/stripe-pricing.png)
274
+ *{Company} — {What they do that inspired this idea} [{Lazyweb|Web}]*
275
+
276
+ **Why this works:** {What makes this pattern effective in the reference,
277
+ and why it would work for the user's product}
278
+
279
+ **Sketch:**
280
+ {ASCII wireframe showing what the improvement would look like}
281
+
282
+ ### 2. {Idea Title}
283
+ ...
284
+
285
+ ### 3. {Idea Title}
286
+ ...
287
+
288
+ ## What's Working
289
+ {Be specific about what's good. Developers need to know what NOT to change.
290
+ List 2-4 concrete things that are done well.}
291
+
292
+ ## All References
293
+ {Gallery of all reference screenshots used, with company, source, and context}
294
+ ```
295
+
296
+ Label each reference `[Lazyweb]` or `[Web]` for provenance.
297
+
298
+ **ASCII mockups:** For each improvement idea, include a rough ASCII wireframe sketch
299
+ showing what the change would look like. Keep them simple — box-drawing characters,
300
+ just enough to communicate the layout idea. Example:
301
+
302
+ ```
303
+ ┌─────────────────────────────┐
304
+ │ Logo [Sign In] │
305
+ ├─────────────────────────────┤
306
+ │ │
307
+ │ ┌─────┐ ┌─────┐ ┌─────┐ │
308
+ │ │ img │ │ img │ │ img │ │
309
+ │ └──┬──┘ └──┬──┘ └──┬──┘ │
310
+ │ Plan A Plan B Plan C │
311
+ │ │
312
+ │ [Get Started →] │
313
+ └─────────────────────────────┘
314
+ ```
315
+
316
+ These sketches help the user visualize the improvement without needing to open a
317
+ design tool. They don't need to be pixel-perfect — just communicative.
318
+
319
+ ### 8. Generate HTML Report
320
+
321
+ After writing report.md, generate a `report.html` alongside it for visual preview.
322
+ The HTML report should:
323
+ - Be a self-contained single HTML file with inline CSS (no external dependencies)
324
+ - Use clean, readable styling: system fonts, max-width 900px, comfortable line-height
325
+ - Reference images using RELATIVE paths (`references/filename.png`)
326
+ - Style images with rounded corners, subtle shadow, max-width that fits the layout
327
+ - Use a light blue callout box for the TL;DR section
328
+ - Make tables clean with light borders and header background
329
+ - Open the HTML file in the user's browser: `open "$REPORT_DIR/report.html"`
330
+
331
+ Tell the user where the report was saved.
332
+
333
+ ## Important Caveats
334
+
335
+ - Not every reference is relevant. A high similarity score doesn't mean the pattern applies to the user's context. Use judgment.
336
+ - "Improve" doesn't mean "copy the most popular pattern." Sometimes the user's current approach is intentionally different — ask before suggesting radical changes.
337
+ - Focus improvement ideas on things that would have the highest impact with the least effort. Lead with the quick wins.