form-tailorlisted
Install: claude install-skill parkjui92-tech/form-tailor
# form-tailor — 기관 양식 맞춤 제작
**핵심 아이디어:** 이 스킬은 특정 기관의 템플릿을 내장하지 않는다. 대신 **사용자가 제공한 샘플에서 "양식"을 데이터로 추출**하고, 새 내용을 그 틀에 부어 같은 형식으로 출력한다. 즉 양식은 코드가 아니라 **런타임 입력**이다 — 그래서 어느 기관 양식에도 적용되고, 저장소에는 어떤 기관의 자산도 담기지 않는다.
```
[샘플 양식] ──파싱──▶ [양식 프로파일] ──┐
├──▶ [양식에 맞춘 새 문서] ──▶ [충실도 점검]
[새 내용/원고] ────정리──────────────────┘
```
---
## 입력 두 가지
1. **양식 샘플(필수)**: 따라 할 틀. 기관 배포 서식, 지난번 보고서/계획서, 빈 양식 폼 등. `.hwp` / `.hwpx` / `.docx` / (`.pdf`는 구조 참고용).
2. **채울 내용(필수)**: 새로 담을 원고·메모·요점. 이미 다른 형식으로 쓴 초안이어도 되고, 항목만 나열한 메모여도 된다.
둘 중 하나라도 없으면 사용자에게 요청한다. 특히 샘플 없이 "기관 양식"만 언급되면, "따라 할 샘플 파일을 주시면 그 틀대로 맞춰 드립니다"라고 안내한다(임의로 지어낸 양식을 쓰지 않는다).
---
## Phase 1: 양식 프로파일 추출 (learn-from-sample)
샘플을 파싱해 **양식 프로파일**을 만든다. 도구 우선순위:
| 형식 | 파싱 도구 (우선순위) |
|------|---------------------|
| `.hwp` / `.hwpx` | **kordoc MCP** — `parse_document`(구조), `parse_form`(폼필드), `extract_profile`(스타일), `parse_table`(표), `detect_format` |
| `.docx` | **python-docx** (아래 레시피) → 또는 docx 스킬 |
| `.pdf` | pdf 스킬로 텍스트·레이아웃 참고(정밀 서식은 제한적) |
> **도구 부재 시**: kordoc·pandoc·soffice가 모두 없고 입력이 `.docx`면 **python-docx가 유일 경로**다. 이때 아래 레시피를 반드시 따른다. 입력이 `.hwp/.hwpx`인데 kordoc이 없으면, 사용자에게 kordoc 설치를 안내하거나 `.docx`로 저장해 달라고 요청한다(LibreOffice 변환은 표가 평탄화될 수 있음을 알림).
### .docx 파싱 레시피 (python-docx)
python-docx는 고수준 API가 스타일 상속을 해석하지 않으므로, 아래 폴백을 지켜야 프로파일이 반쪽으로 비지 않는다:
- **글머리 레벨 감지**: 각 문단 텍스트의 **선행 글머리 글자**(□ ㅇ - * ① Ⅰ)와, 그 앞의 **선행 공백 수**(`text[:len(text)-len(text.lstrip())]`의 길이) 또는 `paragraph_format.le