프로젝트/05
문서 생성 스킬 시스템
제안서 작성 규칙을 코드로 만든 자동화
작성 시간의 대부분이 내용이 아니라 형식에 들어간다면, 형식은 자동화 대상입니다.
한 줄
제안서·계획서·발표자료의 목차 구조, 서술 규칙, 서식 규격을 SKILL.md로 코드화해, 같은 유형의 문서를 처음부터 다시 쓰지 않도록 만든 자동화 체계입니다.
문제
정부 R&D 제안서는 형식이 정해져 있습니다. 목차, 절 번호, 표 규격, 행정 문서 위계(□ → ○ → -)가 공고마다 반복됩니다. 그런데 매번 처음부터 씁니다. 같은 실수도 반복됩니다. 표 폭 합계가 맞지 않아 한글에서 깨지고, 폰트가 지정되지 않아 문서 전체가 다른 서체로 열립니다.
작성 시간의 대부분이 내용이 아니라 형식에 들어간다는 것을 입사 초기 몇 건을 쓰면서 확인했습니다. 그렇다면 형식은 자동화 대상입니다.
내가 한 일
Claude Code의 SKILL.md 아키텍처를 사용해 문서 유형별 스킬을 만들었습니다. 현재 9종을 운영합니다.
- 산업부 R&D 사업계획서 (주관기관용 / 공동·참여기관용 2종 분리)
- 조달청 혁신제품 기술개발 연구개발계획서
- 공고문과 양식을 넣으면 그 공고 전용 작성 스킬을 만들어 내는 메타 스킬
- 4MAT 구조 발표 스크립트 생성
- 학술 논문 비평서 및 발표자료 생성 (2종)
- 산업안전 AI 과제 전용 스킬
- 프롬프트 설계 스킬
기술적으로 해결한 것들입니다.
- 한글 문서 생성 — Node.js
docx라이브러리를 CJS 모드로 사용하고, 폰트를 명시적으로 지정하지 않으면 한글이 기본 서체로 깨지는 문제를 규칙으로 고정했습니다. 표는 컬럼 폭 합계 규칙을 지켜야 렌더링이 어긋나지 않습니다. - 출력 포맷 전환 — DOCX로 만들면 한글 워드에서 호환 모드로 열려 서식이 흔들립니다. 네이티브 HWPX 생성으로 전환했습니다.
- 발표자료 — pptxgenjs와 html2pptx의 렌더링 차이에서 오는 문제를 정리해 슬라이드 생성 경로를 안정화했습니다.
설계 판단
스킬은 템플릿이 아닙니다. 빈칸 채우기 양식이 아니라, "이 절에는 무엇이 들어가야 하고 무엇이 중복되면 안 되는가"라는 판단 규칙을 담았습니다. 예를 들어 제안서의 각 절에 역할을 할당하고 중복을 제약 조건으로 검사하게 했습니다. 정부 과제 평가에서 같은 내용이 여러 절에 반복되면 분량만 늘고 점수는 오르지 않기 때문입니다.
웹 검색과 출처 표기를 스킬 안에 넣었습니다. 시장 규모나 기술 동향 수치를 모델이 지어내면 발표장에서 반드시 질문을 받습니다. 인용 시 출처 표기를 스킬 차원에서 의무화했습니다.
공고가 바뀌면 스킬을 새로 만듭니다. 그래서 스킬을 만드는 스킬을 따로 만들었습니다. 공고문과 양식을 넣으면 그 공고 전용 작성 스킬이 생성됩니다. 부처와 양식이 매년 바뀌는 환경에서는 개별 스킬을 손보는 것보다 이쪽이 빠릅니다.
결과와 한계
제안서 초안 작성 시간이 크게 줄었고, 형식 오류로 인한 재작업이 사라졌습니다. 다만 정확한 단축 시간은 별도로 측정하지 않았습니다.
한계는 두 가지입니다. 첫째, 스킬은 초안까지입니다. 기술 내용의 타당성과 수요처 논리는 사람이 씁니다. 둘째, 이 도구가 제안서 채택률을 올려 주지는 않습니다. 실제로 이 체계를 쓰고도 여러 과제에서 탈락했습니다. 자동화가 해결한 것은 형식이지 전략이 아닙니다.
소유 구분
스킬 아키텍처와 문서 생성 파이프라인은 제가 설계한 개인 산출물입니다. 이를 사용해 작성된 제안서의 내용과 권리는 각 소속 기관에 있으며, 이 페이지에는 문서 내용을 포함하지 않습니다.
화면과 시연
촬영 예정 목록. 각 항목은 media-guide.md의 규격·마스킹 규칙을 따릅니다.
- 영상 — 요청 한 줄 → HWPX 산출까지 60초 배속 시연
- 스크린샷 — SKILL.md 파일 목록 (스킬 9종이 보이는 트리)
- 스크린샷 — 생성된 HWPX를 한글에서 연 화면 — 목차·표 서식 정상 렌더
- 스크린샷 — 스킬 내부 규칙 일부 (절별 역할·중복 제약 부분)