@su-record/vibe 2.7.18 → 2.7.20
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/.env.example +37 -37
- package/CLAUDE.md +153 -153
- package/LICENSE +21 -21
- package/README.md +451 -449
- package/agents/architect-low.md +41 -41
- package/agents/architect-medium.md +59 -59
- package/agents/architect.md +80 -80
- package/agents/build-error-resolver.md +115 -115
- package/agents/compounder.md +261 -261
- package/agents/diagrammer.md +178 -178
- package/agents/docs/api-documenter.md +99 -99
- package/agents/docs/changelog-writer.md +93 -93
- package/agents/e2e-tester.md +294 -294
- package/agents/event/event-comms.md +78 -0
- package/agents/event/event-content.md +68 -0
- package/agents/event/event-image.md +95 -0
- package/agents/event/event-ops.md +84 -0
- package/agents/event/event-scheduler.md +69 -0
- package/agents/event/event-speaker.md +86 -0
- package/agents/explorer-low.md +42 -42
- package/agents/explorer-medium.md +59 -59
- package/agents/explorer.md +48 -48
- package/agents/implementer-low.md +43 -43
- package/agents/implementer-medium.md +52 -52
- package/agents/implementer.md +54 -54
- package/agents/junior-mentor.md +141 -141
- package/agents/planning/requirements-analyst.md +84 -84
- package/agents/planning/ux-advisor.md +83 -83
- package/agents/qa/acceptance-tester.md +86 -86
- package/agents/qa/edge-case-finder.md +93 -93
- package/agents/refactor-cleaner.md +143 -143
- package/agents/research/best-practices-agent.md +199 -199
- package/agents/research/codebase-patterns-agent.md +157 -157
- package/agents/research/framework-docs-agent.md +188 -188
- package/agents/research/security-advisory-agent.md +213 -213
- package/agents/review/architecture-reviewer.md +107 -107
- package/agents/review/complexity-reviewer.md +116 -116
- package/agents/review/data-integrity-reviewer.md +88 -88
- package/agents/review/git-history-reviewer.md +103 -103
- package/agents/review/performance-reviewer.md +86 -86
- package/agents/review/python-reviewer.md +150 -150
- package/agents/review/rails-reviewer.md +139 -139
- package/agents/review/react-reviewer.md +144 -144
- package/agents/review/security-reviewer.md +80 -80
- package/agents/review/simplicity-reviewer.md +140 -140
- package/agents/review/test-coverage-reviewer.md +116 -116
- package/agents/review/typescript-reviewer.md +127 -127
- package/agents/searcher.md +54 -54
- package/agents/simplifier.md +120 -120
- package/agents/tester.md +49 -49
- package/agents/ui/ui-a11y-auditor.md +93 -93
- package/agents/ui/ui-antipattern-detector.md +94 -94
- package/agents/ui/ui-dataviz-advisor.md +69 -69
- package/agents/ui/ui-design-system-gen.md +57 -57
- package/agents/ui/ui-industry-analyzer.md +49 -49
- package/agents/ui/ui-layout-architect.md +65 -65
- package/agents/ui/ui-stack-implementer.md +68 -68
- package/agents/ui/ux-compliance-reviewer.md +81 -81
- package/agents/ui-previewer.md +258 -258
- package/commands/vibe.analyze.md +379 -379
- package/commands/vibe.event.md +163 -0
- package/commands/vibe.review.md +607 -607
- package/commands/vibe.run.md +2217 -2124
- package/commands/vibe.spec.md +1195 -1195
- package/commands/vibe.spec.review.md +569 -569
- package/commands/vibe.trace.md +50 -0
- package/commands/vibe.utils.md +413 -413
- package/commands/vibe.verify.md +484 -484
- package/dist/__tests__/architecture.test.d.ts +2 -0
- package/dist/__tests__/architecture.test.d.ts.map +1 -0
- package/dist/__tests__/architecture.test.js +207 -0
- package/dist/__tests__/architecture.test.js.map +1 -0
- package/dist/cli/auth.js +3 -3
- package/dist/cli/auth.js.map +1 -1
- package/dist/cli/collaborator.js +52 -52
- package/dist/cli/commands/evolution.js +12 -12
- package/dist/cli/commands/info.d.ts.map +1 -1
- package/dist/cli/commands/info.js +45 -81
- package/dist/cli/commands/info.js.map +1 -1
- package/dist/cli/commands/init.js +5 -5
- package/dist/cli/commands/remove.js +14 -14
- package/dist/cli/commands/sentinel.js +27 -27
- package/dist/cli/commands/skills.js +5 -5
- package/dist/cli/commands/slack.js +10 -10
- package/dist/cli/commands/telegram.js +12 -12
- package/dist/cli/detect.d.ts.map +1 -1
- package/dist/cli/detect.js +55 -32
- package/dist/cli/detect.js.map +1 -1
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +52 -52
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/llm/claude-commands.js +16 -16
- package/dist/cli/llm/config.js +18 -18
- package/dist/cli/llm/gemini-commands.js +16 -16
- package/dist/cli/llm/gpt-commands.js +19 -19
- package/dist/cli/llm/help.js +21 -21
- package/dist/cli/postinstall/constants.d.ts.map +1 -1
- package/dist/cli/postinstall/constants.js +24 -0
- package/dist/cli/postinstall/constants.js.map +1 -1
- package/dist/cli/postinstall/cursor-agents.js +32 -32
- package/dist/cli/postinstall/cursor-rules.js +83 -83
- package/dist/cli/postinstall/cursor-skills.js +743 -743
- package/dist/cli/setup/Provisioner.js +42 -42
- package/dist/infra/lib/AutomationLevel.d.ts +48 -0
- package/dist/infra/lib/AutomationLevel.d.ts.map +1 -0
- package/dist/infra/lib/AutomationLevel.js +157 -0
- package/dist/infra/lib/AutomationLevel.js.map +1 -0
- package/dist/infra/lib/DecisionTracer.d.ts +81 -0
- package/dist/infra/lib/DecisionTracer.d.ts.map +1 -0
- package/dist/infra/lib/DecisionTracer.js +135 -0
- package/dist/infra/lib/DecisionTracer.js.map +1 -0
- package/dist/infra/lib/DeepInit.js +24 -24
- package/dist/infra/lib/InteractiveCheckpoint.d.ts +75 -0
- package/dist/infra/lib/InteractiveCheckpoint.d.ts.map +1 -0
- package/dist/infra/lib/InteractiveCheckpoint.js +179 -0
- package/dist/infra/lib/InteractiveCheckpoint.js.map +1 -0
- package/dist/infra/lib/IterationTracker.d.ts +44 -0
- package/dist/infra/lib/IterationTracker.d.ts.map +1 -1
- package/dist/infra/lib/IterationTracker.js +267 -12
- package/dist/infra/lib/IterationTracker.js.map +1 -1
- package/dist/infra/lib/LoopBreaker.d.ts +56 -0
- package/dist/infra/lib/LoopBreaker.d.ts.map +1 -0
- package/dist/infra/lib/LoopBreaker.js +109 -0
- package/dist/infra/lib/LoopBreaker.js.map +1 -0
- package/dist/infra/lib/PythonParser.js +108 -108
- package/dist/infra/lib/ReviewRace.js +96 -96
- package/dist/infra/lib/SkillFrontmatter.js +28 -28
- package/dist/infra/lib/SkillQualityGate.js +9 -9
- package/dist/infra/lib/SkillRepository.js +159 -159
- package/dist/infra/lib/UltraQA.js +99 -99
- package/dist/infra/lib/VerificationLoop.d.ts +105 -0
- package/dist/infra/lib/VerificationLoop.d.ts.map +1 -0
- package/dist/infra/lib/VerificationLoop.js +189 -0
- package/dist/infra/lib/VerificationLoop.js.map +1 -0
- package/dist/infra/lib/__tests__/AutomationLevel.test.d.ts +2 -0
- package/dist/infra/lib/__tests__/AutomationLevel.test.d.ts.map +1 -0
- package/dist/infra/lib/__tests__/AutomationLevel.test.js +297 -0
- package/dist/infra/lib/__tests__/AutomationLevel.test.js.map +1 -0
- package/dist/infra/lib/__tests__/DecisionTracer.test.d.ts +2 -0
- package/dist/infra/lib/__tests__/DecisionTracer.test.d.ts.map +1 -0
- package/dist/infra/lib/__tests__/DecisionTracer.test.js +274 -0
- package/dist/infra/lib/__tests__/DecisionTracer.test.js.map +1 -0
- package/dist/infra/lib/__tests__/InteractiveCheckpoint.test.d.ts +2 -0
- package/dist/infra/lib/__tests__/InteractiveCheckpoint.test.d.ts.map +1 -0
- package/dist/infra/lib/__tests__/InteractiveCheckpoint.test.js +350 -0
- package/dist/infra/lib/__tests__/InteractiveCheckpoint.test.js.map +1 -0
- package/dist/infra/lib/__tests__/LoopBreaker.test.d.ts +2 -0
- package/dist/infra/lib/__tests__/LoopBreaker.test.d.ts.map +1 -0
- package/dist/infra/lib/__tests__/LoopBreaker.test.js +340 -0
- package/dist/infra/lib/__tests__/LoopBreaker.test.js.map +1 -0
- package/dist/infra/lib/__tests__/VerificationLoop.test.d.ts +2 -0
- package/dist/infra/lib/__tests__/VerificationLoop.test.d.ts.map +1 -0
- package/dist/infra/lib/__tests__/VerificationLoop.test.js +486 -0
- package/dist/infra/lib/__tests__/VerificationLoop.test.js.map +1 -0
- package/dist/infra/lib/autonomy/AuditStore.js +41 -41
- package/dist/infra/lib/autonomy/ConfirmationStore.js +30 -30
- package/dist/infra/lib/autonomy/EventOutbox.js +38 -38
- package/dist/infra/lib/autonomy/PolicyEngine.d.ts +3 -3
- package/dist/infra/lib/autonomy/PolicyEngine.js +18 -18
- package/dist/infra/lib/autonomy/SecuritySentinel.js +1 -1
- package/dist/infra/lib/autonomy/SuggestionStore.js +33 -33
- package/dist/infra/lib/embedding/VectorStore.js +22 -22
- package/dist/infra/lib/embedding/__tests__/EmbeddingProvider.test.js +4 -0
- package/dist/infra/lib/embedding/__tests__/EmbeddingProvider.test.js.map +1 -1
- package/dist/infra/lib/evolution/AgentAnalyzer.js +10 -10
- package/dist/infra/lib/evolution/DeprecationDetector.d.ts +68 -0
- package/dist/infra/lib/evolution/DeprecationDetector.d.ts.map +1 -0
- package/dist/infra/lib/evolution/DeprecationDetector.js +207 -0
- package/dist/infra/lib/evolution/DeprecationDetector.js.map +1 -0
- package/dist/infra/lib/evolution/DescriptionOptimizer.js +21 -21
- package/dist/infra/lib/evolution/GenerationRegistry.js +36 -36
- package/dist/infra/lib/evolution/InsightStore.js +90 -90
- package/dist/infra/lib/evolution/ParityTester.d.ts +74 -0
- package/dist/infra/lib/evolution/ParityTester.d.ts.map +1 -0
- package/dist/infra/lib/evolution/ParityTester.js +238 -0
- package/dist/infra/lib/evolution/ParityTester.js.map +1 -0
- package/dist/infra/lib/evolution/RollbackManager.js +5 -5
- package/dist/infra/lib/evolution/SkillBenchmark.js +23 -23
- package/dist/infra/lib/evolution/SkillEvalRunner.js +50 -50
- package/dist/infra/lib/evolution/SkillGapDetector.js +10 -10
- package/dist/infra/lib/evolution/UsageTracker.js +28 -28
- package/dist/infra/lib/evolution/__tests__/deprecation.test.d.ts +2 -0
- package/dist/infra/lib/evolution/__tests__/deprecation.test.d.ts.map +1 -0
- package/dist/infra/lib/evolution/__tests__/deprecation.test.js +251 -0
- package/dist/infra/lib/evolution/__tests__/deprecation.test.js.map +1 -0
- package/dist/infra/lib/evolution/__tests__/parity.test.d.ts +2 -0
- package/dist/infra/lib/evolution/__tests__/parity.test.d.ts.map +1 -0
- package/dist/infra/lib/evolution/__tests__/parity.test.js +319 -0
- package/dist/infra/lib/evolution/__tests__/parity.test.js.map +1 -0
- package/dist/infra/lib/evolution/index.d.ts +4 -0
- package/dist/infra/lib/evolution/index.d.ts.map +1 -1
- package/dist/infra/lib/evolution/index.js +3 -0
- package/dist/infra/lib/evolution/index.js.map +1 -1
- package/dist/infra/lib/gemini/orchestration.js +5 -5
- package/dist/infra/lib/gpt/orchestration.js +4 -4
- package/dist/infra/lib/gpt/specializations.d.ts +1 -1
- package/dist/infra/lib/gpt/specializations.js +1 -1
- package/dist/infra/lib/memory/KnowledgeGraph.js +4 -4
- package/dist/infra/lib/memory/MemorySearch.js +57 -57
- package/dist/infra/lib/memory/MemoryStorage.js +181 -181
- package/dist/infra/lib/memory/ObservationStore.js +28 -28
- package/dist/infra/lib/memory/ReflectionStore.js +30 -30
- package/dist/infra/lib/memory/SessionRAGRetriever.js +7 -7
- package/dist/infra/lib/memory/SessionRAGStore.js +225 -225
- package/dist/infra/lib/memory/SessionSummarizer.js +9 -9
- package/dist/infra/lib/telemetry/SkillTelemetry.d.ts +6 -0
- package/dist/infra/lib/telemetry/SkillTelemetry.d.ts.map +1 -1
- package/dist/infra/lib/telemetry/SkillTelemetry.js +11 -0
- package/dist/infra/lib/telemetry/SkillTelemetry.js.map +1 -1
- package/dist/infra/orchestrator/AgentManager.js +12 -12
- package/dist/infra/orchestrator/AgentRegistry.js +65 -65
- package/dist/infra/orchestrator/BackgroundManager.d.ts.map +1 -1
- package/dist/infra/orchestrator/BackgroundManager.js +2 -0
- package/dist/infra/orchestrator/BackgroundManager.js.map +1 -1
- package/dist/infra/orchestrator/MultiLlmResearch.js +8 -8
- package/dist/infra/orchestrator/PhasePipeline.js +1 -1
- package/dist/infra/orchestrator/PhasePipeline.js.map +1 -1
- package/dist/infra/orchestrator/SwarmOrchestrator.test.js +16 -16
- package/dist/infra/orchestrator/parallelResearch.js +24 -24
- package/dist/tools/convention/analyzeComplexity.test.js +115 -115
- package/dist/tools/convention/validateCodeQuality.test.js +104 -104
- package/dist/tools/index.d.ts +16 -19
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +15 -27
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/memory/createMemoryTimeline.js +10 -10
- package/dist/tools/memory/getMemoryGraph.js +12 -12
- package/dist/tools/memory/getSessionContext.js +9 -9
- package/dist/tools/memory/linkMemories.js +14 -14
- package/dist/tools/memory/listMemories.js +4 -4
- package/dist/tools/memory/recallMemory.js +4 -4
- package/dist/tools/memory/saveMemory.js +4 -4
- package/dist/tools/memory/searchMemoriesAdvanced.js +23 -23
- package/dist/tools/memory/startSession.js +1 -1
- package/dist/tools/memory/startSession.js.map +1 -1
- package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
- package/dist/tools/semantic/astGrep.test.js +6 -6
- package/dist/tools/spec/index.d.ts +0 -4
- package/dist/tools/spec/index.d.ts.map +1 -1
- package/dist/tools/spec/index.js +0 -4
- package/dist/tools/spec/index.js.map +1 -1
- package/dist/tools/spec/prdParser.test.js +171 -171
- package/dist/tools/spec/specGenerator.js +169 -169
- package/dist/tools/spec/traceabilityMatrix.js +64 -64
- package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
- package/hooks/gemini-hooks.json +73 -73
- package/hooks/hooks.json +137 -137
- package/hooks/scripts/code-check.js +77 -77
- package/hooks/scripts/context-save.js +212 -212
- package/hooks/scripts/evolution-engine.js +69 -0
- package/hooks/scripts/hud-status.js +291 -291
- package/hooks/scripts/keyword-detector.js +214 -214
- package/hooks/scripts/llm-orchestrate.js +475 -475
- package/hooks/scripts/post-edit.js +32 -32
- package/hooks/scripts/pre-tool-guard.js +125 -125
- package/hooks/scripts/prompt-dispatcher.js +185 -185
- package/hooks/scripts/sentinel-guard.js +104 -104
- package/hooks/scripts/session-start.js +106 -106
- package/hooks/scripts/skill-injector.js +83 -0
- package/hooks/scripts/stop-notify.js +209 -209
- package/hooks/scripts/utils.js +100 -100
- package/languages/csharp-unity.md +515 -515
- package/languages/gdscript-godot.md +470 -470
- package/languages/ruby-rails.md +489 -489
- package/languages/typescript-angular.md +433 -433
- package/languages/typescript-astro.md +416 -416
- package/languages/typescript-electron.md +406 -406
- package/languages/typescript-nestjs.md +524 -524
- package/languages/typescript-svelte.md +407 -407
- package/languages/typescript-tauri.md +365 -365
- package/package.json +101 -123
- package/skills/agents-md/SKILL.md +120 -120
- package/skills/arch-guard/SKILL.md +180 -180
- package/skills/brand-assets/SKILL.md +146 -146
- package/skills/capability-loop/SKILL.md +167 -167
- package/skills/characterization-test/SKILL.md +206 -206
- package/skills/commerce-patterns/SKILL.md +63 -63
- package/skills/commit-push-pr/SKILL.md +75 -75
- package/skills/context7-usage/SKILL.md +105 -105
- package/skills/core-capabilities/SKILL.md +13 -13
- package/skills/e2e-commerce/SKILL.md +61 -61
- package/skills/event-comms/SKILL.md +161 -0
- package/skills/event-ops/SKILL.md +197 -0
- package/skills/event-planning/SKILL.md +131 -0
- package/skills/exec-plan/SKILL.md +147 -147
- package/skills/frontend-design/SKILL.md +12 -12
- package/skills/git-worktree/SKILL.md +72 -72
- package/skills/handoff/SKILL.md +109 -109
- package/skills/parallel-research/SKILL.md +87 -87
- package/skills/priority-todos/SKILL.md +63 -63
- package/skills/seo-checklist/SKILL.md +57 -57
- package/skills/techdebt/SKILL.md +122 -122
- package/skills/tool-fallback/SKILL.md +103 -103
- package/skills/typescript-advanced-types/SKILL.md +66 -66
- package/skills/ui-ux-pro-max/SKILL.md +221 -221
- package/skills/vercel-react-best-practices/SKILL.md +59 -59
- package/skills/video-production/SKILL.md +51 -51
- package/vibe/config.json +29 -29
- package/vibe/constitution.md +227 -227
- package/vibe/rules/principles/communication-guide.md +98 -98
- package/vibe/rules/principles/development-philosophy.md +52 -52
- package/vibe/rules/principles/quick-start.md +102 -102
- package/vibe/rules/quality/bdd-contract-testing.md +393 -393
- package/vibe/rules/quality/checklist.md +276 -276
- package/vibe/rules/quality/performance.md +236 -236
- package/vibe/rules/quality/testing-strategy.md +440 -440
- package/vibe/rules/standards/anti-patterns.md +541 -541
- package/vibe/rules/standards/code-structure.md +291 -291
- package/vibe/rules/standards/complexity-metrics.md +313 -313
- package/vibe/rules/standards/git-workflow.md +237 -237
- package/vibe/rules/standards/naming-conventions.md +198 -198
- package/vibe/rules/standards/security.md +305 -305
- package/vibe/rules/writing/document-style.md +74 -74
- package/vibe/setup.sh +31 -31
- package/vibe/templates/constitution-template.md +252 -252
- package/vibe/templates/contract-backend-template.md +526 -526
- package/vibe/templates/contract-frontend-template.md +599 -599
- package/vibe/templates/feature-template.md +96 -96
- package/vibe/templates/spec-template.md +221 -221
- package/vibe/ui-ux-data/charts.csv +26 -26
- package/vibe/ui-ux-data/colors.csv +97 -97
- package/vibe/ui-ux-data/icons.csv +101 -101
- package/vibe/ui-ux-data/landing.csv +31 -31
- package/vibe/ui-ux-data/products.csv +96 -96
- package/vibe/ui-ux-data/react-performance.csv +45 -45
- package/vibe/ui-ux-data/stacks/astro.csv +54 -54
- package/vibe/ui-ux-data/stacks/flutter.csv +53 -53
- package/vibe/ui-ux-data/stacks/html-tailwind.csv +56 -56
- package/vibe/ui-ux-data/stacks/jetpack-compose.csv +53 -53
- package/vibe/ui-ux-data/stacks/nextjs.csv +53 -53
- package/vibe/ui-ux-data/stacks/nuxt-ui.csv +51 -51
- package/vibe/ui-ux-data/stacks/nuxtjs.csv +59 -59
- package/vibe/ui-ux-data/stacks/react-native.csv +52 -52
- package/vibe/ui-ux-data/stacks/react.csv +54 -54
- package/vibe/ui-ux-data/stacks/shadcn.csv +61 -61
- package/vibe/ui-ux-data/stacks/svelte.csv +54 -54
- package/vibe/ui-ux-data/stacks/swiftui.csv +51 -51
- package/vibe/ui-ux-data/stacks/vue.csv +50 -50
- package/vibe/ui-ux-data/styles.csv +68 -68
- package/vibe/ui-ux-data/typography.csv +57 -57
- package/vibe/ui-ux-data/ui-reasoning.csv +101 -101
- package/vibe/ui-ux-data/ux-guidelines.csv +99 -99
- package/vibe/ui-ux-data/version.json +31 -31
- package/vibe/ui-ux-data/web-interface.csv +31 -31
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: event-ops
|
|
3
|
+
description: "Event operations — nametags, checklists, operational slides, Slido plans, image generation specs, settlement reports."
|
|
4
|
+
triggers: [nametag, checklist, event slide, slido, 이름표, 체크리스트, 운영 슬라이드, 정산]
|
|
5
|
+
priority: 65
|
|
6
|
+
---
|
|
7
|
+
# Event Operations
|
|
8
|
+
|
|
9
|
+
Nametags, checklists, operational slides, Slido configuration, image generation, and settlement.
|
|
10
|
+
|
|
11
|
+
## Nametags
|
|
12
|
+
|
|
13
|
+
### Specs
|
|
14
|
+
- Size: 85mm × 60mm
|
|
15
|
+
- A4 layout: 8 per page (2 columns × 4 rows)
|
|
16
|
+
- Layout: Company(9pt gray) / Role(9pt gray) / Name(18pt bold) / Brand(7pt bottom-right)
|
|
17
|
+
- Output: HTML → browser A4 print
|
|
18
|
+
- Data: webhook participant CSV, or blank template if unavailable
|
|
19
|
+
|
|
20
|
+
### Community Brand
|
|
21
|
+
|
|
22
|
+
| MDC | webinar | DWK |
|
|
23
|
+
|-----|---------|-----|
|
|
24
|
+
| 마케팅데이터커넥트 | (none) | DATA + WOMEN KOREA TUG |
|
|
25
|
+
|
|
26
|
+
### HTML Template Structure
|
|
27
|
+
```html
|
|
28
|
+
<!DOCTYPE html>
|
|
29
|
+
<html>
|
|
30
|
+
<head>
|
|
31
|
+
<style>
|
|
32
|
+
@page { size: A4; margin: 10mm; }
|
|
33
|
+
.nametag-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 5mm; }
|
|
34
|
+
.nametag {
|
|
35
|
+
width: 85mm; height: 60mm;
|
|
36
|
+
border: 1px dashed #ccc;
|
|
37
|
+
padding: 8mm;
|
|
38
|
+
display: flex; flex-direction: column;
|
|
39
|
+
justify-content: center; position: relative;
|
|
40
|
+
}
|
|
41
|
+
.company { font-size: 9pt; color: #888; }
|
|
42
|
+
.role { font-size: 9pt; color: #888; }
|
|
43
|
+
.name { font-size: 18pt; font-weight: bold; margin: 4mm 0; }
|
|
44
|
+
.brand { font-size: 7pt; position: absolute; bottom: 3mm; right: 5mm; color: #aaa; }
|
|
45
|
+
</style>
|
|
46
|
+
</head>
|
|
47
|
+
<body>
|
|
48
|
+
<div class="nametag-grid">
|
|
49
|
+
<!-- Repeat for each participant -->
|
|
50
|
+
<div class="nametag">
|
|
51
|
+
<span class="company">{company}</span>
|
|
52
|
+
<span class="role">{role}</span>
|
|
53
|
+
<span class="name">{name}</span>
|
|
54
|
+
<span class="brand">{brand}</span>
|
|
55
|
+
</div>
|
|
56
|
+
</div>
|
|
57
|
+
</body>
|
|
58
|
+
</html>
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Checklist (D-1)
|
|
62
|
+
|
|
63
|
+
Fixed 4 items for all offline events:
|
|
64
|
+
|
|
65
|
+
```markdown
|
|
66
|
+
## D-1 체크리스트
|
|
67
|
+
|
|
68
|
+
- [ ] 생수/간식/식사 주문
|
|
69
|
+
- [ ] 이름표 출력
|
|
70
|
+
- [ ] 행사 운영 슬라이드
|
|
71
|
+
- [ ] 스크린/카메라/삼각대 준비
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Operational Slides
|
|
75
|
+
|
|
76
|
+
### Format
|
|
77
|
+
- PPTX (16:9)
|
|
78
|
+
- Generated with python-pptx
|
|
79
|
+
- Community colors + timetable patterns
|
|
80
|
+
|
|
81
|
+
### Slide Structure (5-7 slides)
|
|
82
|
+
1. Cover (event name, topic, datetime, venue)
|
|
83
|
+
2. Timetable (community-specific pattern)
|
|
84
|
+
3~N. Speaker intro (1 slide per speaker)
|
|
85
|
+
N+1. Q&A + Networking (Slido QR placeholder)
|
|
86
|
+
N+2. Thank you + community links
|
|
87
|
+
|
|
88
|
+
### Community Colors
|
|
89
|
+
|
|
90
|
+
| MDC | webinar | DWK |
|
|
91
|
+
|-----|---------|-----|
|
|
92
|
+
| #ff6b35 (orange) | #a78bfa (purple) | #34d399 (mint) |
|
|
93
|
+
|
|
94
|
+
### Timetable Patterns
|
|
95
|
+
|
|
96
|
+
**MDC (3 speakers)**
|
|
97
|
+
```
|
|
98
|
+
19:00-19:10 오프닝 + 네트워킹
|
|
99
|
+
19:10-19:35 세션 1: {speaker1_name} — {topic1}
|
|
100
|
+
19:35-20:00 세션 2: {speaker2_name} — {topic2}
|
|
101
|
+
20:00-20:25 세션 3: {speaker3_name} — {topic3}
|
|
102
|
+
20:25-20:40 Q&A + Slido
|
|
103
|
+
20:40-21:00 네트워킹
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
**Webinar (1-2 speakers)**
|
|
107
|
+
```
|
|
108
|
+
19:30-19:35 오프닝
|
|
109
|
+
19:35-20:30 세션: {speaker_name} — {topic}
|
|
110
|
+
20:30-20:50 Q&A
|
|
111
|
+
20:50-21:00 마무리
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
**DWK (1-3 speakers + discussion)**
|
|
115
|
+
```
|
|
116
|
+
14:00-14:10 오프닝 + 아이스브레이커
|
|
117
|
+
14:10-14:40 세션 1: {speaker1_name} — {topic1}
|
|
118
|
+
14:40-15:10 세션 2: {speaker2_name} — {topic2}
|
|
119
|
+
15:10-15:30 쉬는 시간
|
|
120
|
+
15:30-16:00 토론 세션
|
|
121
|
+
16:00-16:30 네트워킹
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## Slido Configuration
|
|
125
|
+
|
|
126
|
+
API is read-only → Claude outputs plan → user manually configures.
|
|
127
|
+
|
|
128
|
+
### Community Presets
|
|
129
|
+
|
|
130
|
+
| Community | Items | Structure |
|
|
131
|
+
|-----------|-------|-----------|
|
|
132
|
+
| MDC | 5 | Icebreaker + Pre-Q&A + Balance game 2-3 + Satisfaction |
|
|
133
|
+
| Webinar | 5 | Icebreaker + Skill check + Live Q&A + Word cloud + Feedback |
|
|
134
|
+
| DWK | 10 | Icebreaker + Session feedback + Word cloud + Balance game 3 + Opinion poll 2 + Experience share + Feedback |
|
|
135
|
+
|
|
136
|
+
## Image Generation
|
|
137
|
+
|
|
138
|
+
### Model
|
|
139
|
+
Gemini (`gemini-3-pro-image-preview`)
|
|
140
|
+
|
|
141
|
+
### Specs by Community
|
|
142
|
+
|
|
143
|
+
| Community | Size | Purpose |
|
|
144
|
+
|-----------|------|---------|
|
|
145
|
+
| MDC | 500×500 | Listing thumbnail |
|
|
146
|
+
| MDC | 595×842 | A4 poster |
|
|
147
|
+
| Webinar | 1080×1080 | Instagram/Threads 1:1 |
|
|
148
|
+
| Webinar | 1920×1080 | YouTube 16:9 |
|
|
149
|
+
| Webinar | 1440×1080 | Zoom background 4:3 |
|
|
150
|
+
| DWK | 2000×500 | Banner 4:1 |
|
|
151
|
+
| DWK | 1080×1080 | SNS 1:1 |
|
|
152
|
+
|
|
153
|
+
### Prompt Dual Structure
|
|
154
|
+
- **API prompt**: No length limit, detailed (colors, layout, text position, logo placement)
|
|
155
|
+
- **User prompt**: ≤400 chars summary → `output/images/{type}_prompt.txt`
|
|
156
|
+
|
|
157
|
+
### Logo Auto-include
|
|
158
|
+
- Source: `data/assets/common/images/{community} logo.png`
|
|
159
|
+
- Auto-append: "Place logo naturally at bottom-left"
|
|
160
|
+
|
|
161
|
+
### Smart Resizing
|
|
162
|
+
- Same ratio → Pillow scale only (no API call)
|
|
163
|
+
- Different ratio → Gemini re-generate (pass original as reference, no white margins)
|
|
164
|
+
|
|
165
|
+
## Settlement
|
|
166
|
+
|
|
167
|
+
### MDC
|
|
168
|
+
Revenue(attendance fees) - Expenses(venue, snacks, speaker gifts) = Markdown settlement report
|
|
169
|
+
|
|
170
|
+
### DWK
|
|
171
|
+
Stripe receipts + speaker gifts → Slack Workflow settlement message (future)
|
|
172
|
+
|
|
173
|
+
### Webinar
|
|
174
|
+
Free — no settlement needed
|
|
175
|
+
|
|
176
|
+
## Intro Page Structure (Common)
|
|
177
|
+
|
|
178
|
+
1. Hook sentence (2-3 lines)
|
|
179
|
+
2. Event info (datetime/venue/fee)
|
|
180
|
+
3. "Recommended for" (5 items)
|
|
181
|
+
4. "What you'll learn" (5 items)
|
|
182
|
+
5. Speaker intro (1 paragraph per speaker)
|
|
183
|
+
6. Program timetable
|
|
184
|
+
7. Attendance benefits
|
|
185
|
+
8. CTA + quote
|
|
186
|
+
|
|
187
|
+
## Speaker Research
|
|
188
|
+
|
|
189
|
+
- Check past topic overlap → suggest 3 trend-based topics
|
|
190
|
+
- Collect related post URLs from LinkedIn/Threads/X/Blog/Brunch/Publy
|
|
191
|
+
- Use WebSearch tool (free)
|
|
192
|
+
|
|
193
|
+
## Speaker Outreach
|
|
194
|
+
|
|
195
|
+
- DM draft (short, 5-line version) + email draft (formal)
|
|
196
|
+
- Auto-reference existing contact history (for re-outreach)
|
|
197
|
+
- Business card image + LinkedIn URL → `data/speakers/{name}.json` accumulation
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: event-planning
|
|
3
|
+
description: "Community event automation — D-Day timeline, community patterns, proactive task execution. Auto-activates for event planning, meetup/webinar/conference management."
|
|
4
|
+
triggers: [event planning, meetup, webinar, conference, 행사, 밋업, 웨비나, D-Day, 이벤트 준비]
|
|
5
|
+
priority: 70
|
|
6
|
+
---
|
|
7
|
+
# Event Planning
|
|
8
|
+
|
|
9
|
+
Community event automation with D-Day based proactive execution.
|
|
10
|
+
|
|
11
|
+
## Supported Communities
|
|
12
|
+
|
|
13
|
+
| Code | Name | Format | Schedule |
|
|
14
|
+
|------|------|--------|----------|
|
|
15
|
+
| `MDC` | 마케팅데이터커넥트 | Offline meetup, 3 speakers × 20-25min | Odd months, last week weekday 19:00 |
|
|
16
|
+
| `webinar` | 퇴근후AI | Online Zoom, 1-2 speakers × 50-60min | Irregular |
|
|
17
|
+
| `DWK` | Data+Women Korea | Offline/Online, 1-3 speakers + discussion | Irregular |
|
|
18
|
+
|
|
19
|
+
## D-Day Timeline
|
|
20
|
+
|
|
21
|
+
### MDC (D-60 → D+2, 11 steps)
|
|
22
|
+
|
|
23
|
+
| D-Day | Task | Outputs | Confirm |
|
|
24
|
+
|-------|------|---------|---------|
|
|
25
|
+
| D-60 | Topic selection + speaker research | 3 topics + speaker research | — |
|
|
26
|
+
| D-45 | Speaker outreach | DM + email drafts | — |
|
|
27
|
+
| D-40 | Speaker topic confirmation request | Confirmation email | — |
|
|
28
|
+
| D-28 | **Registration page open** | Intro + 2 images + 3 SMS + 1 email + prompts | — |
|
|
29
|
+
| D-30 | SNS promo + notification SMS | LinkedIn/Threads + SMS send | ✅ send |
|
|
30
|
+
| D-14 | Remind | LinkedIn/Threads remind | — |
|
|
31
|
+
| D-3 | Confirmation email + SMS | BCC email + SMS send | ✅ send |
|
|
32
|
+
| D-1 | Nametags + checklist + slides + remind SMS | HTML + MD + PPTX + SMS draft | ✅ print/send |
|
|
33
|
+
| D-Day | Day-of remind | SMS send | ✅ send |
|
|
34
|
+
| D+1 | Review + settlement | Review draft + settlement template | — |
|
|
35
|
+
| D+2 | Site update | (manual) | — |
|
|
36
|
+
|
|
37
|
+
### Webinar (Planning → D+1, 5 steps)
|
|
38
|
+
|
|
39
|
+
| D-Day | Task | Outputs | Confirm |
|
|
40
|
+
|-------|------|---------|---------|
|
|
41
|
+
| Planning | Event page | Intro + 3 images + SMS + email + prompts | — |
|
|
42
|
+
| Planning | SNS promo | LinkedIn/Threads | — |
|
|
43
|
+
| D-4 | Zoom + notification | Zoom link(manual) + email(BCC) + SMS | ✅ send |
|
|
44
|
+
| D-Day | Day-of ops | SMS + slides | ✅ send |
|
|
45
|
+
| D+1 | Review post | LinkedIn/Threads | — |
|
|
46
|
+
|
|
47
|
+
### DWK (D-30 → D+3, 9 steps)
|
|
48
|
+
|
|
49
|
+
| D-Day | Task | Outputs | Confirm |
|
|
50
|
+
|-------|------|---------|---------|
|
|
51
|
+
| D-30 | Topic + speaker research | 3 topics + speaker research | — |
|
|
52
|
+
| D-25 | Speaker outreach | DM + email drafts | — |
|
|
53
|
+
| D-20 | Speaker topic confirmation | Confirmation email | — |
|
|
54
|
+
| D-16 | Event page | Intro + 2 images + SMS + email + prompts | — |
|
|
55
|
+
| D-15 | SNS promo | LinkedIn/Threads | — |
|
|
56
|
+
| D-3 | Confirmation email + SMS | BCC email + SMS | ✅ send |
|
|
57
|
+
| D-1 | Slido + ops + remind | Slido plan + PPTX + SNS remind | ✅ |
|
|
58
|
+
| D-Day | Day-of ops | SMS + nametags(offline) | ✅ send |
|
|
59
|
+
| D+3 | Review + settlement | Review draft + Stripe/Slack settlement | — |
|
|
60
|
+
|
|
61
|
+
## Proactive Execution Protocol
|
|
62
|
+
|
|
63
|
+
When user says "MDC 준비해줘" or similar:
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
1. Parse: event type + edition + date
|
|
67
|
+
2. Calculate D-Day from today
|
|
68
|
+
3. Identify current step(s) in timeline
|
|
69
|
+
4. Auto-execute ALL pending outputs for current step
|
|
70
|
+
5. Request confirmation ONLY for send/publish actions
|
|
71
|
+
6. Save state to .event_state.json
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## State File (.event_state.json)
|
|
75
|
+
|
|
76
|
+
```json
|
|
77
|
+
{
|
|
78
|
+
"event_id": "MDC-12",
|
|
79
|
+
"type": "MDC",
|
|
80
|
+
"date": "2026-03-30",
|
|
81
|
+
"title": "마케팅데이터커넥트 12회",
|
|
82
|
+
"topic": "",
|
|
83
|
+
"speakers": [],
|
|
84
|
+
"current_step": "D-28",
|
|
85
|
+
"completed_steps": ["D-60", "D-45", "D-40"],
|
|
86
|
+
"outputs": {}
|
|
87
|
+
}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Community Tone Guide
|
|
91
|
+
|
|
92
|
+
| | MDC | Webinar | DWK |
|
|
93
|
+
|---|---|---|---|
|
|
94
|
+
| Tone | Professional, practical, formal | Friendly, casual, emoji-ok | Warm, inclusive, "together" |
|
|
95
|
+
| Example | "실무에서 바로 적용" | "퇴근 후 편하게" | "데이터를 좋아하는 여성들" |
|
|
96
|
+
| Brand color | #ff6b35 (orange) | #a78bfa (purple) | #34d399 (mint) |
|
|
97
|
+
|
|
98
|
+
## Community Brand Names
|
|
99
|
+
|
|
100
|
+
| MDC | webinar | DWK |
|
|
101
|
+
|-----|---------|-----|
|
|
102
|
+
| 마케팅데이터커넥트 | (none) | DATA + WOMEN KOREA TUG |
|
|
103
|
+
|
|
104
|
+
## Confirmation Rules
|
|
105
|
+
|
|
106
|
+
| Auto-execute (no confirm) | Requires confirmation |
|
|
107
|
+
|---------------------------|----------------------|
|
|
108
|
+
| Intro/SMS/email/SNS **draft** generation | SMS/email **actual send** |
|
|
109
|
+
| Image prompt + API generation | Notion **real registration** (dry_run first) |
|
|
110
|
+
| Checklist/nametag HTML generation | — |
|
|
111
|
+
|
|
112
|
+
## Absolute Prohibitions
|
|
113
|
+
|
|
114
|
+
- No SMS/email send without user confirmation
|
|
115
|
+
- **Email recipients MUST use BCC** (never expose attendee emails to each other)
|
|
116
|
+
- No file deletion (move only)
|
|
117
|
+
- No emoji in SMS (EUC-KR incompatible)
|
|
118
|
+
- No Notion registration without dry_run first
|
|
119
|
+
- No .env file commits
|
|
120
|
+
|
|
121
|
+
## Output Directory Structure
|
|
122
|
+
|
|
123
|
+
```
|
|
124
|
+
output/
|
|
125
|
+
├── images/ ← Generated images
|
|
126
|
+
│ ├── {type}_prompt.txt ← User-facing prompt summary (≤400 chars)
|
|
127
|
+
│ └── {type}_{size}.png ← Generated images
|
|
128
|
+
├── reports/ ← Text outputs (intro, SNS, SMS, email drafts)
|
|
129
|
+
├── log.html ← Dashboard frontend
|
|
130
|
+
└── serve.py ← Dashboard server
|
|
131
|
+
```
|
|
@@ -1,147 +1,147 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: exec-plan
|
|
3
|
-
description: "Convert SPEC into a self-contained execution plan that agents can run autonomously for hours."
|
|
4
|
-
triggers: [exec plan, execution plan, autonomous plan, self-contained plan, long-running]
|
|
5
|
-
priority: 70
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# ExecPlan — Self-Contained Execution Plan Generator
|
|
9
|
-
|
|
10
|
-
> **Principle**: "If the agent can't see it, it doesn't exist." Every decision, file path, pattern, and verification step must be explicit in the plan — no implicit knowledge allowed.
|
|
11
|
-
|
|
12
|
-
## When to Use
|
|
13
|
-
|
|
14
|
-
Before `/vibe.run`, generate an ExecPlan to make execution deterministic:
|
|
15
|
-
|
|
16
|
-
| Scenario | Signal |
|
|
17
|
-
|----------|--------|
|
|
18
|
-
| Complex SPEC (3+ phases) | Agent needs long autonomous execution |
|
|
19
|
-
| Team/multi-agent execution | Multiple agents need shared understanding |
|
|
20
|
-
| Context window pressure | Plan survives `/new` session handoff |
|
|
21
|
-
| Unfamiliar codebase | Agent can't rely on implicit knowledge |
|
|
22
|
-
|
|
23
|
-
## Core Flow
|
|
24
|
-
|
|
25
|
-
```
|
|
26
|
-
SPEC + Feature → ANALYZE → RESOLVE → GENERATE → PERSIST
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
### Step 1: ANALYZE — Extract Everything Needed
|
|
30
|
-
|
|
31
|
-
Read the SPEC and Feature files, then extract:
|
|
32
|
-
|
|
33
|
-
```
|
|
34
|
-
For each Phase → For each Scenario:
|
|
35
|
-
1. Requirements (REQ-* IDs)
|
|
36
|
-
2. Given/When/Then conditions
|
|
37
|
-
3. Affected files (MUST exist — verify with Glob)
|
|
38
|
-
4. Dependencies (imports, packages)
|
|
39
|
-
5. Existing patterns to follow (read actual code, don't assume)
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
**Parallel exploration** (3+ agents):
|
|
43
|
-
- Agent 1: Map all file paths mentioned/implied in SPEC → verify they exist
|
|
44
|
-
- Agent 2: For each affected file, extract current interfaces/types/exports
|
|
45
|
-
- Agent 3: Find existing patterns (naming conventions, error handling, test structure)
|
|
46
|
-
|
|
47
|
-
### Step 2: RESOLVE — Eliminate All Ambiguity
|
|
48
|
-
|
|
49
|
-
For every decision point in the SPEC, resolve it NOW:
|
|
50
|
-
|
|
51
|
-
| Ambiguity | Resolution |
|
|
52
|
-
|-----------|------------|
|
|
53
|
-
| "Add validation" | → Which fields? What rules? What error messages? |
|
|
54
|
-
| "Handle errors" | → Which error codes? What response format? |
|
|
55
|
-
| "Follow existing pattern" | → Copy the ACTUAL pattern code into the plan |
|
|
56
|
-
| "Update tests" | → Which test file? What test framework? What assertions? |
|
|
57
|
-
|
|
58
|
-
**Rule**: If you'd need to "figure it out later", resolve it now. The plan must be executable by an agent with ZERO codebase knowledge.
|
|
59
|
-
|
|
60
|
-
### Step 3: GENERATE — Write the ExecPlan
|
|
61
|
-
|
|
62
|
-
Output format: `.claude/vibe/specs/{feature-name}-execplan.md`
|
|
63
|
-
|
|
64
|
-
```markdown
|
|
65
|
-
# ExecPlan: {feature-name}
|
|
66
|
-
|
|
67
|
-
## Meta
|
|
68
|
-
- SPEC: .claude/vibe/specs/{name}.md
|
|
69
|
-
- Feature: .claude/vibe/features/{name}.feature
|
|
70
|
-
- Generated: {timestamp}
|
|
71
|
-
- Phases: {count}
|
|
72
|
-
- Scenarios: {count}
|
|
73
|
-
|
|
74
|
-
## Pre-flight Checks
|
|
75
|
-
- [ ] `npm run build` passes
|
|
76
|
-
- [ ] `npx vitest run` passes (baseline)
|
|
77
|
-
- [ ] Required files exist: {list}
|
|
78
|
-
|
|
79
|
-
## Phase {N}: {phase-name}
|
|
80
|
-
|
|
81
|
-
### Environment
|
|
82
|
-
- Files to modify: {exact paths}
|
|
83
|
-
- Files to create: {exact paths}
|
|
84
|
-
- Dependencies to add: {package@version}
|
|
85
|
-
- Patterns to follow: (inline code snippets from codebase)
|
|
86
|
-
|
|
87
|
-
### Scenario {N}.{M}: {scenario-name}
|
|
88
|
-
|
|
89
|
-
**Given**: {precondition}
|
|
90
|
-
→ Setup: {exact code/commands to establish precondition}
|
|
91
|
-
|
|
92
|
-
**When**: {action}
|
|
93
|
-
→ Implement: {step-by-step implementation instructions}
|
|
94
|
-
- File: {path}
|
|
95
|
-
- Location: after line containing `{anchor text}`
|
|
96
|
-
- Code: (inline snippet)
|
|
97
|
-
- Imports needed: {list}
|
|
98
|
-
|
|
99
|
-
**Then**: {expected result}
|
|
100
|
-
→ Verify:
|
|
101
|
-
- Command: `{test command}`
|
|
102
|
-
- Expected: {output/behavior}
|
|
103
|
-
- Fallback: {what to do if verification fails}
|
|
104
|
-
|
|
105
|
-
### Phase {N} Gate
|
|
106
|
-
- [ ] Build: `npm run build`
|
|
107
|
-
- [ ] Tests: `npx vitest run {relevant-test-files}`
|
|
108
|
-
- [ ] Type check: `npx tsc --noEmit`
|
|
109
|
-
|
|
110
|
-
## Completion Criteria
|
|
111
|
-
- Coverage threshold: ≥95%
|
|
112
|
-
- All scenarios passing
|
|
113
|
-
- No regressions in existing tests
|
|
114
|
-
- RTM: `generateTraceabilityMatrix("{feature-name}")`
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
### Step 4: PERSIST — Save and Link
|
|
118
|
-
|
|
119
|
-
1. Save ExecPlan to `.claude/vibe/specs/{feature-name}-execplan.md`
|
|
120
|
-
2. Save session context: `save_memory("execplan-{feature}", {summary})`
|
|
121
|
-
3. Output execution command:
|
|
122
|
-
|
|
123
|
-
```
|
|
124
|
-
Ready to execute:
|
|
125
|
-
/vibe.run "{feature-name}" ultrawork
|
|
126
|
-
|
|
127
|
-
Or hand off to new session:
|
|
128
|
-
/vibe.utils --continue
|
|
129
|
-
→ Load: .claude/vibe/specs/{feature-name}-execplan.md
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
## Quality Checks
|
|
133
|
-
|
|
134
|
-
| Check | Criteria |
|
|
135
|
-
|-------|----------|
|
|
136
|
-
| No implicit knowledge | Every file path verified with Glob |
|
|
137
|
-
| No "figure it out" | Every decision resolved with actual code |
|
|
138
|
-
| Survives handoff | Plan readable without any prior context |
|
|
139
|
-
| Inline patterns | Actual code snippets, not "follow existing pattern" |
|
|
140
|
-
| Verification steps | Every scenario has a concrete verification command |
|
|
141
|
-
|
|
142
|
-
## Anti-patterns
|
|
143
|
-
|
|
144
|
-
- "See the existing implementation" → Copy the relevant code inline
|
|
145
|
-
- "Follow the pattern in X" → Show the actual pattern
|
|
146
|
-
- "Standard error handling" → Specify exact error codes and messages
|
|
147
|
-
- "Update tests accordingly" → Name the test file, framework, and assertions
|
|
1
|
+
---
|
|
2
|
+
name: exec-plan
|
|
3
|
+
description: "Convert SPEC into a self-contained execution plan that agents can run autonomously for hours."
|
|
4
|
+
triggers: [exec plan, execution plan, autonomous plan, self-contained plan, long-running]
|
|
5
|
+
priority: 70
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# ExecPlan — Self-Contained Execution Plan Generator
|
|
9
|
+
|
|
10
|
+
> **Principle**: "If the agent can't see it, it doesn't exist." Every decision, file path, pattern, and verification step must be explicit in the plan — no implicit knowledge allowed.
|
|
11
|
+
|
|
12
|
+
## When to Use
|
|
13
|
+
|
|
14
|
+
Before `/vibe.run`, generate an ExecPlan to make execution deterministic:
|
|
15
|
+
|
|
16
|
+
| Scenario | Signal |
|
|
17
|
+
|----------|--------|
|
|
18
|
+
| Complex SPEC (3+ phases) | Agent needs long autonomous execution |
|
|
19
|
+
| Team/multi-agent execution | Multiple agents need shared understanding |
|
|
20
|
+
| Context window pressure | Plan survives `/new` session handoff |
|
|
21
|
+
| Unfamiliar codebase | Agent can't rely on implicit knowledge |
|
|
22
|
+
|
|
23
|
+
## Core Flow
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
SPEC + Feature → ANALYZE → RESOLVE → GENERATE → PERSIST
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Step 1: ANALYZE — Extract Everything Needed
|
|
30
|
+
|
|
31
|
+
Read the SPEC and Feature files, then extract:
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
For each Phase → For each Scenario:
|
|
35
|
+
1. Requirements (REQ-* IDs)
|
|
36
|
+
2. Given/When/Then conditions
|
|
37
|
+
3. Affected files (MUST exist — verify with Glob)
|
|
38
|
+
4. Dependencies (imports, packages)
|
|
39
|
+
5. Existing patterns to follow (read actual code, don't assume)
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
**Parallel exploration** (3+ agents):
|
|
43
|
+
- Agent 1: Map all file paths mentioned/implied in SPEC → verify they exist
|
|
44
|
+
- Agent 2: For each affected file, extract current interfaces/types/exports
|
|
45
|
+
- Agent 3: Find existing patterns (naming conventions, error handling, test structure)
|
|
46
|
+
|
|
47
|
+
### Step 2: RESOLVE — Eliminate All Ambiguity
|
|
48
|
+
|
|
49
|
+
For every decision point in the SPEC, resolve it NOW:
|
|
50
|
+
|
|
51
|
+
| Ambiguity | Resolution |
|
|
52
|
+
|-----------|------------|
|
|
53
|
+
| "Add validation" | → Which fields? What rules? What error messages? |
|
|
54
|
+
| "Handle errors" | → Which error codes? What response format? |
|
|
55
|
+
| "Follow existing pattern" | → Copy the ACTUAL pattern code into the plan |
|
|
56
|
+
| "Update tests" | → Which test file? What test framework? What assertions? |
|
|
57
|
+
|
|
58
|
+
**Rule**: If you'd need to "figure it out later", resolve it now. The plan must be executable by an agent with ZERO codebase knowledge.
|
|
59
|
+
|
|
60
|
+
### Step 3: GENERATE — Write the ExecPlan
|
|
61
|
+
|
|
62
|
+
Output format: `.claude/vibe/specs/{feature-name}-execplan.md`
|
|
63
|
+
|
|
64
|
+
```markdown
|
|
65
|
+
# ExecPlan: {feature-name}
|
|
66
|
+
|
|
67
|
+
## Meta
|
|
68
|
+
- SPEC: .claude/vibe/specs/{name}.md
|
|
69
|
+
- Feature: .claude/vibe/features/{name}.feature
|
|
70
|
+
- Generated: {timestamp}
|
|
71
|
+
- Phases: {count}
|
|
72
|
+
- Scenarios: {count}
|
|
73
|
+
|
|
74
|
+
## Pre-flight Checks
|
|
75
|
+
- [ ] `npm run build` passes
|
|
76
|
+
- [ ] `npx vitest run` passes (baseline)
|
|
77
|
+
- [ ] Required files exist: {list}
|
|
78
|
+
|
|
79
|
+
## Phase {N}: {phase-name}
|
|
80
|
+
|
|
81
|
+
### Environment
|
|
82
|
+
- Files to modify: {exact paths}
|
|
83
|
+
- Files to create: {exact paths}
|
|
84
|
+
- Dependencies to add: {package@version}
|
|
85
|
+
- Patterns to follow: (inline code snippets from codebase)
|
|
86
|
+
|
|
87
|
+
### Scenario {N}.{M}: {scenario-name}
|
|
88
|
+
|
|
89
|
+
**Given**: {precondition}
|
|
90
|
+
→ Setup: {exact code/commands to establish precondition}
|
|
91
|
+
|
|
92
|
+
**When**: {action}
|
|
93
|
+
→ Implement: {step-by-step implementation instructions}
|
|
94
|
+
- File: {path}
|
|
95
|
+
- Location: after line containing `{anchor text}`
|
|
96
|
+
- Code: (inline snippet)
|
|
97
|
+
- Imports needed: {list}
|
|
98
|
+
|
|
99
|
+
**Then**: {expected result}
|
|
100
|
+
→ Verify:
|
|
101
|
+
- Command: `{test command}`
|
|
102
|
+
- Expected: {output/behavior}
|
|
103
|
+
- Fallback: {what to do if verification fails}
|
|
104
|
+
|
|
105
|
+
### Phase {N} Gate
|
|
106
|
+
- [ ] Build: `npm run build`
|
|
107
|
+
- [ ] Tests: `npx vitest run {relevant-test-files}`
|
|
108
|
+
- [ ] Type check: `npx tsc --noEmit`
|
|
109
|
+
|
|
110
|
+
## Completion Criteria
|
|
111
|
+
- Coverage threshold: ≥95%
|
|
112
|
+
- All scenarios passing
|
|
113
|
+
- No regressions in existing tests
|
|
114
|
+
- RTM: `generateTraceabilityMatrix("{feature-name}")`
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Step 4: PERSIST — Save and Link
|
|
118
|
+
|
|
119
|
+
1. Save ExecPlan to `.claude/vibe/specs/{feature-name}-execplan.md`
|
|
120
|
+
2. Save session context: `save_memory("execplan-{feature}", {summary})`
|
|
121
|
+
3. Output execution command:
|
|
122
|
+
|
|
123
|
+
```
|
|
124
|
+
Ready to execute:
|
|
125
|
+
/vibe.run "{feature-name}" ultrawork
|
|
126
|
+
|
|
127
|
+
Or hand off to new session:
|
|
128
|
+
/vibe.utils --continue
|
|
129
|
+
→ Load: .claude/vibe/specs/{feature-name}-execplan.md
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Quality Checks
|
|
133
|
+
|
|
134
|
+
| Check | Criteria |
|
|
135
|
+
|-------|----------|
|
|
136
|
+
| No implicit knowledge | Every file path verified with Glob |
|
|
137
|
+
| No "figure it out" | Every decision resolved with actual code |
|
|
138
|
+
| Survives handoff | Plan readable without any prior context |
|
|
139
|
+
| Inline patterns | Actual code snippets, not "follow existing pattern" |
|
|
140
|
+
| Verification steps | Every scenario has a concrete verification command |
|
|
141
|
+
|
|
142
|
+
## Anti-patterns
|
|
143
|
+
|
|
144
|
+
- "See the existing implementation" → Copy the relevant code inline
|
|
145
|
+
- "Follow the pattern in X" → Show the actual pattern
|
|
146
|
+
- "Standard error handling" → Specify exact error codes and messages
|
|
147
|
+
- "Update tests accordingly" → Name the test file, framework, and assertions
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: frontend-design
|
|
3
|
-
description: "DEPRECATED — merged into ui-ux-pro-max. Use ui-ux-pro-max for all frontend design guidance."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Frontend Design (Deprecated)
|
|
7
|
-
|
|
8
|
-
This skill has been merged into `ui-ux-pro-max`. Use that skill instead for:
|
|
9
|
-
- Bold aesthetic direction and design tokens
|
|
10
|
-
- Anti-pattern detection (generic defaults, overused fonts)
|
|
11
|
-
- Typography, color, motion, and layout guidance
|
|
12
|
-
- Pre-delivery visual quality checklists
|
|
1
|
+
---
|
|
2
|
+
name: frontend-design
|
|
3
|
+
description: "DEPRECATED — merged into ui-ux-pro-max. Use ui-ux-pro-max for all frontend design guidance."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Frontend Design (Deprecated)
|
|
7
|
+
|
|
8
|
+
This skill has been merged into `ui-ux-pro-max`. Use that skill instead for:
|
|
9
|
+
- Bold aesthetic direction and design tokens
|
|
10
|
+
- Anti-pattern detection (generic defaults, overused fonts)
|
|
11
|
+
- Typography, color, motion, and layout guidance
|
|
12
|
+
- Pre-delivery visual quality checklists
|