Skip to content

feat(skills): add hwp-forge-donor-template-restore-build - #1305

Merged
jinon86 merged 1 commit into
mainfrom
skill/hwp-forge-donor-template-restore-build
Aug 26, 2026
Merged

feat(skills): add hwp-forge-donor-template-restore-build#1305
jinon86 merged 1 commit into
mainfrom
skill/hwp-forge-donor-template-restore-build

Conversation

@jinon86

@jinon86 jinon86 commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

배경

HWP/HWPX 기관 양식 문서를 Linux 서버에서(한컴 한글 없이) 생성·개정하는 절차가 문서마다 일회성 스크립트로 재발명돼 왔습니다. 같은 문제를 서로 다른 임시방편으로 두 번 푼 사례가 근거입니다 — 하나는 hwp-forge 양식 상속 경로, 다른 하나는 기존 .hwpx에 직접 XML 문자열 수술(make_v2.py/make_v3.py).

기존 archive-document-template-reverse-engineeringgenerated-archive-document-content-verification은 일반 zip/XML 수술 절차만 다루며, 한글 양식 상속 경로 선택이나 도너 복원 기법을 담고 있지 않습니다.

변경

  • claude/skills/hwp-forge-donor-template-restore-build/SKILL.md 신규
  • codex/compatibility.jsonclaude-only 분류 등록 (fail-closed 카탈로그 게이트 catalog_unclassified 대응)

스킬이 인코딩하는 것

  • 경로 선택 규칙 — 양식 상속 / 도너 복원 / from-scratch. 이전 정본 .hwpx가 있으면 도너 복원이 우선(재상속하면 그동안의 수동 교정이 소실됨).
  • 도너 복원 수술replace_once 유일성 단언(count 0 = 스테일 도너, ≥2 = 의도치 않은 오염), <hp:p> 중첩 span 계산, 나머지 zip 엔트리 전량 복사, 플레이스홀더 소진 단언.
  • 스타일 ID 하드코딩 금지paraPr/charPr/borderFill ID는 도너별 실측값이라 문서 간 재사용 불가.
  • 검증 — 추가된 문구 존재뿐 아니라 제거된 문구 부재까지 확인(반쪽 검증 방지) + 렌더 PNG 육안 검수.

분류 근거

claude-only / "codex mirror candidate, none exists yet" — github-metered-billing-leak-diagnosis 선례를 따랐습니다. 절차 자체는 런타임 중립이지만 codex 미러가 아직 없습니다.

검증

  • scripts/validate-harness.sh 2회 독립 실행 모두 exit 0, FAIL=0
  • ok Codex compatibility catalog + managed-skill transaction tests 통과
  • 노드 특정 경로(/root/hwp-forge)는 일반화하고, 체크아웃이 없는 노드용 폴백을 명시했습니다.

🤖 Generated with Claude Code

@jinon86
jinon86 requested a review from seoseo-ai as a code owner August 26, 2026 16:36
@jinon86 jinon86 closed this Aug 26, 2026
@jinon86 jinon86 reopened this Aug 26, 2026
Encodes the HWP/HWPX institutional-form document procedure that was
repeatedly re-invented as one-off zip/XML surgery scripts per document.

- Path-selection rule: template inheritance vs donor restore vs
  from-scratch, with donor restore taking precedence when a prior
  canonical .hwpx exists (re-inheriting discards manual corrections).
- Donor-restore surgery: replace_once uniqueness assertion (count 0 =
  stale donor, >=2 = unintended edits), <hp:p> nesting span calculation,
  full copy of remaining zip entries, placeholder-exhaustion assertion.
- Warns that paraPr/charPr/borderFill IDs are per-donor measurements and
  must never be hardcoded across documents.
- Verification requires both added-text presence AND removed-text
  absence, plus rendered-page visual check.

Existing archive-document-template-reverse-engineering and
generated-archive-document-content-verification cover generic zip/XML
surgery only; a See-also cross-reference is added on the node copy.

Classified claude-only in codex/compatibility.json (codex mirror
candidate, none exists yet) per the fail-closed catalog gate.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@jinon86
jinon86 force-pushed the skill/hwp-forge-donor-template-restore-build branch from 4d961be to 5de29a6 Compare August 26, 2026 16:51

@seoseo-ai seoseo-ai left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved after explicit operator authorization using the local seoseo-ai credential.

@jinon86
jinon86 merged commit 2aa1924 into main Aug 26, 2026
8 checks passed
@jinon86
jinon86 deleted the skill/hwp-forge-donor-template-restore-build branch August 26, 2026 17:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants