agentsclimarketplace

Hwpx

Skill mskim8717/skill-runner/.claude/skills/hwpx

한글(HWPX) 보고서 생성/편집/읽기 스킬. .hwpx 파일, 한글 문서, Hancom, OWPML 관련 요청 시 사용.From its SKILL.md

Install
npx -y skills add mskim8717/skill-runner --skill hwpx

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

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 4 stars4 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

3.7 KB, ~1.4k tokens by cl100k_base, as published. Nobody here has run it

HWPX 보고서 생성 스킬 — JSON-first (신뢰성 우선)

한글(Hancom) HWPX 보고서를 생성한다. HWPX는 ZIP+XML(OWPML) 컨테이너라, 본문 XML을 손으로 작성하면 거의 항상 텍스트가 <hp:t> 밖에 들어가 "파일은 열려도 본문이 안 보이는" 결과가 된다. 그래서 이 스킬은 본문 XML을 직접 쓰지 않는다. 너는 보고서의 내용만 JSON으로 만들고, 스킬의 결정론적 빌드 스크립트가 템플릿·스타일·<hp:t> 배치·표를 정확히 조립한다.

(이 스킬의 디렉토리 절대경로는 스킬 로드 시 제공된다. 아래 <skill_dir>를 그 경로로 바꿔 쓴다. 강한 모델용 수동 XML 편집·읽기 상세는 SKILL.original.md 참조.)

0. 환경 점검 (세션당 1회)

python3 -c "import lxml"

성공하면 진행. 실패하면 설치 후 재확인:

python3 -m pip install --user --quiet -r "<skill_dir>/requirements.txt"

1. 보고서 "내용"을 JSON으로 작성해 파일로 저장

다음 스키마 그대로 작성한다 (예: /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 개요","외부연사"]]}}
  ]
}

문체 규칙(개조식 — 반드시 지킬 것):

  • 각 섹션 bullets는 상위 줄과 그 아래 하위 줄의 위계로 구성한다.
  • 상위 줄: '□ ' 뒤 기준 30~35자. 단순 라벨 금지(핵심을 압축한 한 줄 범주 문장). 세부는 로 내린다.
  • 하위 줄: ' ❍ '(앞 공백 2칸)로 시작, 6570자의 구체적 설명 문장. 보통 □ 하나당 ❍ 12개.
  • 종결은 명사형으로(~구축, ~강화, ~추진, ~확보, ~운영, ~고도화 등). '~합니다/~습니다/~한다/~된다/~있다'는 금지.
  • 표의 일자 열은 '’26.03.05.' 형식(연.월.일)으로 쓴다.
  • 요청에 명시된 수치·구성(회차 수, 트랙, 도구명 등)을 빠짐없이 정확히 반영한다.

2. 한 번의 명령으로 빌드 (XML은 손대지 말 것)

python3 "<skill_dir>/scripts/build_from_json.py" /tmp/report_content.json <output>.hwpx
  • build_from_json.py가 템플릿 제목 도형·스타일·표·<hp:t> 배치를 결정론적으로 조립한다.
  • 성공 출력 예: OK: <경로> · 섹션 N개 · 표 M개. 그 .hwpx 경로를 사용자에게 알린다.

3. (선택) 문체 검증

python3 "<skill_dir>/scripts/style_check.py" <output>.hwpx

INVALID가 나오면 위반 줄(X ...)을 보고 JSON의 해당 bullet을 고쳐(□ 3035자로 줄이고 넘치는 세부는 6570자로 내림, 명사형 종결) 1번부터 다시 빌드한다.

절대 금지 (약한 모델이 흔히 어기는 것)

  • 본문 section0.xml이나 zip 내부를 직접 작성·편집 금지. cat <<EOF > section0.xml 같은 방식 절대 금지 — <hp:t> 누락/오배치로 본문이 사라진다. 오직 build_from_json.py로만 만든다.
  • 텍스트를 <hp:run>에 직접 넣지 마라(반드시 <hp:t> 안). 이 배치는 스크립트가 알아서 한다.
  • 수치·날짜·고유명사·인용은 요청 그대로 보존한다.

What ships with it: 37 files

485.2 KB alongside SKILL.md, 10 of them executable

references/

scripts/

Keep looking

Skills are one crate of 326,871. 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.