@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.
Files changed (120) hide show
  1. package/README.en.md +1 -1
  2. package/README.md +1 -1
  3. package/dist/cli/postinstall/constants.d.ts.map +1 -1
  4. package/dist/cli/postinstall/constants.js +10 -9
  5. package/dist/cli/postinstall/constants.js.map +1 -1
  6. package/hooks/scripts/__tests__/.vibe/command-log.txt +3 -3
  7. package/package.json +2 -2
  8. package/skills/vibe/SKILL.md +27 -86
  9. package/skills/vibe/references/routing-examples.md +85 -0
  10. package/skills/vibe.agents-md/SKILL.md +12 -10
  11. package/skills/vibe.analyze/SKILL.md +22 -211
  12. package/skills/vibe.analyze/references/mode1-feature.md +81 -0
  13. package/skills/vibe.analyze/references/mode2-document.md +50 -0
  14. package/skills/vibe.analyze/references/mode3-website.md +47 -0
  15. package/skills/vibe.analyze/references/mode4-quality.md +35 -0
  16. package/skills/vibe.brand-assets/SKILL.md +2 -2
  17. package/skills/vibe.brand-assets/references/mobile-assets.md +6 -0
  18. package/skills/vibe.capability-loop/SKILL.md +14 -80
  19. package/skills/vibe.capability-loop/references/escalate.md +86 -0
  20. package/skills/vibe.chub-usage/SKILL.md +3 -132
  21. package/skills/vibe.clone/SKILL.md +43 -358
  22. package/skills/vibe.clone/references/phase-commands.md +118 -0
  23. package/skills/vibe.clone/references/setup-and-layout.md +34 -0
  24. package/skills/vibe.clone/references/verification-loops.md +64 -0
  25. package/skills/vibe.commit-push-pr/SKILL.md +10 -4
  26. package/skills/vibe.context7-usage/SKILL.md +3 -99
  27. package/skills/vibe.continue/SKILL.md +17 -7
  28. package/skills/{vibe.handoff → vibe.continue}/agents/context-summarizer.md +1 -1
  29. package/skills/{vibe.handoff → vibe.continue}/agents/document-writer.md +1 -1
  30. package/skills/{vibe.handoff → vibe.continue}/agents/state-collector.md +1 -1
  31. package/skills/{vibe.handoff → vibe.continue}/agents/verifier.md +1 -1
  32. package/skills/{vibe.handoff/rubrics/completeness.md → vibe.continue/references/handoff-completeness.md} +1 -1
  33. package/skills/{vibe.handoff/templates → vibe.continue/references}/handoff.md +37 -2
  34. package/skills/vibe.contract/SKILL.md +4 -27
  35. package/skills/vibe.create-prd/SKILL.md +8 -1
  36. package/skills/vibe.design/SKILL.md +18 -5
  37. package/skills/vibe.design/references/design-context.md +184 -0
  38. package/skills/vibe.design-refine/SKILL.md +7 -0
  39. package/skills/vibe.design-review/SKILL.md +7 -0
  40. package/skills/vibe.design-teach/SKILL.md +2 -175
  41. package/skills/vibe.devlog/SKILL.md +14 -11
  42. package/skills/vibe.devlog/references/auto-push.md +10 -0
  43. package/skills/vibe.docs/SKILL.md +27 -198
  44. package/skills/vibe.docs/references/agent.md +55 -0
  45. package/skills/vibe.docs/references/arch.md +28 -0
  46. package/skills/vibe.docs/references/codemaps.md +17 -0
  47. package/skills/vibe.docs/references/diagram.md +24 -0
  48. package/skills/vibe.docs/references/guide.md +23 -0
  49. package/skills/vibe.docs/references/readme.md +45 -0
  50. package/skills/vibe.docs/references/release.md +31 -0
  51. package/skills/vibe.documentation-provider/SKILL.md +22 -0
  52. package/skills/vibe.documentation-provider/references/chub.md +141 -0
  53. package/skills/vibe.documentation-provider/references/context7.md +107 -0
  54. package/skills/vibe.educational-content/SKILL.md +7 -0
  55. package/skills/vibe.event/SKILL.md +47 -146
  56. package/skills/vibe.event/references/comms.md +173 -0
  57. package/skills/vibe.event/references/operations.md +208 -0
  58. package/skills/vibe.event/references/orchestration-legacy.md +97 -0
  59. package/skills/vibe.event/references/planning.md +145 -0
  60. package/skills/vibe.event-comms/SKILL.md +3 -165
  61. package/skills/vibe.event-ops/SKILL.md +3 -200
  62. package/skills/vibe.event-planning/SKILL.md +3 -137
  63. package/skills/vibe.figma/SKILL.md +26 -692
  64. package/skills/vibe.figma/references/branch1-read-convention.md +82 -0
  65. package/skills/vibe.figma/references/branch2-read-standalone.md +69 -0
  66. package/skills/vibe.figma/references/branch3-write.md +122 -0
  67. package/skills/vibe.figma/references/core-implementation.md +453 -0
  68. package/skills/vibe.git-worktree/SKILL.md +2 -6
  69. package/skills/vibe.git-worktree/references/troubleshooting.md +9 -0
  70. package/skills/vibe.handoff/SKILL.md +2 -103
  71. package/skills/vibe.harness/SKILL.md +17 -12
  72. package/skills/vibe.image/SKILL.md +8 -1
  73. package/skills/vibe.llm/SKILL.md +8 -1
  74. package/skills/vibe.loop/SKILL.md +9 -11
  75. package/skills/vibe.loop/references/install-adapters.md +10 -0
  76. package/skills/vibe.presentation/SKILL.md +7 -0
  77. package/skills/vibe.prioritization/SKILL.md +7 -0
  78. package/skills/vibe.priority-todos/SKILL.md +2 -57
  79. package/skills/vibe.react-best-practices/SKILL.md +1 -1
  80. package/skills/vibe.reason/SKILL.md +9 -2
  81. package/skills/vibe.regress/SKILL.md +6 -28
  82. package/skills/vibe.regress/templates/{test-jest.md → test-template.md} +1 -0
  83. package/skills/vibe.review/SKILL.md +35 -38
  84. package/skills/vibe.review/references/priority-todos.md +66 -0
  85. package/skills/vibe.review/references/ui-ux-review.md +39 -0
  86. package/skills/vibe.run/SKILL.md +57 -656
  87. package/skills/vibe.run/references/arch-guard.md +178 -0
  88. package/skills/vibe.run/references/e2e-and-autofix.md +40 -0
  89. package/skills/vibe.run/references/exec-plan.md +145 -0
  90. package/skills/vibe.run/references/guidelines-and-tools.md +84 -0
  91. package/skills/vibe.run/references/process-steps.md +179 -0
  92. package/skills/vibe.run/references/restraint.md +66 -0
  93. package/skills/vibe.scaffold/SKILL.md +9 -13
  94. package/skills/vibe.scaffold/references/clean-architecture.md +17 -0
  95. package/skills/vibe.spec/SKILL.md +12 -8
  96. package/skills/vibe.spec/references/legacy-artifacts.md +6 -0
  97. package/skills/vibe.test/SKILL.md +93 -70
  98. package/skills/vibe.test/references/report-template.md +101 -0
  99. package/skills/vibe.tool-fallback/SKILL.md +10 -32
  100. package/skills/vibe.tool-fallback/references/external-llm.md +10 -0
  101. package/skills/vibe.tool-fallback/references/file-lookup.md +9 -0
  102. package/skills/vibe.tool-fallback/references/web-search.md +11 -0
  103. package/skills/vibe.trace/SKILL.md +2 -264
  104. package/skills/vibe.ui-ux-pro-max/SKILL.md +1 -3
  105. package/skills/vibe.ui-ux-pro-max/references/charts-and-data.md +7 -0
  106. package/skills/vibe.user-personas/SKILL.md +8 -1
  107. package/skills/vibe.verify/SKILL.md +30 -4
  108. package/skills/vibe.verify/references/trace-mode.md +271 -0
  109. package/skills/vibe.regress/templates/test-vitest.md +0 -30
  110. /package/skills/{vibe.design-teach/rubrics → vibe.design/references}/brand-personality.md +0 -0
  111. /package/skills/{vibe.design-teach → vibe.design}/templates/design-context.json +0 -0
  112. /package/skills/{vibe.context7-usage/rubrics/when-to-use.md → vibe.documentation-provider/references/context7-when-to-use.md} +0 -0
  113. /package/skills/{vibe.event-ops/rubrics → vibe.event/references}/contingency.md +0 -0
  114. /package/skills/{vibe.event-ops/templates/d-day-checklist.md → vibe.event/references/d-day-checklist-template.md} +0 -0
  115. /package/skills/{vibe.event-comms/templates/email-invite.md → vibe.event/references/email-invite-template.md} +0 -0
  116. /package/skills/{vibe.event-planning/templates/event-plan.md → vibe.event/references/event-plan-template.md} +0 -0
  117. /package/skills/{vibe.event-comms/templates/sns-post.md → vibe.event/references/sns-post-template.md} +0 -0
  118. /package/skills/{vibe.event-planning/rubrics → vibe.event/references}/timeline.md +0 -0
  119. /package/skills/{vibe.priority-todos/templates/todo-board.md → vibe.review/references/todo-board-template.md} +0 -0
  120. /package/skills/{vibe.priority-todos/rubrics/prioritization.md → vibe.review/references/todo-prioritization.md} +0 -0
@@ -0,0 +1,173 @@
1
+ ---
2
+ name: event-comms-reference
3
+ invocation: [auto]
4
+ 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
+ triggers: [sms, aligo, gmail, event email, event sms, 문자 발송, 메일 발송, SNS 홍보]
7
+ priority: 60
8
+ ---
9
+ # Event Communications
10
+
11
+ SMS, email, and SNS content generation for community events.
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) |
@@ -0,0 +1,208 @@
1
+ ---
2
+ name: event-operations-reference
3
+ invocation: [auto]
4
+ tier: standard
5
+ description: "Event operations — nametags, checklists, operational slides, Slido plans, image generation specs, settlement reports."
6
+ triggers: [nametag, event checklist, event slide, slido, 이름표, 행사 체크리스트, 운영 슬라이드, 정산]
7
+ priority: 60
8
+ ---
9
+ # Event Operations
10
+
11
+ Nametags, checklists, operational slides, Slido configuration, image generation, and settlement.
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 → the active harness outputs a 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 the harness's web research capability
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 |
@@ -0,0 +1,97 @@
1
+ # Event Orchestration Reference
2
+
3
+ This preserves the complete pre-merge umbrella routing contract.
4
+
5
+ ## Execution Flow
6
+
7
+ 1. Parse type (`MDC`, `webinar`, `DWK`), edition, required date, optional topic, and DWK format (default offline).
8
+ 2. Calculate D-Day from the event date.
9
+ 3. Load or create `.event_state.json`.
10
+ 4. Determine the current phase: MDC 11 steps (D-60→D+2), webinar 5 steps (planning→D+1), DWK 9 steps (D-30→D+3).
11
+ 5. Produce pending content, speaker research, images, communications drafts, and operations materials.
12
+ 6. Request confirmation for real SMS/email sends and Notion registration.
13
+ 7. Save `.event_state.json`.
14
+
15
+ ## Input Parsing
16
+
17
+ | Input | Parsed result |
18
+ |---|---|
19
+ | `MDC 12차 3/30` | type=MDC, edition=12, date=2026-03-30 |
20
+ | `webinar AI에이전트` | type=webinar, topic=AI에이전트, date=TBD (ask) |
21
+ | `DWK 5차 5/20 오프라인` | type=DWK, edition=5, date=2026-05-20, format=offline |
22
+ | `status` | Show `.event_state.json` summary |
23
+ | `dashboard` | Run `python output/serve.py` |
24
+
25
+ ## MDC Phases
26
+
27
+ | Phase | Mode | Outputs |
28
+ |---|---|---|
29
+ | D-60 | planning | 3 topic suggestions + speaker research |
30
+ | D-45 | planning | DM + email outreach drafts |
31
+ | D-40 | operations | Topic confirmation request email |
32
+ | D-28 | planning + operations | Intro + 2 images + 3 SMS + 1 email |
33
+ | D-30 | planning + operations | LinkedIn/Threads promo + SMS send |
34
+ | D-14 | planning | LinkedIn/Threads reminder |
35
+ | D-3 | operations | BCC email + SMS send |
36
+ | D-1 | operations | Nametags + checklist + PPTX + SMS |
37
+ | D-Day | operations | Day-of SMS |
38
+ | D+1 | planning + operations | Review posts + settlement |
39
+ | D+2 | manual | Site update |
40
+
41
+ ## Webinar Phases
42
+
43
+ | Phase | Mode | Outputs |
44
+ |---|---|---|
45
+ | Planning | planning + operations | Intro + 3 images + SMS + email |
46
+ | Planning | planning | LinkedIn/Threads promo |
47
+ | D-4 | operations | Zoom manual setup + BCC email + SMS |
48
+ | D-Day | operations | SMS + slides |
49
+ | D+1 | planning | Review posts |
50
+
51
+ ## DWK Phases
52
+
53
+ | Phase | Mode | Outputs |
54
+ |---|---|---|
55
+ | D-30 | planning | 3 topics + speaker research |
56
+ | D-25 | planning | DM + email outreach |
57
+ | D-20 | operations | Topic confirmation email |
58
+ | D-16 | planning + operations | Intro + 2 images + SMS + email |
59
+ | D-15 | planning | LinkedIn/Threads promo |
60
+ | D-3 | operations | BCC email + SMS |
61
+ | D-1 | operations | Slido plan + PPTX + SNS reminder |
62
+ | D-Day | operations | SMS + nametags (offline) |
63
+ | D+3 | planning + operations | Review + settlement |
64
+
65
+ ## State Schema
66
+
67
+ ```json
68
+ {
69
+ "event_id": "MDC-12",
70
+ "type": "MDC",
71
+ "edition": 12,
72
+ "date": "2026-03-30",
73
+ "title": "마케팅데이터커넥트 12회",
74
+ "topic": "마케팅 자동화",
75
+ "format": "offline",
76
+ "speakers": [{ "name": "김영수", "company": "Company X", "topic": "마케팅 데이터 파이프라인" }],
77
+ "current_step": "D-28",
78
+ "completed_steps": ["D-60", "D-45", "D-40"],
79
+ "outputs": { "D-28": ["intro.md", "thumbnail_500x500.png", "sms_notification.txt"] },
80
+ "confirmations_pending": []
81
+ }
82
+ ```
83
+
84
+ ## Dashboard
85
+
86
+ Run `python output/serve.py` and open `http://localhost:8080`. The dashboard provides timeline progress, per-step generation, file previews, provider status, and community color coding.
87
+
88
+ ## Absolute Safety Rules
89
+
90
+ 1. Never send SMS/email without explicit user confirmation.
91
+ 2. Always use BCC for email.
92
+ 3. Never use emoji in SMS (EUC-KR incompatibility).
93
+ 4. Never delete event files; move them when cleanup is needed.
94
+ 5. Test SMS with `testmode_yn=Y` before real send.
95
+ 6. Never register to Notion without `dry_run` first.
96
+ 7. Never commit `.env` files.
97
+
@@ -0,0 +1,145 @@
1
+ ---
2
+ name: event-planning-reference
3
+ invocation: [auto]
4
+ 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
+ triggers: [event planning, meetup, webinar, conference, 행사, 밋업, 웨비나, D-Day, 이벤트 준비]
7
+ priority: 60
8
+ ---
9
+ # Event Planning
10
+
11
+ Community event automation with D-Day based proactive execution.
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
+ ```