agentsclimarketplace

Form tailor

Skill parkjui92/form-tailor

기관 양식 샘플이나 이전 자료를 넣으면 그 틀·문체·서식을 학습해 새 내용을 같은 양식으로 만들어 주는 문서 생성 스킬. 고정 템플릿을 탑재하지 않고, 사용자가 런타임에 제공한 샘플(.hwp/.hwpx/.docx)에서 구조·글머리 체계(□ㅇ-*①Ⅰ)·개조식 문체·표 관행·제목/서명/날짜 형식을 추출(프로파일)한 뒤, 새 원고 내용을 그 프로파일에 맞춰 재구성하고 동일 형식으로 출력한다. 생성 후에는 샘플 대비 서식 충실도(섹션 순서·기호체계·문체 준수)를 점검해 보고한다. 다음 상황에서 반드시 사용한다: '기관 양식대로 만들어줘', '이 샘플처럼 작성', '양식 맞춰서', '이전 보고서 형식으로', '한글 보고서 양식', '보고서 서식 맞춤', '기관 서식 적용', '샘플 문서 틀 재사용' 등의 요청. 백지에서 자유 형식 문서를 쓰는 것이 아니라, 주어진 양식에 정확히 맞추는 작업에 적용한다. 내용 자체의 조사·집필은 별도 스킬/작업으로 하고, 이 스킬은 '양식 이식'에 집중한다.From its SKILL.md

Install
npx -y skills add parkjui92/form-tailor

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 27 days oldThe repository was created 27 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

10.9 KB, ~4.1k tokens by cl100k_base, as published. Nobody here has run it

form-tailor — 기관 양식 맞춤 제작

핵심 아이디어: 이 스킬은 특정 기관의 템플릿을 내장하지 않는다. 대신 사용자가 제공한 샘플에서 "양식"을 데이터로 추출하고, 새 내용을 그 틀에 부어 같은 형식으로 출력한다. 즉 양식은 코드가 아니라 런타임 입력이다 — 그래서 어느 기관 양식에도 적용되고, 저장소에는 어떤 기관의 자산도 담기지 않는다.

[샘플 양식] ──파싱──▶ [양식 프로파일] ──┐
                                       ├──▶ [양식에 맞춘 새 문서] ──▶ [충실도 점검]
[새 내용/원고] ────정리──────────────────┘

입력 두 가지

  1. 양식 샘플(필수): 따라 할 틀. 기관 배포 서식, 지난번 보고서/계획서, 빈 양식 폼 등. .hwp / .hwpx / .docx / (.pdf는 구조 참고용).
  2. 채울 내용(필수): 새로 담을 원고·메모·요점. 이미 다른 형식으로 쓴 초안이어도 되고, 항목만 나열한 메모여도 된다.

둘 중 하나라도 없으면 사용자에게 요청한다. 특히 샘플 없이 "기관 양식"만 언급되면, "따라 할 샘플 파일을 주시면 그 틀대로 맞춰 드립니다"라고 안내한다(임의로 지어낸 양식을 쓰지 않는다).


Phase 1: 양식 프로파일 추출 (learn-from-sample)

샘플을 파싱해 양식 프로파일을 만든다. 도구 우선순위:

형식파싱 도구 (우선순위)
.hwp / .hwpxkordoc MCPparse_document(구조), parse_form(폼필드), extract_profile(스타일), parse_table(표), detect_format
.docxpython-docx (아래 레시피) → 또는 docx 스킬
.pdfpdf 스킬로 텍스트·레이아웃 참고(정밀 서식은 제한적)

도구 부재 시: kordoc·pandoc·soffice가 모두 없고 입력이 .docxpython-docx가 유일 경로다. 이때 아래 레시피를 반드시 따른다. 입력이 .hwp/.hwpx인데 kordoc이 없으면, 사용자에게 kordoc 설치를 안내하거나 .docx로 저장해 달라고 요청한다(LibreOffice 변환은 표가 평탄화될 수 있음을 알림).

.docx 파싱 레시피 (python-docx)

python-docx는 고수준 API가 스타일 상속을 해석하지 않으므로, 아래 폴백을 지켜야 프로파일이 반쪽으로 비지 않는다:

  • 글머리 레벨 감지: 각 문단 텍스트의 선행 글머리 글자(□ ㅇ - * ① Ⅰ)와, 그 앞의 선행 공백 수(text[:len(text)-len(text.lstrip())]의 길이) 또는 paragraph_format.left_indent로 레벨을 판정. 둘 중 관측되는 것을 기록(둘 다 없으면 미관측).
  • 본문 글꼴: run.font.name/sizeNone이면 → styles['Normal'].font → 그래도 None이면 docDefaults 상속(미해석)으로 보고 "미관측" 표기. ("본문 15pt"식 단정은 관측될 때만.)
  • 표 헤더 음영: 고수준 API 없음. 셀 XML의 tcPr/w:shd@w:fill(예: D9D9D9)을 직접 읽는다.
  • 여백·용지: section.page_width/height, *_margin은 EMU로 정확 관측·복제 가능(신뢰 필드).
  • 줄간격: paragraph_format.line_spacing이 None이면 미관측.

원칙: 관측된 것만 프로파일에 적고, 못 읽은 필드는 UNOBSERVED로 명시한다(지어내지 않는다). 무엇이 관측되고 무엇이 안 되는지를 사용자에게 알린다.

추출할 프로파일 항목(→ references/profile-schema.md의 스키마로 기록):

  • 문서 유형·용도, 섹션 골격(대제목→절→항목→번호 계층·순서, 필수 섹션), 글머리 기호 체계(레벨별 기호·들여쓰기), 문체(개조식 어미/시제), 머리 정보(제목·부제·날짜표기·서명형식·문서번호), 표 관행(열 구성·헤더·정렬·음영), 강조, 분량, 글꼴·여백(관측 가능한 것만; hwpx는 원본 스타일 공여 보존).

프로파일 승인 게이트

프로파일을 사용자에게 요약 보고하고 확인받는다 — "이 샘플에서 이런 틀을 읽었습니다(관측 못 한 항목: …). 이대로 맞출까요?" 잘못 읽은 틀로 전체를 생성하는 낭비를 막는다.

비대화형·단발 실행(배치·서브에이전트 등) 폴백: 확인을 기다릴 수 없으면 프로파일(UNOBSERVED 포함)을 산출물로 남기고 진행한다. 확인이 필요한 항목은 Phase 4 점검표에 ⚠️로 집약한다. 중단하지 않는다.

Phase 2: 내용 매핑

새 내용을 프로파일의 골격에 배치한다.

  1. 새 원고를 섹션 골격에 매핑한다. 프로파일에 있는 필수 섹션이 비면 사용자에게 물어 채운다.
  2. 머리 정보 결측 처리: 새 내용에 날짜·서명자 등 머리 정보가 없으면, 지어내지 말고 형식만 적용한 placeholder(예: 날짜 형식 유지 + "(작성일)", 서명 "직책 (이름)")를 넣고 Phase 4 점검표에 ⚠️로 표시해 확인을 요청한다.
  3. 각 항목을 프로파일의 글머리 레벨에 할당한다(기호·선행공백은 텍스트에 넣지 않는다 — Phase 3 생성기가 부착. 이중부착 금지).
  4. 프로파일의 문체 규칙을 적용한다: 개조식이면 references/korean-form-conventions.md명사구→개조식 변환표(섹션 성격별 시제 매핑)를 따라 어미를 정규화. 제목·날짜·시간도 관행에 맞춰 정규화.
  5. 표 스키마 충돌 규칙(중요): 새 데이터의 자연스러운 열 수가 샘플 표의 열 수와 다르면, 샘플 열에 무단 편입하지 않는다(빈 칸을 "-"로 메우거나 한 값을 반복해 채우면 데이터가 왜곡됨). 사용자에게 "샘플 표 열(구분/현황/계획/비고)에 맞출지, 데이터에 맞는 열로 새 표를 만들지"를 묻는다. 비대화형이면 데이터 형상에 맞는 표로 생성하고 그 사실을 Phase 4에 ⚠️로 표시한다.
  6. 내용의 사실·수치는 바꾸지 않는다. 양식만 이식한다. (문체 변환 중 의미가 바뀌면 안 됨 — 애매하면 원문 유지 후 플래그.)

산출 중간물: profile-schema.md 형식의 채워진 spec(JSON/YAML).

Phase 3: 생성

프로파일에 맞는 형식으로 출력한다. 글머리 기호·선행공백은 이 단계에서 부착한다(레벨별 기호 + 관측된 들여쓰기).

  • hwpx 샘플 → hwpx 출력: kordoc fill_form(폼필드 양식) 또는 generate_document/스타일-공여 빌드로 원본 서식을 보존해 생성. 표·글꼴·여백을 살린다.
  • docx 샘플 → docx 출력: python-docx로 생성. 원본에서 관측한 서식을 명시적으로 재적용한다(제목 글꼴·크기·정렬, □절 볼드, 셀 음영 w:shd, 여백 EMU, 본문 Normal 스타일). docx 스킬이 있으면 활용.
  • 사용자가 원하면 마크다운 초안도 병행 출력(검토용).

출력 경로는 사용자 지정 또는 작업 디렉터리. 원본 샘플을 덮어쓰지 않는다(새 파일명).

Phase 4: 충실도 점검 (검증 내장 — 이 스킬의 차별점)

생성물을 샘플 프로파일과 대조해 서식 충실도를 점검하고 보고한다. references/fidelity-checklist.md를 사용한다(hwpx·docx 각각의 서식 보존 항목 포함). hwpx는 kordoc compare_documents로 구조 비교 가능.

## 양식 충실도 점검

| 항목 | 샘플 | 생성물 | 판정 |
|------|------|--------|------|
| 섹션 골격·순서 | Ⅰ□ㅇ- 계층 | 동일 | ✅ |
| 글머리 기호체계 | ㅇ1/-3/*5칸 | 동일 | ✅ |
| 기호 이중부착 | — | 0건 | ✅ |
| 개조식 문체 | ~함/~임 | 3개 항목 서술체 잔존 | ⚠️ 위치 명시 |
| 날짜 표기 | '26. 5. 7.(목) | 형식 일치, 값 placeholder | ⚠️ 확인요청 |
| 표 열 구성 | 4열 | 데이터 형상에 맞춰 2열 생성 | ⚠️ 사유 명시 |
| 서명 실명 | (샘플 실명) | 미복제 | ✅(확인요청) |
| 필수 섹션 | 붙임 포함 | 누락 | 🔴 |

→ ⚠️/🔴 항목은 수정 위치를 명시하고, 승인 시 반영.

충실도 점검은 "양식을 지켰다는 착각"을 막는다 — 생성 자체보다 이 대조가 이 스킬의 값이다.


안전·범위 원칙

  1. 독점 템플릿 미탑재: 이 스킬은 어떤 기관의 템플릿·서식 파일도 내장하지 않는다. 양식은 항상 사용자가 런타임에 제공하며, 그 샘플은 사용자의 것이다.
  2. 양식 이식에 집중: 내용의 조사·집필·사실 생성은 이 스킬의 일이 아니다. 내용이 부족하면 지어내지 말고 사용자에게 요청한다.
  3. 사실 불변: 문체·서식 변환이 수치·고유명사·주장을 바꾸지 않는다. 애매하면 원문 유지 후 플래그.
  4. 샘플 개인정보 미복제: 샘플의 실명 서명·연락처가 새 문서에 그대로 복제되지 않도록, 머리 정보는 새 내용 기준으로 채우고 남은 잔여는 점검에서 표시한다.
  5. 관측만 기록: 못 읽은 서식은 지어내지 않고 UNOBSERVED로 남긴다.
  6. 경량 승인 게이트: 프로파일 요약(Phase 1)과 충실도 점검(Phase 4)에서 확인. 비대화형이면 산출물로 남기고 진행.

관련 도구·레퍼런스

  • 양식 프로파일 스키마: references/profile-schema.md
  • 한국 공문서 일반 작성 관행 + 명사구→개조식 변환표: references/korean-form-conventions.md
  • 충실도 점검 항목(hwpx·docx): references/fidelity-checklist.md
  • hwpx 심화(스타일 공여 빌드, 폼필드 채움)는 kordoc MCP 문서 참조. kordoc 미설치 시 위 .docx 레시피로 폴백하되 hwpx 고유 서식 보존은 제한됨을 알린다.

What ships with it: 11 files

96.2 KB alongside SKILL.md

docs/

examples/

Keep looking

Skills are one crate of 326,758. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.