بنقرة واحدة
hwpx
한글(HWPX) 보고서 생성/편집/읽기 스킬. .hwpx 파일, 한글 문서, Hancom, OWPML 관련 요청 시 사용.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
한글(HWPX) 보고서 생성/편집/읽기 스킬. .hwpx 파일, 한글 문서, Hancom, OWPML 관련 요청 시 사용.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
| name | hwpx |
| description | 한글(HWPX) 보고서 생성/편집/읽기 스킬. .hwpx 파일, 한글 문서, Hancom, OWPML 관련 요청 시 사용. |
한글(Hancom) HWPX 보고서를 생성한다. HWPX는 ZIP+XML(OWPML) 컨테이너라, 본문 XML을 손으로
작성하면 거의 항상 텍스트가 <hp:t> 밖에 들어가 "파일은 열려도 본문이 안 보이는" 결과가 된다.
그래서 이 스킬은 본문 XML을 직접 쓰지 않는다. 너는 보고서의 내용만 JSON으로 만들고,
스킬의 결정론적 빌드 스크립트가 템플릿·스타일·<hp:t> 배치·표를 정확히 조립한다.
(이 스킬의 디렉토리 절대경로는 스킬 로드 시 제공된다. 아래 <skill_dir>를 그 경로로 바꿔 쓴다.
강한 모델용 수동 XML 편집·읽기 상세는 SKILL.original.md 참조.)
python3 -c "import lxml"
성공하면 진행. 실패하면 설치 후 재확인:
python3 -m pip install --user --quiet -r "<skill_dir>/requirements.txt"
다음 스키마 그대로 작성한다 (예: /tmp/report_content.json):
{
"title": "보고서 제목",
"dept": "작성 부서명 (선택)",
"sections": [
{"heading": "1. 추진 배경 및 목적",
"bullets": [
"□ 핵심을 압축한 한 줄 범주 문장 (30~35자)",
" ❍ 그 범주의 구체적 설명을 활동·대상·방법까지 담아 한 문장으로 (65~70자)"
]},
{"heading": "3. 추진 일정", "bullets": [],
"table": {"template": "schedule", "headers": ["일자","추진내용","담당"],
"rows": [["’26.03.05.","[일반 1회] AI 개요","외부연사"]]}}
]
}
문체 규칙(개조식 — 반드시 지킬 것):
□ 상위 줄과 그 아래 ❍ 하위 줄의 위계로 구성한다.□ 상위 줄: '□ ' 뒤 기준 30~35자. 단순 라벨 금지(핵심을 압축한 한 줄 범주 문장). 세부는 ❍로 내린다.❍ 하위 줄: ' ❍ '(앞 공백 2칸)로 시작, 65python3 "<skill_dir>/scripts/build_from_json.py" /tmp/report_content.json <output>.hwpx
build_from_json.py가 템플릿 제목 도형·스타일·표·<hp:t> 배치를 결정론적으로 조립한다.OK: <경로> · 섹션 N개 · 표 M개. 그 .hwpx 경로를 사용자에게 알린다.python3 "<skill_dir>/scripts/style_check.py" <output>.hwpx
INVALID가 나오면 위반 줄(X ...)을 보고 JSON의 해당 bullet을 고쳐(□ 3035자로 줄이고 넘치는
세부는 70자로 내림, 명사형 종결) 1번부터 다시 빌드한다.❍ 65
section0.xml이나 zip 내부를 직접 작성·편집 금지. cat <<EOF > section0.xml 같은 방식
절대 금지 — <hp:t> 누락/오배치로 본문이 사라진다. 오직 build_from_json.py로만 만든다.<hp:run>에 직접 넣지 마라(반드시 <hp:t> 안). 이 배치는 스크립트가 알아서 한다.