wizz-method 2.17.1 → 2.17.2
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/package.json +1 -1
- package/src/modules/wizz/agents/wizz-designer/customize.toml +2 -2
- package/src/skills-lib/wizz-premium-landing-ui-researcher/SKILL.md +5 -0
- package/src/skills-lib/wizz-premium-landing-ui-researcher/references/component-sources.md +1 -1
- package/src/skills-lib/wizz-premium-landing-ui-researcher/references/source-first-protocol.md +1 -1
- package/src/skills-lib/wizz-premium-landing-ui-researcher/references/web-access-and-evidence.md +40 -0
- package/src/skills-lib/wizz-ui-component-curator/SKILL.md +5 -3
package/package.json
CHANGED
|
@@ -41,7 +41,7 @@ principles = [
|
|
|
41
41
|
[[agent.menu]]
|
|
42
42
|
code = "LP"
|
|
43
43
|
description = "Landing page, hero, conversion page, 3D experience"
|
|
44
|
-
prompt = "Invoke the GLOBAL skill 'wizz-premium-landing-ui-researcher' via the Skill tool to research references/components and build the landing page. Bring the result in easy {communication_language} and show the visual before the code."
|
|
44
|
+
prompt = "Invoke the GLOBAL skill 'wizz-premium-landing-ui-researcher' via the Skill tool to research references/components and build the landing page. Mining runs on live sources opened in this session (load WebSearch/WebFetch first; curl, agent-browser or the local source cache as fallback); with none of them, report BLOCKED instead of recommending from memory. Bring the result in easy {communication_language} and show the visual before the code."
|
|
45
45
|
|
|
46
46
|
[[agent.menu]]
|
|
47
47
|
code = "UI"
|
|
@@ -61,4 +61,4 @@ prompt = "Invoke the GLOBAL skill 'wizz-taste-skill' via the Skill tool to revie
|
|
|
61
61
|
[[agent.menu]]
|
|
62
62
|
code = "CC"
|
|
63
63
|
description = "Choose components that fit the existing project"
|
|
64
|
-
prompt = "Invoke the GLOBAL skill 'wizz-ui-component-curator' via the Skill tool to analyze the project and recommend compatible components."
|
|
64
|
+
prompt = "Invoke the GLOBAL skill 'wizz-ui-component-curator' via the Skill tool to analyze the project and recommend compatible components. Mining runs on live sources opened in this session (load WebSearch/WebFetch first; curl, agent-browser or the local source cache as fallback); with none of them, report BLOCKED instead of recommending from memory."
|
|
@@ -16,6 +16,10 @@ Check for `{output_folder}/design-state.yaml` (default `_wizz-output/`). Cheap c
|
|
|
16
16
|
- **It does not exist, and the work is non-trivial:** invoke `skill:wizz-design-needs` first. Mining without a map is how a project ends up depending on the user to name every effect, one request at a time.
|
|
17
17
|
- **It does not exist, and the work is one isolated component the user named:** proceed, and say the map was not created.
|
|
18
18
|
|
|
19
|
+
## Gate 0.5: open the access (always, before the first search)
|
|
20
|
+
|
|
21
|
+
Read [web-access-and-evidence](references/web-access-and-evidence.md) and run its Step 0: load the web tools (on Claude Code, WebSearch and WebFetch are deferred and need `ToolSearch`), then fall back to `curl`, `agent-browser` and the local source cache. No web and no cache means BLOCKED, never research from memory. Before delivering, every recommended component passes that file's evidence gate; the rest are UNVERIFIED and are never recommended.
|
|
22
|
+
|
|
19
23
|
## Gate 1: Source-First (always, before any UI code)
|
|
20
24
|
|
|
21
25
|
This skill exists because writing shaders, animations, hovers, and components from scratch is NOT the way. The way is to curate mature components, animations, and shaders from professional sources (the user's `modelos lp/`, React Bits, Cult UI, Ali Imam, Watermelon, StyleUI, Skiper UI, Componentry, and public registries) and adapt them to the brand.
|
|
@@ -64,5 +68,6 @@ Classify the project into one of 5 levels (rules, allowed/forbidden motion, and
|
|
|
64
68
|
| Base prompts (complete landing page and 3D scroll hero) | [prompt-templates](references/prompt-templates.md) |
|
|
65
69
|
| Final response format, Quality Bar, and self-check before closing the delivery | [output-format-and-quality](references/output-format-and-quality.md) |
|
|
66
70
|
| Direct links to every authorized source | [source-links](references/source-links.md) |
|
|
71
|
+
| Opening web access before mining, BLOCKED, and the evidence gate before delivering | [web-access-and-evidence](references/web-access-and-evidence.md) |
|
|
67
72
|
|
|
68
73
|
Final rule: never put real keys inside the skill (environment variables only), and never deliver a landing page that looks like a template with no positioning.
|
|
@@ -11,7 +11,7 @@ Research flow (public sources first; log evidence per [source-first-protocol](so
|
|
|
11
11
|
3. public shadcn registries;
|
|
12
12
|
4. taste/motion sources (Impeccable, Taste Skill, Design Motion Principles, MotionSites, Vibe Code Components, Refero Styles with a free DESIGN.md);
|
|
13
13
|
5. open visual sources (Landing Love, Godly, Design Spells, Mobbin, Refero, ScreensDesign, DesignVault, Spline, Unicorn Studio);
|
|
14
|
-
6.
|
|
14
|
+
6. with no web and no local cache: BLOCKED, per [web-access-and-evidence](web-access-and-evidence.md). Strategic hypotheses can shape the direction, never stand in for a component source.
|
|
15
15
|
|
|
16
16
|
## Mining Evidence
|
|
17
17
|
|
package/src/skills-lib/wizz-premium-landing-ui-researcher/references/source-first-protocol.md
CHANGED
|
@@ -56,7 +56,7 @@ Log in the existing design artifact (or create `design-research.md` in the proje
|
|
|
56
56
|
|---|---|---|---|---|---|---|
|
|
57
57
|
| Item actually inspected | Terms used and catalog | Real URLs or paths | SHA/tag; date if there's no version | Verified or pending | Tested / static / unavailable | Accepted/rejected and reason |
|
|
58
58
|
|
|
59
|
-
Also include searches with no results and unavailable sources. Never fill in component names, paths, license, or test results by assumption.
|
|
59
|
+
Also include searches with no results and unavailable sources. Never fill in component names, paths, license, or test results by assumption. A row missing any of the five fields in [web-access-and-evidence](web-access-and-evidence.md) is UNVERIFIED and cannot be the recommendation.
|
|
60
60
|
|
|
61
61
|
Show 1-3 compatible candidates per component, with a recommendation and adaptation cost. If the user has already authorized the implementation and defined the direction, choose the best option within that scope and proceed. Only ask when a material decision about direction, paid access, or scope change is missing.
|
|
62
62
|
|
package/src/skills-lib/wizz-premium-landing-ui-researcher/references/web-access-and-evidence.md
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Web access and evidence gate
|
|
2
|
+
|
|
3
|
+
Shared by `wizz-premium-landing-ui-researcher` and `wizz-ui-component-curator`. Read it before the first search. It covers two moments: opening access before mining, and checking evidence before delivering.
|
|
4
|
+
|
|
5
|
+
Mining from memory is the failure this file exists to prevent. Component names, URLs, licenses and APIs the model "remembers" are hypotheses, and a hypothesis delivered as research is worse than no research: the user builds on it without knowing.
|
|
6
|
+
|
|
7
|
+
## Step 0: open the access (before any query)
|
|
8
|
+
|
|
9
|
+
A tool you do not see is not a tool you do not have. In a subagent, the web tools often start unloaded.
|
|
10
|
+
|
|
11
|
+
1. **Load the web tools.** On Claude Code, WebSearch and WebFetch are deferred: load them with `ToolSearch` (`select:WebSearch,WebFetch`) before deciding they are missing. Do the same for an Exa or scrapling MCP if the session lists one. On other platforms, use that platform's native web search and fetch.
|
|
12
|
+
2. **Fallbacks, in order:** `curl -sL <url>` through the shell (raw HTML, registry JSON, `raw.githubusercontent.com` source files), then `agent-browser` (also the tool for watching hover and motion live).
|
|
13
|
+
3. **Local source cache:** `~/.claude/design-sources/` holds real repositories (React Bits, Cult UI, Ali Imam, Watermelon, StyleUI). Reading a file there counts as evidence, as long as you record the path and the revision (`git -C <repo> rev-parse --short HEAD`) and say the cache may be behind the remote.
|
|
14
|
+
4. **Record the outcome** in one line before mining: which access worked (`web`, `curl`, `agent-browser`, `cache only`) and which failed, with the error.
|
|
15
|
+
|
|
16
|
+
If none of the four works, stop and return:
|
|
17
|
+
|
|
18
|
+
```text
|
|
19
|
+
BLOCKED: no web access and no local source cache.
|
|
20
|
+
Tried: <tool → error, one per line>
|
|
21
|
+
Unblock: <what the user can do, e.g. enable WebFetch, install agent-browser, clone the sources into ~/.claude/design-sources/>
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
BLOCKED is a complete, correct answer. Do not deliver component recommendations instead of it, not even marked "(verify)". Direction work that needs no source (site level, motion budget, style read of the project) can still be delivered next to BLOCKED, labelled as such.
|
|
25
|
+
|
|
26
|
+
## Evidence gate (before delivering)
|
|
27
|
+
|
|
28
|
+
Every candidate needs all five, collected in this session:
|
|
29
|
+
|
|
30
|
+
| Field | Counts | Does not count |
|
|
31
|
+
|---|---|---|
|
|
32
|
+
| URL or path | The exact demo and the exact source file or registry item you opened | A catalog homepage, a search snippet, a URL you did not open |
|
|
33
|
+
| Date | Today's date or the repo revision (SHA/tag) | "recent", "current" |
|
|
34
|
+
| License | Read in the repo or registry | Assumed from the catalog's reputation |
|
|
35
|
+
| Dependencies | Read from the actual imports or registry JSON | Guessed from the component's name |
|
|
36
|
+
| Source read | The code file was opened and its imports checked | The demo alone |
|
|
37
|
+
|
|
38
|
+
A candidate missing any field is **UNVERIFIED**. UNVERIFIED items go in a separate section of the report, with what is missing and why. They are never recommended and never placed in the top 1-3, and the implementation plan never depends on them. If every candidate for a need is UNVERIFIED, the need is reported as `unmet`, not filled.
|
|
39
|
+
|
|
40
|
+
Before closing, check the delivery against this gate once: every recommended item has its five fields in the research log (`design-research.md` or the project's design artifact), and the access line from Step 0 is in the report.
|
|
@@ -21,7 +21,7 @@ If `{output_folder}/design-state.yaml` exists, the need being worked is already
|
|
|
21
21
|
|
|
22
22
|
Not there? Look before deciding it does not exist: `find . -name design-state.yaml -not -path '*/node_modules/*'`. A map found anywhere else is still the map: use it, and tell the user it is off-place (it belongs in `{output_folder}`).
|
|
23
23
|
|
|
24
|
-
With no state file, continue
|
|
24
|
+
With no state file and more than one need in the request (a polish pass, "effects and animations", a dashboard), run `wizz-design-needs` first and mine against the map it writes. With no state file and one isolated component the user named, continue, and say the map was not created.
|
|
25
25
|
|
|
26
26
|
## 1. Read and infer the style DNA
|
|
27
27
|
|
|
@@ -42,7 +42,7 @@ Do not ask the user to describe the style unless the project has no inspectable
|
|
|
42
42
|
|
|
43
43
|
Start with existing project components. Then search the public sources. The full authorized list (React Bits, Cult UI, Ali Imam, Watermelon, StyleUI, Skiper UI, Bklit UI, Componentry, shadcn/ui, plus the reference galleries) lives in one place: [component-sources](../wizz-premium-landing-ui-researcher/references/component-sources.md). Read it instead of relying on memory. Compare at least two suitable sources per need.
|
|
44
44
|
|
|
45
|
-
|
|
45
|
+
Before the first query, open the access as described in [web-access-and-evidence](../wizz-premium-landing-ui-researcher/references/web-access-and-evidence.md): load the web tools (on Claude Code, WebSearch and WebFetch are deferred and need `ToolSearch`), then fall back to `curl`, `agent-browser` and the local source cache. Search with whatever that step opened: web search (Exa when configured, WebSearch otherwise), WebFetch, scrapling, and `agent-browser` to watch hover and motion live. A tool that errors or hangs is not the end of the research: record the failure, move to the next tool, and never stop without reporting what was and was not checked. With no web and no cache, return BLOCKED instead of recommending from memory.
|
|
46
46
|
|
|
47
47
|
Open the exact demo and source file/registry item. Check the actual imports, license, dependencies, stack variant and revision; use current official documentation (Context7 when available) for API compatibility. Inspect animation/interaction in the available browser; label static-only inspection honestly. If a source fails, record the failure and continue elsewhere.
|
|
48
48
|
|
|
@@ -57,6 +57,8 @@ Use the inferred style DNA as the search filter. Prefer:
|
|
|
57
57
|
|
|
58
58
|
Do not present unranked lists. Shortlist internally, then surface only the strongest matches.
|
|
59
59
|
|
|
60
|
+
Only candidates that pass the evidence gate in [web-access-and-evidence](../wizz-premium-landing-ui-researcher/references/web-access-and-evidence.md) can be shown here. The rest are UNVERIFIED and go to the evidence section.
|
|
61
|
+
|
|
60
62
|
For each candidate, say briefly:
|
|
61
63
|
- why it fits
|
|
62
64
|
- what role it plays
|
|
@@ -131,4 +133,4 @@ Up to 2 backup options only if genuinely different and useful.
|
|
|
131
133
|
What changes, which files, any dependency or adaptation work.
|
|
132
134
|
|
|
133
135
|
## Research evidence
|
|
134
|
-
|
|
136
|
+
The access line (what worked, what failed), then exact candidate demo/source links, revision/date, license and dependencies, visual inspection status, decisions and unavailable sources. UNVERIFIED items listed apart, with what is missing. State what still needs a user decision.
|