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:
@@ -0,0 +1,17 @@
|
||||
# Digital Ads catalog — method: effort. STUB — placeholder hours, NOT real rates.
|
||||
# TODO: populate tiers/modules/hours from a real OurDigital digital-ads quote (Drive),
|
||||
# the same way seo.yaml was built. Until then estimates here are illustrative only.
|
||||
service: digital_ads
|
||||
method: effort
|
||||
_stub: true
|
||||
tiers:
|
||||
basic:
|
||||
label: "Digital Ads Setup & Management (STUB)"
|
||||
modules:
|
||||
- name: "Planning & Management"
|
||||
tasks:
|
||||
- {task: "캠페인 전략·계정 구조 설계", desc: "STUB — replace with real SOW", role: senior_manager, hours: 16, scale: false}
|
||||
- name: "Ads Operation"
|
||||
tasks:
|
||||
- {task: "캠페인 셋업·태깅·전환 추적", desc: "STUB", role: manager, hours: 24, scale: false}
|
||||
- {task: "운영·최적화·리포팅", desc: "STUB (월 운영)", role: manager, hours: 24, scale: true}
|
||||
@@ -0,0 +1,16 @@
|
||||
# Digital Branding catalog — method: effort. STUB — placeholder hours, NOT real rates.
|
||||
# TODO: populate from a real OurDigital digital-branding quote (Drive). Illustrative only.
|
||||
service: digital_branding
|
||||
method: effort
|
||||
_stub: true
|
||||
tiers:
|
||||
basic:
|
||||
label: "Digital Branding (STUB)"
|
||||
modules:
|
||||
- name: "Planning & Management"
|
||||
tasks:
|
||||
- {task: "브랜드 전략·포지셔닝", desc: "STUB — replace with real SOW", role: director, hours: 16, scale: false}
|
||||
- name: "Branding Execution"
|
||||
tasks:
|
||||
- {task: "브랜드 아이덴티티·가이드", desc: "STUB", role: senior_manager, hours: 24, scale: false}
|
||||
- {task: "디지털 자산·채널 적용", desc: "STUB", role: manager, hours: 24, scale: true}
|
||||
@@ -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.
|
||||
75
custom-skills/96-ourdigital-estimate-engine/catalog/seo.yaml
Normal file
75
custom-skills/96-ourdigital-estimate-engine/catalog/seo.yaml
Normal file
@@ -0,0 +1,75 @@
|
||||
# SEO service catalog — method: effort. Tiers priced via rate_card (role×billing×hours).
|
||||
# Reproduces real quotes: basic ₩10.5M, treatment ₩25.0M (1 property, billing 0.70).
|
||||
# Only On-page tasks (scale:true) scale by sub-brands; Technical/P&M/Growth fixed.
|
||||
service: seo
|
||||
method: effort
|
||||
tiers:
|
||||
|
||||
smb:
|
||||
label: "SEO Quick Audit (SMB)"
|
||||
billing_rate: 0.55
|
||||
modules:
|
||||
- name: "Planning & Management"
|
||||
tasks:
|
||||
- {task: "업무 관리·착수", desc: "과업 정의·일정·리포팅", role: senior_manager, hours: 8, scale: false}
|
||||
- {task: "웹 사이트 분석", desc: "유입·행동·전환 flow 요약 분석", role: senior_manager, hours: 8, scale: false}
|
||||
- name: "Technical SEO"
|
||||
tasks:
|
||||
- {task: "Crawling·Indexing 점검", desc: "검색사이트 등록·수집·Site Health 점검", role: manager, hours: 8, scale: false}
|
||||
- {task: "속도·CWV 점검", desc: "로딩속도·Core Web Vitals·모바일 점검", role: manager, hours: 8, scale: false}
|
||||
- {task: "구조·메타·사이트맵 점검", desc: "사이트/URL 구조·메타·사이트맵·색인", role: manager, hours: 8, scale: false}
|
||||
- name: "On-page SEO"
|
||||
tasks:
|
||||
- {task: "키워드·메타 진단", desc: "중점 키워드·페이지 메타·템플릿 진단", role: manager, hours: 12, scale: true}
|
||||
- {task: "on-page 퀵윈 가이드", desc: "타이틀·메타·헤더·링크·이미지 핵심 개선 가이드", role: manager, hours: 16, scale: true}
|
||||
- name: "SEO Growth"
|
||||
tasks:
|
||||
- {task: "기본 성과 지표 설정", desc: "핵심 SEO 지표·중점 키워드 트래킹 설정", role: manager, hours: 8, scale: false}
|
||||
|
||||
basic:
|
||||
label: "SEO Audit & Basic Treatment"
|
||||
modules:
|
||||
- name: "Planning & Management"
|
||||
tasks:
|
||||
- {task: "업무 관리", desc: "프로젝트 설계·과업 정의·일정/산출물 관리·리포팅", role: senior_manager, hours: 20, scale: false}
|
||||
- {task: "웹 사이트 분석", desc: "사용자 유입·채널 내 행동·전환 flow 분석", role: senior_manager, hours: 12, scale: false}
|
||||
- name: "Technical SEO"
|
||||
tasks:
|
||||
- {task: "Crawling & Indexing 설정", desc: "검색사이트 등록/수집 관리·Site Health Check 도구 설정", role: technical_advisor, hours: 16, scale: false}
|
||||
- {task: "속도·UX·수집 설정", desc: "로딩속도·페이지 UX·링크·수집 제외 설정", role: manager, hours: 16, scale: false}
|
||||
- {task: "사이트/URL 구조·메타", desc: "구조·URL·메타데이터·사이트맵·리다이렉션", role: senior_manager, hours: 12, scale: false}
|
||||
- {task: "색인·CWV 진단", desc: "GSC·SEO Tools 활용 색인/크롤오류/Core Web Vitals 진단", role: senior_manager, hours: 16, scale: false}
|
||||
- name: "On-page SEO"
|
||||
tasks:
|
||||
- {task: "키워드·템플릿·메타 진단", desc: "중점 키워드·페이지 템플릿·메타·개체 활용 진단", role: manager, hours: 24, scale: true}
|
||||
- {task: "링크·콘텐츠 도구 진단", desc: "내외부 링크·공유 메타·콘텐츠 생성-관리 도구", role: manager, hours: 12, scale: true}
|
||||
- {task: "on-page 관리 가이드", desc: "타이틀·메타·헤더태그·링크·이미지 메타 가이드", role: manager, hours: 36, scale: true}
|
||||
- name: "SEO Growth"
|
||||
tasks:
|
||||
- {task: "성과 지표 관리", desc: "SEO 관리지표·중점 키워드·포지셔닝 트래킹·3rd party 데이터 설정", role: manager, hours: 24, scale: false}
|
||||
|
||||
treatment:
|
||||
label: "SEO Audit & Treatment"
|
||||
modules:
|
||||
- name: "Planning & Management"
|
||||
tasks:
|
||||
- {task: "업무 관리", desc: "프로젝트 설계·과업 정의·일정/산출물 관리·리포팅", role: senior_manager, hours: 36, scale: false}
|
||||
- {task: "웹 사이트 분석", desc: "사용자 유입·채널 내 행동·전환 flow 분석", role: senior_manager, hours: 60, scale: false}
|
||||
- {task: "측정 계획 수립", desc: "채널 운영 목적·사용자 세그먼트·기대행동 가설 도출", role: senior_manager, hours: 20, scale: false}
|
||||
- name: "Technical SEO"
|
||||
tasks:
|
||||
- {task: "Crawling & Indexing 설정", desc: "검색사이트 등록/수집 관리·Site Health Check 도구 설정", role: manager, hours: 24, scale: false}
|
||||
- {task: "속도·UX·리다이렉트", desc: "로딩속도·페이지 UX·링크·리다이렉트·수집 제외 설정", role: technical_advisor, hours: 30, scale: false}
|
||||
- {task: "사이트/URL 구조·보안", desc: "구조·URL·메타데이터·사이트맵·보안 관리 진단", role: senior_manager, hours: 24, scale: false}
|
||||
- {task: "모바일·CWV·개선과제", desc: "모바일 최적화·Core Web Vitals 진단·개선 과제 도출", role: manager, hours: 20, scale: false}
|
||||
- name: "On-page SEO"
|
||||
tasks:
|
||||
- {task: "키워드·템플릿·메타 진단", desc: "중점 키워드·페이지 템플릿·메타·개체 활용 진단", role: manager, hours: 48, scale: true}
|
||||
- {task: "링크·콘텐츠 도구 진단", desc: "내외부 링크·공유 메타·콘텐츠 생성-관리 도구", role: manager, hours: 36, scale: true}
|
||||
- {task: "on-page 관리 가이드", desc: "타이틀·메타·헤더태그·링크·이미지 메타 가이드", role: manager, hours: 60, scale: true}
|
||||
- name: "SEO Growth"
|
||||
tasks:
|
||||
- {task: "핵심 성과 지표 설정", desc: "중점과제·목표·SEO 핵심성과지표·모니터링 지표 설정", role: senior_manager, hours: 20, scale: false}
|
||||
- {task: "지표 정의·리포팅 설계", desc: "데이터 소스·지표 산식·리포팅/진단 주기 설정", role: manager, hours: 16, scale: false}
|
||||
- {task: "성과 대시보드 지표", desc: "관리 지표·중점 키워드·포지셔닝 트래킹·3rd party 데이터", role: manager, hours: 20, scale: false}
|
||||
- {task: "GSC 대시보드·파이프라인", desc: "GSC 대시보드 구성·연관 데이터 파이프라인 구축", role: manager, hours: 36, scale: false}
|
||||
Reference in New Issue
Block a user