@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.
- package/LICENSE +21 -0
- package/README.md +80 -0
- package/README_KO.md +80 -0
- package/index.js +8 -0
- package/lazyweb-add-inspo-source/SKILL.md +167 -0
- package/lazyweb-design-brainstorm/SKILL.md +370 -0
- package/lazyweb-design-improve/SKILL.md +337 -0
- package/lazyweb-design-research/SKILL.md +365 -0
- package/lazyweb-quick-references/SKILL.md +300 -0
- package/lazyweb-remove-inspo-source/SKILL.md +43 -0
- package/package.json +30 -0
- package/scripts/install.sh +41 -0
- package/scripts/uninstall.sh +31 -0
|
@@ -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
|
+

|
|
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
|
+

|
|
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
|
+

|
|
306
|
+
*{Company} — the standard approach in {category} [{Lazyweb|Web}]*
|
|
307
|
+
|
|
308
|
+
## Cross-Pollination Ideas
|
|
309
|
+
|
|
310
|
+
### From {Source Category}: {Company}
|
|
311
|
+

|
|
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
|