@maestroagora/agora 1.2.1 → 1.3.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/.agents/plugins/marketplace.json +21 -21
- package/.claude-plugin/marketplace.json +13 -13
- package/.claude-plugin/plugin.json +21 -21
- package/.codex-plugin/plugin.json +33 -33
- package/LICENSE +21 -21
- package/README.md +58 -5
- package/assets/agora-orbit.svg +158 -158
- package/package.json +58 -55
- package/scripts/install.mjs +400 -400
- package/scripts/voice/check.mjs +175 -0
- package/scripts/voice/features.mjs +359 -0
- package/scripts/voice/gates.mjs +244 -0
- package/scripts/voice/ingest.mjs +226 -0
- package/scripts/voice/lexicon.mjs +162 -0
- package/scripts/voice/pipeline.mjs +186 -0
- package/scripts/voice/profile.mjs +528 -0
- package/scripts/voice-measure.mjs +369 -0
- package/skills/agora/SKILL.md +161 -15
- package/skills/agora/agents/openai.yaml +4 -4
- package/skills/agora/references/agora-craft.md +391 -0
- package/skills/agora/references/agora-marketing.md +653 -23
- package/skills/agora/references/agora-voice.md +262 -0
package/assets/agora-orbit.svg
CHANGED
|
@@ -1,158 +1,158 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="440" viewBox="0 0 1200 440" role="img" aria-labelledby="title desc">
|
|
2
|
-
<title id="title">How Maestro Agora works</title>
|
|
3
|
-
<desc id="desc">An animated gold pen stroke conducts verified truth through argument, proof, voice, and a clear action into ready copy.</desc>
|
|
4
|
-
<defs>
|
|
5
|
-
<linearGradient id="background" x1="0" y1="0" x2="1" y2="1">
|
|
6
|
-
<stop offset="0" stop-color="#090b19"/>
|
|
7
|
-
<stop offset="0.52" stop-color="#111630"/>
|
|
8
|
-
<stop offset="1" stop-color="#07161c"/>
|
|
9
|
-
</linearGradient>
|
|
10
|
-
<radialGradient id="core" cx="50%" cy="42%" r="70%">
|
|
11
|
-
<stop offset="0" stop-color="#8b5cf6" stop-opacity="0.96"/>
|
|
12
|
-
<stop offset="0.55" stop-color="#5b3ac4" stop-opacity="0.78"/>
|
|
13
|
-
<stop offset="1" stop-color="#241a56" stop-opacity="0.2"/>
|
|
14
|
-
</radialGradient>
|
|
15
|
-
<linearGradient id="signal" x1="0" y1="0" x2="1" y2="0">
|
|
16
|
-
<stop offset="0" stop-color="#8b5cf6"/>
|
|
17
|
-
<stop offset="0.5" stop-color="#22d3ee"/>
|
|
18
|
-
<stop offset="1" stop-color="#f6b90b"/>
|
|
19
|
-
</linearGradient>
|
|
20
|
-
<linearGradient id="penInk" x1="0" y1="0" x2="1" y2="1">
|
|
21
|
-
<stop offset="0" stop-color="#fff2ad"/>
|
|
22
|
-
<stop offset="0.42" stop-color="#f6b90b"/>
|
|
23
|
-
<stop offset="1" stop-color="#a78bfa"/>
|
|
24
|
-
</linearGradient>
|
|
25
|
-
<pattern id="grid" width="36" height="36" patternUnits="userSpaceOnUse">
|
|
26
|
-
<path d="M 36 0 L 0 0 0 36" fill="none" stroke="#c4b5fd" stroke-opacity="0.055"/>
|
|
27
|
-
</pattern>
|
|
28
|
-
<filter id="glow" x="-80%" y="-80%" width="260%" height="260%">
|
|
29
|
-
<feGaussianBlur stdDeviation="7" result="blur"/>
|
|
30
|
-
<feMerge>
|
|
31
|
-
<feMergeNode in="blur"/>
|
|
32
|
-
<feMergeNode in="SourceGraphic"/>
|
|
33
|
-
</feMerge>
|
|
34
|
-
</filter>
|
|
35
|
-
<filter id="soft" x="-40%" y="-40%" width="180%" height="180%">
|
|
36
|
-
<feGaussianBlur stdDeviation="22"/>
|
|
37
|
-
</filter>
|
|
38
|
-
<clipPath id="frame">
|
|
39
|
-
<rect x="1" y="1" width="1198" height="438" rx="28"/>
|
|
40
|
-
</clipPath>
|
|
41
|
-
<style>
|
|
42
|
-
text { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
|
|
43
|
-
.label { fill: #a5b4d4; font-size: 11px; font-weight: 700; letter-spacing: 2.8px; }
|
|
44
|
-
.node { fill: #dbeafe; font-size: 12px; font-weight: 750; letter-spacing: 1.7px; }
|
|
45
|
-
.route { stroke-dasharray: 5 13; animation: route 12s linear infinite; }
|
|
46
|
-
.orbit { transform-origin: 600px 220px; animation: orbit 34s linear infinite; }
|
|
47
|
-
.pulse { animation: pulse 3.4s ease-in-out infinite; }
|
|
48
|
-
.drift { animation: drift 6s ease-in-out infinite; }
|
|
49
|
-
.signal-dot { animation: shuttle 4.8s ease-in-out infinite; }
|
|
50
|
-
.pen-stroke { stroke-dasharray: 520; stroke-dashoffset: 520; animation: write 5.8s ease-in-out infinite; }
|
|
51
|
-
@keyframes route { to { stroke-dashoffset: -180; } }
|
|
52
|
-
@keyframes orbit { to { transform: rotate(360deg); } }
|
|
53
|
-
@keyframes pulse { 0%, 100% { opacity: .48; } 50% { opacity: 1; } }
|
|
54
|
-
@keyframes drift { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
|
|
55
|
-
@keyframes shuttle { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(94px); } }
|
|
56
|
-
@keyframes write { 0%, 12% { stroke-dashoffset: 520; opacity: .3; } 58%, 86% { stroke-dashoffset: 0; opacity: 1; } 100% { stroke-dashoffset: -520; opacity: .3; } }
|
|
57
|
-
@media (prefers-reduced-motion: reduce) {
|
|
58
|
-
.route, .orbit, .pulse, .drift, .signal-dot, .pen-stroke { animation: none; stroke-dashoffset: 0; }
|
|
59
|
-
}
|
|
60
|
-
</style>
|
|
61
|
-
</defs>
|
|
62
|
-
|
|
63
|
-
<g clip-path="url(#frame)">
|
|
64
|
-
<rect width="1200" height="440" fill="url(#background)"/>
|
|
65
|
-
<rect width="1200" height="440" fill="url(#grid)"/>
|
|
66
|
-
<ellipse cx="280" cy="55" rx="240" ry="145" fill="#7c3aed" opacity="0.12" filter="url(#soft)"/>
|
|
67
|
-
<ellipse cx="1010" cy="370" rx="270" ry="160" fill="#0ea5a8" opacity="0.13" filter="url(#soft)"/>
|
|
68
|
-
<path d="M-60 332 C160 204 300 378 485 270 S820 98 1260 210" fill="none" stroke="url(#signal)" stroke-width="1.2" stroke-opacity="0.28" class="route"/>
|
|
69
|
-
<path d="M-50 358 C180 232 318 395 510 291 S850 129 1250 232" fill="none" stroke="#93c5fd" stroke-width="0.7" stroke-opacity="0.14"/>
|
|
70
|
-
|
|
71
|
-
<g transform="translate(58 52)">
|
|
72
|
-
<rect width="210" height="31" rx="15.5" fill="#11162e" stroke="#7c83a6" stroke-opacity="0.35"/>
|
|
73
|
-
<circle cx="17" cy="15.5" r="4" fill="#f6b90b" class="pulse"/>
|
|
74
|
-
<text x="31" y="20" class="label">ARGUMENT-FIRST</text>
|
|
75
|
-
</g>
|
|
76
|
-
|
|
77
|
-
<text x="58" y="138" fill="#f8fafc" font-size="43" font-weight="760" letter-spacing="-1.7">Make the case.</text>
|
|
78
|
-
<text x="58" y="180" fill="#b8c2dd" font-size="23" font-weight="430">Then make every word earn its place.</text>
|
|
79
|
-
<text x="58" y="230" fill="#8390af" font-size="14.5">Verified truth in. Concise copy out.</text>
|
|
80
|
-
|
|
81
|
-
<g class="drift">
|
|
82
|
-
<rect x="58" y="285" width="198" height="72" rx="18" fill="#0d1329" stroke="#8b5cf6" stroke-opacity="0.4"/>
|
|
83
|
-
<text x="78" y="311" class="label">INPUT</text>
|
|
84
|
-
<text x="78" y="340" fill="#e9e7ff" font-size="16" font-weight="650">REALITY + EVIDENCE</text>
|
|
85
|
-
</g>
|
|
86
|
-
|
|
87
|
-
<path d="M258 321 C342 318 388 284 442 247 C471 228 505 222 535 220" fill="none" stroke="url(#penInk)" stroke-width="3" stroke-linecap="round" class="pen-stroke" filter="url(#glow)"/>
|
|
88
|
-
<g transform="translate(422 239) rotate(-34)" aria-hidden="true">
|
|
89
|
-
<path d="M0 0 L30 0 L42 7 L30 14 L0 14 Z" fill="#f6b90b" stroke="#fff2ad" stroke-opacity="0.8"/>
|
|
90
|
-
<circle cx="31" cy="7" r="2.5" fill="#111630"/>
|
|
91
|
-
</g>
|
|
92
|
-
|
|
93
|
-
<g>
|
|
94
|
-
<circle cx="600" cy="220" r="128" fill="none" stroke="#9f9bea" stroke-opacity="0.14"/>
|
|
95
|
-
<circle cx="600" cy="220" r="104" fill="url(#core)" stroke="#a78bfa" stroke-opacity="0.45" filter="url(#glow)"/>
|
|
96
|
-
<circle cx="600" cy="220" r="82" fill="#11152c" fill-opacity="0.64" stroke="#c4b5fd" stroke-opacity="0.22"/>
|
|
97
|
-
<text x="600" y="194" text-anchor="middle" class="label">ONE DEFENSIBLE</text>
|
|
98
|
-
<text x="600" y="231" text-anchor="middle" fill="#ffffff" font-size="28" font-weight="780" letter-spacing="-0.6">BELIEF</text>
|
|
99
|
-
<text x="600" y="258" text-anchor="middle" fill="#aeb8d3" font-size="12.5">truth · stakes · proof · action</text>
|
|
100
|
-
|
|
101
|
-
<g class="orbit">
|
|
102
|
-
<circle cx="600" cy="92" r="5" fill="#22d3ee" filter="url(#glow)"/>
|
|
103
|
-
<circle cx="728" cy="220" r="4" fill="#f6b90b"/>
|
|
104
|
-
<circle cx="600" cy="348" r="4" fill="#a78bfa"/>
|
|
105
|
-
<circle cx="472" cy="220" r="4" fill="#60a5fa"/>
|
|
106
|
-
</g>
|
|
107
|
-
|
|
108
|
-
<g>
|
|
109
|
-
<g transform="translate(556 66)">
|
|
110
|
-
<rect width="88" height="27" rx="13.5" fill="#10172d" stroke="#22d3ee" stroke-opacity="0.4"/>
|
|
111
|
-
<text x="44" y="18" text-anchor="middle" class="node">ARGUMENT</text>
|
|
112
|
-
</g>
|
|
113
|
-
<g transform="translate(704 206)">
|
|
114
|
-
<rect width="70" height="27" rx="13.5" fill="#10172d" stroke="#f6b90b" stroke-opacity="0.5"/>
|
|
115
|
-
<text x="35" y="18" text-anchor="middle" class="node">PROOF</text>
|
|
116
|
-
</g>
|
|
117
|
-
<g transform="translate(562 347)">
|
|
118
|
-
<rect width="76" height="27" rx="13.5" fill="#10172d" stroke="#a78bfa" stroke-opacity="0.4"/>
|
|
119
|
-
<text x="38" y="18" text-anchor="middle" class="node">VOICE</text>
|
|
120
|
-
</g>
|
|
121
|
-
<g transform="translate(429 206)">
|
|
122
|
-
<rect width="66" height="27" rx="13.5" fill="#10172d" stroke="#60a5fa" stroke-opacity="0.4"/>
|
|
123
|
-
<text x="33" y="18" text-anchor="middle" class="node">CTA</text>
|
|
124
|
-
</g>
|
|
125
|
-
</g>
|
|
126
|
-
</g>
|
|
127
|
-
|
|
128
|
-
<path d="M738 220 H884" fill="none" stroke="url(#signal)" stroke-width="2" stroke-linecap="round" class="route"/>
|
|
129
|
-
<circle cx="764" cy="220" r="4" fill="#22d3ee" class="signal-dot"/>
|
|
130
|
-
|
|
131
|
-
<g transform="translate(878 107)">
|
|
132
|
-
<rect width="264" height="246" rx="24" fill="#0b1422" fill-opacity="0.86" stroke="#f6b90b" stroke-opacity="0.38"/>
|
|
133
|
-
<rect x="20" y="20" width="92" height="25" rx="12.5" fill="#35290e"/>
|
|
134
|
-
<text x="66" y="37" text-anchor="middle" fill="#ffd65b" font-size="10.5" font-weight="800" letter-spacing="1.8">OUTPUT</text>
|
|
135
|
-
<text x="20" y="82" fill="#f8fafc" font-size="23" font-weight="730">Ready copy</text>
|
|
136
|
-
<text x="20" y="110" fill="#9aa8c4" font-size="13.5">Shortest complete version.</text>
|
|
137
|
-
<g transform="translate(20 137)">
|
|
138
|
-
<circle cx="6" cy="6" r="6" fill="#8b5cf6"/>
|
|
139
|
-
<path d="m3 6 2 2 4-5" fill="none" stroke="#fff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
140
|
-
<text x="22" y="11" fill="#cbd5e1" font-size="13">Claim gate</text>
|
|
141
|
-
</g>
|
|
142
|
-
<g transform="translate(20 171)">
|
|
143
|
-
<circle cx="6" cy="6" r="6" fill="#22d3ee"/>
|
|
144
|
-
<path d="m3 6 2 2 4-5" fill="none" stroke="#07161c" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
145
|
-
<text x="22" y="11" fill="#cbd5e1" font-size="13">Voice gate</text>
|
|
146
|
-
</g>
|
|
147
|
-
<g transform="translate(20 205)">
|
|
148
|
-
<circle cx="6" cy="6" r="6" fill="#f6b90b"/>
|
|
149
|
-
<path d="m3 6 2 2 4-5" fill="none" stroke="#07161c" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
150
|
-
<text x="22" y="11" fill="#cbd5e1" font-size="13">Format router</text>
|
|
151
|
-
</g>
|
|
152
|
-
</g>
|
|
153
|
-
|
|
154
|
-
<text x="58" y="405" class="label">WRITE · VERIFY · COMPRESS</text>
|
|
155
|
-
<text x="1142" y="405" text-anchor="end" fill="#f6b90b" font-size="11" font-weight="700" letter-spacing="1.6">MAESTRO · AGORA</text>
|
|
156
|
-
</g>
|
|
157
|
-
<rect x="1" y="1" width="1198" height="438" rx="28" fill="none" stroke="#6f78a3" stroke-opacity="0.25"/>
|
|
158
|
-
</svg>
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="440" viewBox="0 0 1200 440" role="img" aria-labelledby="title desc">
|
|
2
|
+
<title id="title">How Maestro Agora works</title>
|
|
3
|
+
<desc id="desc">An animated gold pen stroke conducts verified truth through argument, proof, voice, and a clear action into ready copy.</desc>
|
|
4
|
+
<defs>
|
|
5
|
+
<linearGradient id="background" x1="0" y1="0" x2="1" y2="1">
|
|
6
|
+
<stop offset="0" stop-color="#090b19"/>
|
|
7
|
+
<stop offset="0.52" stop-color="#111630"/>
|
|
8
|
+
<stop offset="1" stop-color="#07161c"/>
|
|
9
|
+
</linearGradient>
|
|
10
|
+
<radialGradient id="core" cx="50%" cy="42%" r="70%">
|
|
11
|
+
<stop offset="0" stop-color="#8b5cf6" stop-opacity="0.96"/>
|
|
12
|
+
<stop offset="0.55" stop-color="#5b3ac4" stop-opacity="0.78"/>
|
|
13
|
+
<stop offset="1" stop-color="#241a56" stop-opacity="0.2"/>
|
|
14
|
+
</radialGradient>
|
|
15
|
+
<linearGradient id="signal" x1="0" y1="0" x2="1" y2="0">
|
|
16
|
+
<stop offset="0" stop-color="#8b5cf6"/>
|
|
17
|
+
<stop offset="0.5" stop-color="#22d3ee"/>
|
|
18
|
+
<stop offset="1" stop-color="#f6b90b"/>
|
|
19
|
+
</linearGradient>
|
|
20
|
+
<linearGradient id="penInk" x1="0" y1="0" x2="1" y2="1">
|
|
21
|
+
<stop offset="0" stop-color="#fff2ad"/>
|
|
22
|
+
<stop offset="0.42" stop-color="#f6b90b"/>
|
|
23
|
+
<stop offset="1" stop-color="#a78bfa"/>
|
|
24
|
+
</linearGradient>
|
|
25
|
+
<pattern id="grid" width="36" height="36" patternUnits="userSpaceOnUse">
|
|
26
|
+
<path d="M 36 0 L 0 0 0 36" fill="none" stroke="#c4b5fd" stroke-opacity="0.055"/>
|
|
27
|
+
</pattern>
|
|
28
|
+
<filter id="glow" x="-80%" y="-80%" width="260%" height="260%">
|
|
29
|
+
<feGaussianBlur stdDeviation="7" result="blur"/>
|
|
30
|
+
<feMerge>
|
|
31
|
+
<feMergeNode in="blur"/>
|
|
32
|
+
<feMergeNode in="SourceGraphic"/>
|
|
33
|
+
</feMerge>
|
|
34
|
+
</filter>
|
|
35
|
+
<filter id="soft" x="-40%" y="-40%" width="180%" height="180%">
|
|
36
|
+
<feGaussianBlur stdDeviation="22"/>
|
|
37
|
+
</filter>
|
|
38
|
+
<clipPath id="frame">
|
|
39
|
+
<rect x="1" y="1" width="1198" height="438" rx="28"/>
|
|
40
|
+
</clipPath>
|
|
41
|
+
<style>
|
|
42
|
+
text { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
|
|
43
|
+
.label { fill: #a5b4d4; font-size: 11px; font-weight: 700; letter-spacing: 2.8px; }
|
|
44
|
+
.node { fill: #dbeafe; font-size: 12px; font-weight: 750; letter-spacing: 1.7px; }
|
|
45
|
+
.route { stroke-dasharray: 5 13; animation: route 12s linear infinite; }
|
|
46
|
+
.orbit { transform-origin: 600px 220px; animation: orbit 34s linear infinite; }
|
|
47
|
+
.pulse { animation: pulse 3.4s ease-in-out infinite; }
|
|
48
|
+
.drift { animation: drift 6s ease-in-out infinite; }
|
|
49
|
+
.signal-dot { animation: shuttle 4.8s ease-in-out infinite; }
|
|
50
|
+
.pen-stroke { stroke-dasharray: 520; stroke-dashoffset: 520; animation: write 5.8s ease-in-out infinite; }
|
|
51
|
+
@keyframes route { to { stroke-dashoffset: -180; } }
|
|
52
|
+
@keyframes orbit { to { transform: rotate(360deg); } }
|
|
53
|
+
@keyframes pulse { 0%, 100% { opacity: .48; } 50% { opacity: 1; } }
|
|
54
|
+
@keyframes drift { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
|
|
55
|
+
@keyframes shuttle { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(94px); } }
|
|
56
|
+
@keyframes write { 0%, 12% { stroke-dashoffset: 520; opacity: .3; } 58%, 86% { stroke-dashoffset: 0; opacity: 1; } 100% { stroke-dashoffset: -520; opacity: .3; } }
|
|
57
|
+
@media (prefers-reduced-motion: reduce) {
|
|
58
|
+
.route, .orbit, .pulse, .drift, .signal-dot, .pen-stroke { animation: none; stroke-dashoffset: 0; }
|
|
59
|
+
}
|
|
60
|
+
</style>
|
|
61
|
+
</defs>
|
|
62
|
+
|
|
63
|
+
<g clip-path="url(#frame)">
|
|
64
|
+
<rect width="1200" height="440" fill="url(#background)"/>
|
|
65
|
+
<rect width="1200" height="440" fill="url(#grid)"/>
|
|
66
|
+
<ellipse cx="280" cy="55" rx="240" ry="145" fill="#7c3aed" opacity="0.12" filter="url(#soft)"/>
|
|
67
|
+
<ellipse cx="1010" cy="370" rx="270" ry="160" fill="#0ea5a8" opacity="0.13" filter="url(#soft)"/>
|
|
68
|
+
<path d="M-60 332 C160 204 300 378 485 270 S820 98 1260 210" fill="none" stroke="url(#signal)" stroke-width="1.2" stroke-opacity="0.28" class="route"/>
|
|
69
|
+
<path d="M-50 358 C180 232 318 395 510 291 S850 129 1250 232" fill="none" stroke="#93c5fd" stroke-width="0.7" stroke-opacity="0.14"/>
|
|
70
|
+
|
|
71
|
+
<g transform="translate(58 52)">
|
|
72
|
+
<rect width="210" height="31" rx="15.5" fill="#11162e" stroke="#7c83a6" stroke-opacity="0.35"/>
|
|
73
|
+
<circle cx="17" cy="15.5" r="4" fill="#f6b90b" class="pulse"/>
|
|
74
|
+
<text x="31" y="20" class="label">ARGUMENT-FIRST</text>
|
|
75
|
+
</g>
|
|
76
|
+
|
|
77
|
+
<text x="58" y="138" fill="#f8fafc" font-size="43" font-weight="760" letter-spacing="-1.7">Make the case.</text>
|
|
78
|
+
<text x="58" y="180" fill="#b8c2dd" font-size="23" font-weight="430">Then make every word earn its place.</text>
|
|
79
|
+
<text x="58" y="230" fill="#8390af" font-size="14.5">Verified truth in. Concise copy out.</text>
|
|
80
|
+
|
|
81
|
+
<g class="drift">
|
|
82
|
+
<rect x="58" y="285" width="198" height="72" rx="18" fill="#0d1329" stroke="#8b5cf6" stroke-opacity="0.4"/>
|
|
83
|
+
<text x="78" y="311" class="label">INPUT</text>
|
|
84
|
+
<text x="78" y="340" fill="#e9e7ff" font-size="16" font-weight="650">REALITY + EVIDENCE</text>
|
|
85
|
+
</g>
|
|
86
|
+
|
|
87
|
+
<path d="M258 321 C342 318 388 284 442 247 C471 228 505 222 535 220" fill="none" stroke="url(#penInk)" stroke-width="3" stroke-linecap="round" class="pen-stroke" filter="url(#glow)"/>
|
|
88
|
+
<g transform="translate(422 239) rotate(-34)" aria-hidden="true">
|
|
89
|
+
<path d="M0 0 L30 0 L42 7 L30 14 L0 14 Z" fill="#f6b90b" stroke="#fff2ad" stroke-opacity="0.8"/>
|
|
90
|
+
<circle cx="31" cy="7" r="2.5" fill="#111630"/>
|
|
91
|
+
</g>
|
|
92
|
+
|
|
93
|
+
<g>
|
|
94
|
+
<circle cx="600" cy="220" r="128" fill="none" stroke="#9f9bea" stroke-opacity="0.14"/>
|
|
95
|
+
<circle cx="600" cy="220" r="104" fill="url(#core)" stroke="#a78bfa" stroke-opacity="0.45" filter="url(#glow)"/>
|
|
96
|
+
<circle cx="600" cy="220" r="82" fill="#11152c" fill-opacity="0.64" stroke="#c4b5fd" stroke-opacity="0.22"/>
|
|
97
|
+
<text x="600" y="194" text-anchor="middle" class="label">ONE DEFENSIBLE</text>
|
|
98
|
+
<text x="600" y="231" text-anchor="middle" fill="#ffffff" font-size="28" font-weight="780" letter-spacing="-0.6">BELIEF</text>
|
|
99
|
+
<text x="600" y="258" text-anchor="middle" fill="#aeb8d3" font-size="12.5">truth · stakes · proof · action</text>
|
|
100
|
+
|
|
101
|
+
<g class="orbit">
|
|
102
|
+
<circle cx="600" cy="92" r="5" fill="#22d3ee" filter="url(#glow)"/>
|
|
103
|
+
<circle cx="728" cy="220" r="4" fill="#f6b90b"/>
|
|
104
|
+
<circle cx="600" cy="348" r="4" fill="#a78bfa"/>
|
|
105
|
+
<circle cx="472" cy="220" r="4" fill="#60a5fa"/>
|
|
106
|
+
</g>
|
|
107
|
+
|
|
108
|
+
<g>
|
|
109
|
+
<g transform="translate(556 66)">
|
|
110
|
+
<rect width="88" height="27" rx="13.5" fill="#10172d" stroke="#22d3ee" stroke-opacity="0.4"/>
|
|
111
|
+
<text x="44" y="18" text-anchor="middle" class="node">ARGUMENT</text>
|
|
112
|
+
</g>
|
|
113
|
+
<g transform="translate(704 206)">
|
|
114
|
+
<rect width="70" height="27" rx="13.5" fill="#10172d" stroke="#f6b90b" stroke-opacity="0.5"/>
|
|
115
|
+
<text x="35" y="18" text-anchor="middle" class="node">PROOF</text>
|
|
116
|
+
</g>
|
|
117
|
+
<g transform="translate(562 347)">
|
|
118
|
+
<rect width="76" height="27" rx="13.5" fill="#10172d" stroke="#a78bfa" stroke-opacity="0.4"/>
|
|
119
|
+
<text x="38" y="18" text-anchor="middle" class="node">VOICE</text>
|
|
120
|
+
</g>
|
|
121
|
+
<g transform="translate(429 206)">
|
|
122
|
+
<rect width="66" height="27" rx="13.5" fill="#10172d" stroke="#60a5fa" stroke-opacity="0.4"/>
|
|
123
|
+
<text x="33" y="18" text-anchor="middle" class="node">CTA</text>
|
|
124
|
+
</g>
|
|
125
|
+
</g>
|
|
126
|
+
</g>
|
|
127
|
+
|
|
128
|
+
<path d="M738 220 H884" fill="none" stroke="url(#signal)" stroke-width="2" stroke-linecap="round" class="route"/>
|
|
129
|
+
<circle cx="764" cy="220" r="4" fill="#22d3ee" class="signal-dot"/>
|
|
130
|
+
|
|
131
|
+
<g transform="translate(878 107)">
|
|
132
|
+
<rect width="264" height="246" rx="24" fill="#0b1422" fill-opacity="0.86" stroke="#f6b90b" stroke-opacity="0.38"/>
|
|
133
|
+
<rect x="20" y="20" width="92" height="25" rx="12.5" fill="#35290e"/>
|
|
134
|
+
<text x="66" y="37" text-anchor="middle" fill="#ffd65b" font-size="10.5" font-weight="800" letter-spacing="1.8">OUTPUT</text>
|
|
135
|
+
<text x="20" y="82" fill="#f8fafc" font-size="23" font-weight="730">Ready copy</text>
|
|
136
|
+
<text x="20" y="110" fill="#9aa8c4" font-size="13.5">Shortest complete version.</text>
|
|
137
|
+
<g transform="translate(20 137)">
|
|
138
|
+
<circle cx="6" cy="6" r="6" fill="#8b5cf6"/>
|
|
139
|
+
<path d="m3 6 2 2 4-5" fill="none" stroke="#fff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
140
|
+
<text x="22" y="11" fill="#cbd5e1" font-size="13">Claim gate</text>
|
|
141
|
+
</g>
|
|
142
|
+
<g transform="translate(20 171)">
|
|
143
|
+
<circle cx="6" cy="6" r="6" fill="#22d3ee"/>
|
|
144
|
+
<path d="m3 6 2 2 4-5" fill="none" stroke="#07161c" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
145
|
+
<text x="22" y="11" fill="#cbd5e1" font-size="13">Voice gate</text>
|
|
146
|
+
</g>
|
|
147
|
+
<g transform="translate(20 205)">
|
|
148
|
+
<circle cx="6" cy="6" r="6" fill="#f6b90b"/>
|
|
149
|
+
<path d="m3 6 2 2 4-5" fill="none" stroke="#07161c" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
150
|
+
<text x="22" y="11" fill="#cbd5e1" font-size="13">Format router</text>
|
|
151
|
+
</g>
|
|
152
|
+
</g>
|
|
153
|
+
|
|
154
|
+
<text x="58" y="405" class="label">WRITE · VERIFY · COMPRESS</text>
|
|
155
|
+
<text x="1142" y="405" text-anchor="end" fill="#f6b90b" font-size="11" font-weight="700" letter-spacing="1.6">MAESTRO · AGORA</text>
|
|
156
|
+
</g>
|
|
157
|
+
<rect x="1" y="1" width="1198" height="438" rx="28" fill="none" stroke="#6f78a3" stroke-opacity="0.25"/>
|
|
158
|
+
</svg>
|
package/package.json
CHANGED
|
@@ -1,56 +1,59 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@maestroagora/agora",
|
|
3
|
-
"version": "1.
|
|
1
|
+
{
|
|
2
|
+
"name": "@maestroagora/agora",
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "Install Maestro: Agora for argument-first buyer, investor, positioning, editorial, interface, and spoken copy grounded in verified facts.",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"bin": {
|
|
7
|
-
"agora": "scripts/install.mjs"
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
".
|
|
12
|
-
".claude-plugin/
|
|
13
|
-
".
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"assets/
|
|
18
|
-
"assets/
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
"
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
"
|
|
31
|
-
},
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
"
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
|
|
56
|
-
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"agora": "scripts/install.mjs",
|
|
8
|
+
"agora-voice": "scripts/voice-measure.mjs"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
".agents/plugins/marketplace.json",
|
|
12
|
+
".claude-plugin/marketplace.json",
|
|
13
|
+
".claude-plugin/plugin.json",
|
|
14
|
+
".codex-plugin/plugin.json",
|
|
15
|
+
"LICENSE",
|
|
16
|
+
"README.md",
|
|
17
|
+
"assets/agora-orbit.svg",
|
|
18
|
+
"assets/icon.png",
|
|
19
|
+
"assets/maestro-agora-banner.png",
|
|
20
|
+
"scripts/install.mjs",
|
|
21
|
+
"scripts/voice-measure.mjs",
|
|
22
|
+
"scripts/voice",
|
|
23
|
+
"skills/agora"
|
|
24
|
+
],
|
|
25
|
+
"scripts": {
|
|
26
|
+
"check": "npm run validate && npm test && npm run pack:check",
|
|
27
|
+
"pack:check": "node scripts/pack-check.mjs",
|
|
28
|
+
"prepublishOnly": "npm run check",
|
|
29
|
+
"test": "node --test tests/behavior-contract.test.mjs tests/install.test.mjs tests/voice-measure.test.mjs",
|
|
30
|
+
"validate": "node scripts/validate.mjs"
|
|
31
|
+
},
|
|
32
|
+
"engines": {
|
|
33
|
+
"node": ">=18"
|
|
34
|
+
},
|
|
35
|
+
"repository": {
|
|
36
|
+
"type": "git",
|
|
37
|
+
"url": "git+https://github.com/mbanderas/maestro-agora.git"
|
|
38
|
+
},
|
|
39
|
+
"homepage": "https://github.com/mbanderas/maestro-agora#readme",
|
|
40
|
+
"bugs": {
|
|
41
|
+
"url": "https://github.com/mbanderas/maestro-agora/issues"
|
|
42
|
+
},
|
|
43
|
+
"author": "Mark Laursen",
|
|
44
|
+
"license": "MIT",
|
|
45
|
+
"publishConfig": {
|
|
46
|
+
"access": "public"
|
|
47
|
+
},
|
|
48
|
+
"keywords": [
|
|
49
|
+
"agent-skills",
|
|
50
|
+
"maestro",
|
|
51
|
+
"marketing",
|
|
52
|
+
"copywriting",
|
|
53
|
+
"codex",
|
|
54
|
+
"claude-code",
|
|
55
|
+
"cursor",
|
|
56
|
+
"geo",
|
|
57
|
+
"aeo"
|
|
58
|
+
]
|
|
59
|
+
}
|