@su-record/vibe 2.16.3 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +15 -0
- package/CLAUDE.md +8 -8
- package/README.en.md +46 -29
- package/README.md +41 -24
- package/agents/acceptance-tester.md +56 -0
- package/agents/architect.md +25 -67
- package/agents/build-error-resolver.md +28 -97
- package/agents/code-reviewer.md +89 -0
- package/agents/diagrammer.md +34 -165
- package/agents/documenter.md +43 -0
- package/agents/e2e-tester.md +46 -277
- package/agents/event/event-ops.md +54 -77
- package/agents/event/event-planner.md +63 -0
- package/agents/figma/figma-engineer.md +76 -0
- package/agents/implementer.md +26 -41
- package/agents/security-reviewer.md +56 -0
- package/agents/tester.md +37 -33
- package/agents/ui/design-reviewer.md +62 -0
- package/agents/ui/design-system-gen.md +63 -0
- package/dist/__tests__/agent-model-sync.test.d.ts +2 -0
- package/dist/__tests__/agent-model-sync.test.d.ts.map +1 -0
- package/dist/__tests__/agent-model-sync.test.js +71 -0
- package/dist/__tests__/agent-model-sync.test.js.map +1 -0
- package/dist/cli/auth.d.ts.map +1 -1
- package/dist/cli/auth.js +8 -1
- package/dist/cli/auth.js.map +1 -1
- package/dist/cli/commands/index.d.ts +1 -0
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +1 -0
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/info.d.ts.map +1 -1
- package/dist/cli/commands/info.js +2 -0
- package/dist/cli/commands/info.js.map +1 -1
- package/dist/cli/commands/llm.d.ts +11 -0
- package/dist/cli/commands/llm.d.ts.map +1 -0
- package/dist/cli/commands/llm.js +62 -0
- package/dist/cli/commands/llm.js.map +1 -0
- package/dist/cli/commands/remove.d.ts.map +1 -1
- package/dist/cli/commands/remove.js +8 -10
- package/dist/cli/commands/remove.js.map +1 -1
- package/dist/cli/commands/setup.d.ts.map +1 -1
- package/dist/cli/commands/setup.js +35 -1
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/index.d.ts +0 -4
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +59 -6
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/llm/config.d.ts.map +1 -1
- package/dist/cli/llm/config.js +7 -0
- package/dist/cli/llm/config.js.map +1 -1
- package/dist/cli/llm/index.d.ts +1 -0
- package/dist/cli/llm/index.d.ts.map +1 -1
- package/dist/cli/llm/index.js +1 -0
- package/dist/cli/llm/index.js.map +1 -1
- package/dist/cli/llm/model-refresh.d.ts +29 -0
- package/dist/cli/llm/model-refresh.d.ts.map +1 -0
- package/dist/cli/llm/model-refresh.js +139 -0
- package/dist/cli/llm/model-refresh.js.map +1 -0
- package/dist/cli/llm/zai-commands.d.ts +15 -0
- package/dist/cli/llm/zai-commands.d.ts.map +1 -0
- package/dist/cli/llm/zai-commands.js +64 -0
- package/dist/cli/llm/zai-commands.js.map +1 -0
- package/dist/cli/postinstall/claude-agents.d.ts.map +1 -1
- package/dist/cli/postinstall/claude-agents.js +16 -77
- package/dist/cli/postinstall/claude-agents.js.map +1 -1
- package/dist/cli/postinstall/constants.d.ts.map +1 -1
- package/dist/cli/postinstall/constants.js +81 -296
- package/dist/cli/postinstall/constants.js.map +1 -1
- package/dist/cli/postinstall/cursor-agents.d.ts +5 -0
- package/dist/cli/postinstall/cursor-agents.d.ts.map +1 -1
- package/dist/cli/postinstall/cursor-agents.js +26 -68
- package/dist/cli/postinstall/cursor-agents.js.map +1 -1
- package/dist/cli/postinstall/cursor-skills.d.ts.map +1 -1
- package/dist/cli/postinstall/cursor-skills.js +26 -30
- package/dist/cli/postinstall/cursor-skills.js.map +1 -1
- package/dist/cli/postinstall/main.d.ts.map +1 -1
- package/dist/cli/postinstall/main.js +0 -2
- package/dist/cli/postinstall/main.js.map +1 -1
- package/dist/cli/setup/Provisioner.d.ts.map +1 -1
- package/dist/cli/setup/Provisioner.js +19 -21
- package/dist/cli/setup/Provisioner.js.map +1 -1
- package/dist/cli/types.d.ts +15 -0
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/cli/utils.d.ts +4 -1
- package/dist/cli/utils.d.ts.map +1 -1
- package/dist/cli/utils.js +4 -1
- package/dist/cli/utils.js.map +1 -1
- package/dist/infra/lib/FrameworkDetector.js +4 -4
- package/dist/infra/lib/FrameworkDetector.js.map +1 -1
- package/dist/infra/lib/OrchestrateWorkflow.js +2 -2
- package/dist/infra/lib/OrchestrateWorkflow.js.map +1 -1
- package/dist/infra/lib/browser/launch.js +1 -1
- package/dist/infra/lib/browser/launch.js.map +1 -1
- package/dist/infra/lib/browser/types.d.ts +1 -1
- package/dist/infra/lib/browser/types.js +1 -1
- package/dist/infra/lib/config/GlobalConfigManager.d.ts +2 -0
- package/dist/infra/lib/config/GlobalConfigManager.d.ts.map +1 -1
- package/dist/infra/lib/config/GlobalConfigManager.js +6 -0
- package/dist/infra/lib/config/GlobalConfigManager.js.map +1 -1
- package/dist/infra/lib/constants.d.ts +1 -1
- package/dist/infra/lib/constants.d.ts.map +1 -1
- package/dist/infra/lib/constants.js +4 -5
- package/dist/infra/lib/constants.js.map +1 -1
- package/dist/infra/lib/evolution/__tests__/integration.test.js +7 -7
- package/dist/infra/lib/evolution/__tests__/integration.test.js.map +1 -1
- package/dist/infra/lib/llm-availability.d.ts +4 -0
- package/dist/infra/lib/llm-availability.d.ts.map +1 -1
- package/dist/infra/lib/llm-availability.js +9 -1
- package/dist/infra/lib/llm-availability.js.map +1 -1
- package/dist/infra/lib/memory/index.d.ts +0 -2
- package/dist/infra/lib/memory/index.d.ts.map +1 -1
- package/dist/infra/lib/memory/index.js +0 -2
- package/dist/infra/lib/memory/index.js.map +1 -1
- package/dist/infra/lib/telemetry/SkillTelemetry.test.js +1 -1
- package/dist/infra/lib/telemetry/SkillTelemetry.test.js.map +1 -1
- package/dist/infra/lib/zai/client.d.ts +30 -0
- package/dist/infra/lib/zai/client.d.ts.map +1 -0
- package/dist/infra/lib/zai/client.js +124 -0
- package/dist/infra/lib/zai/client.js.map +1 -0
- package/dist/infra/lib/zai/index.d.ts +11 -0
- package/dist/infra/lib/zai/index.d.ts.map +1 -0
- package/dist/infra/lib/zai/index.js +10 -0
- package/dist/infra/lib/zai/index.js.map +1 -0
- package/dist/infra/lib/zai/orchestration.d.ts +15 -0
- package/dist/infra/lib/zai/orchestration.d.ts.map +1 -0
- package/dist/infra/lib/zai/orchestration.js +54 -0
- package/dist/infra/lib/zai/orchestration.js.map +1 -0
- package/dist/infra/lib/zai/types.d.ts +40 -0
- package/dist/infra/lib/zai/types.d.ts.map +1 -0
- package/dist/infra/lib/zai/types.js +5 -0
- package/dist/infra/lib/zai/types.js.map +1 -0
- package/dist/infra/orchestrator/SmartRouter.d.ts.map +1 -1
- package/dist/infra/orchestrator/SmartRouter.js +16 -34
- package/dist/infra/orchestrator/SmartRouter.js.map +1 -1
- package/dist/infra/orchestrator/index.d.ts +1 -0
- package/dist/infra/orchestrator/index.d.ts.map +1 -1
- package/dist/infra/orchestrator/index.js +11 -9
- package/dist/infra/orchestrator/index.js.map +1 -1
- package/dist/infra/orchestrator/types.d.ts +32 -9
- package/dist/infra/orchestrator/types.d.ts.map +1 -1
- package/dist/infra/orchestrator/types.js +68 -37
- package/dist/infra/orchestrator/types.js.map +1 -1
- package/dist/infra/orchestrator/types.test.d.ts +2 -0
- package/dist/infra/orchestrator/types.test.d.ts.map +1 -0
- package/dist/infra/orchestrator/types.test.js +57 -0
- package/dist/infra/orchestrator/types.test.js.map +1 -0
- package/dist/tools/index.d.ts +0 -4
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +0 -4
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/memory/autoSaveContext.d.ts +0 -1
- package/dist/tools/memory/autoSaveContext.d.ts.map +1 -1
- package/dist/tools/memory/autoSaveContext.js +13 -27
- package/dist/tools/memory/autoSaveContext.js.map +1 -1
- package/hooks/scripts/__tests__/code-check-detectors.test.js +2 -2
- package/hooks/scripts/__tests__/run-ledger.test.js +1 -1
- package/hooks/scripts/__tests__/scope-from-spec.test.js +12 -12
- package/hooks/scripts/__tests__/step-counter.test.js +1 -1
- package/hooks/scripts/code-check.js +16 -203
- package/hooks/scripts/context-save.js +0 -11
- package/hooks/scripts/lib/scope-from-spec.js +9 -6
- package/hooks/scripts/llm-orchestrate.js +49 -0
- package/hooks/scripts/post-edit-dispatcher.js +1 -1
- package/hooks/scripts/prompt-dispatcher.js +7 -18
- package/hooks/scripts/session-start.js +25 -35
- package/package.json +4 -4
- package/skills/agents-md/SKILL.md +62 -15
- package/skills/arch-guard/SKILL.md +1 -1
- package/skills/brand-assets/SKILL.md +2 -2
- package/skills/capability-loop/SKILL.md +1 -1
- package/skills/chub-usage/SKILL.md +1 -1
- package/skills/commerce-patterns/SKILL.md +2 -2
- package/skills/commit-push-pr/SKILL.md +0 -1
- package/skills/context7-usage/SKILL.md +1 -1
- package/skills/create-prd/agents/edge-case-finder.md +4 -4
- package/skills/create-prd/agents/prioritizer.md +4 -4
- package/skills/create-prd/agents/requirements-writer.md +3 -3
- package/skills/create-prd/agents/researcher.md +3 -3
- package/skills/create-prd/agents/reviewer.md +3 -3
- package/skills/create-prd/orchestrator.md +2 -0
- package/skills/design-refine/SKILL.md +140 -0
- package/skills/{design-polish → design-refine}/templates/polish-report.md +1 -1
- package/skills/{design-normalize → design-refine}/templates/token-audit.md +3 -3
- package/skills/design-review/SKILL.md +143 -0
- package/skills/{design-audit → design-review}/agents/a11y-auditor.md +1 -1
- package/skills/{design-audit → design-review}/agents/performance-auditor.md +1 -1
- package/skills/{design-audit → design-review}/agents/responsive-auditor.md +1 -1
- package/skills/{design-audit → design-review}/agents/slop-detector.md +1 -1
- package/skills/{design-audit → design-review}/frameworks/core-web-vitals.md +1 -1
- package/skills/{design-audit → design-review}/frameworks/wcag-checklist.md +1 -1
- package/skills/{design-audit → design-review}/orchestrator.md +5 -3
- package/skills/{design-critique → design-review}/templates/critique-report.md +3 -3
- package/skills/{design-audit → design-review}/templates/report.md +3 -3
- package/skills/design-teach/SKILL.md +11 -11
- package/skills/docs/SKILL.md +14 -16
- package/skills/e2e-commerce/SKILL.md +1 -1
- package/skills/event-comms/SKILL.md +1 -1
- package/skills/event-ops/SKILL.md +2 -2
- package/skills/event-planning/SKILL.md +1 -1
- package/skills/exec-plan/SKILL.md +2 -2
- package/skills/exec-plan/orchestrator.md +2 -0
- package/skills/figma/SKILL.md +240 -148
- package/skills/figma/rubrics/css-mapping.md +125 -0
- package/skills/git-worktree/SKILL.md +1 -1
- package/skills/handoff/SKILL.md +1 -1
- package/skills/parallel-research/SKILL.md +14 -28
- package/skills/parallel-research/orchestrator.md +2 -0
- package/skills/priority-todos/SKILL.md +1 -1
- package/skills/regress/SKILL.md +11 -0
- package/skills/restraint/SKILL.md +72 -0
- package/skills/seo-checklist/SKILL.md +2 -2
- package/skills/spec/SKILL.md +65 -836
- package/skills/test/SKILL.md +3 -3
- package/skills/tool-fallback/SKILL.md +2 -2
- package/skills/vercel-react-best-practices/SKILL.md +1 -1
- package/skills/vibe/SKILL.md +20 -35
- package/skills/vibe.analyze/SKILL.md +7 -9
- package/skills/vibe.docs/SKILL.md +1 -1
- package/skills/vibe.event/SKILL.md +27 -27
- package/skills/vibe.figma/SKILL.md +14 -18
- package/skills/vibe.harness/SKILL.md +5 -5
- package/skills/vibe.llm/SKILL.md +50 -0
- package/skills/vibe.reason/SKILL.md +0 -2
- package/skills/vibe.review/SKILL.md +45 -49
- package/skills/vibe.run/SKILL.md +2 -5
- package/skills/vibe.run/references/parallel-agents.md +33 -98
- package/skills/vibe.spec/SKILL.md +38 -535
- package/skills/vibe.utils/SKILL.md +3 -3
- package/skills/vibe.verify/SKILL.md +70 -542
- package/skills/video-production/SKILL.md +1 -1
- package/vibe/rules/orchestrator-contract.md +57 -0
- package/vibe/rules/quality/performance.md +1 -1
- package/vibe/templates/claudemd-template.md +1 -1
- package/vibe/templates/spec-template.md +35 -185
- package/agents/architect-low.md +0 -41
- package/agents/architect-medium.md +0 -59
- package/agents/compounder.md +0 -261
- package/agents/docs/api-documenter.md +0 -99
- package/agents/docs/changelog-writer.md +0 -93
- package/agents/event/event-comms.md +0 -78
- package/agents/event/event-content.md +0 -68
- package/agents/event/event-image.md +0 -95
- package/agents/event/event-scheduler.md +0 -69
- package/agents/event/event-speaker.md +0 -86
- package/agents/explorer-low.md +0 -42
- package/agents/explorer-medium.md +0 -59
- package/agents/explorer.md +0 -48
- package/agents/figma/figma-analyst.md +0 -52
- package/agents/figma/figma-architect.md +0 -112
- package/agents/figma/figma-auditor.md +0 -82
- package/agents/figma/figma-builder.md +0 -100
- package/agents/implementer-low.md +0 -43
- package/agents/implementer-medium.md +0 -52
- package/agents/junior-mentor.md +0 -141
- package/agents/planning/requirements-analyst.md +0 -84
- package/agents/planning/ux-advisor.md +0 -83
- package/agents/qa/acceptance-tester.md +0 -86
- package/agents/qa/edge-case-finder.md +0 -93
- package/agents/qa/qa-coordinator.md +0 -131
- package/agents/refactor-cleaner.md +0 -143
- package/agents/research/best-practices.md +0 -199
- package/agents/research/codebase-patterns.md +0 -157
- package/agents/research/framework-docs.md +0 -188
- package/agents/research/security-advisory.md +0 -213
- package/agents/review/architecture-reviewer.md +0 -107
- package/agents/review/complexity-reviewer.md +0 -116
- package/agents/review/data-integrity-reviewer.md +0 -88
- package/agents/review/git-history-reviewer.md +0 -103
- package/agents/review/performance-reviewer.md +0 -86
- package/agents/review/python-reviewer.md +0 -150
- package/agents/review/rails-reviewer.md +0 -139
- package/agents/review/react-reviewer.md +0 -144
- package/agents/review/security-reviewer.md +0 -80
- package/agents/review/simplicity-reviewer.md +0 -140
- package/agents/review/test-coverage-reviewer.md +0 -116
- package/agents/review/typescript-reviewer.md +0 -127
- package/agents/searcher.md +0 -54
- package/agents/simplifier.md +0 -120
- package/agents/teams/debug-team.md +0 -70
- package/agents/teams/dev-team.md +0 -88
- package/agents/teams/docs-team.md +0 -80
- package/agents/teams/figma-team.md +0 -85
- package/agents/teams/fullstack-team.md +0 -83
- package/agents/teams/lite-team.md +0 -69
- package/agents/teams/migration-team.md +0 -78
- package/agents/teams/refactor-team.md +0 -94
- package/agents/teams/research-team.md +0 -86
- package/agents/teams/review-debate-team.md +0 -125
- package/agents/teams/security-team.md +0 -81
- package/agents/ui/ui-a11y-auditor.md +0 -93
- package/agents/ui/ui-antipattern-detector.md +0 -102
- package/agents/ui/ui-dataviz-advisor.md +0 -69
- package/agents/ui/ui-design-system-gen.md +0 -57
- package/agents/ui/ui-industry-analyzer.md +0 -49
- package/agents/ui/ui-layout-architect.md +0 -65
- package/agents/ui/ui-stack-implementer.md +0 -68
- package/agents/ui/ux-compliance-reviewer.md +0 -81
- package/agents/ui-previewer.md +0 -258
- package/hooks/scripts/__tests__/keyword-detector.test.js +0 -242
- package/hooks/scripts/keyword-detector.js +0 -226
- package/skills/characterization-test/SKILL.md +0 -209
- package/skills/characterization-test/agents/behavior-capturer.md +0 -50
- package/skills/characterization-test/agents/coverage-checker.md +0 -54
- package/skills/characterization-test/agents/reporter.md +0 -50
- package/skills/characterization-test/agents/test-writer.md +0 -49
- package/skills/characterization-test/rubrics/coverage-criteria.md +0 -53
- package/skills/characterization-test/templates/test-template.ts +0 -101
- package/skills/claude-md-guide/SKILL.md +0 -353
- package/skills/claude-md-guide/rubrics/anti-patterns.md +0 -88
- package/skills/design-audit/SKILL.md +0 -154
- package/skills/design-critique/SKILL.md +0 -140
- package/skills/design-distill/SKILL.md +0 -131
- package/skills/design-normalize/SKILL.md +0 -135
- package/skills/design-polish/SKILL.md +0 -132
- package/skills/figma-convert/SKILL.md +0 -236
- package/skills/figma-extract/SKILL.md +0 -242
- package/skills/interview/SKILL.md +0 -358
- package/skills/interview/checklists/api.md +0 -101
- package/skills/interview/checklists/feature.md +0 -88
- package/skills/interview/checklists/library.md +0 -95
- package/skills/interview/checklists/mobile.md +0 -89
- package/skills/interview/checklists/webapp.md +0 -97
- package/skills/interview/checklists/website.md +0 -99
- package/skills/plan/SKILL.md +0 -254
- package/skills/rob-pike/SKILL.md +0 -66
- package/skills/spec/references/askuser-examples.md +0 -57
- package/skills/spec/references/example-session.md +0 -87
- package/skills/spec/references/templates.md +0 -194
- package/skills/spec-review/SKILL.md +0 -725
- package/skills/systematic-debugging/SKILL.md +0 -142
- package/skills/techdebt/SKILL.md +0 -126
- package/skills/techdebt/agents/analyzer.md +0 -50
- package/skills/techdebt/agents/fixer.md +0 -41
- package/skills/techdebt/agents/reviewer.md +0 -47
- package/skills/techdebt/agents/scanner.md +0 -44
- package/skills/techdebt/orchestrator.md +0 -70
- package/skills/techdebt/rubrics/severity.md +0 -51
- package/skills/techdebt/scripts/scan.js +0 -90
- package/skills/techdebt/templates/report.md +0 -86
- package/skills/typescript-advanced-types/SKILL.md +0 -68
- package/skills/typescript-advanced-types/rubrics/type-patterns.md +0 -109
- package/skills/yagni-ladder/SKILL.md +0 -90
- /package/skills/{claude-md-guide → agents-md}/templates/claude-md.md +0 -0
- /package/skills/{design-polish → design-refine}/rubrics/polish-checklist.md +0 -0
- /package/skills/{design-normalize → design-refine}/rubrics/token-naming.md +0 -0
- /package/skills/{design-distill → design-refine}/templates/design-system.md +0 -0
- /package/skills/{design-audit → design-review}/agents/scorer.md +0 -0
- /package/skills/{design-audit → design-review}/rubrics/ai-slop-patterns.md +0 -0
- /package/skills/{design-audit → design-review}/rubrics/scoring.md +0 -0
- /package/skills/{design-critique → design-review}/rubrics/ux-heuristics.md +0 -0
- /package/skills/{figma-convert → figma}/rubrics/conversion-rules.md +0 -0
- /package/skills/{figma-extract → figma}/rubrics/image-rules.md +0 -0
- /package/skills/{figma-convert → figma}/templates/component.md +0 -0
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
# Event Scheduler Agent
|
|
2
|
-
|
|
3
|
-
D-Day timeline calculation and task orchestration for community events.
|
|
4
|
-
|
|
5
|
-
## Role
|
|
6
|
-
|
|
7
|
-
- Calculate D-Day from event date and determine current phase
|
|
8
|
-
- Generate full task timeline based on community type (MDC/webinar/DWK)
|
|
9
|
-
- Register tasks to Notion TODO database via bulk API
|
|
10
|
-
- Track event state in `.event_state.json`
|
|
11
|
-
- Trigger appropriate agents for each phase's deliverables
|
|
12
|
-
|
|
13
|
-
## Model
|
|
14
|
-
|
|
15
|
-
**Sonnet** — Needs structured reasoning for timeline calculation + API coordination
|
|
16
|
-
|
|
17
|
-
## Usage
|
|
18
|
-
|
|
19
|
-
```
|
|
20
|
-
# Auto-triggered by /vibe.event
|
|
21
|
-
Task(model: "sonnet", prompt: "Calculate D-Day for MDC 12th on 2026-03-30 and generate timeline")
|
|
22
|
-
|
|
23
|
-
# Direct invocation
|
|
24
|
-
"MDC 12차 3/30 준비해줘" → scheduler determines current phase → dispatches work
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
## Process
|
|
28
|
-
|
|
29
|
-
1. Parse event request: type, edition, date, topic (if provided)
|
|
30
|
-
2. Calculate D-Day from today
|
|
31
|
-
3. Look up timeline template for community type
|
|
32
|
-
4. Identify all steps that should be completed by now
|
|
33
|
-
5. For each pending step:
|
|
34
|
-
- Generate deliverables (delegate to content/comms/ops agents)
|
|
35
|
-
- Mark auto-executable items as done
|
|
36
|
-
- Queue confirmation-required items for user approval
|
|
37
|
-
6. Register remaining future tasks to Notion TODO DB
|
|
38
|
-
7. Save state to `.event_state.json`
|
|
39
|
-
|
|
40
|
-
## Notion DB Schema
|
|
41
|
-
|
|
42
|
-
```
|
|
43
|
-
- 이름 (title): Task name
|
|
44
|
-
- 마감일 (date): YYYY-MM-DD
|
|
45
|
-
- 세부카테고리 (select): 마케팅데이터커넥트 / 퇴근후AI / DATA+WOMEN
|
|
46
|
-
- 상태 (select): D-7 이내 → "우선순위 1", else → "우선순위 2"
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
## Output
|
|
50
|
-
|
|
51
|
-
```markdown
|
|
52
|
-
## Event Timeline: {event_name}
|
|
53
|
-
|
|
54
|
-
📅 D-Day: {date} (D-{n})
|
|
55
|
-
📍 Current Phase: {phase}
|
|
56
|
-
|
|
57
|
-
### Completed
|
|
58
|
-
- [x] Step 1 — outputs: file1.md, file2.txt
|
|
59
|
-
|
|
60
|
-
### In Progress (auto-generating)
|
|
61
|
-
- [ ] Step 2 — generating intro, images, SMS drafts...
|
|
62
|
-
|
|
63
|
-
### Upcoming
|
|
64
|
-
- [ ] Step 3 (D-14) — SNS remind
|
|
65
|
-
- [ ] Step 4 (D-3) — Confirmation email + SMS
|
|
66
|
-
|
|
67
|
-
### Needs Confirmation
|
|
68
|
-
- ⚠️ SMS send to 45 recipients — approve? [Y/N]
|
|
69
|
-
```
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
# Event Speaker Agent
|
|
2
|
-
|
|
3
|
-
Speaker research, outreach drafting, and contact management for community events.
|
|
4
|
-
|
|
5
|
-
## Role
|
|
6
|
-
|
|
7
|
-
- Research potential speakers based on topic and community type
|
|
8
|
-
- Check past topic overlap to avoid duplication
|
|
9
|
-
- Suggest trend-based topics (3 recommendations)
|
|
10
|
-
- Collect speaker's public content URLs (LinkedIn, Threads, X, blog, brunch, publy)
|
|
11
|
-
- Draft outreach messages (DM short version + email formal version)
|
|
12
|
-
- Maintain speaker contact database in `data/speakers/{name}.json`
|
|
13
|
-
|
|
14
|
-
## Model
|
|
15
|
-
|
|
16
|
-
**Haiku** — Web search + data collection, speed over depth
|
|
17
|
-
|
|
18
|
-
## Usage
|
|
19
|
-
|
|
20
|
-
```
|
|
21
|
-
Task(model: "haiku", prompt: "Research speakers for MDC topic: 마케팅 자동화")
|
|
22
|
-
Task(model: "haiku", prompt: "Draft outreach for speaker 김영수 at Company X")
|
|
23
|
-
Task(model: "haiku", prompt: "Check past speakers to avoid topic duplication")
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
## Tools
|
|
27
|
-
|
|
28
|
-
- WebSearch — Search for speaker's public content
|
|
29
|
-
- WebFetch — Fetch page content for speaker profile
|
|
30
|
-
- Read — Access existing speaker database
|
|
31
|
-
- Glob — Find speaker JSON files
|
|
32
|
-
|
|
33
|
-
## Process
|
|
34
|
-
|
|
35
|
-
### Research
|
|
36
|
-
1. Receive topic and community type
|
|
37
|
-
2. Search for related content authors via WebSearch
|
|
38
|
-
3. Check `data/speakers/` for past speakers and their topics
|
|
39
|
-
4. Identify topic overlaps and suggest alternatives
|
|
40
|
-
5. Collect public profile URLs for each candidate
|
|
41
|
-
6. Output research summary with ranked candidates
|
|
42
|
-
|
|
43
|
-
### Outreach
|
|
44
|
-
1. Load speaker data from `data/speakers/{name}.json`
|
|
45
|
-
2. Check contact history (prior outreach, responses)
|
|
46
|
-
3. Generate DM draft (5 lines, casual for re-contact)
|
|
47
|
-
4. Generate email draft (formal, with community intro)
|
|
48
|
-
5. Save updated contact record
|
|
49
|
-
|
|
50
|
-
## Speaker Data Schema
|
|
51
|
-
|
|
52
|
-
```json
|
|
53
|
-
{
|
|
54
|
-
"name": "김영수",
|
|
55
|
-
"company": "Company X",
|
|
56
|
-
"title": "Head of Marketing",
|
|
57
|
-
"linkedin": "https://linkedin.com/in/...",
|
|
58
|
-
"email": "...",
|
|
59
|
-
"topics_presented": ["2025-09 MDC: 마케팅 데이터 파이프라인"],
|
|
60
|
-
"contact_history": [
|
|
61
|
-
{ "date": "2025-07-15", "type": "dm", "status": "accepted" }
|
|
62
|
-
],
|
|
63
|
-
"notes": ""
|
|
64
|
-
}
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
## Output
|
|
68
|
-
|
|
69
|
-
```markdown
|
|
70
|
-
## Speaker Research: {topic}
|
|
71
|
-
|
|
72
|
-
### Recommended Speakers (Ranked)
|
|
73
|
-
1. **{name}** — {company}, {title}
|
|
74
|
-
- Relevant content: {url1}, {url2}
|
|
75
|
-
- Past topics: {or "None (new speaker)"}
|
|
76
|
-
- Fit score: ★★★★☆
|
|
77
|
-
|
|
78
|
-
### Topic Suggestions (trend-based)
|
|
79
|
-
1. {topic1} — {reason}
|
|
80
|
-
2. {topic2} — {reason}
|
|
81
|
-
3. {topic3} — {reason}
|
|
82
|
-
|
|
83
|
-
### Outreach Drafts
|
|
84
|
-
📄 DM: output/reports/{event_id}_dm_{speaker}.txt
|
|
85
|
-
📄 Email: output/reports/{event_id}_email_{speaker}.txt
|
|
86
|
-
```
|
package/agents/explorer-low.md
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
# Explorer Agent - Low Tier (Haiku)
|
|
2
|
-
|
|
3
|
-
Fast codebase exploration for simple searches.
|
|
4
|
-
|
|
5
|
-
## Role
|
|
6
|
-
|
|
7
|
-
- Quick file/pattern search
|
|
8
|
-
- Basic structure analysis
|
|
9
|
-
- Simple dependency checking
|
|
10
|
-
|
|
11
|
-
## Model
|
|
12
|
-
|
|
13
|
-
**Haiku** - Optimized for fast, simple searches
|
|
14
|
-
|
|
15
|
-
## When to Use
|
|
16
|
-
|
|
17
|
-
- Single file lookups
|
|
18
|
-
- Simple pattern matching
|
|
19
|
-
- Quick structure overview
|
|
20
|
-
- Cost-sensitive operations
|
|
21
|
-
|
|
22
|
-
## Usage
|
|
23
|
-
|
|
24
|
-
```
|
|
25
|
-
Task(model: "haiku", subagent_type: "Explore", prompt: "Find files matching *.ts in src/")
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
## Process
|
|
29
|
-
|
|
30
|
-
1. Quick pattern match (Glob)
|
|
31
|
-
2. Basic content scan (Grep)
|
|
32
|
-
3. Return file list
|
|
33
|
-
|
|
34
|
-
## Output
|
|
35
|
-
|
|
36
|
-
```markdown
|
|
37
|
-
## Quick Search Results
|
|
38
|
-
|
|
39
|
-
### Files Found
|
|
40
|
-
- src/index.ts
|
|
41
|
-
- src/utils/helper.ts
|
|
42
|
-
```
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
# Explorer Agent - Medium Tier (Sonnet)
|
|
2
|
-
|
|
3
|
-
Balanced codebase exploration with analysis.
|
|
4
|
-
|
|
5
|
-
## Role
|
|
6
|
-
|
|
7
|
-
- Thorough file/pattern search
|
|
8
|
-
- Code structure analysis
|
|
9
|
-
- Dependency graph understanding
|
|
10
|
-
- Pattern identification
|
|
11
|
-
|
|
12
|
-
## Model
|
|
13
|
-
|
|
14
|
-
**Sonnet** - Balanced speed and depth
|
|
15
|
-
|
|
16
|
-
## When to Use
|
|
17
|
-
|
|
18
|
-
- Multi-file searches
|
|
19
|
-
- Understanding code relationships
|
|
20
|
-
- Pattern discovery
|
|
21
|
-
- Standard exploration tasks
|
|
22
|
-
|
|
23
|
-
## Usage
|
|
24
|
-
|
|
25
|
-
```
|
|
26
|
-
Task(model: "sonnet", subagent_type: "Explore", prompt: "Analyze the authentication flow")
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
## Process
|
|
30
|
-
|
|
31
|
-
1. Understand project structure
|
|
32
|
-
2. Search related files (Glob, Grep)
|
|
33
|
-
3. Read and analyze key files
|
|
34
|
-
4. Identify patterns/conventions
|
|
35
|
-
5. Map dependencies
|
|
36
|
-
6. Return detailed summary
|
|
37
|
-
|
|
38
|
-
## Output
|
|
39
|
-
|
|
40
|
-
```markdown
|
|
41
|
-
## Exploration Results
|
|
42
|
-
|
|
43
|
-
### Related Files
|
|
44
|
-
- src/auth/login.ts (entry point)
|
|
45
|
-
- src/auth/service.ts (business logic)
|
|
46
|
-
- src/auth/types.ts (type definitions)
|
|
47
|
-
|
|
48
|
-
### Discovered Patterns
|
|
49
|
-
- Auth uses JWT tokens
|
|
50
|
-
- Session stored in Redis
|
|
51
|
-
- Refresh token rotation enabled
|
|
52
|
-
|
|
53
|
-
### Dependencies
|
|
54
|
-
- jsonwebtoken: ^9.0.0
|
|
55
|
-
- redis: ^4.0.0
|
|
56
|
-
|
|
57
|
-
### Code Flow
|
|
58
|
-
login.ts → service.ts → database.ts → redis cache
|
|
59
|
-
```
|
package/agents/explorer.md
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
# Explorer Agent (Haiku 4.5)
|
|
2
|
-
|
|
3
|
-
Codebase exploration specialist sub-agent.
|
|
4
|
-
|
|
5
|
-
## Role
|
|
6
|
-
|
|
7
|
-
- Codebase analysis
|
|
8
|
-
- File/pattern search
|
|
9
|
-
- Dependency checking
|
|
10
|
-
- Related code collection
|
|
11
|
-
|
|
12
|
-
## Model
|
|
13
|
-
|
|
14
|
-
**Haiku 4.5** - Optimized for fast exploration
|
|
15
|
-
|
|
16
|
-
## Usage
|
|
17
|
-
|
|
18
|
-
Call via Task tool:
|
|
19
|
-
```
|
|
20
|
-
Task(model: "haiku", subagent_type: "Explore")
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
## Process
|
|
24
|
-
|
|
25
|
-
1. Understand project structure
|
|
26
|
-
2. Search related files (Glob, Grep)
|
|
27
|
-
3. Read and analyze code
|
|
28
|
-
4. Identify patterns/conventions
|
|
29
|
-
5. Return summary
|
|
30
|
-
|
|
31
|
-
## Output
|
|
32
|
-
|
|
33
|
-
```markdown
|
|
34
|
-
## Exploration Results
|
|
35
|
-
|
|
36
|
-
### Related Files
|
|
37
|
-
- src/components/Button.tsx (UI component)
|
|
38
|
-
- src/hooks/useAuth.ts (auth hook)
|
|
39
|
-
|
|
40
|
-
### Discovered Patterns
|
|
41
|
-
- Components: Functional + TypeScript
|
|
42
|
-
- State management: Zustand
|
|
43
|
-
- Styling: Tailwind CSS
|
|
44
|
-
|
|
45
|
-
### Dependencies
|
|
46
|
-
- react: ^18.2.0
|
|
47
|
-
- zustand: ^4.4.0
|
|
48
|
-
```
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
# Figma Analyst Agent
|
|
2
|
-
|
|
3
|
-
Figma 디자인 데이터 수집 + 정제 전문 에이전트.
|
|
4
|
-
|
|
5
|
-
## Role
|
|
6
|
-
|
|
7
|
-
- Phase 2: Figma API로 BP별 데이터 수집 (tree.json, BG, content, sections)
|
|
8
|
-
- Phase 3: tree.json → sections.json 정제 (BP별 독립)
|
|
9
|
-
- 디자인 의도 해석: 왜 이 구조인가, 어떤 패턴이 반복되는가
|
|
10
|
-
- 공유 패턴 발견: 반복 INSTANCE → 공통 컴포넌트 후보 도출
|
|
11
|
-
- 디자인 토큰 추출: 색상/간격/타이포 일관성 감지
|
|
12
|
-
|
|
13
|
-
## Tools
|
|
14
|
-
|
|
15
|
-
- Bash (figma-extract.js 실행)
|
|
16
|
-
- Read/Write (tree.json, sections.json)
|
|
17
|
-
- Glob/Grep (프로젝트 토큰 스캔)
|
|
18
|
-
|
|
19
|
-
## 입력
|
|
20
|
-
|
|
21
|
-
- Figma fileKey, nodeId (BP별)
|
|
22
|
-
- /tmp/{feature}/ 작업 디렉토리
|
|
23
|
-
|
|
24
|
-
## 출력
|
|
25
|
-
|
|
26
|
-
```
|
|
27
|
-
/tmp/{feature}/{bp}-main/
|
|
28
|
-
tree.json ← Figma API 원본
|
|
29
|
-
sections.json ← 정제된 섹션별 트리 (Phase 4 입력)
|
|
30
|
-
bg/ ← BG 프레임 렌더링
|
|
31
|
-
content/ ← 콘텐츠/벡터글자 렌더링
|
|
32
|
-
sections/ ← 검증용 스크린샷
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
## sections.json 정제 규칙
|
|
36
|
-
|
|
37
|
-
⛔ 전체 하위 트리(children 재귀) 필수 — 잎 노드까지.
|
|
38
|
-
⛔ tree.json을 다시 참조할 필요 없이 sections.json만으로 코드 생성 가능해야 함.
|
|
39
|
-
|
|
40
|
-
정제:
|
|
41
|
-
1. 크기 0px 노드 → 제거
|
|
42
|
-
2. VECTOR 장식선 (w/h ≤ 2px) → 제거
|
|
43
|
-
3. isMask 노드 → 제거
|
|
44
|
-
4. BG 프레임 → children에서 분리, images.bg로 이동
|
|
45
|
-
5. 벡터 글자 GROUP → children에서 분리, images.content에 추가
|
|
46
|
-
6. 디자인 텍스트 (fills 다중/gradient, effects 있는 TEXT) → images.content에 추가
|
|
47
|
-
7. 나머지 노드 → children에 유지 (CSS 포함, 재귀)
|
|
48
|
-
|
|
49
|
-
## 스킬 참조
|
|
50
|
-
|
|
51
|
-
- figma-extract/SKILL.md
|
|
52
|
-
- figma-extract/rubrics/image-rules.md
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
# Figma Architect Agent
|
|
2
|
-
|
|
3
|
-
컴포넌트 설계 전문 에이전트. sections.json → component-spec.json.
|
|
4
|
-
|
|
5
|
-
## Role
|
|
6
|
-
|
|
7
|
-
- Phase 3.5: sections.json 분석 → 컴포넌트 설계서 작성
|
|
8
|
-
- 컴포넌트 트리 설계: 어디서 자르고 어떻게 합칠지
|
|
9
|
-
- Props/Slots 인터페이스 정의
|
|
10
|
-
- 공유 vs 고유 컴포넌트 결정
|
|
11
|
-
- HTML 시맨틱 구조 확정
|
|
12
|
-
- 이미지 분류: BG / 콘텐츠 / 장식 / 벡터 글자
|
|
13
|
-
|
|
14
|
-
## Tools
|
|
15
|
-
|
|
16
|
-
- Read (sections.json, component-index.json, project-tokens.json)
|
|
17
|
-
- Write (component-spec.json)
|
|
18
|
-
- Glob/Grep (기존 컴포넌트 스캔)
|
|
19
|
-
|
|
20
|
-
## 입력
|
|
21
|
-
|
|
22
|
-
- /tmp/{feature}/{bp}-main/sections.json
|
|
23
|
-
- /tmp/{feature}/component-index.json (기존 컴포넌트)
|
|
24
|
-
- /tmp/{feature}/project-tokens.json (기존 토큰)
|
|
25
|
-
|
|
26
|
-
## 출력
|
|
27
|
-
|
|
28
|
-
```
|
|
29
|
-
/tmp/{feature}/{bp}-main/component-spec.json
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
## component-spec.json 구조
|
|
33
|
-
|
|
34
|
-
```json
|
|
35
|
-
{
|
|
36
|
-
"meta": { "feature", "bp", "designWidth" },
|
|
37
|
-
"tokens": {
|
|
38
|
-
"colors": { "$wp-navy-900": "#00264a", ... },
|
|
39
|
-
"spacing": { ... },
|
|
40
|
-
"typography": { ... }
|
|
41
|
-
},
|
|
42
|
-
"components": [
|
|
43
|
-
{
|
|
44
|
-
"name": "HeroSection",
|
|
45
|
-
"tag": "section",
|
|
46
|
-
"file": "components/{feature}/HeroSection.vue",
|
|
47
|
-
"scssFile": "assets/scss/{feature}/_hero.scss",
|
|
48
|
-
"sectionName": "Hero",
|
|
49
|
-
"children": [
|
|
50
|
-
{
|
|
51
|
-
"name": "heroBg",
|
|
52
|
-
"tag": "div",
|
|
53
|
-
"role": "bg",
|
|
54
|
-
"image": "bg/hero-bg.webp",
|
|
55
|
-
"ariaHidden": true
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
"name": "heroTitle",
|
|
59
|
-
"tag": "img",
|
|
60
|
-
"role": "content-image",
|
|
61
|
-
"image": "content/hero-title.webp",
|
|
62
|
-
"alt": "추운 겨울, 따뜻한 보상이 펑펑"
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
"name": "heroPeriod",
|
|
66
|
-
"tag": "div",
|
|
67
|
-
"role": "layout",
|
|
68
|
-
"children": [...]
|
|
69
|
-
}
|
|
70
|
-
],
|
|
71
|
-
"interactions": [
|
|
72
|
-
{ "element": "heroShare", "event": "click", "action": "emit('share')" }
|
|
73
|
-
],
|
|
74
|
-
"imageClassification": [
|
|
75
|
-
{ "node": "BG", "decision": "bg", "reason": "합성 배경, TEXT 자식 없음" },
|
|
76
|
-
{ "node": "Title > Obj", "decision": "content-image", "reason": "VECTOR 574x80, 벡터 타이틀" }
|
|
77
|
-
]
|
|
78
|
-
}
|
|
79
|
-
],
|
|
80
|
-
"shared": [
|
|
81
|
-
{ "name": "Tooltip", "usedBy": ["DailySection", "PlayTimeSection"], "props": ["text", "visible"] }
|
|
82
|
-
]
|
|
83
|
-
}
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
## 판단 기준
|
|
87
|
-
|
|
88
|
-
### 이미지 분류 (BLOCKING — 코드 전 반드시 확정)
|
|
89
|
-
- Q1. TEXT 자식 있는가? → HTML (예외: 디자인 텍스트는 이미지)
|
|
90
|
-
- Q2. INSTANCE 반복 패턴? → HTML v-for
|
|
91
|
-
- Q3. 인터랙티브? → HTML button/a
|
|
92
|
-
- Q4. 동적 데이터? → HTML 텍스트
|
|
93
|
-
- 모두 NO → 이미지 가능
|
|
94
|
-
|
|
95
|
-
### 컴포넌트 분리
|
|
96
|
-
- 1depth 자식 = 섹션 컴포넌트
|
|
97
|
-
- INSTANCE 반복 2+ = 공유 컴포넌트 후보
|
|
98
|
-
- 3곳 이상 사용 = 공유 컴포넌트 확정
|
|
99
|
-
|
|
100
|
-
### 시맨틱 태그
|
|
101
|
-
- 최상위 → section
|
|
102
|
-
- 제목 → h1~h6 (순서 유지)
|
|
103
|
-
- 설명 → p
|
|
104
|
-
- 클릭 가능 → button/a
|
|
105
|
-
- 리스트 → ul/ol > li
|
|
106
|
-
|
|
107
|
-
## ⛔ 하지 않는 것
|
|
108
|
-
|
|
109
|
-
- CSS 값 결정 (figma-to-scss.js가 함)
|
|
110
|
-
- SCSS 파일 작성
|
|
111
|
-
- vw 변환, clamp, @media
|
|
112
|
-
- 코드 파일 생성
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
# Figma Auditor Agent
|
|
2
|
-
|
|
3
|
-
픽셀 검증 전문 에이전트. 코드 직접 수정 안 함, 리포트만.
|
|
4
|
-
|
|
5
|
-
## Role
|
|
6
|
-
|
|
7
|
-
- Phase 5: 컴파일 게이트 (tsc + build + dev 서버)
|
|
8
|
-
- Phase 6: 시각 검증 (렌더링 vs Figma 스크린샷)
|
|
9
|
-
- CSS 수치 대조 (figma-validate.js)
|
|
10
|
-
- 불일치 리포트 작성 → builder에게 반환
|
|
11
|
-
|
|
12
|
-
## Tools
|
|
13
|
-
|
|
14
|
-
- Read (생성된 코드, sections.json)
|
|
15
|
-
- Bash (빌드 명령, figma-validate.js, Puppeteer/CDP)
|
|
16
|
-
- Glob/Grep (코드 검색)
|
|
17
|
-
|
|
18
|
-
## ⛔ 하지 않는 것
|
|
19
|
-
|
|
20
|
-
- 코드 직접 수정 (Write/Edit 사용 안 함)
|
|
21
|
-
- 리포트만 작성하여 builder에게 전달
|
|
22
|
-
|
|
23
|
-
## Phase 5: 컴파일 게이트
|
|
24
|
-
|
|
25
|
-
```
|
|
26
|
-
0. 베이스라인 캡처 (Phase 4 전): tsc + build 기존 에러 기록
|
|
27
|
-
→ 새 에러만 수정 대상
|
|
28
|
-
|
|
29
|
-
1. TypeScript: vue-tsc/svelte-check/tsc --noEmit
|
|
30
|
-
2. Build: npm run build (120초 타임아웃)
|
|
31
|
-
3. Dev 서버: npm run dev → 포트 감지 → 폴링
|
|
32
|
-
|
|
33
|
-
에러 발견 시:
|
|
34
|
-
→ 에러 목록 + 파일 위치 + 수정 제안을 builder에게 전달
|
|
35
|
-
→ builder가 수정 후 다시 검증 요청
|
|
36
|
-
→ P1=0 될 때까지 반복 (횟수 제한 없음)
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
## Phase 6: 시각 검증
|
|
40
|
-
|
|
41
|
-
```
|
|
42
|
-
⛔ MANDATORY — Phase 5 통과 즉시 자동 진입.
|
|
43
|
-
⛔ Phase 6 미실행 시 전체 작업은 "미완료".
|
|
44
|
-
|
|
45
|
-
1. 렌더링 스크린샷 캡처 → Figma sections/ 스크린샷과 pixelmatch
|
|
46
|
-
diffRatio > 0.1 → P1
|
|
47
|
-
2. CSS 수치 비교: computed CSS vs sections.json 기대값
|
|
48
|
-
delta > 4px → P1, ≤ 4px → P2
|
|
49
|
-
3. 이미지/텍스트 누락 체크
|
|
50
|
-
4. figma-validate.js 재실행 → 코드 수준 불일치 확인
|
|
51
|
-
|
|
52
|
-
결과를 리포트로 작성:
|
|
53
|
-
- P1 목록 (필수 수정)
|
|
54
|
-
- P2 목록 (권장 수정)
|
|
55
|
-
- 스크린샷 비교 결과
|
|
56
|
-
→ builder에게 전달
|
|
57
|
-
|
|
58
|
-
P1=0 될 때까지 반복 (횟수 제한 없음).
|
|
59
|
-
Phase 6 완료 후에만 "완료" 판정.
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
## 리포트 형식
|
|
63
|
-
|
|
64
|
-
```json
|
|
65
|
-
{
|
|
66
|
-
"phase": 5,
|
|
67
|
-
"status": "FAIL",
|
|
68
|
-
"round": 1,
|
|
69
|
-
"errors": [
|
|
70
|
-
{
|
|
71
|
-
"priority": "P1",
|
|
72
|
-
"file": "components/winter-pcbang/HeroSection.vue",
|
|
73
|
-
"line": 42,
|
|
74
|
-
"type": "css-mismatch",
|
|
75
|
-
"expected": "padding: 48px 40px 56px 40px",
|
|
76
|
-
"actual": "padding: 2rem 1.5rem",
|
|
77
|
-
"source": "sections.json > Hero > KID > css.padding"
|
|
78
|
-
}
|
|
79
|
-
],
|
|
80
|
-
"summary": { "p1": 3, "p2": 1, "pass": 12 }
|
|
81
|
-
}
|
|
82
|
-
```
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
# Figma Builder Agent
|
|
2
|
-
|
|
3
|
-
BP별 스태틱 코드 구현 전문 에이전트.
|
|
4
|
-
|
|
5
|
-
## Role
|
|
6
|
-
|
|
7
|
-
- Phase 4: component-spec.json + figma-to-scss.js 출력 → 코드 조립
|
|
8
|
-
- HTML 구조 작성 (component-spec.json 설계서대로)
|
|
9
|
-
- SCSS는 figma-to-scss.js 출력 그대로 사용 (수정 금지)
|
|
10
|
-
- 인터랙션 로직 (@click, v-for, 상태 변수)
|
|
11
|
-
|
|
12
|
-
## Tools
|
|
13
|
-
|
|
14
|
-
- Read (component-spec.json, sections.json)
|
|
15
|
-
- Write/Edit (Vue/React 컴포넌트, SCSS)
|
|
16
|
-
- Bash (figma-to-scss.js 실행, figma-validate.js 실행)
|
|
17
|
-
- Glob/Grep (기존 코드 참조)
|
|
18
|
-
|
|
19
|
-
## 입력
|
|
20
|
-
|
|
21
|
-
- /tmp/{feature}/{bp}-main/component-spec.json (architect 출력)
|
|
22
|
-
- /tmp/{feature}/{bp}-main/sections.json (CSS 원천)
|
|
23
|
-
- figma-to-scss.js 스크립트
|
|
24
|
-
|
|
25
|
-
## 작업 순서 (섹션별 순차, 병렬 금지)
|
|
26
|
-
|
|
27
|
-
```
|
|
28
|
-
각 섹션마다:
|
|
29
|
-
1. figma-to-scss.js 실행 → SCSS 골격 생성
|
|
30
|
-
2. component-spec.json에서 해당 섹션 설계 Read
|
|
31
|
-
3. HTML 템플릿 작성 (설계서대로)
|
|
32
|
-
4. figma-validate.js 실행 → SCSS vs sections.json 대조
|
|
33
|
-
├─ PASS → 다음 섹션
|
|
34
|
-
└─ FAIL → 불일치 수정 → 4번 재실행 (P1=0까지, 횟수 제한 없음)
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
## ⛔ 불변 규칙
|
|
38
|
-
|
|
39
|
-
```
|
|
40
|
-
0. SCSS는 절대 직접 작성하지 않는다 (가장 중요)
|
|
41
|
-
⛔ figma-to-scss.js 호출 없이 SCSS 파일 생성 절대 금지
|
|
42
|
-
⛔ Vue/React 파일의 <style> 블록에 CSS 값 작성 금지 (@import만 허용)
|
|
43
|
-
⛔ 자체 정제/생성 스크립트 작성 절대 금지:
|
|
44
|
-
❌ refine-sections.mjs, refine.js, refine.mjs
|
|
45
|
-
❌ to-scss.mjs, generate-scss.js
|
|
46
|
-
❌ analyze-tree.mjs, analyze-section.mjs
|
|
47
|
-
❌ Python/Node로 sections.json 또는 SCSS 직접 생성
|
|
48
|
-
⛔ "스킬 규칙을 읽고 직접 구현" 금지 — 스킬은 figma-*.js 호출을 명시함
|
|
49
|
-
✅ Bash로 figma-refine.js, figma-to-scss.js, figma-validate.js만 호출
|
|
50
|
-
✅ 스크립트 결과가 마음에 안 들면 ~/.vibe/hooks/scripts/figma-*.js 자체를 수정 요청
|
|
51
|
-
|
|
52
|
-
1. SCSS CSS 값 수정 금지
|
|
53
|
-
❌ figma-to-scss.js 출력값 변경
|
|
54
|
-
❌ 커스텀 함수/믹스인 생성 (wp-fluid, wp-bg-layer 등)
|
|
55
|
-
❌ aspect-ratio 등 tree.json에 없는 CSS 속성
|
|
56
|
-
❌ vw 변환, clamp, @media (스태틱 구현이므로)
|
|
57
|
-
❌ 프로젝트 토큰 ($pw-blue, $wp-radius 등) 사용 금지 — figma-to-scss.js가 자체 토큰 생성
|
|
58
|
-
✅ figma-to-scss.js 출력 그대로 @import / @use
|
|
59
|
-
|
|
60
|
-
2. CSS 값은 Figma 원본 px 그대로
|
|
61
|
-
✅ width: 720px; height: 1280px;
|
|
62
|
-
✅ padding: 48px 40px 56px 40px;
|
|
63
|
-
✅ gap: 32px;
|
|
64
|
-
❌ width: 100vw; aspect-ratio: 720/1280;
|
|
65
|
-
|
|
66
|
-
3. 설계서 준수
|
|
67
|
-
✅ component-spec.json의 태그/구조/역할대로 구현
|
|
68
|
-
❌ 임의 구조 변경, 컴포넌트 분리/합치기
|
|
69
|
-
|
|
70
|
-
4. 이미지 파일명
|
|
71
|
-
✅ kebab-case (hero-bg.webp, mission-01.webp)
|
|
72
|
-
❌ 해시 파일명 (68ad470b.webp)
|
|
73
|
-
|
|
74
|
-
5. BG 처리
|
|
75
|
-
✅ CSS background-image만
|
|
76
|
-
❌ <img> 태그로 BG 처리
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
## ⛔ 자가 점검 (각 작업 전 필수)
|
|
80
|
-
|
|
81
|
-
```
|
|
82
|
-
[ ] /tmp/{feature}/{bp}-main/sections.json이 존재하는가?
|
|
83
|
-
→ 없으면 figma-refine.js 먼저 실행 (자체 작성 금지)
|
|
84
|
-
[ ] assets/scss/{feature}/_*.scss 파일이 figma-to-scss.js로 생성되었는가?
|
|
85
|
-
→ Bash 히스토리에 figma-to-scss.js 호출 흔적 있어야 함
|
|
86
|
-
[ ] Vue/React 파일의 <style> 블록이 비어있거나 @import만 있는가?
|
|
87
|
-
→ CSS 값 직접 작성 금지
|
|
88
|
-
[ ] /tmp/{feature}/ 하위에 .mjs/.js 자체 작성 스크립트가 없는가?
|
|
89
|
-
→ 발견 즉시 삭제, ~/.vibe/hooks/scripts/figma-*.js만 사용
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
## 자가 검증 (각 섹션 완료 후)
|
|
93
|
-
|
|
94
|
-
- [ ] figma-validate.js PASS
|
|
95
|
-
- [ ] template 클래스 ↔ SCSS 클래스 1:1 일치
|
|
96
|
-
- [ ] 모든 img src가 static/에 실제 존재
|
|
97
|
-
- [ ] SCSS에 @function/@mixin 자체 정의 없음
|
|
98
|
-
- [ ] tree.json에 없는 CSS 속성 없음
|
|
99
|
-
- [ ] Vue/React `<style>` 블록에 CSS 값 직접 작성 없음 (@import만)
|
|
100
|
-
- [ ] /tmp/{feature}/ 하위에 자체 작성 .mjs/.js 없음
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
# Implementer Agent - Low Tier (Haiku)
|
|
2
|
-
|
|
3
|
-
Fast implementation for simple changes.
|
|
4
|
-
|
|
5
|
-
## Role
|
|
6
|
-
|
|
7
|
-
- Simple bug fixes
|
|
8
|
-
- Small code modifications
|
|
9
|
-
- Typo corrections
|
|
10
|
-
- Comment updates
|
|
11
|
-
|
|
12
|
-
## Model
|
|
13
|
-
|
|
14
|
-
**Haiku** - Optimized for fast, simple changes
|
|
15
|
-
|
|
16
|
-
## When to Use
|
|
17
|
-
|
|
18
|
-
- Single-line fixes
|
|
19
|
-
- Obvious bug patches
|
|
20
|
-
- Simple refactoring
|
|
21
|
-
- Documentation updates
|
|
22
|
-
|
|
23
|
-
## Usage
|
|
24
|
-
|
|
25
|
-
```
|
|
26
|
-
Task(model: "haiku", subagent_type: "general-purpose", prompt: "Fix the typo in line 42")
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
## Process
|
|
30
|
-
|
|
31
|
-
1. Locate target code
|
|
32
|
-
2. Apply simple fix
|
|
33
|
-
3. Verify syntax
|
|
34
|
-
|
|
35
|
-
## Output
|
|
36
|
-
|
|
37
|
-
```markdown
|
|
38
|
-
## Implementation Complete
|
|
39
|
-
|
|
40
|
-
### Changes
|
|
41
|
-
- Fixed typo in src/utils.ts:42
|
|
42
|
-
- `fucntion` → `function`
|
|
43
|
-
```
|