@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,370 @@
1
+ ---
2
+ name: lazyweb-design-brainstorm
3
+ description: |
4
+ Cross-pollination design brainstorm. Deliberately searches outside the obvious category
5
+ to find novel patterns that could be applied in unexpected ways. The "zig when everyone
6
+ zags" skill — finds inspiration from domains nobody in your space is looking at.
7
+ Trigger on: "brainstorm design ideas", "creative alternatives for", "design exploration",
8
+ "what if we tried", "unconventional approach to", "fresh ideas for",
9
+ "think outside the box", "surprise me".
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 Brainstorm
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-brainstorm/{topic}-{date}/report.md`
30
+ 2. Write the HTML to `.lazyweb/design-brainstorm/{topic}-{date}/report.html`
31
+ 3. Download references to `.lazyweb/design-brainstorm/{topic}-{date}/references/`
32
+ 4. Do NOT write brainstorm content into a plan file
33
+ 5. After saving, show the user a summary of ideas and tell them where the files are
34
+ 6. Ask the user if the brainstorm looks good
35
+ 7. If in plan mode, exit plan mode after the user confirms
36
+ 8. Suggest next steps: "You can now prototype the top ideas, run `/lazyweb-design-research`
37
+ for deeper analysis on a specific idea, 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 brainstorm ideas 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 brainstorm report.
45
+
46
+ ---
47
+
48
+ Find novel design patterns by deliberately looking OUTSIDE the obvious category.
49
+ If everyone in fintech copies each other's dashboards, look at how gaming apps
50
+ handle data visualization. If every productivity app has the same onboarding,
51
+ look at how social apps hook new users.
52
+
53
+ The point is cross-pollination, not conformity.
54
+
55
+ ## When to Use This
56
+
57
+ - User wants fresh/creative design ideas
58
+ - User is tired of seeing the same patterns in their category
59
+ - User asks "what if we did something different" or "brainstorm ideas"
60
+ - User wants to differentiate their design from competitors
61
+
62
+ ## When NOT to Use This
63
+
64
+ - User wants to understand standard patterns → use `/lazyweb-design-research`
65
+ - User wants quick visual references → use `/lazyweb-quick-references`
66
+ - User has an existing design and wants improvements → use `/lazyweb-design-improve`
67
+
68
+ ## Lazyweb MCP Setup
69
+
70
+ Use the hosted Lazyweb MCP tools for all Lazyweb database access.
71
+
72
+ Required MCP tools:
73
+ - `lazyweb_search` — text search over mobile and desktop screenshots
74
+ - `lazyweb_find_similar` — more results like a known Lazyweb screenshot ID
75
+ - `lazyweb_compare_image` — visual search from `image_base64` + `mime_type` or `image_url`
76
+ - `lazyweb_health` — connectivity check
77
+
78
+ Before searching, verify MCP is available by listing tools and running
79
+ `lazyweb_health`.
80
+
81
+ **If Lazyweb MCP is not installed or auth fails:**
82
+ Tell the user: "Lazyweb MCP is not installed. Enable the global Lazyweb plugin or
83
+ get the free one-line install prompt at https://lazyweb.com/#pricing, paste it
84
+ into this agent, then rerun this skill."
85
+ Then proceed with web research only — the brainstorm still works, just with web examples.
86
+
87
+ ## Browse Setup (Use browser_subagent)
88
+
89
+ For capturing live web examples, Antigravity uses the `browser_subagent`.
90
+
91
+ 1. Launch `browser_subagent` with the task to navigate to the URL.
92
+ 2. Ask the subagent to take a full-page screenshot.
93
+ 3. Save the screenshot to `$REPORT_DIR/references/`.
94
+
95
+ ## Workflow
96
+
97
+ ### 1. Understand What They're Building
98
+
99
+ Clarify:
100
+ - What's the product? (app type, audience, core value prop)
101
+ - What specific screen or flow needs fresh thinking?
102
+ - What's the "obvious" approach they want to avoid?
103
+ - **Mobile or desktop/web?** This determines the reference balance.
104
+
105
+ ### 2. Capture Current State (if applicable)
106
+
107
+ If the user is brainstorming for a specific page or app they're building,
108
+ capture the current state:
109
+
110
+ - **Running dev server or URL available:** Use preview/browse tools to screenshot it
111
+ - **Mobile app:** Ask user to provide a screenshot
112
+ - **No specific page yet:** Skip this step
113
+
114
+ Save as `$REPORT_DIR/references/current-state.png` and include it in the report
115
+ after the TL;DR as:
116
+
117
+ ```markdown
118
+ ## Current State
119
+ ![Current State](references/current-state.png)
120
+ *{Brief description of what we're looking at}*
121
+ ```
122
+
123
+ This grounds the brainstorm — the reader sees where we are before seeing where we could go.
124
+
125
+ ### 3. Map the Obvious Category
126
+
127
+ First, understand what everyone in the user's space does. Quick search in the obvious category:
128
+
129
+ ```json
130
+ {"query":"<screen type>","category":"<their category>","limit":10}
131
+ {"query":"<screen type>","category":"<their category>","platform":"desktop","limit":10}
132
+ ```
133
+
134
+ This establishes the baseline — the "zig" that everyone does.
135
+
136
+ ### 4. Search Outside the Category
137
+
138
+ Now deliberately search in UNRELATED categories for the same screen type.
139
+ The more different the category, the more novel the inspiration.
140
+
141
+ **Category cross-pollination examples:**
142
+ - Building a **finance** app? Search in Gaming, Entertainment, Music, Social
143
+ - Building a **productivity** tool? Search in Fitness, Food & Drink, Travel, Music
144
+ - Building an **e-commerce** app? Search in Education, Health, Social Networking
145
+ - Building a **health** app? Search in Gaming, Entertainment, Finance
146
+
147
+ ```json
148
+ {"query":"<screen type>","category":"Gaming","limit":15}
149
+ {"query":"<screen type>","category":"Entertainment","limit":15}
150
+ {"query":"<screen type>","category":"Social Networking","platform":"desktop","limit":15}
151
+ ```
152
+
153
+ **Platform routing:** Lazyweb has both mobile app screenshots and desktop/web site screenshots.
154
+ - `--platform mobile` — mobile app screenshots only
155
+ - `--platform desktop` — desktop/web site screenshots only
156
+ - `--platform all` (default) — search both, results grouped desktop-first then mobile
157
+ - A mac app, SaaS dashboard, or web product → use `--platform desktop`
158
+ - An iPhone/Android app → use `--platform mobile`
159
+ - General research or cross-platform → omit (searches both)
160
+
161
+ Each result includes a `platform` field ("mobile" or "desktop") so you know the source.
162
+ Desktop results also include a `pageUrl` field with the original site URL.
163
+
164
+ Also try searching for the underlying FUNCTION rather than the screen name:
165
+ - Instead of "dashboard" → search "data visualization with gamification"
166
+ - Instead of "onboarding" → search "first-time experience with tutorial"
167
+ - Instead of "settings" → search "personalization with preferences"
168
+
169
+ **Explore generously.** Run 4-6 searches across different categories. Cast a very wide
170
+ net — you can filter later. More raw material = better cross-pollination.
171
+
172
+ **HIGH BAR FOR REFERENCES:** Each Lazyweb result includes a `visionDescription` field —
173
+ a text description of what's actually in the screenshot. Read it.
174
+
175
+ **Rules for attaching references to the brainstorm:**
176
+ 1. Read `visionDescription` before using ANY screenshot
177
+ 2. The screenshot MUST directly illustrate the cross-pollination idea you're proposing
178
+ 3. If `visionDescription` doesn't match your idea — DO NOT USE IT
179
+ 4. A brainstorm idea with no image but a great ASCII sketch beats one with a mismatched screenshot
180
+ 5. Never guess what's in a screenshot — use `visionDescription` for captions
181
+ 6. If there's no visionDescription, skip the screenshot
182
+
183
+ Mismatched references destroy user trust faster than anything else.
184
+
185
+ ### 5. Search Connected Inspiration Libraries
186
+
187
+ Check if `~/.lazyweb/libraries.json` exists and has connected libraries:
188
+
189
+ ```bash
190
+ cat ~/.lazyweb/libraries.json 2>/dev/null
191
+ ```
192
+
193
+ If libraries are configured, search each one using the browse tool. For brainstorms,
194
+ search BOTH the obvious category AND unrelated categories in each library:
195
+
196
+ 1. Navigate to the library's search URL: `$LB goto "{searchUrl}"`
197
+ 2. Take a snapshot to understand the page: `$LB snapshot -i`
198
+ 3. Search for the cross-pollination query: `$LB fill @eN "{query}"`
199
+ 4. Submit and wait for results: `$LB press Enter` then `$LB snapshot -i`
200
+ 5. Browse through results — look for the unexpected, the novel, the "wait, that's interesting"
201
+ 6. Screenshot the standout results: `$LB screenshot "$REPORT_DIR/references/{library}-{company}-{screen}.png"`
202
+ 7. Note what makes each one a genuine "zag"
203
+
204
+ **Brainstorm-specific**: Libraries like Mobbin and Savee have category filters. Use them
205
+ to deliberately search outside the user's category — that's the whole point of this skill.
206
+
207
+ **If the library session has expired** (login wall, redirect to sign-in):
208
+ - Tell the user: "Your {library} session has expired. Run `/lazyweb-add-inspo-source` to reconnect."
209
+ - Skip this library and continue with other sources.
210
+
211
+ Label all library-sourced references: `[Mobbin]`, `[Savee]`, etc.
212
+
213
+ ### 6. Web Research + Live Screenshot Capture (REQUIRED)
214
+
215
+ Lazyweb gives you curated screenshots. But brainstorms need the UNEXPECTED — Awwwards
216
+ winners, experimental sites, award-winning designs nobody in the user's space is looking at.
217
+
218
+ **Step A — Find unconventional URLs via WebSearch:**
219
+ - "unconventional [screen type] design"
220
+ - "[different industry] approach to [problem]"
221
+ - "creative [screen type] examples [current year]"
222
+ - "[award-winning site] [screen type]" — Awwwards, FWA, CSS Design Awards winners
223
+
224
+ Collect 3-8 URLs of standout, unconventional examples.
225
+
226
+ **Step B — Capture live screenshots from those URLs:**
227
+ ```bash
228
+ if [ -x "$LB" ]; then
229
+ $LB goto "https://awwwards-winner.com/page"
230
+ $LB screenshot "$REPORT_DIR/references/awwwards-winner-page.png"
231
+ fi
232
+ ```
233
+
234
+ If the browse tool is not available, describe web examples in the report without images.
235
+
236
+ **This is especially important for brainstorms.** Web captures of unconventional sites
237
+ are often the most novel cross-pollination sources because desktop/web has more design
238
+ freedom than mobile.
239
+
240
+ **Platform balance:** Also deliberately search the OTHER platform for cross-pollination.
241
+ A novel web layout can inspire a fresh mobile approach and vice versa.
242
+
243
+ ### 7. Download References
244
+
245
+ ```bash
246
+ REPORT_DIR="$(pwd)/.lazyweb/design-brainstorm/{topic-slug}-{YYYY-MM-DD}"
247
+ mkdir -p "$REPORT_DIR/references"
248
+ ```
249
+
250
+ Download Lazyweb results (cap 30):
251
+ ```bash
252
+ curl -sL "{imageUrl}" -o "$REPORT_DIR/references/{company}-{screen}.png"
253
+ ```
254
+
255
+ For web-captured examples:
256
+ ```bash
257
+ if [ -x "$LB" ]; then
258
+ $LB goto "https://example.com"
259
+ $LB screenshot "$REPORT_DIR/references/{company}-{screen}.png"
260
+ fi
261
+ ```
262
+
263
+ ### 8. Identify Transferable Patterns
264
+
265
+ For each cross-category result, ask:
266
+ - What pattern is this app using? (not what it looks like, but what it DOES)
267
+ - Why does this work in its original context?
268
+ - Could this same pattern work in the user's context? How would it need to adapt?
269
+ - What makes this a genuine "zag" vs just a random thing from another app?
270
+
271
+ **Guardrail:** Not everything novel is useful. A gaming leaderboard in a banking app
272
+ might be terrible. Filter for ideas where the UNDERLYING PATTERN transfers, even if
273
+ the surface aesthetic doesn't.
274
+
275
+ ### 9. Write Brainstorm Document
276
+
277
+ Write to `.lazyweb/design-brainstorm/{topic-slug}-{YYYY-MM-DD}/report.md`
278
+
279
+ **Reverse pyramid:** Lead with the action (which ideas to prototype), then the ideas,
280
+ then the analysis. The reader should know what to do in the first 30 seconds.
281
+
282
+ ```markdown
283
+ # Design Brainstorm: {Topic}
284
+
285
+ ## TL;DR
286
+ {The most provocative transferable idea — 1-2 sentences}
287
+
288
+ ## Current State
289
+ {Include ONLY if a current state screenshot was captured in step 2. Otherwise omit this section.}
290
+ ![Current State](references/current-state.png)
291
+ *{Brief description of what we're looking at}*
292
+
293
+ ## Which Ideas to Prototype
294
+ {ACTION FIRST. Rank ideas by feasibility × novelty. Best brainstorm ideas are
295
+ HIGH novelty AND HIGH feasibility — not just weird for weird's sake.}
296
+
297
+ | Idea | Novelty | Feasibility | Verdict |
298
+ |------|---------|-------------|---------|
299
+ | {idea} | High/Med/Low | High/Med/Low | Prototype / Explore / Skip |
300
+
301
+ ## The Obvious Approach
302
+ {What everyone in this category does — the "zig."
303
+ Brief, with 1-2 example screenshots from the user's category.}
304
+
305
+ ![Typical Example](references/typical-category-app.png)
306
+ *{Company} — the standard approach in {category} [{Lazyweb|Web}]*
307
+
308
+ ## Cross-Pollination Ideas
309
+
310
+ ### From {Source Category}: {Company}
311
+ ![Reference](references/company-screen.png)
312
+ *{Company} — {What they do} [{Lazyweb|Web}]*
313
+
314
+ **The Pattern:** {What's the underlying design pattern, abstracted from the specific app}
315
+ **Applied Here:** {How this could work in the user's product — be specific}
316
+ **Why It's a Zag:** {What makes this different from what everyone else in the category does}
317
+ **Sketch:** {ASCII wireframe showing how this idea would look in the user's product}
318
+
319
+ **ASCII mockups:** For each cross-pollination idea, include a rough ASCII wireframe sketch
320
+ showing how the pattern would look applied to the user's product. Keep them simple —
321
+ box-drawing characters, just enough to communicate the layout idea. Example:
322
+
323
+ ```
324
+ ┌─────────────────────────────┐
325
+ │ Logo [Sign In] │
326
+ ├─────────────────────────────┤
327
+ │ │
328
+ │ ┌─────┐ ┌─────┐ ┌─────┐ │
329
+ │ │ img │ │ img │ │ img │ │
330
+ │ └──┬──┘ └──┬──┘ └──┬──┘ │
331
+ │ Plan A Plan B Plan C │
332
+ │ │
333
+ │ [Get Started →] │
334
+ └─────────────────────────────┘
335
+ ```
336
+
337
+ These sketches help the user visualize the idea without needing to open a design tool.
338
+ They don't need to be pixel-perfect — just communicative.
339
+
340
+ ### From {Source Category}: {Company}
341
+ ...
342
+
343
+ ## Wild Cards
344
+ {1-2 ideas that are genuinely unconventional. Might not work but worth
345
+ considering. Flag the risk alongside the upside.}
346
+ ```
347
+
348
+ Label each reference `[Lazyweb]` or `[Web]` so the user knows where it came from.
349
+
350
+ ### 10. Generate HTML Report
351
+
352
+ After writing report.md, generate a `report.html` alongside it for visual preview.
353
+ The HTML report should:
354
+ - Be a self-contained single HTML file with inline CSS (no external dependencies)
355
+ - Use clean, readable styling: system fonts, max-width 900px, comfortable line-height
356
+ - Reference images using RELATIVE paths (`references/filename.png`)
357
+ - Style images with rounded corners, subtle shadow, max-width that fits the layout
358
+ - Use a light blue callout box for the TL;DR section
359
+ - Make tables clean with light borders and header background
360
+ - Open the HTML file in the user's browser: `open "$REPORT_DIR/report.html"`
361
+
362
+ Tell the user where the report was saved.
363
+
364
+ ## Brainstorm Mindset
365
+
366
+ - The goal is NOVELTY WITH PURPOSE — not random weirdness
367
+ - Every idea should have a "why this could work here" explanation
368
+ - If an idea is high novelty but low feasibility, flag it as a Wild Card
369
+ - The best brainstorms find 1-2 genuinely transferable patterns, not 10 forced ones
370
+ - It's OK to say "I didn't find strong cross-pollination opportunities for this screen type" — that's more honest than padding with irrelevant ideas