wizz-method 1.15.0 → 1.16.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 +3 -2
- package/skills-registry.yaml +4 -0
- package/src/bmm-skills/3-solutioning/wizz-architecture/scripts/__pycache__/lint_spine.cpython-313.pyc +0 -0
- package/src/bmm-skills/3-solutioning/wizz-architecture/scripts/tests/__pycache__/test_lint_spine.cpython-313-pytest-9.1.1.pyc +0 -0
- package/src/bmm-skills/4-implementation/wizz-code-review/SKILL.md +3 -5
- package/src/bmm-skills/4-implementation/wizz-code-review/customize.toml +71 -0
- package/src/bmm-skills/4-implementation/wizz-code-review/references/claims-check.md +14 -0
- package/src/bmm-skills/4-implementation/wizz-code-review/references/deletion-check.md +14 -0
- package/src/bmm-skills/4-implementation/wizz-code-review/review-prompts/edge-case-hunter.md +110 -0
- package/src/bmm-skills/4-implementation/wizz-code-review/review-prompts/verification-gap.md +113 -0
- package/src/bmm-skills/4-implementation/wizz-code-review/steps/step-01-gather-context.md +32 -23
- package/src/bmm-skills/4-implementation/wizz-code-review/steps/step-02-review.md +10 -13
- package/src/bmm-skills/4-implementation/wizz-code-review/steps/step-03-triage.md +16 -22
- package/src/bmm-skills/4-implementation/wizz-code-review/steps/step-04-present.md +4 -2
- package/src/bmm-skills/4-implementation/wizz-quick-dev/customize.toml +76 -0
- package/src/bmm-skills/4-implementation/wizz-quick-dev/references/claims-check.md +14 -0
- package/src/bmm-skills/4-implementation/wizz-quick-dev/references/deletion-check.md +14 -0
- package/src/bmm-skills/4-implementation/wizz-quick-dev/review-prompts/edge-case-hunter.md +110 -0
- package/src/bmm-skills/4-implementation/wizz-quick-dev/review-prompts/verification-gap.md +113 -0
- package/src/bmm-skills/4-implementation/wizz-quick-dev/step-04-review.md +38 -16
- package/src/bmm-skills/4-implementation/wizz-retrospective/SKILL.md +56 -1488
- package/src/bmm-skills/4-implementation/wizz-retrospective/customize.toml +3 -5
- package/src/bmm-skills/4-implementation/wizz-retrospective/references/acceptance-verdict.md +55 -0
- package/src/bmm-skills/4-implementation/wizz-retrospective/references/aggregate-views.md +17 -0
- package/src/bmm-skills/4-implementation/wizz-retrospective/references/evidence-gathering.md +30 -0
- package/src/bmm-skills/4-implementation/wizz-retrospective/references/retro-document.md +84 -0
- package/src/bmm-skills/4-implementation/wizz-retrospective/references/team-discussion.md +22 -0
- package/src/bmm-skills/4-implementation/wizz-retrospective/scripts/__pycache__/sprint_status.cpython-313.pyc +0 -0
- package/src/bmm-skills/4-implementation/wizz-retrospective/scripts/git_evidence.py +304 -0
- package/src/bmm-skills/4-implementation/wizz-retrospective/scripts/sprint_status.py +746 -0
- package/src/bmm-skills/4-implementation/wizz-retrospective/scripts/tests/__pycache__/test_git_evidence.cpython-313-pytest-9.1.1.pyc +0 -0
- package/src/bmm-skills/4-implementation/wizz-retrospective/scripts/tests/__pycache__/test_sprint_status.cpython-313-pytest-9.1.1.pyc +0 -0
- package/src/bmm-skills/4-implementation/wizz-retrospective/scripts/tests/fixtures/sprint-status-template.yaml +71 -0
- package/src/bmm-skills/4-implementation/wizz-retrospective/scripts/tests/test_git_evidence.py +750 -0
- package/src/bmm-skills/4-implementation/wizz-retrospective/scripts/tests/test_sprint_status.py +1579 -0
- package/src/bmm-skills/4-implementation/wizz-sprint-planning/SKILL.md +39 -296
- package/src/bmm-skills/4-implementation/wizz-sprint-planning/customize.toml +1 -3
- package/src/bmm-skills/4-implementation/wizz-sprint-planning/references/fix-sprint-status.md +30 -0
- package/src/bmm-skills/4-implementation/wizz-sprint-planning/references/generate-tracking.md +25 -0
- package/src/bmm-skills/4-implementation/wizz-sprint-planning/references/readiness-gate.md +20 -0
- package/src/bmm-skills/4-implementation/wizz-sprint-planning/references/status-view.md +14 -0
- package/src/bmm-skills/4-implementation/wizz-sprint-planning/references/validate.md +10 -0
- package/src/bmm-skills/4-implementation/wizz-sprint-planning/scripts/__pycache__/sprint_plan.cpython-313.pyc +0 -0
- package/src/bmm-skills/4-implementation/wizz-sprint-planning/scripts/sprint_plan.py +697 -0
- package/src/bmm-skills/4-implementation/wizz-sprint-planning/scripts/tests/__pycache__/test_sprint_plan.cpython-313-pytest-9.1.1.pyc +0 -0
- package/src/bmm-skills/4-implementation/wizz-sprint-planning/scripts/tests/test_sprint_plan.py +524 -0
- package/src/bmm-skills/4-implementation/wizz-sprint-planning/sprint-status-template.yaml +9 -7
- package/src/bmm-skills/module-help.csv +3 -3
- package/src/core-skills/module-help.csv +1 -0
- package/src/core-skills/wizz-advanced-elicitation/SKILL.md +36 -114
- package/src/core-skills/wizz-advanced-elicitation/{methods.csv → assets/methods.csv} +29 -27
- package/src/core-skills/wizz-advanced-elicitation/customize.toml +54 -0
- package/src/core-skills/wizz-advanced-elicitation/scripts/__pycache__/pick_methods.cpython-313.pyc +0 -0
- package/src/core-skills/wizz-advanced-elicitation/scripts/pick_methods.py +233 -0
- package/src/core-skills/wizz-advanced-elicitation/scripts/tests/__pycache__/test_pick_methods.cpython-313-pytest-9.1.1.pyc +0 -0
- package/src/core-skills/wizz-advanced-elicitation/scripts/tests/test_pick_methods.py +228 -0
- package/src/core-skills/wizz-brainstorming/SKILL.md +2 -2
- package/src/core-skills/wizz-brainstorming/assets/brain-selector.html +2 -0
- package/src/core-skills/wizz-brainstorming/references/converge.md +1 -1
- package/src/core-skills/wizz-brainstorming/references/finalize.md +1 -1
- package/src/core-skills/wizz-brainstorming/references/headless.md +1 -1
- package/src/core-skills/wizz-brainstorming/references/mode-autonomous.md +1 -1
- package/src/core-skills/wizz-brainstorming/scripts/__pycache__/brain.cpython-313.pyc +0 -0
- package/src/core-skills/wizz-brainstorming/scripts/brain.py +36 -6
- package/src/core-skills/wizz-brainstorming/scripts/tests/__pycache__/test_brain.cpython-313-pytest-9.1.1.pyc +0 -0
- package/src/core-skills/wizz-brainstorming/scripts/tests/__pycache__/test_brain.cpython-314.pyc +0 -0
- package/src/core-skills/wizz-brainstorming/scripts/tests/test_brain.py +24 -2
- package/src/core-skills/wizz-customize/scripts/__pycache__/list_customizable_skills.cpython-313.pyc +0 -0
- package/src/core-skills/wizz-customize/scripts/tests/__pycache__/test_list_customizable_skills.cpython-313-pytest-9.1.1.pyc +0 -0
- package/src/core-skills/wizz-forge-idea/SKILL.md +107 -0
- package/src/core-skills/wizz-forge-idea/customize.toml +41 -0
- package/src/core-skills/wizz-forge-idea/scripts/__pycache__/resolve_personas.cpython-313.pyc +0 -0
- package/src/core-skills/wizz-forge-idea/scripts/__pycache__/resolve_personas.cpython-314.pyc +0 -0
- package/src/core-skills/wizz-forge-idea/scripts/resolve_personas.py +275 -0
- package/src/core-skills/wizz-forge-idea/scripts/tests/__pycache__/test_resolve_personas.cpython-313-pytest-9.1.1.pyc +0 -0
- package/src/core-skills/wizz-forge-idea/scripts/tests/__pycache__/test_resolve_personas.cpython-314.pyc +0 -0
- package/src/core-skills/wizz-forge-idea/scripts/tests/test_resolve_personas.py +138 -0
- package/src/core-skills/wizz-party-mode/SKILL.md +37 -54
- package/src/core-skills/wizz-party-mode/customize.toml +61 -2
- package/src/core-skills/wizz-party-mode/references/create-party.md +8 -3
- package/src/core-skills/wizz-party-mode/references/mode-agent-team.md +3 -1
- package/src/core-skills/wizz-party-mode/references/mode-subagent.md +16 -4
- package/src/core-skills/wizz-party-mode/references/party-memory.md +51 -0
- package/src/core-skills/wizz-party-mode/scripts/__pycache__/resolve_party.cpython-313.pyc +0 -0
- package/src/core-skills/wizz-party-mode/scripts/__pycache__/resolve_party.cpython-314.pyc +0 -0
- package/src/core-skills/wizz-party-mode/scripts/resolve_party.py +22 -7
- package/src/core-skills/wizz-party-mode/scripts/tests/__pycache__/test_resolve_party.cpython-313-pytest-9.1.1.pyc +0 -0
- package/src/core-skills/wizz-party-mode/scripts/tests/__pycache__/test_resolve_party.cpython-314.pyc +0 -0
- package/src/core-skills/wizz-party-mode/scripts/tests/{test-resolve_party.py → test_resolve_party.py} +8 -0
- package/src/core-skills/wizz-review-edge-case-hunter/SKILL.md +17 -3
- package/src/modules/wizz/agents/wizz-growth/customize.toml +10 -0
- package/src/scripts/__pycache__/memlog.cpython-313.pyc +0 -0
- package/src/scripts/tests/__pycache__/test_memlog.cpython-313-pytest-9.1.1.pyc +0 -0
- package/src/scripts/tests/__pycache__/test_resolve_customization.cpython-313-pytest-9.1.1.pyc +0 -0
- package/src/skills-lib/pesquisa-de-publico-do-piva/README.md +83 -0
- package/src/skills-lib/pesquisa-de-publico-do-piva/SKILL.md +65 -0
- package/src/skills-lib/pesquisa-de-publico-do-piva/assets/template.html +414 -0
- package/src/skills-lib/pesquisa-de-publico-do-piva/prompts.md +131 -0
- package/src/skills-lib/wizz-offer-forge/README.md +13 -0
- package/src/skills-lib/wizz-offer-forge/SKILL.md +74 -0
- package/src/skills-lib/wizz-offer-forge/references/empilhamento-valor.md +25 -0
- package/src/skills-lib/wizz-offer-forge/references/garantia-reversa.md +22 -0
- package/src/skills-lib/wizz-offer-forge/references/mecanismo-unico.md +28 -0
- package/src/skills-lib/wizz-offer-forge/references/ponte-trafego.md +21 -0
- package/src/skills-lib/wizz-router/references/routing-table-flat.md +2 -0
- package/tools/installer/core/installer.js +57 -0
- package/tools/installer/ide/_config-driven.js +3 -3
- package/tools/installer/ide/platform-codes.yaml +28 -0
- package/tools/installer/modules/external-manager.js +140 -2
- package/tools/installer/modules/official-modules.js +68 -21
- package/tools/installer/prompts.js +45 -103
- package/tools/installer/ui.js +64 -7
- package/wizz-modules.yaml +65 -11
- package/src/bmm-skills/4-implementation/wizz-sprint-planning/checklist.md +0 -34
- package/src/core-skills/wizz-brainstorming/scripts/memlog.py +0 -202
- package/src/core-skills/wizz-brainstorming/scripts/tests/test_memlog.py +0 -265
|
@@ -0,0 +1,414 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="pt-BR">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>Pesquisa {{NOME_CURTO_DA_OFERTA}} - @soupiva</title>
|
|
7
|
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
8
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
9
|
+
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;700&display=swap" rel="stylesheet">
|
|
10
|
+
<style>
|
|
11
|
+
:root{
|
|
12
|
+
--bg:#040a09; --panel:#081513; --panel-2:#0b1a17; --panel-3:#0e211d;
|
|
13
|
+
--line:#14312a; --line-soft:#102621;
|
|
14
|
+
--green:#2ee59d; --green-dim:#1fa876; --green-glow:rgba(46,229,157,.35);
|
|
15
|
+
--red:#ff5d5d; --red-bg:rgba(255,93,93,.07); --red-line:rgba(255,93,93,.28);
|
|
16
|
+
--gold:#e8c26a; --gold-bg:rgba(232,194,106,.07); --gold-line:rgba(232,194,106,.28);
|
|
17
|
+
--blue:#63b3ff; --blue-bg:rgba(99,179,255,.07); --blue-line:rgba(99,179,255,.28);
|
|
18
|
+
--txt:#eaf5f1; --txt-mid:#9db3ad; --txt-dim:#6d827d;
|
|
19
|
+
}
|
|
20
|
+
*{box-sizing:border-box;margin:0;padding:0}
|
|
21
|
+
html{scroll-behavior:smooth}
|
|
22
|
+
body{background:var(--bg);font-family:'Inter',system-ui,sans-serif;color:var(--txt);line-height:1.6;-webkit-font-smoothing:antialiased}
|
|
23
|
+
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
|
|
24
|
+
background:radial-gradient(900px 500px at 78% -6%,rgba(46,229,157,.10),transparent 60%),
|
|
25
|
+
radial-gradient(700px 420px at 0% 30%,rgba(46,229,157,.05),transparent 60%)}
|
|
26
|
+
.page{position:relative;z-index:1;max-width:1020px;margin:0 auto;padding:22px 16px 80px}
|
|
27
|
+
.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}
|
|
28
|
+
.ico{width:26px;height:26px;stroke:var(--green);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;
|
|
29
|
+
filter:drop-shadow(0 0 6px var(--green-glow))}
|
|
30
|
+
.ico-sm{width:17px;height:17px}
|
|
31
|
+
.ico-lg{width:34px;height:34px}
|
|
32
|
+
|
|
33
|
+
/* ---------- HERO ---------- */
|
|
34
|
+
.hero{position:relative;background:linear-gradient(160deg,#071310 0%,#04100d 100%);
|
|
35
|
+
border:1px solid var(--line);border-radius:20px;padding:34px 34px 30px;overflow:hidden}
|
|
36
|
+
.hero-radar{position:absolute;right:-40px;top:-30px;width:290px;height:290px;opacity:.55;pointer-events:none}
|
|
37
|
+
.kicker{display:flex;align-items:center;gap:8px;font-family:'JetBrains Mono',monospace;font-size:11px;
|
|
38
|
+
letter-spacing:.2em;text-transform:uppercase;color:var(--green);margin-bottom:16px}
|
|
39
|
+
h1{font-size:44px;line-height:1.08;font-weight:800;letter-spacing:-.02em;margin-bottom:16px;max-width:660px}
|
|
40
|
+
.recorte{display:inline-block;border:1px solid rgba(46,229,157,.45);border-radius:100px;
|
|
41
|
+
padding:9px 20px;font-size:15px;color:var(--green);margin-bottom:20px}
|
|
42
|
+
.hero p{color:var(--txt-mid);font-size:15px;max-width:600px}
|
|
43
|
+
.pipeline{display:flex;align-items:flex-start;gap:6px;margin-top:26px;flex-wrap:wrap}
|
|
44
|
+
.pipe-step{display:flex;flex-direction:column;align-items:center;gap:9px;min-width:80px}
|
|
45
|
+
.pipe-step .lbl{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.13em;color:var(--txt-mid);text-transform:uppercase}
|
|
46
|
+
.pipe-step.on .lbl{color:var(--green)}
|
|
47
|
+
.pipe-arrow{color:var(--txt-dim);font-size:15px;padding-top:12px}
|
|
48
|
+
|
|
49
|
+
/* ---------- TABS ---------- */
|
|
50
|
+
.tabs{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:16px 0 22px;
|
|
51
|
+
background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:6px;
|
|
52
|
+
position:sticky;top:10px;z-index:30;backdrop-filter:blur(8px)}
|
|
53
|
+
.tabs button{background:none;border:none;border-radius:11px;padding:13px 4px 11px;cursor:pointer;
|
|
54
|
+
font-family:'Inter',sans-serif;color:var(--txt-dim);transition:.16s;border-bottom:2px solid transparent}
|
|
55
|
+
.tabs button .n{display:block;font-size:17px;font-weight:700;margin-bottom:1px}
|
|
56
|
+
.tabs button .t{display:block;font-size:12.5px;font-weight:500}
|
|
57
|
+
.tabs button:hover{color:var(--txt-mid);background:rgba(46,229,157,.04)}
|
|
58
|
+
.tabs button.active{background:linear-gradient(180deg,#12463a,#0d2f28);color:#fff;border-bottom-color:var(--green)}
|
|
59
|
+
.tabs button.active .n{color:#fff}
|
|
60
|
+
|
|
61
|
+
/* ---------- PANELS ---------- */
|
|
62
|
+
.tab-panel{display:none}
|
|
63
|
+
.tab-panel.active{display:block;animation:fade .22s ease}
|
|
64
|
+
@keyframes fade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
|
|
65
|
+
.report-head{position:relative;background:var(--panel);border:1px solid var(--line);
|
|
66
|
+
border-radius:20px;padding:30px 32px;overflow:hidden;margin-bottom:16px}
|
|
67
|
+
.report-badge{display:inline-block;border:1px solid rgba(46,229,157,.45);border-radius:100px;
|
|
68
|
+
padding:6px 16px;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.16em;color:var(--green);margin-bottom:16px}
|
|
69
|
+
.report-head h2{font-size:36px;font-weight:800;letter-spacing:-.02em;margin-bottom:12px}
|
|
70
|
+
.report-head p{color:var(--txt-mid);font-size:15px;max-width:560px}
|
|
71
|
+
.report-art{position:absolute;right:16px;top:50%;transform:translateY(-50%);width:170px;height:170px;opacity:.6;pointer-events:none}
|
|
72
|
+
|
|
73
|
+
/* ---------- CARDS ---------- */
|
|
74
|
+
.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px 24px;margin-bottom:14px}
|
|
75
|
+
.card h3{display:flex;align-items:center;gap:9px;font-size:18px;font-weight:700;margin-bottom:12px}
|
|
76
|
+
.card p{color:var(--txt-mid);font-size:14.6px;margin-bottom:11px}
|
|
77
|
+
.card p:last-child{margin-bottom:0}
|
|
78
|
+
.card strong{color:var(--txt)}
|
|
79
|
+
.card-warn{background:var(--red-bg);border-color:var(--red-line)}
|
|
80
|
+
.card-warn h3{color:var(--red)}
|
|
81
|
+
.card-warn .ico{stroke:var(--red);filter:drop-shadow(0 0 6px rgba(255,93,93,.3))}
|
|
82
|
+
.card-gold{background:var(--gold-bg);border-color:var(--gold-line)}.card-gold h3{color:var(--gold)}
|
|
83
|
+
.card-blue{background:var(--blue-bg);border-color:var(--blue-line)}.card-blue h3{color:var(--blue)}
|
|
84
|
+
.card-green{background:rgba(46,229,157,.06);border-color:rgba(46,229,157,.28)}.card-green h3{color:var(--green)}
|
|
85
|
+
.badges{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}
|
|
86
|
+
.badge{display:flex;align-items:center;gap:7px;border:1px solid var(--red-line);border-radius:11px;
|
|
87
|
+
padding:9px 15px;font-size:13px;color:var(--red);background:rgba(255,93,93,.04)}
|
|
88
|
+
.badge .ico{stroke:var(--red);filter:none}
|
|
89
|
+
|
|
90
|
+
/* ---------- FEATURE GRID ---------- */
|
|
91
|
+
.sec-label{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.2em;
|
|
92
|
+
text-transform:uppercase;color:var(--green);margin:28px 0 14px}
|
|
93
|
+
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
|
|
94
|
+
.feat{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px 18px;text-align:center}
|
|
95
|
+
.feat .ico{margin-bottom:12px}
|
|
96
|
+
.feat h4{font-size:15px;font-weight:700;margin-bottom:6px}
|
|
97
|
+
.feat p{color:var(--txt-mid);font-size:13.2px;line-height:1.5}
|
|
98
|
+
|
|
99
|
+
/* ---------- CONTENT BITS ---------- */
|
|
100
|
+
.category{display:flex;align-items:center;gap:9px;font-family:'JetBrains Mono',monospace;font-size:11.5px;
|
|
101
|
+
letter-spacing:.16em;text-transform:uppercase;color:var(--green);margin:30px 0 12px;
|
|
102
|
+
padding-bottom:9px;border-bottom:1px solid var(--line)}
|
|
103
|
+
blockquote{background:var(--panel-2);border:1px solid var(--line);border-left:3px solid var(--green);
|
|
104
|
+
border-radius:0 14px 14px 0;padding:17px 21px;margin:13px 0;font-size:17px;color:var(--txt)}
|
|
105
|
+
blockquote.forum{border-left-color:var(--gold)}
|
|
106
|
+
blockquote.en{border-left-color:var(--blue)}
|
|
107
|
+
blockquote .src{display:block;font-family:'JetBrains Mono',monospace;font-size:10.5px;
|
|
108
|
+
color:var(--txt-dim);margin-top:11px;line-height:1.6;letter-spacing:.02em}
|
|
109
|
+
.pill{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.09em;
|
|
110
|
+
padding:3px 9px;border-radius:5px;text-transform:uppercase;font-weight:700;vertical-align:middle}
|
|
111
|
+
.pill-green{background:rgba(46,229,157,.12);color:var(--green)}
|
|
112
|
+
.pill-gold{background:var(--gold-bg);color:var(--gold)}
|
|
113
|
+
.pill-blue{background:var(--blue-bg);color:var(--blue)}
|
|
114
|
+
.theme{font-weight:700;font-size:16px;margin:24px 0 8px;color:var(--txt)}
|
|
115
|
+
.note{background:var(--gold-bg);border:1px solid var(--gold-line);border-left:3px solid var(--gold);
|
|
116
|
+
border-radius:0 12px 12px 0;padding:14px 18px;margin:10px 0;font-size:14px;color:#e6d3a8}
|
|
117
|
+
.persona{background:var(--blue-bg);border:1px solid var(--blue-line);border-radius:16px;padding:24px;margin:18px 0}
|
|
118
|
+
.persona h4{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.16em;
|
|
119
|
+
text-transform:uppercase;color:var(--blue);margin-bottom:11px}
|
|
120
|
+
.persona p{font-size:15px;color:#cfe4f5}
|
|
121
|
+
.sub-persona{background:var(--gold-bg);border-left:3px solid var(--gold);border-radius:0 12px 12px 0;padding:17px 20px;margin:13px 0}
|
|
122
|
+
.sub-persona h4{color:var(--gold);font-size:16px;margin-bottom:6px}
|
|
123
|
+
.sub-persona p{font-size:14px;color:#ddcfa9}
|
|
124
|
+
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px;margin:15px 0}
|
|
125
|
+
table{width:100%;border-collapse:collapse;font-size:13.4px;min-width:640px}
|
|
126
|
+
th{background:var(--panel-3);color:var(--green);text-align:left;padding:13px 15px;
|
|
127
|
+
font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;font-weight:500}
|
|
128
|
+
td{padding:13px 15px;border-top:1px solid var(--line-soft);color:var(--txt-mid);vertical-align:top}
|
|
129
|
+
tbody tr:nth-child(even){background:rgba(255,255,255,.015)}
|
|
130
|
+
td strong{color:var(--txt)}
|
|
131
|
+
.angle{border:1px solid var(--line);border-radius:16px;margin:16px 0;overflow:hidden;background:var(--panel)}
|
|
132
|
+
.angle-header{padding:15px 22px}
|
|
133
|
+
.angle-header.z4{background:linear-gradient(100deg,#164a3c,#0f3129)}
|
|
134
|
+
.angle-header.z3{background:var(--panel-3)}
|
|
135
|
+
.angle-header.z2{background:#1c1a10}
|
|
136
|
+
.angle-header .zone{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.16em;color:var(--green)}
|
|
137
|
+
.angle-header.z2 .zone{color:var(--gold)}
|
|
138
|
+
.angle-name{font-size:21px;font-weight:700;margin-top:3px}
|
|
139
|
+
.angle-body{padding:20px 22px}
|
|
140
|
+
.hook{background:var(--panel-2);border-left:3px solid var(--green);border-radius:0 12px 12px 0;
|
|
141
|
+
padding:14px 18px;font-size:17px;margin-bottom:16px}
|
|
142
|
+
.fw{display:flex;gap:14px;margin-bottom:9px;font-size:14px}
|
|
143
|
+
.fw .label{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.11em;color:var(--green);
|
|
144
|
+
text-transform:uppercase;min-width:112px;padding-top:3px;flex-shrink:0}
|
|
145
|
+
.fw .value{color:var(--txt-mid)}
|
|
146
|
+
ul.custom{list-style:none;margin:12px 0}
|
|
147
|
+
ul.custom li{position:relative;padding-left:24px;margin-bottom:9px;font-size:14.6px;color:var(--txt-mid)}
|
|
148
|
+
ul.custom li:before{content:"→";position:absolute;left:0;color:var(--green)}
|
|
149
|
+
ol.findings{list-style:none;counter-reset:f;margin:12px 0}
|
|
150
|
+
ol.findings li{counter-increment:f;position:relative;padding-left:32px;margin-bottom:12px;font-size:14.6px;color:var(--txt-mid)}
|
|
151
|
+
ol.findings li:before{content:counter(f,decimal-leading-zero);position:absolute;left:0;top:2px;
|
|
152
|
+
font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--green);font-weight:700}
|
|
153
|
+
.caveats{background:transparent;border:1px dashed var(--line);border-radius:16px;padding:22px 24px;margin-top:28px}
|
|
154
|
+
.caveats h3{color:var(--txt-mid);font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase}
|
|
155
|
+
|
|
156
|
+
/* ---------- ASSINATURA @soupiva ---------- */
|
|
157
|
+
.sig-fixed{position:fixed;right:18px;bottom:18px;z-index:99;display:flex;align-items:center;gap:9px;
|
|
158
|
+
background:rgba(8,21,19,.92);border:1px solid rgba(46,229,157,.4);border-radius:100px;
|
|
159
|
+
padding:10px 18px 10px 14px;text-decoration:none;color:var(--green);font-size:14px;font-weight:600;
|
|
160
|
+
backdrop-filter:blur(10px);box-shadow:0 6px 26px rgba(0,0,0,.55);transition:.18s}
|
|
161
|
+
.sig-fixed:hover{background:rgba(46,229,157,.14);transform:translateY(-2px)}
|
|
162
|
+
.sig-fixed .ico{width:19px;height:19px;filter:none}
|
|
163
|
+
footer{text-align:center;margin-top:44px;padding-top:26px;border-top:1px solid var(--line)}
|
|
164
|
+
footer a{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:var(--green);
|
|
165
|
+
font-size:16px;font-weight:700}
|
|
166
|
+
footer .made{display:block;font-family:'JetBrains Mono',monospace;font-size:10.5px;
|
|
167
|
+
letter-spacing:.16em;color:var(--txt-dim);margin-top:10px;text-transform:uppercase}
|
|
168
|
+
|
|
169
|
+
@media(max-width:820px){
|
|
170
|
+
h1{font-size:31px}.hero{padding:26px 22px}.hero-radar{display:none}
|
|
171
|
+
.report-head{padding:24px 22px}.report-head h2{font-size:27px}.report-art{display:none}
|
|
172
|
+
.tabs{grid-template-columns:repeat(3,1fr)}
|
|
173
|
+
.grid-4{grid-template-columns:repeat(2,1fr)}
|
|
174
|
+
.fw{flex-direction:column;gap:2px}
|
|
175
|
+
.sig-fixed{right:12px;bottom:12px;padding:9px 15px 9px 12px;font-size:13px}
|
|
176
|
+
}
|
|
177
|
+
</style>
|
|
178
|
+
</head>
|
|
179
|
+
<body>
|
|
180
|
+
|
|
181
|
+
<!-- ====== SPRITE DE ÍCONES (SVG inline, sem dependência externa) ====== -->
|
|
182
|
+
<svg class="svg-sprite" aria-hidden="true">
|
|
183
|
+
<symbol id="i-target" viewBox="0 0 24 24"><circle cx="12" cy="12" r="9"/><circle cx="12" cy="12" r="4.5"/><circle cx="12" cy="12" r="1.2"/></symbol>
|
|
184
|
+
<symbol id="i-mic" viewBox="0 0 24 24"><rect x="9" y="2.5" width="6" height="11" rx="3"/><path d="M5.5 11.5a6.5 6.5 0 0 0 13 0"/><path d="M12 18v3.5"/><path d="M8.5 21.5h7"/></symbol>
|
|
185
|
+
<symbol id="i-gem" viewBox="0 0 24 24"><path d="M6 3h12l3.5 6L12 21 2.5 9z"/><path d="M2.5 9h19"/><path d="M12 21 8 9l2-6"/><path d="m12 21 4-12-2-6"/></symbol>
|
|
186
|
+
<symbol id="i-brain" viewBox="0 0 24 24"><path d="M9 3a3 3 0 0 0-3 3 3 3 0 0 0-2 5.2A3 3 0 0 0 5.5 17 3 3 0 0 0 9 21h.5V3z"/><path d="M15 3a3 3 0 0 1 3 3 3 3 0 0 1 2 5.2A3 3 0 0 1 18.5 17 3 3 0 0 1 15 21h-.5V3z"/></symbol>
|
|
187
|
+
<symbol id="i-trend" viewBox="0 0 24 24"><path d="M3 17.5 9 11l4 4 7.5-8"/><path d="M15 3.5h5.5V9"/></symbol>
|
|
188
|
+
<symbol id="i-book" viewBox="0 0 24 24"><path d="M3 4.5h6a3 3 0 0 1 3 3v13a2.5 2.5 0 0 0-2.5-2.5H3z"/><path d="M21 4.5h-6a3 3 0 0 0-3 3v13a2.5 2.5 0 0 1 2.5-2.5H21z"/></symbol>
|
|
189
|
+
<symbol id="i-people" viewBox="0 0 24 24"><circle cx="9" cy="8" r="3.2"/><path d="M2.5 19c0-3.3 2.9-5.5 6.5-5.5s6.5 2.2 6.5 5.5"/><path d="M16.5 5.4a3.2 3.2 0 0 1 0 5.2"/><path d="M18 13.9c2.1.7 3.5 2.4 3.5 5.1"/></symbol>
|
|
190
|
+
<symbol id="i-warn" viewBox="0 0 24 24"><path d="M12 3.5 22 20H2z"/><path d="M12 9.5v5"/><path d="M12 17.6v.1"/></symbol>
|
|
191
|
+
<symbol id="i-shield" viewBox="0 0 24 24"><path d="M12 2.5 20 6v6c0 5-3.4 8.5-8 9.5-4.6-1-8-4.5-8-9.5V6z"/></symbol>
|
|
192
|
+
<symbol id="i-check" viewBox="0 0 24 24"><circle cx="12" cy="12" r="9.2"/><path d="m8 12.2 2.7 2.7L16 9.6"/></symbol>
|
|
193
|
+
<symbol id="i-x" viewBox="0 0 24 24"><circle cx="12" cy="12" r="9.2"/><path d="m9 9 6 6M15 9l-6 6"/></symbol>
|
|
194
|
+
<symbol id="i-quote" viewBox="0 0 24 24"><rect x="3" y="4" width="18" height="14.5" rx="2.5"/><path d="M7.5 9h6M7.5 13h9"/></symbol>
|
|
195
|
+
<symbol id="i-pulse" viewBox="0 0 24 24"><path d="M2 12h4l2.5-7 4 15L15.5 12H22"/></symbol>
|
|
196
|
+
<symbol id="i-layers" viewBox="0 0 24 24"><path d="m12 3 9 5-9 5-9-5z"/><path d="m3 13 9 5 9-5"/></symbol>
|
|
197
|
+
<symbol id="i-insta" viewBox="0 0 24 24"><rect x="3" y="3" width="18" height="18" rx="5"/><circle cx="12" cy="12" r="4"/><path d="M17.2 6.8v.01"/></symbol>
|
|
198
|
+
<symbol id="i-radar" viewBox="0 0 200 200">
|
|
199
|
+
<circle cx="100" cy="100" r="88" stroke-opacity=".28"/><circle cx="100" cy="100" r="62" stroke-opacity=".4"/>
|
|
200
|
+
<circle cx="100" cy="100" r="36" stroke-opacity=".6"/>
|
|
201
|
+
<path d="M100 4v22M100 174v22M4 100h22M174 100h22" stroke-opacity=".45"/>
|
|
202
|
+
<circle cx="162" cy="100" r="3.5" fill="currentColor" stroke="none"/>
|
|
203
|
+
<circle cx="100" cy="38" r="3" fill="currentColor" stroke="none"/>
|
|
204
|
+
<circle cx="46" cy="128" r="2.5" fill="currentColor" stroke="none"/>
|
|
205
|
+
</symbol>
|
|
206
|
+
</svg>
|
|
207
|
+
|
|
208
|
+
<div class="page">
|
|
209
|
+
|
|
210
|
+
<!-- ================= HERO ================= -->
|
|
211
|
+
<div class="hero">
|
|
212
|
+
<svg class="hero-radar" style="stroke:var(--green);fill:none;stroke-width:1.2;color:var(--green)"><use href="#i-radar"/></svg>
|
|
213
|
+
<div class="kicker"><svg class="ico ico-sm"><use href="#i-target"/></svg> Arsenal de Pesquisa de Oferta · Método @soupiva</div>
|
|
214
|
+
<h1>Pesquisa {{NOME_CURTO_DA_OFERTA}} - @soupiva</h1>
|
|
215
|
+
<div class="recorte">Recorte: {{RECORTE_DO_PUBLICO}}</div>
|
|
216
|
+
<p>Seis relatórios encadeados de pesquisa de público para tráfego pago.<br>Mineração feita sobre quem vive a dor — não sobre quem já é cliente.</p>
|
|
217
|
+
<div class="pipeline">
|
|
218
|
+
<div class="pipe-step on"><svg class="ico"><use href="#i-mic"/></svg><span class="lbl">VoC</span></div>
|
|
219
|
+
<span class="pipe-arrow">→</span>
|
|
220
|
+
<div class="pipe-step"><svg class="ico"><use href="#i-gem"/></svg><span class="lbl">Schwartz</span></div>
|
|
221
|
+
<span class="pipe-arrow">→</span>
|
|
222
|
+
<div class="pipe-step"><svg class="ico"><use href="#i-brain"/></svg><span class="lbl">Consciência</span></div>
|
|
223
|
+
<span class="pipe-arrow">→</span>
|
|
224
|
+
<div class="pipe-step"><svg class="ico"><use href="#i-trend"/></svg><span class="lbl">Trend</span></div>
|
|
225
|
+
<span class="pipe-arrow">→</span>
|
|
226
|
+
<div class="pipe-step"><svg class="ico"><use href="#i-target"/></svg><span class="lbl">Ângulos</span></div>
|
|
227
|
+
<span class="pipe-arrow">→</span>
|
|
228
|
+
<div class="pipe-step"><svg class="ico"><use href="#i-book"/></svg><span class="lbl">Léxico</span></div>
|
|
229
|
+
</div>
|
|
230
|
+
</div>
|
|
231
|
+
|
|
232
|
+
<!-- ================= TABS ================= -->
|
|
233
|
+
<div class="tabs">
|
|
234
|
+
<button class="active" onclick="showTab(0,this)"><span class="n">01</span><span class="t">VoC</span></button>
|
|
235
|
+
<button onclick="showTab(1,this)"><span class="n">02</span><span class="t">Schwartz</span></button>
|
|
236
|
+
<button onclick="showTab(2,this)"><span class="n">03</span><span class="t">Consciência</span></button>
|
|
237
|
+
<button onclick="showTab(3,this)"><span class="n">04</span><span class="t">Trend</span></button>
|
|
238
|
+
<button onclick="showTab(4,this)"><span class="n">05</span><span class="t">Ângulos</span></button>
|
|
239
|
+
<button onclick="showTab(5,this)"><span class="n">06</span><span class="t">Léxico</span></button>
|
|
240
|
+
</div>
|
|
241
|
+
|
|
242
|
+
<!-- ================= 01 · VOC ================= -->
|
|
243
|
+
<div class="tab-panel active">
|
|
244
|
+
<div class="report-head">
|
|
245
|
+
<svg class="report-art" style="stroke:var(--green);fill:none;stroke-width:.9;color:var(--green)"><use href="#i-radar"/></svg>
|
|
246
|
+
<div class="report-badge">RELATÓRIO 01</div>
|
|
247
|
+
<h2>Voz do Cliente</h2>
|
|
248
|
+
<p>{{SUBTITULO_VOC}}</p>
|
|
249
|
+
</div>
|
|
250
|
+
|
|
251
|
+
<div class="card card-warn">
|
|
252
|
+
<h3><svg class="ico"><use href="#i-warn"/></svg> Leia isto antes de usar qualquer quote</h3>
|
|
253
|
+
<p>As citações abaixo são fragmentos curtos e literais de fontes públicas indexadas, com link e selo de confiança. Nada foi inventado.</p>
|
|
254
|
+
<p>Onde não havia verbatim acessível, o achado aparece como descrição do padrão, não como fala.</p>
|
|
255
|
+
<p>{{NOTA_DE_LIMITACAO_DE_FONTE}}</p>
|
|
256
|
+
<div class="badges">
|
|
257
|
+
<span class="badge"><svg class="ico ico-sm"><use href="#i-shield"/></svg> Fontes públicas</span>
|
|
258
|
+
<span class="badge"><svg class="ico ico-sm"><use href="#i-check"/></svg> Verbatim quando disponível</span>
|
|
259
|
+
<span class="badge"><svg class="ico ico-sm"><use href="#i-x"/></svg> Sem invenção</span>
|
|
260
|
+
</div>
|
|
261
|
+
</div>
|
|
262
|
+
|
|
263
|
+
<div class="sec-label">O que você vai encontrar</div>
|
|
264
|
+
<div class="grid-4">
|
|
265
|
+
<div class="feat"><svg class="ico ico-lg"><use href="#i-quote"/></svg><h4>Citações literais</h4><p>Verbatims reais de quem viveu.</p></div>
|
|
266
|
+
<div class="feat"><svg class="ico ico-lg"><use href="#i-pulse"/></svg><h4>Padrões claros</h4><p>Resumos do que se repete.</p></div>
|
|
267
|
+
<div class="feat"><svg class="ico ico-lg"><use href="#i-brain"/></svg><h4>Categorias</h4><p>Agrupamento por emoção.</p></div>
|
|
268
|
+
<div class="feat"><svg class="ico ico-lg"><use href="#i-target"/></svg><h4>Clusters</h4><p>Ângulos prontos para comunicar.</p></div>
|
|
269
|
+
</div>
|
|
270
|
+
|
|
271
|
+
<!-- REPETIR POR CATEGORIA: TEME / FRUSTRADO / QUER / ACREDITA / GOSTA -->
|
|
272
|
+
<div class="category"><svg class="ico ico-sm"><use href="#i-pulse"/></svg> 01 · {{NOME_DA_CATEGORIA}}</div>
|
|
273
|
+
<blockquote>{{QUOTE_CURTA_LITERAL}}
|
|
274
|
+
<span class="src">{{FONTE + LINK}} · <span class="pill pill-green">Verificável</span></span>
|
|
275
|
+
</blockquote>
|
|
276
|
+
<p style="color:var(--txt-mid);font-size:14.6px">{{LEITURA_DO_PADRAO}}</p>
|
|
277
|
+
|
|
278
|
+
<div class="persona">
|
|
279
|
+
<h4>Retrato de persona</h4>
|
|
280
|
+
<p>{{PERSONA_5_A_6_FRASES}}</p>
|
|
281
|
+
</div>
|
|
282
|
+
|
|
283
|
+
<div class="sec-label">Síntese · Clusters de ângulo</div>
|
|
284
|
+
<div class="card card-green"><h3>C1 · {{NOME_DO_CLUSTER}}</h3><p><strong>Núcleo:</strong> {{...}} <strong>Lift-ready:</strong> {{...}}</p></div>
|
|
285
|
+
|
|
286
|
+
<div class="caveats">
|
|
287
|
+
<h3>Caveats — honestidade de fonte</h3>
|
|
288
|
+
<ul class="custom"><li>{{CAVEAT}}</li></ul>
|
|
289
|
+
</div>
|
|
290
|
+
</div>
|
|
291
|
+
|
|
292
|
+
<!-- ================= 02 · SCHWARTZ ================= -->
|
|
293
|
+
<div class="tab-panel">
|
|
294
|
+
<div class="report-head">
|
|
295
|
+
<div class="report-badge">RELATÓRIO 02</div>
|
|
296
|
+
<h2>Perfil Psicográfico</h2>
|
|
297
|
+
<p>Identity · Problems · Dreams · Obstacles. Síntese do VoC, sem mineração nova.</p>
|
|
298
|
+
</div>
|
|
299
|
+
<div class="sec-label">Categoria A · Identity</div>
|
|
300
|
+
<div class="theme">A1 · {{NOME_DO_TEMA}}</div>
|
|
301
|
+
<blockquote>{{QUOTE}}<span class="src">{{FONTE}} · <span class="pill pill-gold">Fórum — checar verbatim</span></span></blockquote>
|
|
302
|
+
<div class="note"><strong>Nota de padrão:</strong> {{INSIGHT}}</div>
|
|
303
|
+
<div class="persona"><h4>Retrato consolidado</h4><p>{{...}}</p></div>
|
|
304
|
+
<div class="caveats"><h3>Nota de método e limites</h3><ul class="custom"><li>{{...}}</li></ul></div>
|
|
305
|
+
</div>
|
|
306
|
+
|
|
307
|
+
<!-- ================= 03 · CONSCIÊNCIA ================= -->
|
|
308
|
+
<div class="tab-panel">
|
|
309
|
+
<div class="report-head">
|
|
310
|
+
<div class="report-badge">RELATÓRIO 03</div>
|
|
311
|
+
<h2>Níveis de Consciência</h2>
|
|
312
|
+
<p>Três tabelas prontas para copy, por estágio de funil.</p>
|
|
313
|
+
</div>
|
|
314
|
+
<div class="sec-label">Tabela 1 · Níveis de consciência</div>
|
|
315
|
+
<div class="table-wrap"><table>
|
|
316
|
+
<thead><tr><th>Inconsciente</th><th>Consciente do problema</th><th>Consciente da solução</th><th>Consciente do produto</th><th>Mais consciente</th></tr></thead>
|
|
317
|
+
<tbody><tr><td>{{...}}</td><td>{{...}}</td><td>{{...}}</td><td>{{...}}</td><td>{{...}}</td></tr></tbody>
|
|
318
|
+
</table></div>
|
|
319
|
+
<div class="card card-green"><h3>Leitura estratégica</h3><p>{{...}}</p></div>
|
|
320
|
+
|
|
321
|
+
<div class="sec-label">Tabela 2 · Escada de desejos</div>
|
|
322
|
+
<div class="table-wrap"><table>
|
|
323
|
+
<thead><tr><th>Desejo declarado</th><th>N1</th><th>N2</th><th>N3 — payoff</th></tr></thead>
|
|
324
|
+
<tbody><tr><td><strong>{{...}}</strong></td><td>{{...}}</td><td>{{...}}</td><td>{{...}}</td></tr></tbody>
|
|
325
|
+
</table></div>
|
|
326
|
+
|
|
327
|
+
<div class="sec-label">Tabela 3 · Diz / Não diz / Não consegue dizer</div>
|
|
328
|
+
<div class="table-wrap"><table>
|
|
329
|
+
<thead><tr><th>Território</th><th>Diz aberto</th><th>Não diz</th><th>Não consegue dizer</th></tr></thead>
|
|
330
|
+
<tbody><tr><td><strong>{{...}}</strong></td><td>{{...}}</td><td>{{...}}</td><td>{{...}}</td></tr></tbody>
|
|
331
|
+
</table></div>
|
|
332
|
+
<div class="card card-warn"><h3><svg class="ico"><use href="#i-target"/></svg> Onde está o ouro</h3><p>{{ENQUADRAMENTO_QUE_DESARMA}}</p></div>
|
|
333
|
+
</div>
|
|
334
|
+
|
|
335
|
+
<!-- ================= 04 · TREND ================= -->
|
|
336
|
+
<div class="tab-panel">
|
|
337
|
+
<div class="report-head">
|
|
338
|
+
<div class="report-badge">RELATÓRIO 04</div>
|
|
339
|
+
<h2>Trend Report</h2>
|
|
340
|
+
<p>Apenas conteúdo orgânico. Cada achado marcado como NOVO/SPIKING ou EVERGREEN, sem urgência fabricada.</p>
|
|
341
|
+
</div>
|
|
342
|
+
<div class="sec-label">Categoria 1 · Conversas emergentes</div>
|
|
343
|
+
<ol class="findings"><li><strong>{{ACHADO}}</strong> <span class="pill pill-green">Novo/Spiking</span> — {{o que é, onde, quando, por que importa}}</li></ol>
|
|
344
|
+
<div class="card card-green"><h3>Recomendações escalonadas</h3><p>{{...}}</p></div>
|
|
345
|
+
<div class="caveats"><h3>Caveats</h3><ul class="custom"><li>{{...}}</li></ul></div>
|
|
346
|
+
</div>
|
|
347
|
+
|
|
348
|
+
<!-- ================= 05 · ÂNGULOS ================= -->
|
|
349
|
+
<div class="tab-panel">
|
|
350
|
+
<div class="report-head">
|
|
351
|
+
<div class="report-badge">RELATÓRIO 05</div>
|
|
352
|
+
<h2>Matriz de Ângulos</h2>
|
|
353
|
+
<p>Sub-persona × trend × formato, ranqueada por zona.</p>
|
|
354
|
+
</div>
|
|
355
|
+
<div class="card"><h3><svg class="ico"><use href="#i-layers"/></svg> Nota de método</h3><p>{{REGUA_DE_ZONAS}}</p></div>
|
|
356
|
+
<div class="sub-persona"><h4>SP1 · {{NOME}}</h4><p>{{Ethos (inferido) · Pathos · Formato}}</p></div>
|
|
357
|
+
<div class="angle">
|
|
358
|
+
<div class="angle-header z4"><div class="zone">ZONA 4 · FUNDO × QUENTE</div><div class="angle-name">{{NOME_DO_ANGULO}}</div></div>
|
|
359
|
+
<div class="angle-body">
|
|
360
|
+
<div class="hook">{{HOOK_NA_LINGUAGEM_DO_PUBLICO}}</div>
|
|
361
|
+
<div class="fw"><div class="label">Persona</div><div class="value">{{...}}</div></div>
|
|
362
|
+
<div class="fw"><div class="label">Trend</div><div class="value">{{...}}</div></div>
|
|
363
|
+
<div class="fw"><div class="label">Mecanismo</div><div class="value">{{...}}</div></div>
|
|
364
|
+
<div class="fw"><div class="label">Formato</div><div class="value">{{...}}</div></div>
|
|
365
|
+
<div class="fw"><div class="label">Janela</div><div class="value">{{...}}</div></div>
|
|
366
|
+
</div>
|
|
367
|
+
</div>
|
|
368
|
+
<div class="card card-warn"><h3><svg class="ico"><use href="#i-shield"/></svg> Segurança de marca</h3><ul class="custom"><li>{{...}}</li></ul></div>
|
|
369
|
+
</div>
|
|
370
|
+
|
|
371
|
+
<!-- ================= 06 · LÉXICO ================= -->
|
|
372
|
+
<div class="tab-panel">
|
|
373
|
+
<div class="report-head">
|
|
374
|
+
<div class="report-badge">RELATÓRIO 06</div>
|
|
375
|
+
<h2>Léxico do Público</h2>
|
|
376
|
+
<p>Todas as expressões nativas mineradas, por território emocional, com selo de confiança e nota de uso.</p>
|
|
377
|
+
</div>
|
|
378
|
+
<div class="card card-gold"><h3><svg class="ico"><use href="#i-book"/></svg> Regras de uso</h3><p>{{DENSIDADE_E_REGRAS}}</p></div>
|
|
379
|
+
<div class="sec-label">Território 1 · {{NOME}}</div>
|
|
380
|
+
<div class="table-wrap"><table>
|
|
381
|
+
<thead><tr><th>Expressão</th><th>Confiança</th><th>Fonte</th><th>Uso na copy</th></tr></thead>
|
|
382
|
+
<tbody><tr><td><strong>{{...}}</strong></td><td><span class="pill pill-green">Verificável</span></td><td>{{...}}</td><td>{{...}}</td></tr></tbody>
|
|
383
|
+
</table></div>
|
|
384
|
+
<div class="sec-label">Fechamento · Mapa expressão → ângulo → posição</div>
|
|
385
|
+
<div class="table-wrap"><table>
|
|
386
|
+
<thead><tr><th>Expressão-âncora</th><th>Ângulo</th><th>Posição na copy</th></tr></thead>
|
|
387
|
+
<tbody><tr><td>{{...}}</td><td>{{...}}</td><td>{{...}}</td></tr></tbody>
|
|
388
|
+
</table></div>
|
|
389
|
+
<div class="caveats"><h3>Caveats do Léxico</h3><ul class="custom"><li>{{...}}</li></ul></div>
|
|
390
|
+
</div>
|
|
391
|
+
|
|
392
|
+
<footer>
|
|
393
|
+
<a href="https://www.instagram.com/soupiva/" target="_blank" rel="noopener">
|
|
394
|
+
<svg class="ico ico-sm"><use href="#i-insta"/></svg> @soupiva
|
|
395
|
+
</a>
|
|
396
|
+
<span class="made">Pesquisa de Público do Piva</span>
|
|
397
|
+
</footer>
|
|
398
|
+
</div>
|
|
399
|
+
|
|
400
|
+
<a class="sig-fixed" href="https://www.instagram.com/soupiva/" target="_blank" rel="noopener">
|
|
401
|
+
<svg class="ico"><use href="#i-insta"/></svg> @soupiva
|
|
402
|
+
</a>
|
|
403
|
+
|
|
404
|
+
<script>
|
|
405
|
+
function showTab(i,btn){
|
|
406
|
+
var p=document.querySelectorAll('.tab-panel'),b=document.querySelectorAll('.tabs button');
|
|
407
|
+
for(var x=0;x<p.length;x++){p[x].classList.remove('active');}
|
|
408
|
+
for(var y=0;y<b.length;y++){b[y].classList.remove('active');}
|
|
409
|
+
p[i].classList.add('active');btn.classList.add('active');
|
|
410
|
+
window.scrollTo({top:0,behavior:'smooth'});
|
|
411
|
+
}
|
|
412
|
+
</script>
|
|
413
|
+
</body>
|
|
414
|
+
</html>
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# Prompts dos seis relatórios
|
|
2
|
+
|
|
3
|
+
Prompts completos e testados em produção. Substitua `{{PRODUTO}}`, `{{PERSONA}}`, `{{PROBLEMAS}}`, `{{TEMA}}`, `{{FONTE_ANCORA}}` e `{{RECORTE}}` pelo contexto-base extraído no Passo 0. Cada prompt já embute regras de fonte e de honestidade epistêmica — não as remova.
|
|
4
|
+
|
|
5
|
+
Índice:
|
|
6
|
+
1. VoC (mineração)
|
|
7
|
+
2. Trend Report orgânico (mineração) + 2b. Inteligência de concorrência
|
|
8
|
+
3. Perfil Psicográfico Schwartz (síntese)
|
|
9
|
+
4. Níveis de Consciência + Escada de Desejos (síntese)
|
|
10
|
+
5. Matriz de Ângulos (síntese cruzada)
|
|
11
|
+
6. Léxico do Público (compilação)
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 1. VoC — Voz do Cliente (mineração web)
|
|
16
|
+
|
|
17
|
+
> Você é analista de pesquisa de mercado especializado em extrair linguagem exata do público na internet, para marketing de resposta direta no mercado de infoprodutos low-ticket.
|
|
18
|
+
>
|
|
19
|
+
> OBJETIVO: reunir o máximo possível de quotes verbatim reais que o público-alvo usa ao falar de seus medos, frustrações, desejos, crenças e prazeres em torno de {{TEMA}}. Depois, um esboço de persona + uma camada de síntese em clusters de ângulo prontos para usar.
|
|
20
|
+
>
|
|
21
|
+
> PERSONA: {{PERSONA}}
|
|
22
|
+
> PRODUTO: {{PRODUTO}}
|
|
23
|
+
> PROBLEMAS QUE RESOLVE: {{PROBLEMAS}}
|
|
24
|
+
>
|
|
25
|
+
> FONTES (priorize o idioma do público, nesta ordem): (1) comentários de vídeo sobre {{FONTE_ANCORA}} e temas correlatos; (2) reviews em lojas e comunidades de leitura/produto — foco nas de 1–3 estrelas, onde aparece a frustração real; (3) threads em fóruns e redes de texto; (4) Reddit e Quora quando acessíveis; (5) comentários de Instagram/TikTok na medida do acessível; (6) reportagens e newsletters que citem relatos em primeira pessoa. Se faltar volume no idioma-alvo, complemente com fontes estrangeiras e marque `[EN — adaptar]`.
|
|
26
|
+
>
|
|
27
|
+
> TAREFA: colete conteúdo dos últimos 12 meses quando possível. Extraia quotes por categoria, preservando gírias, erros e emoção: TEME / se sente FRUSTRADO / QUER / ACREDITA / GOSTA-SE DIVERTE. Rotule cada quote com a fonte (plataforma + título + URL). Sintetize um retrato de persona em 5-6 frases. ADICIONE uma camada de síntese: 5-10 clusters de ângulo nomeados, cada um com núcleo emocional e as frases exatas lift-ready para hooks.
|
|
28
|
+
>
|
|
29
|
+
> CITAÇÃO: mantenha cada fragmento literal curto, um por fonte, sempre com atribuição e link. Todo o resto em palavras próprias. Nunca reproduza parágrafos inteiros, letras de música ou poemas.
|
|
30
|
+
>
|
|
31
|
+
> HONESTIDADE: não fabrique quotes, links ou datas. Prefira menos quotes reais a mais quotes inventadas. Se uma fonte não for acessível, diga claramente na seção Caveats — é falha de ferramenta, não prova de que a linguagem não existe. Marque cada quote com selo de confiança `[VERIFICÁVEL]` / `[FÓRUM — checar verbatim]` / `[EN — adaptar]`.
|
|
32
|
+
>
|
|
33
|
+
> SAÍDA: lista por categoria (quote + fonte), depois persona sketch, depois clusters.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## 2. Trend Report orgânico (mineração web)
|
|
38
|
+
|
|
39
|
+
Antes de rodar, pergunte ao usuário: (a) foco em tendências culturais/virais OU inteligência de concorrência? (b) qual sub-recorte de público? O prompt abaixo assume orgânico + culturais/virais; ajuste conforme a resposta.
|
|
40
|
+
|
|
41
|
+
> Você é analista de inteligência cultural e de mercado rastreando tendências emergentes, conversas em alta, formatos virais e mudanças de sentimento — APENAS conteúdo orgânico (fóruns, YouTube, TikTok, Reels, redes de texto, Google Trends, imprensa e cultura). NÃO usar biblioteca de anúncios nem pesquisa de mídia paga.
|
|
42
|
+
>
|
|
43
|
+
> OBJETIVO: relatório de tendências ATUAL sobre {{TEMA}} para o público {{RECORTE}} — o que está acontecendo AGORA (priorize os últimos 30 dias) que cria novos gatilhos emocionais, ângulos, medos ou formatos que um marketer de resposta direta vendendo {{PRODUTO}} poderia usar já.
|
|
44
|
+
>
|
|
45
|
+
> CONTEXTO: {{PERSONA}} / {{PRODUTO}} / {{PROBLEMAS}}. Fontes em outro idioma marcadas `[EN — adaptar]`.
|
|
46
|
+
>
|
|
47
|
+
> 5 CATEGORIAS: (1) Conversas emergentes — threads ganhando tração, com quote curto + data/link; (2) Termos, criadores e vocabulário em alta — memes, formatos, cortes, hashtags; (3) Novos medos e gatilhos — notícias, ondas econômicas, casos virais criando medo NOVO; (4) Formatos de conteúdo viral — que tipo de conteúdo orgânico engaja AGORA e por quê; (5) Mudanças culturais e de contexto — cobertura mainstream, momentos culturais, shifts geracionais.
|
|
48
|
+
>
|
|
49
|
+
> Para cada achado: o que é (específico); onde (plataforma/fonte + link); quando surgiu (data — seja honesto se é evergreen vs. spiking); por que importa para anúncio (gatilho, ângulo, hook, gap).
|
|
50
|
+
>
|
|
51
|
+
> HONESTIDADE (crítico): grande parte de qualquer tema é evergreen, não breaking-news. Distinga claramente o que é NOVO/SPIKING do que é dor perene. Não fabrique urgência falsa nem invente tendências. Se uma categoria tiver material recente escasso, diga e entregue o melhor evergreen confiável. Sinalize fontes de baixa autoridade como sinal de tema, nunca como fato verificado.
|
|
52
|
+
>
|
|
53
|
+
> SAÍDA: organizado pelas 5 categorias, priorizando maior potencial de anúncio. Termine com Recommendations escalonadas e Caveats honestos.
|
|
54
|
+
|
|
55
|
+
### 2b. Categoria extra — Inteligência de concorrência
|
|
56
|
+
|
|
57
|
+
Rode esta categoria APENAS se o usuário pediu concorrência no Passo 0. Ela é obrigatória nesse caso — não a deixe emergir por acaso da busca.
|
|
58
|
+
|
|
59
|
+
> CATEGORIA 6 — Mapa competitivo: levante quem já vende para este público e o que cada faixa deixa em aberto. Fontes: sites de reclamação de consumidor, lojas de aplicativo, marketplaces de curso, perfis de profissionais, páginas públicas de venda.
|
|
60
|
+
>
|
|
61
|
+
> Para CADA concorrente ou faixa relevante, colete: (a) **promessa central** — a frase que ele usa para vender; (b) **preço observado**, com a fonte exata de onde veio o número; (c) **formato e compromisso exigido** do comprador (agenda, prazo, mensalidade, expiração de acesso); (d) **dor pós-compra documentada** — o que os clientes reclamam DEPOIS de pagar; (e) **brecha** que essa faixa deixa aberta.
|
|
62
|
+
>
|
|
63
|
+
> Monte uma tabela por faixa de preço, da mais barata à mais cara, e identifique explicitamente qual faixa está desocupada.
|
|
64
|
+
>
|
|
65
|
+
> A dor pós-compra é o achado mais valioso desta categoria: ela costuma revelar que o diferencial competitivo real não é qualidade de entrega, mas condição de acesso, suporte ou cobrança. Quando isso aparecer, diga com todas as letras qual elemento da oferta do usuário vira diferencial competitivo por causa disso.
|
|
66
|
+
>
|
|
67
|
+
> HONESTIDADE: preço vindo de relato de consumidor é ordem de grandeza, não tabela oficial — marque assim. Não infira faturamento, volume de vendas ou número de alunos. Se não usou biblioteca de anúncios, declare que a leitura é de posicionamento e de dor pós-compra, não de criativo em veiculação.
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## 3. Perfil Psicográfico Schwartz (síntese — não precisa de scraping novo)
|
|
72
|
+
|
|
73
|
+
Construa a partir do VoC (e do Trend). **A categoria Identity é a mais valiosa e a que menos aparece na mineração bruta — construa-a com atenção.**
|
|
74
|
+
|
|
75
|
+
> OBJETIVO: perfil psicográfico (método Eugene Schwartz) mapeando Identity, Problems, Dreams/Desires e Obstacles, para copy que soe de dentro da comunidade.
|
|
76
|
+
>
|
|
77
|
+
> CONTEXTO: {{PERSONA}} / {{PRODUTO}} / {{PROBLEMAS}}. Base: os quotes já minerados no VoC (+ Trend). Não invente quotes; reorganize e aprofunde os existentes, mantendo o selo de confiança de cada um.
|
|
78
|
+
>
|
|
79
|
+
> TAREFA: para cada uma das 4 categorias, ao menos 5 temas distintos. Sob cada tema, quotes verbatim (com selo e fonte) + uma Nota de padrão curta resumindo o insight. Categorias: Identity (quem acreditam que são), Problems (o que tira o sono), Dreams/Desires (o que realmente querem), Obstacles (por que ainda não resolveram). Sintetize um retrato de persona em 5-6 frases.
|
|
80
|
+
>
|
|
81
|
+
> ATENÇÃO ESPECIAL a Identity — é a camada que a mineração bruta não isola e a que mais aproxima a copy do "eu me reconheço". Extraia os autoconceitos (ex.: "o correto que joga limpo", "o quieto que não sabe fingir", "o que já foi enganado e acordou"). Marque temas sustentados só por síntese como aspiracionais, não literais.
|
|
82
|
+
>
|
|
83
|
+
> SAÍDA: documento por categoria → tema → quotes → nota de padrão. Persona no fim. Termine com nota de método e limites.
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## 4. Níveis de Consciência + Escada de Desejos (síntese)
|
|
88
|
+
|
|
89
|
+
> OBJETIVO: níveis de consciência (Schwartz) e desejos profundos do público, em 3 tabelas prontas para copy por estágio de funil.
|
|
90
|
+
>
|
|
91
|
+
> CONTEXTO: {{PERSONA}} / {{PRODUTO}} / {{PROBLEMAS}}. Base: VoC + Schwartz já produzidos.
|
|
92
|
+
>
|
|
93
|
+
> TABELA 1 — Níveis de Consciência: 5 colunas (Inconsciente, Consciente do Problema, Consciente da Solução, Consciente do Produto, Mais Consciente). Em cada uma, as perguntas que o prospecto daquele estágio se faz, NA LINGUAGEM DELE. Depois, uma leitura estratégica de por qual coluna entra o tráfego frio e o que cada estágio de funil trabalha.
|
|
94
|
+
>
|
|
95
|
+
> TABELA 2 — Escada de Desejos: 5-10 desejos, cada um escavado 3 níveis ("Pra eu poder… N1 → N2 → N3-payoff"). Leitura estratégica: N1 é o que se promete no anúncio; N3 é o que conecta mas raramente se diz com todas as letras.
|
|
96
|
+
>
|
|
97
|
+
> TABELA 3 — Diz / Não Diz / Não Consegue Dizer: para cada território, o que fala aberto (Will Tell), o que é íntimo/vergonhoso (Won't Tell), e o driver subconsciente (Can't Tell). A coluna Can't Tell é a mina de ouro — escave até a ferida real. Leitura estratégica ligando o padrão do Can't Tell ao enquadramento que desarma a objeção.
|
|
98
|
+
>
|
|
99
|
+
> SAÍDA: 3 tabelas na ordem, formatadas para copiar.
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## 5. Matriz de Ângulos (síntese cruzada)
|
|
104
|
+
|
|
105
|
+
> Você é estrategista criativo de resposta direta que identifica ângulos de alta conversão cruzando psicologia do público × tendências de mercado.
|
|
106
|
+
>
|
|
107
|
+
> OBJETIVO: matriz de ângulos cruzando cada sub-persona do Schwartz com cada trend relevante do Trend Report. Cada ângulo específico, acionável e com janela de tempo.
|
|
108
|
+
>
|
|
109
|
+
> INSUMOS: Schwartz, tabela Diz/Não Diz/Não Consegue Dizer, níveis de consciência, VoC e Trend Report — todos já produzidos.
|
|
110
|
+
>
|
|
111
|
+
> NOTA DE MÉTODO (declare no topo): se "Ethos" (fonte de confiança da persona) não foi mapeado formalmente, infira-o do perfil e diga que inferiu. Régua de zonas: Profundidade (superfície → Can't Tell) × Timing (evergreen → quente). Zona 4 = fundo × quente (rodar já); Zona 3 = fundo × evergreen (escala confiável); Zona 2 = superfície (backlog/impulso). Peça ao usuário para corrigir se a régua dele for outra. NÃO ancore ângulos em figuras públicas reais nomeadas.
|
|
112
|
+
>
|
|
113
|
+
> TAREFA: Parte A — match por sub-persona (Ethos × Pathos × Formato). Parte B — ao menos 10-12 briefs de ângulo ranqueados por zona, cada um com: Persona, Trend, Hook (primeira linha na linguagem da persona), Mecanismo emocional (qual camada Can't Tell), Formato recomendado, Janela de tempo. Parte C — plano de teste escalonado + regras de segurança de marca.
|
|
114
|
+
>
|
|
115
|
+
> LIMITE DE ESCOPO: os hooks são direção de escrita construída com o vocabulário do público — não são criativos finais nem citações. Esta etapa não produz roteiros, anúncios ou copy pronta.
|
|
116
|
+
>
|
|
117
|
+
> HONESTIDADE: os hooks devem usar linguagem verbatim real do Léxico/VoC. Se os briefs pegam só os headline findings do Trend, diga. SAÍDA: documento em 3 partes, briefs ranqueados por zona.
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## 6. Léxico do Público (compilação — o ativo mais usado)
|
|
122
|
+
|
|
123
|
+
Compile TODAS as expressões nativas de TODOS os relatórios. Não resuma; colecione exaustivamente.
|
|
124
|
+
|
|
125
|
+
> OBJETIVO: léxico completo do público — todas as expressões nativas mineradas (gírias, provérbios, metáforas, termos de nicho, frases-âncora), organizadas por território emocional, prontas para levantar na copy.
|
|
126
|
+
>
|
|
127
|
+
> ORGANIZAÇÃO: agrupe as expressões em 5-8 territórios emocionais coerentes com a oferta. Cada território é uma tabela: Expressão nativa | Confiança | Fonte | Nota de uso na copy (onde funciona: hook / corpo / CTA / prova social, e alertas — ex.: termo que pode pegar em revisão de anúncio; palavrão que precisa suavizar).
|
|
128
|
+
>
|
|
129
|
+
> REGRAS DE USO (no topo do documento): a copy deve soar como desabafo do público, não como anúncio. Densidade recomendada: 1-2 expressões-âncora por hook + 2-3 no corpo; empilhar tudo soa caricato. Selo de confiança em cada expressão. Antes de citar uma `[FÓRUM — checar verbatim]` como depoimento literal, confirmar na fonte; como vocabulário (escrever COM as palavras), liberadas. Expressões construídas por síntese devem estar marcadas como tal — não são citações e não servem de prova social.
|
|
130
|
+
>
|
|
131
|
+
> FECHAMENTO: um mapa "expressão-âncora → ângulo da Matriz → posição na copy", ligando o léxico aos ângulos do Rel. 5. SAÍDA: tabelas por território + mapa final.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Wizz Offer Forge
|
|
2
|
+
|
|
3
|
+
Skill de engenharia de ofertas de resposta direta para o Wizz Method.
|
|
4
|
+
|
|
5
|
+
## Visão Geral
|
|
6
|
+
Converte a pesquisa de público (VoC, Léxico, Níveis de Consciência) e a metodologia da mentoria em um documento de especificação de oferta completo (`OFFER-SPEC.md`), pronto para alimentar campanhas de tráfego pago e redação de copy.
|
|
7
|
+
|
|
8
|
+
## Arquitetura
|
|
9
|
+
- `SKILL.md`: Fluxo de trabalho em 6 passos determinísticos.
|
|
10
|
+
- `references/mecanismo-unico.md`: Framework de diferenciação e causa raiz.
|
|
11
|
+
- `references/empilhamento-valor.md`: Equação de valor e bônus anti-objeção.
|
|
12
|
+
- `references/garantia-reversa.md`: Inversão de risco e segurança.
|
|
13
|
+
- `references/ponte-trafego.md`: Conexão com criativos de mídia paga.
|