@su-record/vibe 3.2.6 → 3.2.7
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/README.en.md +1 -1
- package/README.md +1 -1
- package/dist/cli/postinstall/constants.d.ts.map +1 -1
- package/dist/cli/postinstall/constants.js +10 -9
- package/dist/cli/postinstall/constants.js.map +1 -1
- package/hooks/scripts/__tests__/.vibe/command-log.txt +3 -3
- package/package.json +2 -2
- package/skills/vibe/SKILL.md +27 -86
- package/skills/vibe/references/routing-examples.md +85 -0
- package/skills/vibe.agents-md/SKILL.md +12 -10
- package/skills/vibe.analyze/SKILL.md +22 -211
- package/skills/vibe.analyze/references/mode1-feature.md +81 -0
- package/skills/vibe.analyze/references/mode2-document.md +50 -0
- package/skills/vibe.analyze/references/mode3-website.md +47 -0
- package/skills/vibe.analyze/references/mode4-quality.md +35 -0
- package/skills/vibe.brand-assets/SKILL.md +2 -2
- package/skills/vibe.brand-assets/references/mobile-assets.md +6 -0
- package/skills/vibe.capability-loop/SKILL.md +14 -80
- package/skills/vibe.capability-loop/references/escalate.md +86 -0
- package/skills/vibe.chub-usage/SKILL.md +3 -132
- package/skills/vibe.clone/SKILL.md +43 -358
- package/skills/vibe.clone/references/phase-commands.md +118 -0
- package/skills/vibe.clone/references/setup-and-layout.md +34 -0
- package/skills/vibe.clone/references/verification-loops.md +64 -0
- package/skills/vibe.commit-push-pr/SKILL.md +10 -4
- package/skills/vibe.context7-usage/SKILL.md +3 -99
- package/skills/vibe.continue/SKILL.md +17 -7
- package/skills/{vibe.handoff → vibe.continue}/agents/context-summarizer.md +1 -1
- package/skills/{vibe.handoff → vibe.continue}/agents/document-writer.md +1 -1
- package/skills/{vibe.handoff → vibe.continue}/agents/state-collector.md +1 -1
- package/skills/{vibe.handoff → vibe.continue}/agents/verifier.md +1 -1
- package/skills/{vibe.handoff/rubrics/completeness.md → vibe.continue/references/handoff-completeness.md} +1 -1
- package/skills/{vibe.handoff/templates → vibe.continue/references}/handoff.md +37 -2
- package/skills/vibe.contract/SKILL.md +4 -27
- package/skills/vibe.create-prd/SKILL.md +8 -1
- package/skills/vibe.design/SKILL.md +18 -5
- package/skills/vibe.design/references/design-context.md +184 -0
- package/skills/vibe.design-refine/SKILL.md +7 -0
- package/skills/vibe.design-review/SKILL.md +7 -0
- package/skills/vibe.design-teach/SKILL.md +2 -175
- package/skills/vibe.devlog/SKILL.md +14 -11
- package/skills/vibe.devlog/references/auto-push.md +10 -0
- package/skills/vibe.docs/SKILL.md +27 -198
- package/skills/vibe.docs/references/agent.md +55 -0
- package/skills/vibe.docs/references/arch.md +28 -0
- package/skills/vibe.docs/references/codemaps.md +17 -0
- package/skills/vibe.docs/references/diagram.md +24 -0
- package/skills/vibe.docs/references/guide.md +23 -0
- package/skills/vibe.docs/references/readme.md +45 -0
- package/skills/vibe.docs/references/release.md +31 -0
- package/skills/vibe.documentation-provider/SKILL.md +22 -0
- package/skills/vibe.documentation-provider/references/chub.md +141 -0
- package/skills/vibe.documentation-provider/references/context7.md +107 -0
- package/skills/vibe.educational-content/SKILL.md +7 -0
- package/skills/vibe.event/SKILL.md +47 -146
- package/skills/vibe.event/references/comms.md +173 -0
- package/skills/vibe.event/references/operations.md +208 -0
- package/skills/vibe.event/references/orchestration-legacy.md +97 -0
- package/skills/vibe.event/references/planning.md +145 -0
- package/skills/vibe.event-comms/SKILL.md +3 -165
- package/skills/vibe.event-ops/SKILL.md +3 -200
- package/skills/vibe.event-planning/SKILL.md +3 -137
- package/skills/vibe.figma/SKILL.md +26 -692
- package/skills/vibe.figma/references/branch1-read-convention.md +82 -0
- package/skills/vibe.figma/references/branch2-read-standalone.md +69 -0
- package/skills/vibe.figma/references/branch3-write.md +122 -0
- package/skills/vibe.figma/references/core-implementation.md +453 -0
- package/skills/vibe.git-worktree/SKILL.md +2 -6
- package/skills/vibe.git-worktree/references/troubleshooting.md +9 -0
- package/skills/vibe.handoff/SKILL.md +2 -103
- package/skills/vibe.harness/SKILL.md +17 -12
- package/skills/vibe.image/SKILL.md +8 -1
- package/skills/vibe.llm/SKILL.md +8 -1
- package/skills/vibe.loop/SKILL.md +9 -11
- package/skills/vibe.loop/references/install-adapters.md +10 -0
- package/skills/vibe.presentation/SKILL.md +7 -0
- package/skills/vibe.prioritization/SKILL.md +7 -0
- package/skills/vibe.priority-todos/SKILL.md +2 -57
- package/skills/vibe.react-best-practices/SKILL.md +1 -1
- package/skills/vibe.reason/SKILL.md +9 -2
- package/skills/vibe.regress/SKILL.md +6 -28
- package/skills/vibe.regress/templates/{test-jest.md → test-template.md} +1 -0
- package/skills/vibe.review/SKILL.md +35 -38
- package/skills/vibe.review/references/priority-todos.md +66 -0
- package/skills/vibe.review/references/ui-ux-review.md +39 -0
- package/skills/vibe.run/SKILL.md +57 -656
- package/skills/vibe.run/references/arch-guard.md +178 -0
- package/skills/vibe.run/references/e2e-and-autofix.md +40 -0
- package/skills/vibe.run/references/exec-plan.md +145 -0
- package/skills/vibe.run/references/guidelines-and-tools.md +84 -0
- package/skills/vibe.run/references/process-steps.md +179 -0
- package/skills/vibe.run/references/restraint.md +66 -0
- package/skills/vibe.scaffold/SKILL.md +9 -13
- package/skills/vibe.scaffold/references/clean-architecture.md +17 -0
- package/skills/vibe.spec/SKILL.md +12 -8
- package/skills/vibe.spec/references/legacy-artifacts.md +6 -0
- package/skills/vibe.test/SKILL.md +93 -70
- package/skills/vibe.test/references/report-template.md +101 -0
- package/skills/vibe.tool-fallback/SKILL.md +10 -32
- package/skills/vibe.tool-fallback/references/external-llm.md +10 -0
- package/skills/vibe.tool-fallback/references/file-lookup.md +9 -0
- package/skills/vibe.tool-fallback/references/web-search.md +11 -0
- package/skills/vibe.trace/SKILL.md +2 -264
- package/skills/vibe.ui-ux-pro-max/SKILL.md +1 -3
- package/skills/vibe.ui-ux-pro-max/references/charts-and-data.md +7 -0
- package/skills/vibe.user-personas/SKILL.md +8 -1
- package/skills/vibe.verify/SKILL.md +30 -4
- package/skills/vibe.verify/references/trace-mode.md +271 -0
- package/skills/vibe.regress/templates/test-vitest.md +0 -30
- /package/skills/{vibe.design-teach/rubrics → vibe.design/references}/brand-personality.md +0 -0
- /package/skills/{vibe.design-teach → vibe.design}/templates/design-context.json +0 -0
- /package/skills/{vibe.context7-usage/rubrics/when-to-use.md → vibe.documentation-provider/references/context7-when-to-use.md} +0 -0
- /package/skills/{vibe.event-ops/rubrics → vibe.event/references}/contingency.md +0 -0
- /package/skills/{vibe.event-ops/templates/d-day-checklist.md → vibe.event/references/d-day-checklist-template.md} +0 -0
- /package/skills/{vibe.event-comms/templates/email-invite.md → vibe.event/references/email-invite-template.md} +0 -0
- /package/skills/{vibe.event-planning/templates/event-plan.md → vibe.event/references/event-plan-template.md} +0 -0
- /package/skills/{vibe.event-comms/templates/sns-post.md → vibe.event/references/sns-post-template.md} +0 -0
- /package/skills/{vibe.event-planning/rubrics → vibe.event/references}/timeline.md +0 -0
- /package/skills/{vibe.priority-todos/templates/todo-board.md → vibe.review/references/todo-board-template.md} +0 -0
- /package/skills/{vibe.priority-todos/rubrics/prioritization.md → vibe.review/references/todo-prioritization.md} +0 -0
|
@@ -1,173 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: vibe.event-comms
|
|
3
|
+
description: Use when event SMS, email, SNS, invitations, or review communications are requested; compatibility alias for vibe.event communications mode.
|
|
3
4
|
invocation: [auto]
|
|
4
5
|
tier: standard
|
|
5
|
-
description: "Event communication automation — SMS via Aligo, email via Gmail OAuth, SNS posts for LinkedIn/Threads. Handles templates, BCC rules, and confirmation protocol."
|
|
6
6
|
triggers: [sms, aligo, gmail, event email, event sms, 문자 발송, 메일 발송, SNS 홍보]
|
|
7
7
|
priority: 60
|
|
8
|
+
user-invocable: true
|
|
8
9
|
---
|
|
9
|
-
# Event Communications
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
## SMS (Aligo API)
|
|
14
|
-
|
|
15
|
-
### Rules
|
|
16
|
-
- Auto-switch to LMS when >90 bytes
|
|
17
|
-
- Use `%고객명%` substitution
|
|
18
|
-
- Always test with `testmode_yn=Y` first
|
|
19
|
-
- **Emoji strictly forbidden** (EUC-KR encoding)
|
|
20
|
-
|
|
21
|
-
### SMS Types
|
|
22
|
-
|
|
23
|
-
| Timing | Type | Content |
|
|
24
|
-
|--------|------|---------|
|
|
25
|
-
| D-7~D-3 | Notification LMS | Event name, datetime, venue, fee, registration URL |
|
|
26
|
-
| D-3 | Confirmation SMS | Attendance confirmed + detailed venue |
|
|
27
|
-
| D-1 | Reminder SMS | Tomorrow schedule reminder + venue |
|
|
28
|
-
| D-Day | Day-of SMS | Today schedule reminder |
|
|
29
|
-
|
|
30
|
-
### Templates
|
|
31
|
-
|
|
32
|
-
**Notification LMS (D-7~D-3)**
|
|
33
|
-
```
|
|
34
|
-
%고객명%님 안녕하세요.
|
|
35
|
-
|
|
36
|
-
{event_name} {edition}회 안내드립니다.
|
|
37
|
-
|
|
38
|
-
일시: {date} {time}
|
|
39
|
-
장소: {venue}
|
|
40
|
-
참가비: {fee}
|
|
41
|
-
|
|
42
|
-
신청: {url}
|
|
43
|
-
|
|
44
|
-
{community_name}
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
**Confirmation SMS (D-3)**
|
|
48
|
-
```
|
|
49
|
-
%고객명%님, {event_name} 참가가 확정되었습니다.
|
|
50
|
-
|
|
51
|
-
일시: {date} {time}
|
|
52
|
-
장소: {venue_detail}
|
|
53
|
-
|
|
54
|
-
당일 뵙겠습니다.
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
**Reminder SMS (D-1)**
|
|
58
|
-
```
|
|
59
|
-
%고객명%님, 내일 {event_name}이 있습니다.
|
|
60
|
-
|
|
61
|
-
일시: {date} {time}
|
|
62
|
-
장소: {venue}
|
|
63
|
-
|
|
64
|
-
내일 뵙겠습니다!
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
**Day-of SMS (D-Day)**
|
|
68
|
-
```
|
|
69
|
-
%고객명%님, 오늘 {time} {event_name}입니다.
|
|
70
|
-
|
|
71
|
-
장소: {venue}
|
|
72
|
-
|
|
73
|
-
오늘 뵙겠습니다!
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
## Email (Gmail OAuth 2.0)
|
|
77
|
-
|
|
78
|
-
### Rules
|
|
79
|
-
- **MUST use BCC** — never expose attendee emails to each other
|
|
80
|
-
- D-3 confirmation email includes: venue details, timetable, Slido link
|
|
81
|
-
|
|
82
|
-
### Confirmation Email Template (D-3)
|
|
83
|
-
```
|
|
84
|
-
Subject: [{event_name}] Attendance Confirmation
|
|
85
|
-
|
|
86
|
-
Hello {attendee_name},
|
|
87
|
-
|
|
88
|
-
Your attendance for {event_name} edition {edition} has been confirmed.
|
|
89
|
-
|
|
90
|
-
■ Date & Time: {date} {time}
|
|
91
|
-
■ Venue: {venue_detail}
|
|
92
|
-
■ Program:
|
|
93
|
-
{timetable}
|
|
94
|
-
|
|
95
|
-
■ Live Q&A: {slido_link}
|
|
96
|
-
|
|
97
|
-
We look forward to seeing you on the day.
|
|
98
|
-
Thank you.
|
|
99
|
-
|
|
100
|
-
{community_name}
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
## SNS Posts
|
|
104
|
-
|
|
105
|
-
### Platform Tone
|
|
106
|
-
|
|
107
|
-
| Platform | Tone | Length | Style |
|
|
108
|
-
|----------|------|--------|-------|
|
|
109
|
-
| LinkedIn | Professional, formal | 300+ chars | Expert participation encouragement |
|
|
110
|
-
| Threads | Casual, hooking | 150-200 chars | "Haven't seen this yet?" style |
|
|
111
|
-
|
|
112
|
-
### Post Types
|
|
113
|
-
|
|
114
|
-
| Timing | Type | Content |
|
|
115
|
-
|--------|------|---------|
|
|
116
|
-
| Open | Promo post | Event intro + CTA |
|
|
117
|
-
| D-14 | Deadline remind | Urgency + remaining spots |
|
|
118
|
-
| D+1 | Review post | Story → 3 insights → next event preview |
|
|
119
|
-
|
|
120
|
-
### LinkedIn Promo Template
|
|
121
|
-
```
|
|
122
|
-
{hook_sentence}
|
|
123
|
-
|
|
124
|
-
Introducing {event_name} edition {edition}.
|
|
125
|
-
|
|
126
|
-
📅 {date} {time}
|
|
127
|
-
📍 {venue}
|
|
128
|
-
|
|
129
|
-
This session's topic: {topic}
|
|
130
|
-
|
|
131
|
-
{speaker_intro}
|
|
132
|
-
|
|
133
|
-
{cta}
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
### Threads Promo Template
|
|
137
|
-
```
|
|
138
|
-
{hook_casual}
|
|
139
|
-
|
|
140
|
-
{event_name} edition {edition} is happening!
|
|
141
|
-
|
|
142
|
-
{date} {time}
|
|
143
|
-
{venue_short}
|
|
144
|
-
|
|
145
|
-
{topic_casual}
|
|
146
|
-
|
|
147
|
-
{cta_casual}
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
### Review Post Structure
|
|
151
|
-
1. Story (emotional hook)
|
|
152
|
-
2. Key insights (3 items)
|
|
153
|
-
3. Next event preview
|
|
154
|
-
4. Thank you + community link
|
|
155
|
-
|
|
156
|
-
## Error Recovery
|
|
157
|
-
|
|
158
|
-
| Failure | Recovery |
|
|
159
|
-
|---------|----------|
|
|
160
|
-
| Aligo API timeout/error | Retry once after 5s. If still failing, output the SMS text as plain text for manual sending |
|
|
161
|
-
| Aligo auth error | Prompt user to verify API key in `~/.vibe/config.json` |
|
|
162
|
-
| Gmail auth expired | Prompt user to refresh the Gmail OAuth token |
|
|
163
|
-
| Gmail quota exceeded | Save email as `.eml` file for manual sending later |
|
|
164
|
-
| SNS post generation fails | Output post text as markdown for manual copy-paste |
|
|
165
|
-
|
|
166
|
-
## API Keys Required
|
|
167
|
-
|
|
168
|
-
| Key | Service | Required |
|
|
169
|
-
|-----|---------|----------|
|
|
170
|
-
| `ALIGO_API_KEY` | Aligo SMS | ✅ (for send) |
|
|
171
|
-
| `ALIGO_USER_ID` | Aligo SMS | ✅ (for send) |
|
|
172
|
-
| `ALIGO_SENDER` | Aligo SMS | ✅ (for send) |
|
|
173
|
-
| `GMAIL_CREDENTIALS_PATH` | Gmail OAuth | ✅ (for email) |
|
|
11
|
+
Load `vibe.event` in communications mode and preserve all arguments.
|
|
@@ -1,208 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: vibe.event-ops
|
|
3
|
+
description: Use when event nametags, checklists, slides, images, Slido, or settlement operations are requested; compatibility alias for vibe.event operations mode.
|
|
3
4
|
invocation: [auto]
|
|
4
5
|
tier: standard
|
|
5
|
-
description: "Event operations — nametags, checklists, operational slides, Slido plans, image generation specs, settlement reports."
|
|
6
6
|
triggers: [nametag, event checklist, event slide, slido, 이름표, 행사 체크리스트, 운영 슬라이드, 정산]
|
|
7
7
|
priority: 60
|
|
8
|
+
user-invocable: true
|
|
8
9
|
---
|
|
9
|
-
# Event Operations
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
## Nametags
|
|
14
|
-
|
|
15
|
-
### Specs
|
|
16
|
-
- Size: 85mm × 60mm
|
|
17
|
-
- A4 layout: 8 per page (2 columns × 4 rows)
|
|
18
|
-
- Layout: Company(9pt gray) / Role(9pt gray) / Name(18pt bold) / Brand(7pt bottom-right)
|
|
19
|
-
- Output: HTML → browser A4 print
|
|
20
|
-
- Data: webhook participant CSV, or blank template if unavailable
|
|
21
|
-
|
|
22
|
-
### Community Brand
|
|
23
|
-
|
|
24
|
-
| MDC | webinar | DWK |
|
|
25
|
-
|-----|---------|-----|
|
|
26
|
-
| 마케팅데이터커넥트 | (none) | DATA + WOMEN KOREA TUG |
|
|
27
|
-
|
|
28
|
-
### HTML Template Structure
|
|
29
|
-
```html
|
|
30
|
-
<!DOCTYPE html>
|
|
31
|
-
<html>
|
|
32
|
-
<head>
|
|
33
|
-
<style>
|
|
34
|
-
@page { size: A4; margin: 10mm; }
|
|
35
|
-
.nametag-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 5mm; }
|
|
36
|
-
.nametag {
|
|
37
|
-
width: 85mm; height: 60mm;
|
|
38
|
-
border: 1px dashed #ccc;
|
|
39
|
-
padding: 8mm;
|
|
40
|
-
display: flex; flex-direction: column;
|
|
41
|
-
justify-content: center; position: relative;
|
|
42
|
-
}
|
|
43
|
-
.company { font-size: 9pt; color: #888; }
|
|
44
|
-
.role { font-size: 9pt; color: #888; }
|
|
45
|
-
.name { font-size: 18pt; font-weight: bold; margin: 4mm 0; }
|
|
46
|
-
.brand { font-size: 7pt; position: absolute; bottom: 3mm; right: 5mm; color: #aaa; }
|
|
47
|
-
</style>
|
|
48
|
-
</head>
|
|
49
|
-
<body>
|
|
50
|
-
<div class="nametag-grid">
|
|
51
|
-
<!-- Repeat for each participant -->
|
|
52
|
-
<div class="nametag">
|
|
53
|
-
<span class="company">{company}</span>
|
|
54
|
-
<span class="role">{role}</span>
|
|
55
|
-
<span class="name">{name}</span>
|
|
56
|
-
<span class="brand">{brand}</span>
|
|
57
|
-
</div>
|
|
58
|
-
</div>
|
|
59
|
-
</body>
|
|
60
|
-
</html>
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
## Checklist (D-1)
|
|
64
|
-
|
|
65
|
-
Fixed 4 items for all offline events:
|
|
66
|
-
|
|
67
|
-
```markdown
|
|
68
|
-
## D-1 Checklist
|
|
69
|
-
|
|
70
|
-
- [ ] Order water/snacks/meals
|
|
71
|
-
- [ ] Print nametags
|
|
72
|
-
- [ ] Prepare event operational slides
|
|
73
|
-
- [ ] Set up screen/camera/tripod
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
## Operational Slides
|
|
77
|
-
|
|
78
|
-
### Format
|
|
79
|
-
- PPTX (16:9)
|
|
80
|
-
- Generated with python-pptx
|
|
81
|
-
- Community colors + timetable patterns
|
|
82
|
-
|
|
83
|
-
### Slide Structure (5-7 slides)
|
|
84
|
-
1. Cover (event name, topic, datetime, venue)
|
|
85
|
-
2. Timetable (community-specific pattern)
|
|
86
|
-
3~N. Speaker intro (1 slide per speaker)
|
|
87
|
-
N+1. Q&A + Networking (Slido QR placeholder)
|
|
88
|
-
N+2. Thank you + community links
|
|
89
|
-
|
|
90
|
-
### Community Colors
|
|
91
|
-
|
|
92
|
-
| MDC | webinar | DWK |
|
|
93
|
-
|-----|---------|-----|
|
|
94
|
-
| #ff6b35 (orange) | #a78bfa (purple) | #34d399 (mint) |
|
|
95
|
-
|
|
96
|
-
### Timetable Patterns
|
|
97
|
-
|
|
98
|
-
**MDC (3 speakers)**
|
|
99
|
-
```
|
|
100
|
-
19:00-19:10 Opening + Networking
|
|
101
|
-
19:10-19:35 Session 1: {speaker1_name} — {topic1}
|
|
102
|
-
19:35-20:00 Session 2: {speaker2_name} — {topic2}
|
|
103
|
-
20:00-20:25 Session 3: {speaker3_name} — {topic3}
|
|
104
|
-
20:25-20:40 Q&A + Slido
|
|
105
|
-
20:40-21:00 Networking
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
**Webinar (1-2 speakers)**
|
|
109
|
-
```
|
|
110
|
-
19:30-19:35 Opening
|
|
111
|
-
19:35-20:30 Session: {speaker_name} — {topic}
|
|
112
|
-
20:30-20:50 Q&A
|
|
113
|
-
20:50-21:00 Closing
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
**DWK (1-3 speakers + discussion)**
|
|
117
|
-
```
|
|
118
|
-
14:00-14:10 Opening + Icebreaker
|
|
119
|
-
14:10-14:40 Session 1: {speaker1_name} — {topic1}
|
|
120
|
-
14:40-15:10 Session 2: {speaker2_name} — {topic2}
|
|
121
|
-
15:10-15:30 Break
|
|
122
|
-
15:30-16:00 Discussion session
|
|
123
|
-
16:00-16:30 Networking
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
## Slido Configuration
|
|
127
|
-
|
|
128
|
-
API is read-only → Claude outputs plan → user manually configures.
|
|
129
|
-
|
|
130
|
-
### Community Presets
|
|
131
|
-
|
|
132
|
-
| Community | Items | Structure |
|
|
133
|
-
|-----------|-------|-----------|
|
|
134
|
-
| MDC | 5 | Icebreaker + Pre-Q&A + Balance game 2-3 + Satisfaction |
|
|
135
|
-
| Webinar | 5 | Icebreaker + Skill check + Live Q&A + Word cloud + Feedback |
|
|
136
|
-
| DWK | 10 | Icebreaker + Session feedback + Word cloud + Balance game 3 + Opinion poll 2 + Experience share + Feedback |
|
|
137
|
-
|
|
138
|
-
## Image Generation
|
|
139
|
-
|
|
140
|
-
### Model
|
|
141
|
-
Antigravity image backend
|
|
142
|
-
|
|
143
|
-
### Specs by Community
|
|
144
|
-
|
|
145
|
-
| Community | Size | Purpose |
|
|
146
|
-
|-----------|------|---------|
|
|
147
|
-
| MDC | 500×500 | Listing thumbnail |
|
|
148
|
-
| MDC | 595×842 | A4 poster |
|
|
149
|
-
| Webinar | 1080×1080 | Instagram/Threads 1:1 |
|
|
150
|
-
| Webinar | 1920×1080 | YouTube 16:9 |
|
|
151
|
-
| Webinar | 1440×1080 | Zoom background 4:3 |
|
|
152
|
-
| DWK | 2000×500 | Banner 4:1 |
|
|
153
|
-
| DWK | 1080×1080 | SNS 1:1 |
|
|
154
|
-
|
|
155
|
-
### Prompt Dual Structure
|
|
156
|
-
- **API prompt**: No length limit, detailed (colors, layout, text position, logo placement)
|
|
157
|
-
- **User prompt**: ≤400 chars summary → `output/images/{type}_prompt.txt`
|
|
158
|
-
|
|
159
|
-
### Logo Auto-include
|
|
160
|
-
- Source: `data/assets/common/images/{community} logo.png`
|
|
161
|
-
- Auto-append: "Place logo naturally at bottom-left"
|
|
162
|
-
|
|
163
|
-
### Smart Resizing
|
|
164
|
-
- Same ratio → Pillow scale only (no API call)
|
|
165
|
-
- Different ratio → Antigravity re-generate (pass original as reference, no white margins)
|
|
166
|
-
|
|
167
|
-
## Settlement
|
|
168
|
-
|
|
169
|
-
### MDC
|
|
170
|
-
Revenue(attendance fees) - Expenses(venue, snacks, speaker gifts) = Markdown settlement report
|
|
171
|
-
|
|
172
|
-
### DWK
|
|
173
|
-
Stripe receipts + speaker gifts → Slack Workflow settlement message (future)
|
|
174
|
-
|
|
175
|
-
### Webinar
|
|
176
|
-
Free — no settlement needed
|
|
177
|
-
|
|
178
|
-
## Intro Page Structure (Common)
|
|
179
|
-
|
|
180
|
-
1. Hook sentence (2-3 lines)
|
|
181
|
-
2. Event info (datetime/venue/fee)
|
|
182
|
-
3. "Recommended for" (5 items)
|
|
183
|
-
4. "What you'll learn" (5 items)
|
|
184
|
-
5. Speaker intro (1 paragraph per speaker)
|
|
185
|
-
6. Program timetable
|
|
186
|
-
7. Attendance benefits
|
|
187
|
-
8. CTA + quote
|
|
188
|
-
|
|
189
|
-
## Speaker Research
|
|
190
|
-
|
|
191
|
-
- Check past topic overlap → suggest 3 trend-based topics
|
|
192
|
-
- Collect related post URLs from LinkedIn/Threads/X/Blog/Brunch/Publy
|
|
193
|
-
- Use WebSearch tool (free)
|
|
194
|
-
|
|
195
|
-
## Speaker Outreach
|
|
196
|
-
|
|
197
|
-
- DM draft (short, 5-line version) + email draft (formal)
|
|
198
|
-
- Auto-reference existing contact history (for re-outreach)
|
|
199
|
-
- Business card image + LinkedIn URL → `data/speakers/{name}.json` accumulation
|
|
200
|
-
|
|
201
|
-
## Error Recovery
|
|
202
|
-
|
|
203
|
-
| Failure | Recovery |
|
|
204
|
-
|---------|----------|
|
|
205
|
-
| Antigravity image API unavailable | Skip image generation, use text-only placeholder slide with community colors |
|
|
206
|
-
| Antigravity image quality too low | Retry with simplified prompt (remove detail, keep core subject) |
|
|
207
|
-
| PPTX generation error | Output slide content as markdown with speaker notes for manual assembly |
|
|
208
|
-
| Nametag HTML render issue | Simplify to basic table layout, remove custom fonts |
|
|
11
|
+
Load `vibe.event` in operations mode and preserve all arguments.
|
|
@@ -1,145 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: vibe.event-planning
|
|
3
|
+
description: Use when event timelines, speaker planning, outreach, or state management are requested; compatibility alias for vibe.event planning mode.
|
|
3
4
|
invocation: [auto]
|
|
4
5
|
tier: standard
|
|
5
|
-
description: "Community event automation — D-Day timeline, community patterns, proactive task execution. Auto-activates for event planning, meetup/webinar/conference management."
|
|
6
6
|
triggers: [event planning, meetup, webinar, conference, 행사, 밋업, 웨비나, D-Day, 이벤트 준비]
|
|
7
7
|
priority: 60
|
|
8
|
+
user-invocable: true
|
|
8
9
|
---
|
|
9
|
-
# Event Planning
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
## Supported Communities
|
|
14
|
-
|
|
15
|
-
| Code | Name | Format | Schedule |
|
|
16
|
-
|------|------|--------|----------|
|
|
17
|
-
| `MDC` | 마케팅데이터커넥트 | Offline meetup, 3 speakers × 20-25min | Odd months, last week weekday 19:00 |
|
|
18
|
-
| `webinar` | 퇴근후AI | Online Zoom, 1-2 speakers × 50-60min | Irregular |
|
|
19
|
-
| `DWK` | Data+Women Korea | Offline/Online, 1-3 speakers + discussion | Irregular |
|
|
20
|
-
|
|
21
|
-
## D-Day Timeline
|
|
22
|
-
|
|
23
|
-
### MDC (D-60 → D+2, 11 steps)
|
|
24
|
-
|
|
25
|
-
| D-Day | Task | Outputs | Confirm |
|
|
26
|
-
|-------|------|---------|---------|
|
|
27
|
-
| D-60 | Topic selection + speaker research | 3 topics + speaker research | — |
|
|
28
|
-
| D-45 | Speaker outreach | DM + email drafts | — |
|
|
29
|
-
| D-40 | Speaker topic confirmation request | Confirmation email | — |
|
|
30
|
-
| D-28 | **Registration page open** | Intro + 2 images + 3 SMS + 1 email + prompts | — |
|
|
31
|
-
| D-30 | SNS promo + notification SMS | LinkedIn/Threads + SMS send | ✅ send |
|
|
32
|
-
| D-14 | Remind | LinkedIn/Threads remind | — |
|
|
33
|
-
| D-3 | Confirmation email + SMS | BCC email + SMS send | ✅ send |
|
|
34
|
-
| D-1 | Nametags + checklist + slides + remind SMS | HTML + MD + PPTX + SMS draft | ✅ print/send |
|
|
35
|
-
| D-Day | Day-of remind | SMS send | ✅ send |
|
|
36
|
-
| D+1 | Review + settlement | Review draft + settlement template | — |
|
|
37
|
-
| D+2 | Site update | (manual) | — |
|
|
38
|
-
|
|
39
|
-
### Webinar (Planning → D+1, 5 steps)
|
|
40
|
-
|
|
41
|
-
| D-Day | Task | Outputs | Confirm |
|
|
42
|
-
|-------|------|---------|---------|
|
|
43
|
-
| Planning | Event page | Intro + 3 images + SMS + email + prompts | — |
|
|
44
|
-
| Planning | SNS promo | LinkedIn/Threads | — |
|
|
45
|
-
| D-4 | Zoom + notification | Zoom link(manual) + email(BCC) + SMS | ✅ send |
|
|
46
|
-
| D-Day | Day-of ops | SMS + slides | ✅ send |
|
|
47
|
-
| D+1 | Review post | LinkedIn/Threads | — |
|
|
48
|
-
|
|
49
|
-
### DWK (D-30 → D+3, 9 steps)
|
|
50
|
-
|
|
51
|
-
| D-Day | Task | Outputs | Confirm |
|
|
52
|
-
|-------|------|---------|---------|
|
|
53
|
-
| D-30 | Topic + speaker research | 3 topics + speaker research | — |
|
|
54
|
-
| D-25 | Speaker outreach | DM + email drafts | — |
|
|
55
|
-
| D-20 | Speaker topic confirmation | Confirmation email | — |
|
|
56
|
-
| D-16 | Event page | Intro + 2 images + SMS + email + prompts | — |
|
|
57
|
-
| D-15 | SNS promo | LinkedIn/Threads | — |
|
|
58
|
-
| D-3 | Confirmation email + SMS | BCC email + SMS | ✅ send |
|
|
59
|
-
| D-1 | Slido + ops + remind | Slido plan + PPTX + SNS remind | ✅ |
|
|
60
|
-
| D-Day | Day-of ops | SMS + nametags(offline) | ✅ send |
|
|
61
|
-
| D+3 | Review + settlement | Review draft + Stripe/Slack settlement | — |
|
|
62
|
-
|
|
63
|
-
## Proactive Execution Protocol
|
|
64
|
-
|
|
65
|
-
When user says "MDC 준비해줘" or similar:
|
|
66
|
-
|
|
67
|
-
```
|
|
68
|
-
1. Parse: event type + edition + date
|
|
69
|
-
2. Calculate D-Day from today
|
|
70
|
-
3. Identify current step(s) in timeline
|
|
71
|
-
4. Auto-execute ALL pending outputs for current step
|
|
72
|
-
5. Request confirmation ONLY for send/publish actions
|
|
73
|
-
6. Save state to .event_state.json
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
## State File (.event_state.json)
|
|
77
|
-
|
|
78
|
-
```json
|
|
79
|
-
{
|
|
80
|
-
"event_id": "MDC-12",
|
|
81
|
-
"type": "MDC",
|
|
82
|
-
"date": "2026-03-30",
|
|
83
|
-
"title": "마케팅데이터커넥트 12회",
|
|
84
|
-
"topic": "",
|
|
85
|
-
"speakers": [],
|
|
86
|
-
"current_step": "D-28",
|
|
87
|
-
"completed_steps": ["D-60", "D-45", "D-40"],
|
|
88
|
-
"outputs": {}
|
|
89
|
-
}
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
## State Management
|
|
93
|
-
|
|
94
|
-
**Location**: `.vibe/.event_state.json` (project-local, gitignored)
|
|
95
|
-
|
|
96
|
-
### Error Recovery
|
|
97
|
-
|
|
98
|
-
| Failure | Recovery |
|
|
99
|
-
|---------|----------|
|
|
100
|
-
| State file missing | Regenerate from scratch by re-reading event config and completed artifacts |
|
|
101
|
-
| State file corrupted (invalid JSON) | Delete corrupted file, regenerate from current directory state |
|
|
102
|
-
| State phase mismatch | Trust directory artifacts over state file — scan for completed outputs and infer current phase |
|
|
103
|
-
|
|
104
|
-
## Community Tone Guide
|
|
105
|
-
|
|
106
|
-
| | MDC | Webinar | DWK |
|
|
107
|
-
|---|---|---|---|
|
|
108
|
-
| Tone | Professional, practical, formal | Friendly, casual, emoji-ok | Warm, inclusive, "together" |
|
|
109
|
-
| Example | "Apply directly in your work" | "Relax after work" | "Women who love data" |
|
|
110
|
-
| Brand color | #ff6b35 (orange) | #a78bfa (purple) | #34d399 (mint) |
|
|
111
|
-
|
|
112
|
-
## Community Brand Names
|
|
113
|
-
|
|
114
|
-
| MDC | webinar | DWK |
|
|
115
|
-
|-----|---------|-----|
|
|
116
|
-
| 마케팅데이터커넥트 | (none) | DATA + WOMEN KOREA TUG |
|
|
117
|
-
|
|
118
|
-
## Confirmation Rules
|
|
119
|
-
|
|
120
|
-
| Auto-execute (no confirm) | Requires confirmation |
|
|
121
|
-
|---------------------------|----------------------|
|
|
122
|
-
| Intro/SMS/email/SNS **draft** generation | SMS/email **actual send** |
|
|
123
|
-
| Image prompt + API generation | Notion **real registration** (dry_run first) |
|
|
124
|
-
| Checklist/nametag HTML generation | — |
|
|
125
|
-
|
|
126
|
-
## Absolute Prohibitions
|
|
127
|
-
|
|
128
|
-
- No SMS/email send without user confirmation
|
|
129
|
-
- **Email recipients MUST use BCC** (never expose attendee emails to each other)
|
|
130
|
-
- No file deletion (move only)
|
|
131
|
-
- No emoji in SMS (EUC-KR incompatible)
|
|
132
|
-
- No Notion registration without dry_run first
|
|
133
|
-
- No .env file commits
|
|
134
|
-
|
|
135
|
-
## Output Directory Structure
|
|
136
|
-
|
|
137
|
-
```
|
|
138
|
-
output/
|
|
139
|
-
├── images/ ← Generated images
|
|
140
|
-
│ ├── {type}_prompt.txt ← User-facing prompt summary (≤400 chars)
|
|
141
|
-
│ └── {type}_{size}.png ← Generated images
|
|
142
|
-
├── reports/ ← Text outputs (intro, SNS, SMS, email drafts)
|
|
143
|
-
├── log.html ← Dashboard frontend
|
|
144
|
-
└── serve.py ← Dashboard server
|
|
145
|
-
```
|
|
11
|
+
Load `vibe.event` in planning mode and preserve all arguments.
|