chore(dintel-skills): align Agent Corps with canon v1.0 / BRAND-GUIDE v1.3
Standardize all 9 dintel-* skills + shared infrastructure against the new D.intelligence canon (brand-canon, fact-sheet, service-architecture, naming-conventions v1.0) and BRAND-GUIDE v1.3. Term replacements (applied across SKILL.md, CLAUDE.md, scripts, refs): - Slogan: SMART Marketing Clinic -> SMART Marketing Intelligence (Clinic is now an OurDigital asset; split enforced) - Core Values: Scientific/Practical -> Science/Practice - MD category: Marketing Diagnosis -> Measurement Design - Brand Character: 마케팅 주치의 -> 성과중심의 데이터 기반 마케팅 과학자 - Address: 송파테라타워/황새울로 -> 판교글로벌비즈센터 1층 36호 (13449) - External email: contact@ -> info@dintelligence.co.kr - CEO title: D.HIVE CEO & Founder / Senior Advisor -> 대표이사 - Tone keywords: Scientific/Practical/Outcome-oriented -> Science-driven/Practice-oriented/Outcome-focused - Foreign-word literals: 감사 보고서/리포트/결과 -> 진단 ~ (audit->진단) - Adjacent services: removed Courses (transferred to OurDigital Practice) Structural changes: - Insert "v1.3 정합성 - 단일 진실" block citing canon docs in all 9 SKILL.md files (preserves single source of truth at runtime). - Bump version (1.0->1.1 or 1.1->1.2) and add canon_compliance: v1.3 + last_updated: 2026-05-18 to every frontmatter. - Expand brand.py: CORPORATE/LAB dicts (full address, biz reg, CEO), TRANSLATION_STANDARDS, ADJACENT_SERVICES. PROHIBITED_WORDS grew 13 -> 24 entries so Brand Guardian flags legacy phrases at runtime. - Rewrite _dintel-shared/references/dintelligence_brand_guide.md as v1.3 canon mirror; sync brand-editor's local copy (no drift). - Pin design-system reference header to 2026 PPTX v2.0. - Refresh 73-quotation generate_quotation.py (Sheet 1 cover, Sheet 5 terms) and 71-brand-editor generate_credential.py output. - Update audit template title (감사 -> 진단). Verified by 93-check compliance suite covering frontmatter, canon citation, prohibited-term grep, Python compile + runtime imports, and an end-to-end smoke test that generates a quotation .xlsx and inspects cell content for v1.3 strings + absence of legacy strings. Refs: knowledge-base/canon/{brand-canon,fact-sheet,service-architecture,naming-conventions}.md v1.0 02_Brand/BRAND-GUIDE-v1.3.md knowledge-base/TODO-claude-code-skill-rebuild.md knowledge-base/gotcha/01_outdated-facts.md (10 cases) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
# D.intelligence Quotation Manager
|
||||
|
||||
> **Agent #73** | `dintel-quotation-mgr` v1.0.0 | D.intelligence Agent Corps
|
||||
> **Agent #73** | `dintel-quotation-mgr` v1.1.0 | D.intelligence Agent Corps
|
||||
> canon_compliance: v1.3 | last_updated: 2026-05-18
|
||||
|
||||
> ⚠️ **canon 1순위**: `knowledge-base/canon/fact-sheet.md` v1.0 (인보이스·계약 법인 정보) + `service-architecture.md` v1.0 (모듈·가격 단위). 충돌 시 canon이 우선.
|
||||
|
||||
Generate professional quotations and estimates for D.intelligence service modules using a multi-agent sub-system (Scope, Resource, Pricing, Output).
|
||||
|
||||
|
||||
@@ -207,17 +207,25 @@ def generate_xlsx(draft: QuotationDraft, output_dir: Path) -> Path:
|
||||
# -- Sheet 1: Cover --
|
||||
ws_cover = wb.active
|
||||
ws_cover.title = "표지"
|
||||
ws_cover["B2"] = "D.intelligence :: SMART Marketing Clinic ::"
|
||||
ws_cover["B2"] = "D.intelligence :: SMART Marketing Intelligence ::"
|
||||
ws_cover["B2"].font = Font(name="Pretendard", size=16, bold=True)
|
||||
ws_cover["B4"] = "견적서 (Quotation)"
|
||||
ws_cover["B4"].font = Font(name="Pretendard", size=24, bold=True)
|
||||
ws_cover["B6"] = f"고객사: {draft.client_name}"
|
||||
ws_cover["B7"] = f"업종: {draft.industry}"
|
||||
ws_cover["B8"] = f"견적번호: {draft.ref}"
|
||||
ws_cover["B9"] = f"작성일: {draft.date_created.isoformat()}"
|
||||
ws_cover["B10"] = f"유효기간: {(draft.date_created + timedelta(days=draft.validity_days)).isoformat()}"
|
||||
ws_cover["B12"] = "DRAFT -- 검토 대기"
|
||||
ws_cover["B12"].font = Font(color="FF0000", bold=True, size=14)
|
||||
ws_cover["B3"] = "Analysis, Treatment & Growth"
|
||||
ws_cover["B3"].font = Font(name="Pretendard", size=10, italic=True)
|
||||
ws_cover["B5"] = "견적서 (Quotation)"
|
||||
ws_cover["B5"].font = Font(name="Pretendard", size=24, bold=True)
|
||||
ws_cover["B7"] = f"고객사: {draft.client_name}"
|
||||
ws_cover["B8"] = f"업종: {draft.industry}"
|
||||
ws_cover["B9"] = f"견적번호: {draft.ref}"
|
||||
ws_cover["B10"] = f"작성일: {draft.date_created.isoformat()}"
|
||||
ws_cover["B11"] = f"유효기간: {(draft.date_created + timedelta(days=draft.validity_days)).isoformat()}"
|
||||
ws_cover["B13"] = "DRAFT -- 검토 대기"
|
||||
ws_cover["B13"].font = Font(color="FF0000", bold=True, size=14)
|
||||
ws_cover["B15"] = "D.intelligence Co., Ltd. (㈜디인텔리전스) | 458-88-01899"
|
||||
ws_cover["B15"].font = Font(name="Pretendard", size=9)
|
||||
ws_cover["B16"] = "경기도 성남시 수정구 창업로 43 판교글로벌비즈센터 업무동 1층 36호 (13449)"
|
||||
ws_cover["B16"].font = Font(name="Pretendard", size=9)
|
||||
ws_cover["B17"] = "info@dintelligence.co.kr | dintelligence.co.kr"
|
||||
ws_cover["B17"].font = Font(name="Pretendard", size=9)
|
||||
|
||||
# -- Sheet 2: Scope --
|
||||
ws_scope = wb.create_sheet("서비스 범위")
|
||||
@@ -285,7 +293,7 @@ def generate_xlsx(draft: QuotationDraft, output_dir: Path) -> Path:
|
||||
summary_row += 1
|
||||
ws_pricing.cell(row=summary_row, column=5, value="Andrew 검토 필요").font = Font(color="FF0000", italic=True)
|
||||
|
||||
# -- Sheet 5: Terms --
|
||||
# -- Sheet 5: Terms (v1.3 정합 — canon/fact-sheet.md) --
|
||||
ws_terms = wb.create_sheet("계약 조건")
|
||||
terms = [
|
||||
("결제 조건", "착수금 50% / 완료 후 50%"),
|
||||
@@ -294,9 +302,14 @@ def generate_xlsx(draft: QuotationDraft, output_dir: Path) -> Path:
|
||||
("범위 변경", "서면 합의 후 별도 견적"),
|
||||
("계약 해지", "착수 전 전액 환불 / 착수 후 진행분 정산"),
|
||||
("", ""),
|
||||
("D.intelligence", "SMART Marketing Clinic"),
|
||||
("법인명 (KR)", "주식회사 디인텔리전스 / ㈜디인텔리전스"),
|
||||
("법인명 (EN)", "D.intelligence Co., Ltd."),
|
||||
("사업자등록번호", "458-88-01899"),
|
||||
("대표이사", "임명재 (Andrew Yim)"),
|
||||
("주소", "경기도 성남시 수정구 창업로 43 판교글로벌비즈센터 업무동 1층 36호 (13449)"),
|
||||
("Website", "dintelligence.co.kr"),
|
||||
("담당자", "Andrew Yim"),
|
||||
("Email", "info@dintelligence.co.kr"),
|
||||
("담당자", "임명재 (Andrew Yim), 대표이사"),
|
||||
]
|
||||
for row, (label, value) in enumerate(terms, 1):
|
||||
ws_terms.cell(row=row, column=1, value=label).font = Font(bold=True)
|
||||
|
||||
Reference in New Issue
Block a user