wizz-method 2.3.0 → 2.4.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.
- package/package.json +1 -1
- package/src/modules/lowticket/README.md +2 -2
- package/src/modules/lowticket/skills/wizz-lowticket-metodologia/SKILL.md +2 -2
- package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/04-criativos.md +2 -2
- package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/04a-criativos-ia.md +1 -1
- package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/04b-criativos-formatos.md +1 -1
- package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/04c-criativos-roteiro.md +148 -0
- package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/INDEX.md +2 -1
- package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/guardrails.md +19 -1
- package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/pontos-em-aberto.md +7 -1
- package/src/modules/wizz/_shared/communication-rules.md +2 -2
- package/src/modules/wizz/_shared/encerramento.md +1 -1
- package/src/modules/wizz/agents/wizz-ads/customize.toml +3 -3
- package/src/modules/wizz/agents/wizz-copy/customize.toml +3 -3
- package/src/modules/wizz/agents/wizz-designer/customize.toml +2 -2
- package/src/modules/wizz/agents/wizz-growth/customize.toml +3 -3
- package/src/modules/wizz/agents/wizz-maestro/SKILL.md +1 -1
- package/src/modules/wizz/agents/wizz-maestro/customize.toml +3 -3
- package/src/modules/wizz/agents/wizz-memoria/customize.toml +3 -3
- package/src/modules/wizz/agents/wizz-qa/customize.toml +3 -3
- package/src/modules/wizz/agents/wizz-seo/customize.toml +3 -3
- package/src/modules/wizz/overrides/wizz-agent-analyst.toml +2 -2
- package/src/modules/wizz/overrides/wizz-agent-architect.toml +2 -2
- package/src/modules/wizz/overrides/wizz-agent-pm.toml +1 -1
- package/src/modules/wizz/overrides/wizz-agent-tech-writer.toml +1 -1
- package/src/modules/wizz/overrides/wizz-agent-ux-designer.toml +1 -1
- package/tools/hooks/session-rules.js +1 -1
package/package.json
CHANGED
|
@@ -18,7 +18,7 @@ All five read the Cérebro on activation and **none of them keeps its own memory
|
|
|
18
18
|
|
|
19
19
|
## The loading contract
|
|
20
20
|
|
|
21
|
-
The knowledge base is
|
|
21
|
+
The knowledge base is 26 shards. It is not loaded whole. Reading everything costs well over 40k tokens; a typical answer needs under 5k.
|
|
22
22
|
|
|
23
23
|
| Step | Read | When |
|
|
24
24
|
|---|---|---|
|
|
@@ -38,7 +38,7 @@ The knowledge here is a distillation: facts, benchmarks, checklists and critical
|
|
|
38
38
|
|
|
39
39
|
If you extend a shard, keep it that way: write the fact, never the quote. `knowledge/15-como-estender.md` has the full process.
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
Eight tactics present in the source material are recorded and **not adopted** in `knowledge/guardrails.md`: buying engagement, AI avatars passing as real people, synthetic testimonials, borrowing a third party's ID document to verify a profile, using a real person's name as borrowed proof, reposting someone else's video as your own creative, a struck-through reference price that was never charged, and a hook that asserts a personal attribute of the viewer. They are loaded on every activation and stay blocked until the operation's owner decides otherwise.
|
|
42
42
|
|
|
43
43
|
## Optional config
|
|
44
44
|
|
|
@@ -5,7 +5,7 @@ description: Routes any low ticket direct-response question to the one knowledge
|
|
|
5
5
|
|
|
6
6
|
# Low Ticket Methodology
|
|
7
7
|
|
|
8
|
-
A knowledge base of
|
|
8
|
+
A knowledge base of 26 shards in Portuguese, plus a swipe file analysis of 155 real creatives. The knowledge is loaded **one shard at a time**: the full base is well over 40k tokens, a typical answer needs under 5k.
|
|
9
9
|
|
|
10
10
|
Everything below the surface of this skill is in Portuguese on purpose. The market it describes is Brazil and Portugal, and the vocabulary (`bid cap`, `connect rate`, `order bump`, `Utmify`, `Pix`) is how the operators actually speak. Answer the user in their language; read the shards as they are.
|
|
11
11
|
|
|
@@ -25,7 +25,7 @@ Never open two shards to find out which one it was. The INDEX has a third column
|
|
|
25
25
|
|
|
26
26
|
This matters constantly. `wizz-offer-forge` defaults to a R$10-97 low ticket band and 7/15/30 day guarantees; this base pins price by source band (R$19,90 / R$27 / R$37), upsell at 2 to 2.5x the entry, and has an unresolved point about 7 vs 14 day guarantees. Same for `wizz-page-cro`, `wizz-paid-ads` and `wizz-ad-creative`: the generic skill has the technique, this base has the numbers for this market.
|
|
27
27
|
|
|
28
|
-
The one thing that outranks a shard is `knowledge/guardrails.md`.
|
|
28
|
+
The one thing that outranks a shard is `knowledge/guardrails.md`. Eight tactics present in the source material are recorded there and **not adopted**: buying engagement, AI avatars passing as real people, synthetic testimonials, borrowing a third party's ID document to verify a profile, using a real person's name as borrowed proof, reposting someone else's video as your own creative, a struck-through reference price that was never charged, and a hook that asserts a personal attribute of the viewer. They are blocked until the operation's owner decides otherwise. If a shard teaches one, the inline block line is there too.
|
|
29
29
|
|
|
30
30
|
## Flow
|
|
31
31
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
> Where the generic skill contradicts this shard, **the shard wins**, and this must be stated in the response.
|
|
5
5
|
|
|
6
6
|
**What's here:** `4.1` creative structure · `4.2` production rules · `4.3` triggers and formats · `4.4` platform rules · `4.5` objectivity and sub-niche · `4.12` organic-to-paid validation, memes and test angles
|
|
7
|
-
**Siblings:** AI production in [`04a-criativos-ia.md`](04a-criativos-ia.md) · script, templates and swipe file in [`04b-criativos-formatos.md`](04b-criativos-formatos.md)
|
|
7
|
+
**Siblings:** AI production in [`04a-criativos-ia.md`](04a-criativos-ia.md) · script, templates and swipe file in [`04b-criativos-formatos.md`](04b-criativos-formatos.md) · writing the video script in [`04c-criativos-roteiro.md`](04c-criativos-roteiro.md)
|
|
8
8
|
|
|
9
9
|
### 4.1 Creative structure
|
|
10
10
|
|
|
@@ -42,7 +42,7 @@ Instagram users are looking for entertainment, not a sale. The creative has to l
|
|
|
42
42
|
|
|
43
43
|
**Minimum anatomy:** immediate visual hook ("hulk") → body showing the product → CTA.
|
|
44
44
|
|
|
45
|
-
- **Name the audience in the first second.** "Você que é lojista..." (you, the shop owner...) creates immediate identification and filters out who isn't.
|
|
45
|
+
- **Name the audience in the first second.** "Você que é lojista..." (you, the shop owner...) creates immediate identification and filters out who isn't. **Occupation or role only:** a sensitive trait stated in the second person ("você que está endividado") is blocked — [guardrails 49](guardrails.md).
|
|
46
46
|
- **The 80% image rule.** Plenty of images, very little text. Show the product, don't describe the product.
|
|
47
47
|
- **Showing the exact quantity** ("80 figurinhas" - 80 stickers) creates more desire than showing a sample.
|
|
48
48
|
- **Organic format beats produced format.** Simple static images and video with dynamic cuts beat heavy editing.
|
package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/04a-criativos-ia.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
> Where the generic skill contradicts this shard, **the shard wins**, and this must be stated in the response.
|
|
5
5
|
|
|
6
6
|
**What's here:** `4.6` realism in AI video · `4.9` realistic images and avatars · `4.13` speaking avatars, scene continuation and a watermark-free pipeline · `4.14` 20-minute pipeline for TikTok · `4.15` bank of free tools
|
|
7
|
-
**Siblings:** fundamentals in [`04-criativos.md`](04-criativos.md) · script, templates and swipe file in [`04b-criativos-formatos.md`](04b-criativos-formatos.md)
|
|
7
|
+
**Siblings:** fundamentals in [`04-criativos.md`](04-criativos.md) · script, templates and swipe file in [`04b-criativos-formatos.md`](04b-criativos-formatos.md) · writing the video script in [`04c-criativos-roteiro.md`](04c-criativos-roteiro.md)
|
|
8
8
|
**Attention:** an AI avatar passing as a real person is a blocked tactic — see [guardrails 21](guardrails.md).
|
|
9
9
|
|
|
10
10
|
### 4.6 Realism in AI video
|
package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/04b-criativos-formatos.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
> Where the generic skill contradicts this shard, **the shard wins**, and this must be stated in the response.
|
|
5
5
|
|
|
6
6
|
**What's here:** `4.7` VSL in 6 blocks · `4.8` pt-BR → pt-PT transcreation · `4.10` 155-piece swipe file · `4.11` the 14 visual format templates · `4.11-A` what the swipe file actually uses · `4.11-B` the organic formats of 2026
|
|
7
|
-
**Siblings:** fundamentals in [`04-criativos.md`](04-criativos.md) · AI production in [`04a-criativos-ia.md`](04a-criativos-ia.md)
|
|
7
|
+
**Siblings:** fundamentals in [`04-criativos.md`](04-criativos.md) · AI production in [`04a-criativos-ia.md`](04a-criativos-ia.md) · writing the video script in [`04c-criativos-roteiro.md`](04c-criativos-roteiro.md)
|
|
8
8
|
|
|
9
9
|
### 4.7 VSL structure — 6 blocks
|
|
10
10
|
|
package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/04c-criativos-roteiro.md
ADDED
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
## 4C. Creatives — writing the video script
|
|
2
|
+
|
|
3
|
+
> Shard of this base's methodology. Index: [`INDEX.md`](INDEX.md) · Always loaded alongside: [`guardrails.md`](guardrails.md)
|
|
4
|
+
> Where the generic skill contradicts this shard, **the shard wins**, and this must be stated in the response.
|
|
5
|
+
|
|
6
|
+
**What's here:** `4.16` the minimum brief · `4.17` the four decisions before the first line · `4.18` block map by duration · `4.19` rules per block · `4.20` delivery format · `4.21` testing one axis per batch · `4.22` retention diagnosis · `4.23` pre-delivery checklist
|
|
7
|
+
**Siblings:** fundamentals in [`04-criativos.md`](04-criativos.md) · AI production in [`04a-criativos-ia.md`](04a-criativos-ia.md) · VSL, templates and swipe file in [`04b-criativos-formatos.md`](04b-criativos-formatos.md)
|
|
8
|
+
**Attention:** a hook that asserts a personal attribute of the viewer is blocked — see [guardrails 49](guardrails.md).
|
|
9
|
+
|
|
10
|
+
**Why this shard exists.** Section 4 says what a creative is made of and [`18`](18-copy-desejo-oferta.md) says why a sentence sells. Neither says how to turn both into a script someone can **record today**. The deliverable here is spoken line, scene and on-screen text, never a "campaign concept."
|
|
11
|
+
|
|
12
|
+
### 4.16 The minimum brief
|
|
13
|
+
|
|
14
|
+
Seven inputs. Whatever the operator already gave, don't ask again.
|
|
15
|
+
|
|
16
|
+
| # | Input | Critical |
|
|
17
|
+
|---|---|---|
|
|
18
|
+
| 1 | The offer: what it delivers and the price | ★ |
|
|
19
|
+
| 2 | Who buys, described as a **situation**, not a demographic | ★ |
|
|
20
|
+
| 3 | The proof that exists **today** (prints, testimonials, numbers, demo, authority) | ★ |
|
|
21
|
+
| 4 | Platform and target length | |
|
|
22
|
+
| 5 | Recording format: phone UGC, talking-head, voiceover + B-roll, screen capture | |
|
|
23
|
+
| 6 | Where the click lands: page, VSL, WhatsApp, DM | |
|
|
24
|
+
| 7 | What already ran: what won, what died | |
|
|
25
|
+
|
|
26
|
+
**Ask at most the three critical ones.** Assume the rest and state each assumption at the top of the delivery.
|
|
27
|
+
|
|
28
|
+
**No proof at all (input 3 empty):** say so plainly and build the creative around a **live demonstration** of the product. Proof is never filled in with fiction ([guardrails 23](guardrails.md)); what's missing becomes a production task, the same exercise as §18.7.
|
|
29
|
+
|
|
30
|
+
### 4.17 The four decisions before the first line
|
|
31
|
+
|
|
32
|
+
They decide the whole structure, so they come before writing and go into the delivery header (§4.20). The theory lives in shard 18; here is only what changes for a creative.
|
|
33
|
+
|
|
34
|
+
| Decision | Theory | What it means for the creative |
|
|
35
|
+
|---|---|---|
|
|
36
|
+
| Awareness level | §18.3 | The creative **starts at the viewer's level and hands them to the page one rung above**, never two. Cold traffic usually arrives at 2 or 3 |
|
|
37
|
+
| Sophistication stage | §18.4 | Read the 5 biggest advertisers in the Ad Library and climb one stage above them |
|
|
38
|
+
| Destination, not category | §18.2 · §18.13 | The viewer must see themselves at the destination within 3 seconds, with no explanation |
|
|
39
|
+
| Named villain and mechanism | §18.5 · §18.6 | Mandatory from level 3 up; in a short video it compresses to two sentences (§4.19) |
|
|
40
|
+
|
|
41
|
+
### 4.18 Block map by duration
|
|
42
|
+
|
|
43
|
+
The blocks are always the same five; only the seconds each one gets change.
|
|
44
|
+
|
|
45
|
+
| Block | 15 s | 30 s | 45-60 s | 90 s |
|
|
46
|
+
|---|---|---|---|---|
|
|
47
|
+
| **Hook** — stops the scroll | 0-3 | 0-3 | 0-4 | 0-5 |
|
|
48
|
+
| **Identification** — the pain scene | 3-6 | 3-9 | 4-15 | 5-20 |
|
|
49
|
+
| **Villain + mechanism** — why it failed, what fixes it | 6-9 | 9-18 | 15-33 | 20-50 |
|
|
50
|
+
| **Proof** — why believe | 9-12 | 18-24 | 33-48 | 50-70 |
|
|
51
|
+
| **Offer + CTA** — what to do now | 12-15 | 24-30 | 48-60 | 70-90 |
|
|
52
|
+
|
|
53
|
+
- **The house default is still 40-60 s** (§4.2), with 90 s as the ceiling. The 15 s and 30 s columns serve cut-downs of a winning creative and platforms where short is the norm. Where that clashes with §4.2: [point 50](pontos-em-aberto.md).
|
|
54
|
+
- **Cut rule.** When a block doesn't fit its seconds, the video is too long **for this offer**, not the block too short. Shrink the promise or raise the length; never drop a block.
|
|
55
|
+
- **Past 90 s** the five blocks give way to the 7 blocks of §18.8. That length belongs to remarketing (§4.12 item 4), not to cold traffic.
|
|
56
|
+
|
|
57
|
+
### 4.19 Rules per block
|
|
58
|
+
|
|
59
|
+
**Hook (0-3 s).** Where most of the result is decided.
|
|
60
|
+
|
|
61
|
+
- **The visual is written together with the line.** The first 3 seconds are an image; a script that only describes speech has no hook.
|
|
62
|
+
- The video starts mid-sentence: no logo, no greeting, no introduction.
|
|
63
|
+
- **At most 12 words** in the first sentence.
|
|
64
|
+
- Three shapes, and what the swipe file says about each (§4.10): a **question** the viewer can't answer (29% of the openers), a **counterintuitive statement** (the curiosity/secret family, 19%), a **scene or demonstration** with no narration. Naming the audience is the fourth path and the rare one: [point 22](pontos-em-aberto.md).
|
|
65
|
+
- Choose the visual frame with the §4.11 table (question → `CAIXINHA`, curiosity → `LEIA A LEGENDA`, and so on).
|
|
66
|
+
- **Talk to the viewer, never accuse them.** A personal attribute stated in the second person repels and gets the ad rejected: [guardrails 49](guardrails.md).
|
|
67
|
+
|
|
68
|
+
**Identification.**
|
|
69
|
+
|
|
70
|
+
- **One concrete scene, not an emotion.** "a calça que só fecha deitada na cama" beats "a frustração de não se sentir bem."
|
|
71
|
+
- **One pain only.** A list of pains dilutes; the viewer has to think *this is about me*, and that happens with one scene.
|
|
72
|
+
|
|
73
|
+
**Villain + mechanism.**
|
|
74
|
+
|
|
75
|
+
- No name, no mechanism: only an explanation (§18.5).
|
|
76
|
+
- Full order when there's time: the thesis in 5 moves (§18.6). **Under 30 s it compresses to two sentences:** not X; it's [named villain], and [named mechanism] turns it off.
|
|
77
|
+
|
|
78
|
+
**Proof.** On video, what the viewer **sees** outweighs what they hear. Working order for a creative: demonstration → third party → specific number → volume → bare claim (never alone). This is not the order of §18.7: [point 51](pontos-em-aberto.md). The balance rule is unchanged — promise and proof rise together.
|
|
79
|
+
|
|
80
|
+
**Offer + CTA.**
|
|
81
|
+
|
|
82
|
+
- The CTA formula is the one from the swipe file: imperative verb + exact place + urgency (§4.10). **One action only, said twice.**
|
|
83
|
+
- Every offer sentence pulls one of the 4 levers (§18.9); a sentence that pulls none gets cut.
|
|
84
|
+
- Price after value (§18.10), except when the price **is** the hook (`OFERTA DIRETA`, §4.11).
|
|
85
|
+
- Urgency only with a real reason-why (§18.11). Scarcity with no reason is a lie and burns the profile.
|
|
86
|
+
|
|
87
|
+
### 4.20 Delivery format
|
|
88
|
+
|
|
89
|
+
Three parts, in this order, for each creative:
|
|
90
|
+
|
|
91
|
+
1. **Decision header**, two lines: awareness level · sophistication stage · angle (one of the 7 from [point 35](pontos-em-aberto.md)) · length · plus the assumptions from §4.16.
|
|
92
|
+
2. **Script table:**
|
|
93
|
+
|
|
94
|
+
| Time | Line | Scene | On-screen text |
|
|
95
|
+
|---|---|---|---|
|
|
96
|
+
| 0-3 s | … | … | … |
|
|
97
|
+
|
|
98
|
+
3. **Clean spoken text**: the same lines without the table, ready for teleprompter or voiceover. It's what actually gets recorded.
|
|
99
|
+
|
|
100
|
+
With more than one creative, add **one line per variation saying what changes in it** (§4.21).
|
|
101
|
+
|
|
102
|
+
Before delivering: the AI-tell filter from [`07a`](07a-copy-humanizacao.md). For an offer running in Portugal the script isn't translated, it's transcreated (§4.8).
|
|
103
|
+
|
|
104
|
+
### 4.21 Testing: one axis per batch
|
|
105
|
+
|
|
106
|
+
Five scripts that differ in everything teach nothing when one wins, because nobody knows which difference won. **Change one axis per batch and freeze the rest.**
|
|
107
|
+
|
|
108
|
+
| Axis | Typical variations |
|
|
109
|
+
|---|---|
|
|
110
|
+
| Hook shape | question · counterintuitive · scene · common enemy · result first |
|
|
111
|
+
| Villain name | two or three names for the same cause |
|
|
112
|
+
| Proof | demonstration vs. testimonial vs. number |
|
|
113
|
+
| Audience in the first sentence | "for someone who already tried X" vs. "for someone who never…" |
|
|
114
|
+
| Length | 15 s vs. 30 s cut of the same script |
|
|
115
|
+
|
|
116
|
+
**Default when the operator asks for "5 creatives" without naming the axis:** 5 different hooks over the same body. It's the highest-return test, because the hook moves the result the most. The 5 fit the "5 per angle" production ruler (§4.12 item 3); how that maps to ads-manager ad sets is still [point 31](pontos-em-aberto.md).
|
|
117
|
+
|
|
118
|
+
### 4.22 Retention diagnosis — each video metric points to a block
|
|
119
|
+
|
|
120
|
+
Complements §18.12, which starts at the CTR. This table reads **inside** the video. Hook rate is defined in §3 (3 s plays ÷ impressions); no thresholds here, they come from the account's own history.
|
|
121
|
+
|
|
122
|
+
| Symptom | Broken block | What to do |
|
|
123
|
+
|---|---|---|
|
|
124
|
+
| Low hook rate | hook: first image or first sentence | swap the hook shape, keep the body (§4.21) |
|
|
125
|
+
| Sharp drop between 3 s and 15 s | identification weak or pacing slow | a more concrete scene, faster cuts |
|
|
126
|
+
| Watches well, doesn't click | mechanism or proof missing | name the villain, climb the proof order |
|
|
127
|
+
| Clicks, leaves the page in <30 s | level mismatch creative ↔ page | align the awareness level (§18.3) |
|
|
128
|
+
| Buys and asks for a refund | promise above delivery | not copy, it's the offer (§18.12) |
|
|
129
|
+
| High CPM or rejected ad | accusatory copy or prohibited claim | [guardrails 49](guardrails.md) and §4.23 |
|
|
130
|
+
|
|
131
|
+
**Rewrite the broken block, not the whole video.**
|
|
132
|
+
|
|
133
|
+
### 4.23 Pre-delivery checklist
|
|
134
|
+
|
|
135
|
+
- [ ] The four decisions of §4.17 are in the header
|
|
136
|
+
- [ ] The hook has the visual written, not just the line
|
|
137
|
+
- [ ] The first sentence sells a destination, not a category
|
|
138
|
+
- [ ] The villain has a name
|
|
139
|
+
- [ ] At least one real proof, cited by its origin
|
|
140
|
+
- [ ] One CTA, literal, repeated
|
|
141
|
+
- [ ] Every sentence fits in ~12 words and passes the read-aloud test
|
|
142
|
+
- [ ] No personal attribute stated about the viewer ([guardrails 49](guardrails.md))
|
|
143
|
+
- [ ] No guaranteed result, cure or certain gain: use a range, a timeframe and the source of the number
|
|
144
|
+
- [ ] No invented study, institution, specialist, testimonial or print ([guardrails 23](guardrails.md))
|
|
145
|
+
- [ ] No real person's name or image implying endorsement ([guardrails 44](guardrails.md))
|
|
146
|
+
- [ ] Table **and** clean spoken text delivered
|
|
147
|
+
|
|
148
|
+
When a request crosses one of these lines, deliver the version that works **and** is true, and say in one sentence what changed and why.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Low Ticket Methodology · INDEX
|
|
2
2
|
|
|
3
3
|
> The base's router. Find your request's line, open **one** file, work.
|
|
4
|
-
>
|
|
4
|
+
> 26 shards · distillation of 71 processed sources · last revised 2026-09-15
|
|
5
5
|
|
|
6
6
|
**Precedence:** generic skill against shard, **the shard wins**, and say so in the response.
|
|
7
7
|
**Always together:** [`guardrails.md`](guardrails.md), with the logged tactics this base doesn't use.
|
|
@@ -24,6 +24,7 @@ Don't open two shards to figure out which one it was. The 3rd column exists for
|
|
|
24
24
|
| Creative: structure, hook, production rules, angle testing | [`04-criativos.md`](04-criativos.md) | §4.1-4.5 and §4.12: structure, rules, triggers, platform, sub-niche, organic-to-paid validation |
|
|
25
25
|
| **Video, image, or avatar made with AI** | [`04a-criativos-ia.md`](04a-criativos-ia.md) | §4.6, §4.9, §4.13: realism, image generation, talking avatar. Has a blocked tactic: [guardrails 21](guardrails.md) |
|
|
26
26
|
| **VSL script, pt-BR→pt-PT transcreation, visual template, swipe file** | [`04b-criativos-formatos.md`](04b-criativos-formatos.md) | §4.7, §4.8, §4.10, §4.11, §4.11-A: VSL in 6 blocks, pt-BR→pt-PT, 14 templates, the 155 pieces |
|
|
27
|
+
| **Writing a video creative script, briefing, variations, retention drop** | [`04c-criativos-roteiro.md`](04c-criativos-roteiro.md) | §4.16-4.23: the 3-question brief, block map by 15/30/60/90 s, rules per block, script table + spoken text, one axis per batch, retention diagnosis, checklist. Has a blocked tactic: [guardrails 49](guardrails.md) |
|
|
27
28
|
| **See a creative that's already been made** | **§4.10** of [`04b`](04b-criativos-formatos.md) + [`CATALOGO`](../CATALOGO.md) | The 155 swipe pieces: composition, duration, screen, hook type |
|
|
28
29
|
| **Why the copy isn't converting: awareness, sophistication, villain, proof** | [`18-copy-desejo-oferta.md`](18-copy-desejo-oferta.md) | The 5 awareness levels, the 5 sophistication stages, the named-villain formula, the proof ladder, the 7 copy blocks |
|
|
29
30
|
| **Writing or fixing a headline** | **§18.2 and §18.13** of [`18`](18-copy-desejo-oferta.md) | The 3 axes of specificity and the 4-question exercise. **The headline names the mechanism, the VSL explains it** ([point 46](pontos-em-aberto.md)). Has a blocked tactic: [guardrails 44](guardrails.md) |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Guardrails · what this project does not do
|
|
2
2
|
|
|
3
|
-
> Loaded **always**, together with [`INDEX.md`](INDEX.md). These are
|
|
3
|
+
> Loaded **always**, together with [`INDEX.md`](INDEX.md). These are eight tactics that the source material teaches and that this project logged but **did not adopt**, because they violate platform terms, consumer law, or a third party's rights.
|
|
4
4
|
>
|
|
5
5
|
> **Until the operation's owner makes an explicit decision, no agent in this project uses any of them.** If a shard teaches the tactic, the block line is inline there too. Found material in favor without finding this file? Then the loading is wrong: guardrails load at rung 0.
|
|
6
6
|
|
|
@@ -28,6 +28,8 @@
|
|
|
28
28
|
|
|
29
29
|
**What to do instead.** The methodology already gives the alternative: [`06a-instagram.md`](06a-instagram.md) §6A.4 covers highlighting real customer feedback, and the source suggests recording video or audio feedback when a real customer exists. Without a customer yet, the page goes out without a testimonial block, not with an invented one.
|
|
30
30
|
|
|
31
|
+
**Same block, wider than the testimonial.** Any invented third-party proof falls under this entry: a study, an institution, a specialist, a results print. In a creative script with no proof, the answer is a live demonstration of the product ([`04c`](04c-criativos-roteiro.md) §4.16), not fiction.
|
|
32
|
+
|
|
31
33
|
## 32 · A third party's ID document to verify the profile
|
|
32
34
|
|
|
33
35
|
**The tactic.** The `Guia Prático para Escalar Mentoria` teaches passing Instagram's profile verification using "a photo that matches the document," and gives the literal example of putting a woman on the profile and sending her mother's document. The legitimate part of the same source is logged in [`06a-instagram.md`](06a-instagram.md).
|
|
@@ -80,6 +82,22 @@ The guardrail the deck itself already states still holds on top of this: *"speci
|
|
|
80
82
|
|
|
81
83
|
> 🔢 **This guardrail was number 33 until 2026-09-09.** It was opened on 2026-09-05 reusing a number that already belonged to the player's progress bar in [`pontos-em-aberto.md`](pontos-em-aberto.md), and the two topics ended up sharing the same identifier. Renumbered to 48, the first free one. Anyone who finds "guardrail 33" in older material is looking at this one.
|
|
82
84
|
|
|
85
|
+
## 49 · A hook that asserts a personal attribute of the viewer
|
|
86
|
+
|
|
87
|
+
**The tactic.** Section 4.5 of [`04-criativos.md`](04-criativos.md) teaches naming the audience in the first second, with a shopkeeper as the example. The lever is legitimate; the risk is its natural extension to a personal trait: health, weight, body, debt, financial situation, age, sexual orientation, religion, ethnicity, stated as a fact about whoever is watching ("você que está acima do peso", "você que está endividado").
|
|
88
|
+
|
|
89
|
+
**Why not.** Meta's personal attributes policy rejects ad copy that asserts or implies the viewer has one of those traits, and repeated rejections weigh on the ad account and the BM. Besides the rule, an accusing second person repels exactly the audience it wants to filter.
|
|
90
|
+
|
|
91
|
+
**Where the line is.** Occupation and role pass: "você que é lojista", "pra quem vende no Instagram" describe what the person does, not what they are. A sensitive trait in the second person doesn't.
|
|
92
|
+
|
|
93
|
+
**What to do instead.**
|
|
94
|
+
|
|
95
|
+
- **Third person or open question:** "quem já tentou de tudo pra perder a barriga costuma…", "por que a dieta para de funcionar depois dos 40?".
|
|
96
|
+
- **Describe the scene, not the person:** the pain scene of [`04c`](04c-criativos-roteiro.md) §4.19 does the identification without labeling anyone.
|
|
97
|
+
- **Identity by role:** sophistication stage 5 of [`18`](18-copy-desejo-oferta.md) §18.4 ("pra mãe de dois…") speaks of a situation the viewer recognizes, not a trait imposed on them.
|
|
98
|
+
|
|
99
|
+
**Logged on 2026-09-15, not decided by the operation owner.** Blocked by default like the others; the rest of §4.5 still stands.
|
|
100
|
+
|
|
83
101
|
---
|
|
84
102
|
|
|
85
103
|
---
|
package/src/modules/lowticket/skills/wizz-lowticket-metodologia/knowledge/pontos-em-aberto.md
CHANGED
|
@@ -96,6 +96,12 @@ Contradictions and gaps found while distilling this methodology, pulled into thi
|
|
|
96
96
|
|
|
97
97
|
48. **A struck-through reference price that was never charged — logged, blocked.** The page anatomy (12c block 06 and §6.1) says to show "full value struck through, entry price highlighted," but in low ticket that full value is the **sum of the value assigned to the materials**, not a price anyone ever paid. **Omnibus Directive and DL 57/2008 risk: lives in [`guardrails.md`](guardrails.md#48--preço-de-referência-riscado-que-nunca-foi-cobrado).** Value anchoring is still allowed, as long as it doesn't disguise itself as a discount and doesn't strike through the number.
|
|
98
98
|
|
|
99
|
+
49. **A hook that asserts a personal attribute of the viewer — logged, blocked.** Section 4.5 teaches naming the audience in the first second; extended to a sensitive trait (weight, health, debt) stated in the second person, it falls under Meta's personal attributes policy. **Lives in [`guardrails.md`](guardrails.md).** Occupation and role still pass ("você que é lojista"); the alternative is third person, an open question, or the pain scene of §4.19.
|
|
100
|
+
|
|
101
|
+
50. **Creative length: 15-30 s or 40-60 s?** The script material processed into [`04c`](04c-criativos-roteiro.md) §4.18 maps blocks for 15, 30, 60 and 90 s and treats 15-30 s as the Reels/TikTok norm. Section 4.2 says the ideal is **40 to 60 s** and that Facebook's 15 s recommendation is ineffective; the swipe file (§4.10) puts 36% of the pieces at 20-40 s. **Provisional reading, not decided:** 40-60 s stays the default for cold traffic (the shard wins); the 15 and 30 s columns are used for cut-downs of a winning creative and tested with the length axis of §4.21. Confirm with the operation owner before producing a batch that is all short.
|
|
102
|
+
|
|
103
|
+
51. **Proof order: the video one or the §18.7 one?** Section 18.7 ranks from bottom to top: bare claim, specific number, demonstration, third party, **volume at the top**. The script material processed into §4.19 ranks for video: **demonstration at the top**, then third party, number, volume. **Provisional reading, not decided:** on a creative what is seen on screen leads, so §4.19's order applies to the creative and §18.7's to the page and the VSL. No performance data in the base decides it.
|
|
104
|
+
|
|
99
105
|
---
|
|
100
106
|
|
|
101
|
-
**Count (2026-09-
|
|
107
|
+
**Count (2026-09-15):** 51 points in total: 24 open, 16 resolved or adopted, 8 blocked in guardrails (20, 21, 23, 32, 44, 45, 48, 49), and 3 with no publishable content because they're local bookkeeping (5, 6, 13), with the number preserved only so it doesn't break a link from another shard.
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
# the test `test/test-feature-context.js` fails if the two diverge in content.
|
|
14
14
|
# Any other file that needs this rule should reference this one, not copy it.
|
|
15
15
|
|
|
16
|
-
WIZZ COMMUNICATION: don't narrate the step-by-step while working, it wastes tokens and clutters the conversation. Work directly. PAUSE and ask before continuing only when a decision belongs to the user, or something carries irreversible risk (deleting, publishing, overwriting, spending money). Always close with a short summary, in bullet points, in simple, easy-to-understand language. Don't use em-dashes in text a third party reads (public page, copy, UI, email): prefer a period, comma, colon, or parentheses. Code comments, commits, internal docs, and conversation with the user are exempt from this check: don't spend tokens reviewing or swapping em-dashes there. Concise reply by default, in easy
|
|
16
|
+
WIZZ COMMUNICATION: don't narrate the step-by-step while working, it wastes tokens and clutters the conversation. Work directly. PAUSE and ask before continuing only when a decision belongs to the user, or something carries irreversible risk (deleting, publishing, overwriting, spending money). Always close with a short summary, in bullet points, in simple, easy-to-understand language. Don't use em-dashes in text a third party reads (public page, copy, UI, email): prefer a period, comma, colon, or parentheses. Code comments, commits, internal docs, and conversation with the user are exempt from this check: don't spend tokens reviewing or swapping em-dashes there. Concise reply by default, in easy `{communication_language}` (the language chosen at install): expand only when asked. Don't repeat what the user already knows, don't re-explain what was already said in the session, and don't list options you won't follow (recommend and act).
|
|
17
17
|
|
|
18
|
-
WIZZ CLOSING: finish every task in this format: '✅ O que fiz' (1-2 simple sentences) + '➡️ Próximo passo' (recommended agent or action) + '🎯 Comando: /wizz:<something>'. If something important was decided during the task, add '💾 Quer que eu salve no cerebro?'.
|
|
18
|
+
WIZZ CLOSING: finish every task in this format (labels shown in Portuguese; write them in `{communication_language}`, keeping the emojis): '✅ O que fiz' (1-2 simple sentences) + '➡️ Próximo passo' (recommended agent or action) + '🎯 Comando: /wizz:<something>'. If something important was decided during the task, add '💾 Quer que eu salve no cerebro?'.
|
|
19
19
|
|
|
20
20
|
RTK: RTK (Rust Token Killer) already rewrites shell commands automatically via hook. No need to invoke anything separately. If a command fails with "rtk not found", warn the user and continue without it.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
**Before assembling the block:** check the deliverable against the original brief. Missing something? List it under `⚠️ Not covered`. If everything is covered, don't add that line.
|
|
4
4
|
|
|
5
|
-
Every time you finish a task or explain a service, close **exactly** in this format. Easy language, short sentences, in
|
|
5
|
+
Every time you finish a task or explain a service, close **exactly** in this format. Easy language, short sentences, in `{communication_language}`. No jargon. The labels below are the Portuguese version: keep the emojis and write the labels in `{communication_language}` (English: `✅ What I did`, `⚠️ Not covered`, `➡️ Next step`, `🎯 Command`, `💾 Want me to save this to the cerebro?`).
|
|
6
6
|
|
|
7
7
|
```
|
|
8
8
|
✅ O que fiz
|
|
@@ -20,12 +20,12 @@ activation_steps_append = [
|
|
|
20
20
|
|
|
21
21
|
persistent_facts = [
|
|
22
22
|
"Planning gate: an execution request with high complexity and no matching PRD/story/brief → I ask once whether to create the artifact first (recommended) or skip it; never twice in the same chain. Full rules: read the wizz module's _shared/planning-gate.md ONLY when the gate fires.",
|
|
23
|
-
"I speak easy
|
|
23
|
+
"I speak easy {communication_language}. Every campaign needs tracking before it goes live.",
|
|
24
24
|
]
|
|
25
25
|
|
|
26
26
|
role = "Plan and manage paid media (strategy, creative, tracking) by routing to the global skills."
|
|
27
27
|
identity = "ROAS-driven traffic manager: tests creatives, cuts what doesn't perform, scales what works."
|
|
28
|
-
communication_style = "Direct and numeric, in easy
|
|
28
|
+
communication_style = "Direct and numeric, in easy {communication_language}. Talks in CPA, ROAS, and next tests."
|
|
29
29
|
|
|
30
30
|
principles = [
|
|
31
31
|
"No tracking, no campaign goes live.",
|
|
@@ -37,7 +37,7 @@ principles = [
|
|
|
37
37
|
[[agent.menu]]
|
|
38
38
|
code = "ST"
|
|
39
39
|
description = "Campaign strategy, segmentation, bids, ROAS"
|
|
40
|
-
prompt = "Invoke the GLOBAL skill 'wizz-paid-ads' via the Skill tool. Combine with 'wizz-analytics-tracking' to ensure measurement. Summarize in easy
|
|
40
|
+
prompt = "Invoke the GLOBAL skill 'wizz-paid-ads' via the Skill tool. Combine with 'wizz-analytics-tracking' to ensure measurement. Summarize in easy {communication_language}."
|
|
41
41
|
|
|
42
42
|
[[agent.menu]]
|
|
43
43
|
code = "CR"
|
|
@@ -22,12 +22,12 @@ persistent_facts = [
|
|
|
22
22
|
"Planning gate: an execution request with high complexity and no matching PRD/story/brief → I ask once whether to create the artifact first (recommended) or skip it; never twice in the same chain. Full rules: read the wizz module's _shared/planning-gate.md ONLY when the gate fires.",
|
|
23
23
|
"I never use em-dashes. I replace them with a period, comma, colon, or parentheses.",
|
|
24
24
|
"I always run the final text through the wizz-humanizer logic so it doesn't sound like AI.",
|
|
25
|
-
"I speak and write easy
|
|
25
|
+
"I speak and write easy {communication_language}. I deliver variations and recommend one.",
|
|
26
26
|
]
|
|
27
27
|
|
|
28
28
|
role = "Write copy that converts (pages, headlines, emails) by routing to the global copy skills and humanizing the result."
|
|
29
29
|
identity = "Direct-response copywriter: clarity over cleverness, benefit before feature, proof before promise."
|
|
30
|
-
communication_style = "Direct and persuasive, in easy
|
|
30
|
+
communication_style = "Direct and persuasive, in easy {communication_language}. Shows the text, explains the why in one line."
|
|
31
31
|
|
|
32
32
|
principles = [
|
|
33
33
|
"Reader benefit before product feature.",
|
|
@@ -39,7 +39,7 @@ principles = [
|
|
|
39
39
|
[[agent.menu]]
|
|
40
40
|
code = "PG"
|
|
41
41
|
description = "Page copy, headline, value proposition, CTA"
|
|
42
|
-
prompt = "Invoke the GLOBAL skill 'wizz-copywriting' via the Skill tool. Then run the 'wizz-humanizer' logic on the final text. Deliver 2-3 variations in easy
|
|
42
|
+
prompt = "Invoke the GLOBAL skill 'wizz-copywriting' via the Skill tool. Then run the 'wizz-humanizer' logic on the final text. Deliver 2-3 variations in easy {communication_language}."
|
|
43
43
|
|
|
44
44
|
[[agent.menu]]
|
|
45
45
|
code = "EM"
|
|
@@ -23,7 +23,7 @@ persistent_facts = [
|
|
|
23
23
|
"Planning gate: an execution request with high complexity and no matching PRD/story/brief → I ask once whether to create the artifact first (recommended) or skip it; never twice in the same chain. Full rules: read the wizz module's _shared/planning-gate.md ONLY when the gate fires.",
|
|
24
24
|
"I don't write production code, I design and show the visual. Building is wizz-agent-dev's job; a one-off tweak can go to wizz-quick-dev.",
|
|
25
25
|
"No em-dashes in text. No green/blue when the brand is copper. I consult the cerebro/branding before creating.",
|
|
26
|
-
"I speak easy
|
|
26
|
+
"I speak easy {communication_language}. I show the visual before the code.",
|
|
27
27
|
]
|
|
28
28
|
|
|
29
29
|
role = "Create high-level interfaces, landing pages, design systems, and motion by routing to the global design skills and showing the visual before the code."
|
|
@@ -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
|
|
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."
|
|
45
45
|
|
|
46
46
|
[[agent.menu]]
|
|
47
47
|
code = "UI"
|
|
@@ -22,13 +22,13 @@ persistent_facts = [
|
|
|
22
22
|
"Planning gate: an execution request with high complexity and no matching PRD/story/brief → I ask once whether to create the artifact first (recommended) or skip it; never twice in the same chain. Full rules: read the wizz module's _shared/planning-gate.md ONLY when the gate fires.",
|
|
23
23
|
"I only deliver concrete actions with an estimated impact, no loose theory.",
|
|
24
24
|
"When the work turns into ad creative I point to wizz-ads; when it turns into text, wizz-copy.",
|
|
25
|
-
"I speak easy
|
|
25
|
+
"I speak easy {communication_language}. I prioritize by impact x effort.",
|
|
26
26
|
"For real scraping/prospecting (competitor, leads, web data) I use the MCP 'scrapling' when it's active; without it, I only deliver the strategy.",
|
|
27
27
|
]
|
|
28
28
|
|
|
29
29
|
role = "Generate growth and conversion (marketing, CRO, launch, pricing, churn) by routing to the global growth skills and delivering concrete actions."
|
|
30
30
|
identity = "Pragmatic growth: cheap experiments first, data-driven decisions, focus on what moves the needle."
|
|
31
|
-
communication_style = "A list of prioritized actions, in easy
|
|
31
|
+
communication_style = "A list of prioritized actions, in easy {communication_language}, with the expected impact of each one."
|
|
32
32
|
|
|
33
33
|
principles = [
|
|
34
34
|
"Concrete action with estimated impact, never theory.",
|
|
@@ -40,7 +40,7 @@ principles = [
|
|
|
40
40
|
[[agent.menu]]
|
|
41
41
|
code = "ID"
|
|
42
42
|
description = "Marketing ideas and strategy"
|
|
43
|
-
prompt = "Invoke the GLOBAL skill 'wizz-marketing-ideas' via the Skill tool. Deliver prioritized actions in easy
|
|
43
|
+
prompt = "Invoke the GLOBAL skill 'wizz-marketing-ideas' via the Skill tool. Deliver prioritized actions in easy {communication_language}."
|
|
44
44
|
|
|
45
45
|
[[agent.menu]]
|
|
46
46
|
code = "CRO"
|
|
@@ -7,7 +7,7 @@ description: Wizz Method Orchestrator (Gerente). Use for complex/multi-area work
|
|
|
7
7
|
|
|
8
8
|
## Overview
|
|
9
9
|
|
|
10
|
-
You are the **Maestro (Manager)**, the method's only orchestrator. The **Diretor** (`wizz-router`, the entry point) does the triage and **hands you the complex cases** (2+ areas, always; or 1 area with 2+ of the remaining 3 factors; see "Dispatch rule" below). Your job: coordinate the area agents, build the sequence across areas, and keep the memory duty. You are **not** the entry point; you receive from the Diretor (or get called directly inside the project). Speak simply, in
|
|
10
|
+
You are the **Maestro (Manager)**, the method's only orchestrator. The **Diretor** (`wizz-router`, the entry point) does the triage and **hands you the complex cases** (2+ areas, always; or 1 area with 2+ of the remaining 3 factors; see "Dispatch rule" below). Your job: coordinate the area agents, build the sequence across areas, and keep the memory duty. You are **not** the entry point; you receive from the Diretor (or get called directly inside the project). Speak simply, in {communication_language}, and always finish by stating the next step.
|
|
11
11
|
|
|
12
12
|
## Path conventions
|
|
13
13
|
|
|
@@ -19,7 +19,7 @@ include = ["../../_shared/communication-rules.md", "../../_shared/planning-gate.
|
|
|
19
19
|
persistent_facts = [
|
|
20
20
|
"Chaining mode: AUTOMATIC. I announce the full sequence at the start and run the agents in order, without stopping between them. I only pause for a business decision that belongs to the user or an irreversible risk (deploy, delete, spending).",
|
|
21
21
|
"Planning gate: on an EXECUTION request where the 'needs planning' factor = YES and there's no matching PRD/story/brief, I ask once whether to create the artifact first (recommended) or skip it; once the gate is resolved, the chain proceeds automatically. Details in _shared/planning-gate.md.",
|
|
22
|
-
"I speak easy
|
|
22
|
+
"I speak easy {communication_language}, short sentences, no jargon. I summarize as if explaining to a client.",
|
|
23
23
|
"Full details of the Wizz layer are in _shared/ (communication-rules.md, encerramento.md, token-economy.md, cerebro.md) at the root of the wizz module.",
|
|
24
24
|
"When delegating to an agent, I declare the handoff in the shared protocol's format (origin, cerebro already consulted in up to 3 lines, decisions already made in the chain, relevant skill section, optional model_hint, optional max_calls). Single source: handoff-protocol.md in _shared/ in core-skills.",
|
|
25
25
|
"Large, divisible task: I break it into independent parts and dispatch subagents in parallel (Explore/Plan or subagent-driven), keeping only the conclusions to save context. If 'superpowers:subagent-driven-development' is installed, I can use it.",
|
|
@@ -27,7 +27,7 @@ persistent_facts = [
|
|
|
27
27
|
|
|
28
28
|
role = "Understand the user's request, figure out the area, and dispatch the right wizz agent on my own, always stating the next step."
|
|
29
29
|
identity = "An orchestra conductor who knows every musician: knows exactly who to call for each part without the user needing to know the names."
|
|
30
|
-
communication_style = "Short and direct, in easy
|
|
30
|
+
communication_style = "Short and direct, in easy {communication_language}. Recommends one clear path instead of listing options."
|
|
31
31
|
|
|
32
32
|
principles = [
|
|
33
33
|
"Always route before acting: figure out the area and call the right agent.",
|
|
@@ -40,7 +40,7 @@ principles = [
|
|
|
40
40
|
[[agent.menu]]
|
|
41
41
|
code = "DEV"
|
|
42
42
|
description = "Code, bug, feature, tests, architecture, database, security, PRD, UX"
|
|
43
|
-
prompt = "Route to the right development agent and invoke it via the Skill tool: 'wizz-agent-dev' (code/bug/feature/tests), 'wizz-agent-architect' (architecture/database/security), 'wizz-agent-pm' (PRD/scope), 'wizz-agent-analyst' (research/brief), 'wizz-agent-tech-writer' (documentation), or 'wizz-agent-ux-designer' (UX flows, experience user stories). All of them already come customized
|
|
43
|
+
prompt = "Route to the right development agent and invoke it via the Skill tool: 'wizz-agent-dev' (code/bug/feature/tests), 'wizz-agent-architect' (architecture/database/security), 'wizz-agent-pm' (PRD/scope), 'wizz-agent-analyst' (research/brief), 'wizz-agent-tech-writer' (documentation), or 'wizz-agent-ux-designer' (UX flows, experience user stories). All of them already come customized via the Wizz overrides and speak `{communication_language}`."
|
|
44
44
|
|
|
45
45
|
[[agent.menu]]
|
|
46
46
|
code = "QA"
|
|
@@ -19,12 +19,12 @@ activation_steps_append = [
|
|
|
19
19
|
persistent_facts = [
|
|
20
20
|
"I'm the bridge to the global cerebro skill. I don't duplicate the memory, I use it.",
|
|
21
21
|
"Minimum tokens on every operation: grep before Read, surgical edits.",
|
|
22
|
-
"I speak easy
|
|
22
|
+
"I speak easy {communication_language}.",
|
|
23
23
|
]
|
|
24
24
|
|
|
25
25
|
role = "Retrieve and store the project's context across sessions, routing to the global cerebro skill cheaply."
|
|
26
26
|
identity = "Project librarian: knows where every decision is and retrieves only what matters."
|
|
27
|
-
communication_style = "Short and factual, in easy
|
|
27
|
+
communication_style = "Short and factual, in easy {communication_language}. Shows only what's relevant right now."
|
|
28
28
|
|
|
29
29
|
principles = [
|
|
30
30
|
"I retrieve only what's needed, never the whole vault.",
|
|
@@ -36,7 +36,7 @@ principles = [
|
|
|
36
36
|
[[agent.menu]]
|
|
37
37
|
code = "VER"
|
|
38
38
|
description = "View the project's current state"
|
|
39
|
-
prompt = "Invoke the GLOBAL skill 'cerebro' via the Skill tool with /ver and bring a short summary in easy
|
|
39
|
+
prompt = "Invoke the GLOBAL skill 'cerebro' via the Skill tool with /ver and bring a short summary in easy {communication_language}."
|
|
40
40
|
|
|
41
41
|
[[agent.menu]]
|
|
42
42
|
code = "SAL"
|
|
@@ -22,12 +22,12 @@ persistent_facts = [
|
|
|
22
22
|
"Planning gate: an execution request with high complexity and no matching PRD/story/brief → I ask once whether to create the artifact first (recommended) or skip it; never twice in the same chain. Full rules: read the wizz module's _shared/planning-gate.md ONLY when the gate triggers.",
|
|
23
23
|
"I come in after wizz-agent-dev. I verify from the outside; I don't fix architecture, I point out what's broken.",
|
|
24
24
|
"I assume there's a bug until proven otherwise. I report in order of severity (critical first).",
|
|
25
|
-
"I speak plain
|
|
25
|
+
"I speak plain {communication_language}. If everything passed, I clearly say it's ready to ship.",
|
|
26
26
|
]
|
|
27
27
|
|
|
28
28
|
role = "Verify from the outside what wizz-agent-dev delivered (tests, E2E, adversarial review, acceptance criteria), routing to the global QA skills."
|
|
29
29
|
identity = "Skeptical tester: trusts evidence, not promises. Every happy path has a sad path to check."
|
|
30
|
-
communication_style = "List of findings by severity, in plain
|
|
30
|
+
communication_style = "List of findings by severity, in plain {communication_language}. Direct: passed or not, and why."
|
|
31
31
|
|
|
32
32
|
principles = [
|
|
33
33
|
"I assume there's a bug until proven otherwise.",
|
|
@@ -39,7 +39,7 @@ principles = [
|
|
|
39
39
|
[[agent.menu]]
|
|
40
40
|
code = "RUN"
|
|
41
41
|
description = "Run the test suite and report pass/fail"
|
|
42
|
-
prompt = "Run the project's tests (detect the runner: npm test, pytest, etc.) and report the result in plain
|
|
42
|
+
prompt = "Run the project's tests (detect the runner: npm test, pytest, etc.) and report the result in plain {communication_language}, findings by severity."
|
|
43
43
|
|
|
44
44
|
[[agent.menu]]
|
|
45
45
|
code = "E2E"
|
|
@@ -22,12 +22,12 @@ persistent_facts = [
|
|
|
22
22
|
"Planning gate: an execution request with high complexity and no matching PRD/story/brief → I ask once whether to create the artifact first (recommended) or skip it; never twice in the same chain. Full rules: read the wizz module's _shared/planning-gate.md ONLY when the gate triggers.",
|
|
23
23
|
"I always prioritize fixes by impact x effort — the user needs to know what to tackle first.",
|
|
24
24
|
"I optimize for traditional search AND for AI search, not just Google.",
|
|
25
|
-
"I speak plain
|
|
25
|
+
"I speak plain {communication_language}. I explain the why of each fix in one line.",
|
|
26
26
|
]
|
|
27
27
|
|
|
28
28
|
role = "Audit and optimize the site for traditional and AI search, routing to the global SEO skills and delivering fixes prioritized by impact."
|
|
29
29
|
identity = "Pragmatic technical SEO: focuses on what actually moves rankings, ignores vanity metrics."
|
|
30
|
-
communication_style = "Prioritized, direct list, in plain
|
|
30
|
+
communication_style = "Prioritized, direct list, in plain {communication_language}. Impact before technical detail."
|
|
31
31
|
|
|
32
32
|
principles = [
|
|
33
33
|
"Fixes in order of impact: what to tackle first.",
|
|
@@ -39,7 +39,7 @@ principles = [
|
|
|
39
39
|
[[agent.menu]]
|
|
40
40
|
code = "AU"
|
|
41
41
|
description = "SEO audit, why it's not ranking, technical issues"
|
|
42
|
-
prompt = "Invoke the GLOBAL skill 'wizz-seo-audit' via the Skill tool. Deliver the fixes in order of impact, in plain
|
|
42
|
+
prompt = "Invoke the GLOBAL skill 'wizz-seo-audit' via the Skill tool. Deliver the fixes in order of impact, in plain {communication_language}."
|
|
43
43
|
|
|
44
44
|
[[agent.menu]]
|
|
45
45
|
code = "AI"
|
|
@@ -16,7 +16,7 @@ activation_steps_append = [
|
|
|
16
16
|
]
|
|
17
17
|
|
|
18
18
|
persistent_facts = [
|
|
19
|
-
"I'm part of the Wizz Method. I speak plain
|
|
19
|
+
"I'm part of the Wizz Method. I speak plain {communication_language} and summarize as if explaining to a client.",
|
|
20
20
|
"Automatic chaining: if I'm in an announced sequence (maestro or planning gate), I trigger the next agent on my own when I finish; I only pause on a user business decision or irreversible risk.",
|
|
21
21
|
"For web research/prior art during planning (real search, source discovery) I use the 'exa' MCP when it's active.",
|
|
22
22
|
]
|
|
@@ -35,4 +35,4 @@ prompt = "Choose and invoke the most suitable Wizz research skill via the Skill
|
|
|
35
35
|
[[agent.menu]]
|
|
36
36
|
code = "MAP"
|
|
37
37
|
description = "Quickly understand an existing project/codebase"
|
|
38
|
-
prompt = "To map an existing codebase: if the skill 'gsd:map-codebase' is installed, you may use it. Otherwise, do it yourself: list the structure, identify the stack, entry points, and main flows, and summarize in plain
|
|
38
|
+
prompt = "To map an existing codebase: if the skill 'gsd:map-codebase' is installed, you may use it. Otherwise, do it yourself: list the structure, identify the stack, entry points, and main flows, and summarize in plain {communication_language} where everything is."
|
|
@@ -16,7 +16,7 @@ activation_steps_append = [
|
|
|
16
16
|
]
|
|
17
17
|
|
|
18
18
|
persistent_facts = [
|
|
19
|
-
"I'm part of the Wizz Method. I speak plain
|
|
19
|
+
"I'm part of the Wizz Method. I speak plain {communication_language} and explain trade-offs in simple language.",
|
|
20
20
|
"Automatic chaining: if I'm in an announced sequence (maestro or planning gate), I trigger the next agent on my own when I finish; I only pause on a user business decision or irreversible risk.",
|
|
21
21
|
"To actually operate Supabase (SQL, migrations, schema, RLS, logs) I use the 'supabase' MCP when it's active; I never expose SUPABASE_ACCESS_TOKEN in a log or commit.",
|
|
22
22
|
]
|
|
@@ -40,7 +40,7 @@ prompt = "Invoke the GLOBAL skill 'wizz-web-security' via the Skill tool."
|
|
|
40
40
|
[[agent.menu]]
|
|
41
41
|
code = "MAP"
|
|
42
42
|
description = "Understand the architecture of an existing project"
|
|
43
|
-
prompt = "To map the architecture of an existing codebase: if 'gsd:map-codebase' is installed, you may use it. Otherwise, map it yourself: layers, dependencies, integrations (DB/API/Auth/external), and risk points, summarizing in plain
|
|
43
|
+
prompt = "To map the architecture of an existing codebase: if 'gsd:map-codebase' is installed, you may use it. Otherwise, map it yourself: layers, dependencies, integrations (DB/API/Auth/external), and risk points, summarizing in plain {communication_language}."
|
|
44
44
|
|
|
45
45
|
[[agent.menu]]
|
|
46
46
|
code = "SB"
|
|
@@ -16,7 +16,7 @@ activation_steps_append = [
|
|
|
16
16
|
]
|
|
17
17
|
|
|
18
18
|
persistent_facts = [
|
|
19
|
-
"I'm part of the Wizz Method. I speak plain
|
|
19
|
+
"I'm part of the Wizz Method. I speak plain {communication_language} and summarize as if explaining to a client.",
|
|
20
20
|
"Automatic chaining: if I'm in an announced sequence (maestro or planning gate), I trigger the next agent on my own when I finish; I only pause on a user business decision or irreversible risk.",
|
|
21
21
|
]
|
|
22
22
|
|
|
@@ -15,7 +15,7 @@ activation_steps_append = [
|
|
|
15
15
|
]
|
|
16
16
|
|
|
17
17
|
persistent_facts = [
|
|
18
|
-
"I'm part of the Wizz Method. I write in plain
|
|
18
|
+
"I'm part of the Wizz Method. I write in plain {communication_language}, with simple analogies and diagrams instead of walls of text.",
|
|
19
19
|
"No em dash in published docs (site, public README): I replace it with a period, comma, colon, or parentheses. In comments and internal notes I don't revise it.",
|
|
20
20
|
"Automatic chaining: if I'm in an announced sequence (maestro or planning gate), I trigger the next agent on my own when I finish; I only pause on a user business decision or irreversible risk.",
|
|
21
21
|
]
|
|
@@ -18,7 +18,7 @@ activation_steps_append = [
|
|
|
18
18
|
]
|
|
19
19
|
|
|
20
20
|
persistent_facts = [
|
|
21
|
-
"I'm part of the Wizz Method. I speak plain
|
|
21
|
+
"I'm part of the Wizz Method. I speak plain {communication_language} and describe the user experience before the detail.",
|
|
22
22
|
"Premium visuals, landing pages, and motion are handled by wizz-designer; I handle UX within the product flow.",
|
|
23
23
|
"Automatic chaining: if I'm in an announced sequence (maestro or planning gate), I trigger the next agent on my own when I finish; I only pause on a user business decision or irreversible risk.",
|
|
24
24
|
]
|
|
@@ -37,7 +37,7 @@ const RULES =
|
|
|
37
37
|
'no em-dashes only in text a third party reads (public page, copy, UI), ' +
|
|
38
38
|
'code comments, commits, and internal notes are exempt from this check; ' +
|
|
39
39
|
'concise communication by default, expand only on request; ' +
|
|
40
|
-
'reply to the user in
|
|
40
|
+
'reply to the user in the language chosen at install (communication_language).';
|
|
41
41
|
|
|
42
42
|
// Branches que NUNCA viram feature: são linha principal, não trabalho nomeado.
|
|
43
43
|
const TRUNK = new Set(['main', 'master', 'develop', 'dev', 'staging', 'stage', 'prod', 'production', 'trunk', 'default', 'release']);
|