SuperAPI AI Directory

my-eo-contract-drafter

Office & productivity

View repository

Updated 10-15 20:05

About this skill

EO Contract Drafter Skill

✅ v1 — 2026-04-25: Created both templates (media_contract, secondary_use) + both examples + the corporate information registry. Bothmodak smoke test passed (43318 bytes vs baseline 43340 bytes), BCG smoke test passed (46031 bytes). The semantic diff from baseline is mainly differences in refining the official EO address notation/wording (the skill is more accurate based on parties.py). The first editions already sent for BCG (2026-04-14) and Modudak (2026-04-23) are as legacy scripts/contracts/build_eo_*.py가 source of truthand are preserved as-is.

When to use

Trigger keywords: "contract", "video production contract", "promotion contract", "clean version license", "secondary use", "branded contract", "EO standard contract" — if any one of these is included, activate this skill.

Prerequisites:

  • The client must be lib/parties.py registered in the registry (if not, add it first)
  • Do not bypass the 7-step playbook (memory/reference_contract_drafting_playbook.md)

When NOT to use

  • Modifying a contract that has already been sent → scripts/contracts/replace_modoodoc_body.py use the in-place string replace path of the pattern. This skill is first-edition generation only. (Basis: .claude/rules/contract-docx.md)
  • A contract outside the EO standard structure (e.g., shareholders' agreement, investment agreement, NDA) → Lisa legal advisor + separate template search
  • Party information uncertain → start by collecting memory/reference_<거래처>_legal.md first

Directory structure

.claude/skills/my-eo-contract-drafter/
├── SKILL.md                    # 이 파일
├── lib/
│   ├── eo_docx.py              # docx 서식 헬퍼 (폰트·여백·표·페이지)
│   └── parties.py              # 법인정보 레지스트리 (EO·프레인·모두닥)
├── templates/
│   ├── media_contract.py       # 영상제작 및 홍보계약서 (14조 + 별지 2호)
│   └── secondary_use.py        # 클린본 2차 활용 라이선스 (10조 + 별지 1호)
└── examples/
    ├── build_bcg.py            # BCG 건 재현 (legacy 호환 테스트)
    └── build_modoodoc.py       # 모두닥 건 재현 (legacy 호환 테스트)

Usage (I/O contract)

Video production contract

from lib.parties import EO_KOREA, PRAIN_GLOBAL
from templates.media_contract import build_media_contract

path = build_media_contract(
    partner=PRAIN_GLOBAL,      # dict (상호·사업자번호·주소·서명자·담당자)
    eo=EO_KOREA,
    project_name="[BCG 코리아 파트너 인터뷰 시리즈] 영상 제작 및 홍보",
    supply_price=41_000_000,   # int — VAT 별도
    start_date="2026년 4월 24일",
    end_date="2026년 6월 30일",
    deliverables=[
        "1. 롱폼 인터뷰 영상 1편 제작",
        "2. 쇼츠 영상 4편 제작 (인물별 1편)",
        "3. EO Korea 유튜브 채널 업로드",
    ],
    cast="송지연, 박영호, 이중훈, 장진석 (BCG 코리아 파트너 4인)",
    ad_client="보스턴컨설팅그룹 코리아(BCG)",
    eo_contact={"name": "김중철", "role": "한국사업총괄",
                "email": "chiri@eoeoeo.net"},
    internal_memos=[...],       # 리스트[(제목, 본문)] — 내부 검토 메모 페이지
    checklist=[...],            # 발송 전 체크리스트
    output_path="~/Downloads/파일명.docx",  # expanduser 권장 (Mac/Windows 호환)
)

Returns: the absolute path of the generated docx.

Clean version secondary use license contract

from lib.parties import EO_KOREA, MODOODOC
from templates.secondary_use import build_secondary_use_contract

path = build_secondary_use_contract(
    partner=MODOODOC,
    eo=EO_KOREA,
    original_contract_date="2025년 8월 12일",
    original_project_name="모두닥 다큐멘터리",
    original_video_url="https://youtu.be/TdyJD6zfDUo",
    original_upload_date="2025년 10월 20일",
    supply_price=5_000_000,
    usage_purpose="\"파트너\"의 채용광고 용도",
    usage_media="YouTube, Meta..., TikTok, LinkedIn 등 — 제한 없음",
    duration="무기한",
    ...
)

7-step playbook check

Once this skill is activated, complete the following in the conversation before calling generation:

  1. Declare entry into the contract-review 4-stage framework
  2. Summon Lisa legal lens (/consult legal)
  3. 7 lookups: Gmail + EO corporate information + client corporate information + eo-templates.ts + eo-contract-samples.txt + docx formatting standard + 4/7 learning thread
  4. Stage 1–4 verification (contract period / damages cap / number of revisions / confidentiality·no DB provision / force majeure)
  5. Replicate EO standard structure (generic templates prohibited)
  6. Inject corporate information — extract only from lib/parties.py(no fabrication)
  7. Call generation → attach internal review memo page

Formatting standard (fixed)

  • Page: A4, margins top 3 / bottom 2 / left and right 2.5 cm
  • Title: Gulim 18pt Center Bold
  • Clause title: Gulim 10pt Bold (제 1 조【 계약의 목적 】)
  • Body: Batang 10pt Justify, line spacing 1.23
  • Item number: circled numeral ①②③... or 1) 2) 3) (left_indent 0.5/1.0cm)
  • Tab characters prohibited (indent via paragraph properties)
  • Cell label: background #F2F2F2 + center alignment + cell margin injection (OOXML w:shd·w:tcMar)

Regression verification

Binary identity with the existing contract is not guaranteed (python-docx's zip compression is nondeterministic). Instead, semantic equivalence is verified via paragraph/table fingerprints:

python3 /tmp/deslop_baseline/fingerprint.py <원본.docx> > baseline.json
python3 /tmp/deslop_baseline/fingerprint.py <생성본.docx> > current.json
diff baseline.json current.json

If the diff is empty, they are semantically identical. examples/build_bcg.py와 examples/build_modoodoc.pyis this equivalence test casepinned down as.

Related assets

  • memory/reference_contract_drafting_playbook.md — 7-step playbook (original)
  • memory/reference_eo_korea_corporate_info.md — EO Korea Corporation official information
  • memory/reference_prain_global_legal.md — Frein Global
  • memory/reference_modoodoc_legal.md — Modudoc
  • memory/feedback_contract_drafting_failures_20260413.md — Rocky failure error notes
  • .claude/rules/contract-docx.md — No edits after sending + 3-tier backup rule
  • scripts/contracts/ — Legacy first-edition generation script (deprecated after 2026-04-25)