eoash/ash-skills

my-eo-contract-drafter

EO Studio 표준 계약서 docx 생성기. "계약서 써줘", "영상제작 계약서", "클린본 라이선스", "2차 활용 계약" 같은 요청을 받으면 서식 헬퍼 + 법인정보 레지스트리 + ?

First seen Apr 24, 2026

Installation

$ npx skills add eoash/ash-skills --skill my-eo-contract-drafter

Summary

EO Studio 표준 계약서 docx 생성기. "계약서 써줘", "영상제작 계약서", "클린본 라이선스", "2차 활용 계약" 같은 요청을 받으면 서식 헬퍼 + 법인정보 레지스트리 + 템플릿을 조합해 Word에서 바로 날인 가능한 docx 초안을 생성한다. 7단계 플레이북 강제 +…

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from eoash/ash-skills · top by installs.

npx skills add eoash/ash-skills

Browse all from eoash/ash-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 1
Default branch main
Open issues 0
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Declared agents claude-code

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 6,993 B
  • docs SUMMARY.md 485 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 2 installs

SKILL.md

EO Contract Drafter Skill

v1 — 2026-04-25: 두 템플릿(mediacontract, secondaryuse) + 두 예제 + 법인정보 레지스트리 모두 작성.
모두닥 smoke test 통과(43318 bytes vs baseline 43340 bytes), BCG smoke test 통과(46031 bytes).
baseline과의 의미 diff는 주로 EO 주소 공식 표기/문구 정제 차이 (스킬이 parties.py 기반으로 더 정확).
**이미 발송된 BCG(2026-04-14)·모두닥(2026-04-23) 초판은 레거시 scripts/contracts/buildeo*.py가 source of truth**로 그대로 보존.

언제 쓰는가 (When to use)

트리거 키워드: "계약서", "영상제작 계약", "홍보계약", "클린본 라이선스", "2차 활용", "브랜디드 계약", "EO 표준 계약" — 이 중 하나라도 포함되면 이 스킬 활성화.

전제 조건:

  • 거래처가 lib/parties.py 레지스트리에 등록돼 있어야 한다 (없으면 먼저 추가)
  • 7단계 플레이북(memory/referencecontractdrafting_playbook.md)을 우회하지 않는다

언제 쓰지 말아야 하는가 (When NOT to use)

  • 이미 발송된 계약서 수정scripts/contracts/replacemodoodocbody.py 패턴의

in-place string replace 경로 사용. 이 스킬은 초판 생성 전용. (근거: .claude/rules/contract-docx.md)

  • EO 표준 구조를 벗어난 계약서 (예: 주주간 계약, 투자계약, NDA) →

Lisa legal advisor + 별도 템플릿 검색

  • 당사자 정보 불확실 → 먼저 memory/reference<거래처>legal.md 수집부터

디렉토리 구조

.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 호환 테스트)

사용법 (I/O 계약)

영상제작 계약서

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": "[email protected]"},
    internal_memos=[...],       # 리스트[(제목, 본문)] — 내부 검토 메모 페이지
    checklist=[...],            # 발송 전 체크리스트
    output_path="~/Downloads/파일명.docx",  # expanduser 권장 (Mac/Windows 호환)
)

반환: 생성된 docx의 절대경로.

클린본 2차 활용 라이선스 계약서

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단계 플레이북 체크

이 스킬이 활성화되면 다음을 대화에서 완료한 뒤 생성 호출:

  1. contract-review 4단계 프레임워크 진입 선언
  2. Lisa legal lens 소환 (/consult legal)
  3. 조회 7건: Gmail + EO 법인정보 + 거래처 법인정보 + eo-templates.ts +

eo-contract-samples.txt + docx 서식 표준 + 4/7 학습 스레드

  1. Stage 1~4 검증 (계약기간 / 손배cap / 수정횟수 / 비밀유지·DB미제공 / 불가항력)
  2. EO 표준 구조 복제 (일반 템플릿 금지)
  3. 법인정보 주입 — lib/parties.py에서만 추출 (환상 금지)
  4. 생성 호출 → 내부 검토 메모 페이지 부착

서식 표준 (고정)

  • 페이지: A4, 여백 상 3 / 하 2 / 좌우 2.5 cm
  • 제목: 굴림 18pt Center Bold
  • 조항 제목: 굴림 10pt Bold (제 1 조【 계약의 목적 】)
  • 본문: 바탕 10pt Justify, 줄간격 1.23
  • 항 번호: 원문자 ①②③... 또는 1) 2) 3) (left_indent 0.5/1.0cm)
  • 탭 문자 금지 (단락 속성으로 들여쓰기)
  • 셀 라벨: 배경 #F2F2F2 + 중앙 정렬 + 셀 여백 주입 (OOXML w:shd·w:tcMar)

회귀 검증

기존 계약서와 바이너리 동일성은 보장되지 않는다 (python-docx의 zip 압축은 비결정론적). 대신 paragraph/table fingerprint로 의미 등가 검증:

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

diff가 비어있으면 의미상 동일. examples/buildbcg.pyexamples/buildmodoodoc.py는 이 등가성을 테스트 케이스로 박아둔 것이다.

관련 자산

  • memory/referencecontractdrafting_playbook.md — 7단계 플레이북 (원본)
  • memory/referenceeokoreacorporateinfo.md — EO 한국법인 공식 정보
  • memory/referenceprainglobal_legal.md — 프레인글로벌
  • memory/referencemodoodoclegal.md — 모두닥
  • memory/feedbackcontractdraftingfailures20260413.md — Rocky 실패 오답노트
  • .claude/rules/contract-docx.md — 발송 후 수정 금지 + 3단 백업 규칙
  • scripts/contracts/레거시 초판 생성 스크립트 (deprecated after 2026-04-25)