Extract ourdigital-estimate-engine; presales-seo now calls it

New skill 96-ourdigital-estimate-engine: method-aware quoting engine
(effort / coaching / procurement) with universal rate_card + per-service
catalog. Real catalogs: seo (effort), education (coaching); stubs:
digital_ads, digital_branding. Validated to reproduce real quotes —
SEO basic ₩10.5M / treatment ₩25.0M, SHR chain ₩29.5M, L'Escape basic
₩10.5M, GA4/GTM coaching ₩1,570,000, procurement +15%.

Refactor 95-ourdigital-presales-seo: remove rate_card.yaml, sow_templates.yaml,
estimate.py (migrated to engine); add findings_to_scope.py; Stage 5 now maps
findings→scope.json and calls the engine CLI. build_deck/kg_query unchanged;
end-to-end validated on SHR (29.5M) + deck renders engine estimate.json.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-28 01:54:11 +09:00
parent 34c3a1df4f
commit c9bdbb57f7
20 changed files with 822 additions and 349 deletions

View File

@@ -0,0 +1,31 @@
# Education / coaching catalog — method: coaching.
# Cost = Σ(lesson_type_prices[type] × hours) from rate_card.coaching (pricing_mode: base).
# Subjects resolve levels from rate_card.coaching.subject_levels (used only in matrix mode).
service: education
method: coaching
courses:
# Real quote: GA4/GTM 중급 과정 1:1 코칭 → ₩1,570,000 (7 대면×100k + 9 화상×80k + 1 실습×150k).
ga4_gtm_intermediate:
title: "GA4/GTM 중급 과정 1:1 코칭"
lessons:
- {subject: "Google Analytics", title: "설치-설정 진단", type: 대면, hours: 1}
- {subject: "Google Analytics", title: "측정 계획 수립", type: 대면, hours: 1}
- {subject: "Google Analytics", title: "기본 리포트 설정", type: 대면, hours: 1}
- {subject: "Google Analytics", title: "맞춤 리포트 구성", type: 대면, hours: 1}
- {subject: "Google Analytics", title: "획득 보고서의 이해", type: 화상, hours: 1}
- {subject: "Google Analytics", title: "참여도 보고서 해석", type: 화상, hours: 1}
- {subject: "Google Analytics", title: "수익창출 보고서 관리", type: 화상, hours: 1}
- {subject: "Google Analytics", title: "주요 이벤트와 전환", type: 화상, hours: 1}
- {subject: "Google Analytics", title: "탐색 분석 활용", type: 화상, hours: 1}
- {subject: "Google Tag Manager", title: "이벤트 태깅 관리 준비", type: 화상, hours: 1}
- {subject: "Google Tag Manager", title: "GTM 설정 분석과 검수", type: 대면, hours: 1}
- {subject: "Google Tag Manager", title: "이벤트 태깅 실습", type: 대면, hours: 1}
- {subject: "Google Tag Manager", title: "마케팅 태그 설정", type: 대면, hours: 1}
- {subject: "Google Tag Manager", title: "e-Commerce 태그 설정", type: 화상, hours: 1}
- {subject: "Google Analytics", title: "잠재 고객 설정과 활용", type: 화상, hours: 1}
- {subject: "Google Analytics", title: "캠페인 성과 분석", type: 화상, hours: 1}
- {subject: "Google Analytics", title: "Looker Studio 대시보드", type: 실습, hours: 1}
# Add more courses (workshops, SEO/Content Marketing coaching, etc.) as real lesson plans arrive.
# For an ad-hoc plan, pass scope.lessons directly instead of a named course.