superoffice

직장인 업무 문서, 회사 브랜드로, 결론 먼저.

팀장·경영진에게 올라가는 보고서·제안서·발표 자료·정산표를 만듭니다. 요청을 파악해 알맞은 형식으로 만들고, 회사 브랜드를 입히고, 결론부터 말하는(BLUF) 구조로 정리한 뒤 office-gate 자동 검사를 통과시킵니다. docx·pptx·xlsx·hwpx·pdf를 만들고, 읽고, 변환하며 Windows·macOS에서 똑같이 동작합니다.

docx · pptx · xlsx · hwpx · pdf 회사 브랜드킷 자동 검증 게이트 한국어 교정 no emoji WCAG AA 현재 = 2026
왜 평범한 문서 프롬프트보다 나은가

결론 먼저, 디자인은 그 다음.

임원은 60초 안에 무엇을 권하는지 파악해야 합니다. 색이 아무리 예뻐도 결론이 묻히면 업무 문서가 아닙니다.

결론 먼저(BLUF)

제목이 곧 결론인 action title, 한 장짜리 보고, SCQA 임원 요약, RAG 상태판. 디자인보다 메시지 구조를 먼저 잡습니다.

일관된 회사 브랜드

회사 템플릿 파일 상속과 brand-kit.json 인터뷰를 모두 지원합니다. 색·폰트·로고·규정을 한 번만 정해 두면 모든 형식에 똑같이 적용됩니다.

검증은 눈대중이 아니다

만드는 쪽이 스스로 통과시키지 않습니다. 별도의 검수 단계가 office-gate를 돌려 맞춤법·사실·이모지·색 대비를 점검하고, 렌더된 PNG를 직접 봐서 텍스트 넘침·잔여 플레이스홀더까지 잡습니다.

하나의 기본 틀이 아니다

형식과 작업이 모드를 정한다.

요청 신호를 읽고 알맞은 라이브러리와 디자인으로 보냅니다. 모든 생성 모드는 같은 office-gate로 검증됩니다.

Mode신호산출
DOCX보고서 · 제안서 · 기안 · 공문 본문python-docx 본문 문서
PPTX발표 덱 · 보고 슬라이드 · 정밀 표·도형python-pptx 정밀 제어
XLSX정산 · KPI · 대시보드 · 표·수식·차트openpyxl 조건부서식·차트
HWPX한글 공문서 · 공공·기업 표준python-hwpx 1급
PDF다페이지 본문 PDF 생성 · PDF 읽기Chromium/WeasyPrint · pdfplumber
READ기존 문서 읽기 · 표 추출통합 파서 매트릭스
CONVERT형식 변환 (hwpx↔docx↔pdf↔xlsx)LibreOffice + H2Orestart
BRAND회사 템플릿/스타일 반영 (오버레이).superoffice/brand-kit.json
회사 브랜드, 한 번만 정하면 모든 형식에

brand-kit.json - 팀장·경영진을 위한 차별점.

템플릿 파일 상속(Presentation("회사.pptx"))과 짧은 인터뷰(5문항 이하)로 색·폰트·로고·규정을 한 번에 정합니다. 회사 지정 색도 contrast-gate의 WCAG AA 대비 기준을 통과해야 합니다.

primary #273340
accent #3D5A80
RAG green
RAG amber (어두운 글자)
RAG red
눈대중이 아니라 규칙으로 검사

정해진 실패는 기계가 잡아냅니다.

스크립트가 합격·불합격을 직접 판정하므로 눈에 안 띄는 결함이 빠져나갈 수 없습니다. 바이너리 문서는 본문·셀을 텍스트로 뽑아 검사합니다.

$ bash templates/office-gate.sh .superoffice/q1-report body.txt -- safety-gate (universal, no band) -- body.txt:4 [emoji] 이모지 금지, 대괄호 마커 사용 [현황] -- korean-gate -- body.txt:7 [korean-spacing] '수' 띄어쓰기: "할수있다" -> "할 수 있다" -- integrity-gate -- body.txt:1 [year] 2026년 미출처 - facts.json 출처 또는 삭제 # 위반 수정 후 재실행 $ bash templates/office-gate.sh .superoffice/q1-report body.txt == SAFETY GATE: PASS == == KOREAN GATE: PASS == == INTEGRITY GATE: PASS == (facts.json 출처) == CONTRAST GATE: PASS == (WCAG AA) == OFFICE PREFLIGHT: PASS ==
safety-gate이모지·개인정보(PII)·안전하지 않은 링크·금지어 검사 (성인 업무 문서라 학년 구분 없음).
korean-gate어절 띄어쓰기 + 흔한 맞춤법(korean-rules.json). 거의 확실한 오류만 차단.
integrity-gatefacts.json의 수치·날짜·통계에 출처가 있는지. 미출처 수치 차단.
contrast-gate표지·도표·배지의 텍스트/배경 쌍 WCAG AA. 회사 색도 예외 없음.
렌더 검증OfficeCLI(선택 도구)가 docx·pptx·xlsx를 PNG로 렌더 - 넘침·겹침·잔여 플레이스홀더를 눈으로 확인하고 view issues·validate가 보조. 없으면 "렌더 미검증"으로 기록할 뿐 꾸며내지 않음.
역할 분리, 서브에이전트가 기본

만드는 쪽이 자기 작업을 채점하지 않는다.

지휘 에이전트가 브랜드 인터뷰 → 생성 → 검수를 각각 독립된 새 맥락으로 분리해 실행하고, 결과물은 작업 폴더(vault)에 쌓입니다.

  1. Read형식·대상·목적·변환 대상을 한 줄로 정리.
  2. Brand회사 템플릿 상속, 또는 5문항 이하 인터뷰로 brand-kit.json 작성.
  3. Builddoc-producer / xlsx-producer가 메시지 구조와 팔레트를 적용. 실제 자산만 사용.
  4. Critique독립 실행. office-gate.sh와 렌더 PNG 육안 검수로 모든 위반을 기록하되 문서는 고치지 않음.
  5. Verify위반마다 최소한으로 고쳐 통과할 때까지 재실행. 최대 3회.
설치 + 빠른 시작

~/.claude/skills/superoffice에 설치합니다.

필요한 것을 모두 갖춰 단독으로 동작하고, 도구가 없으면 우아하게 대체합니다. 라이브러리·변환 도구가 없으면 자리표시(placeholder)와 대체 기록([substitution])을 남길 뿐 절대 꾸며내지 않습니다.

# 스킬 설치
git clone https://github.com/cskwork/superoffice-skills ~/.claude/skills/superoffice

# 그 다음, Claude Code 에서
/superoffice "1분기 실적 보고서 docx로"
/superoffice "신규 사업 제안 발표 덱, 회사 템플릿으로"  # PPTX + BRAND
/superoffice "월 정산 KPI 대시보드 엑셀로"              # XLSX
/superoffice "협조 공문 hwpx로"                         # HWPX
/superoffice "받은 정산표 xlsx 표 추출해줘"             # READ
superoffice

Business documents. Company brand. Answer first.

Reports, proposals, decks, and sheets that go up to team leads and executives. Read the brief, route to the right format, apply the company brand, and ship an answer-first (BLUF) document past a deterministic office-gate. Generate, read, and convert docx, pptx, xlsx, hwpx, and pdf on Windows and macOS.

docx · pptx · xlsx · hwpx · pdf company brand kit deterministic gate Korean proofing no emoji WCAG AA 2026
Why it beats a plain document prompt

Answer first, design second.

Executives must grasp the recommendation in 60 seconds. A pretty palette with a buried conclusion is not a business document.

Answer first (BLUF)

Action titles where the title is the conclusion, one-page reports, SCQA executive summaries, RAG dashboards. Message structure comes before any design.

Consistent company brand

Both company-template inheritance and a brand-kit.json interview. Capture colors, fonts, logo, and policy once and apply them across every format.

Verification, not eyeballing

The builder never self-approves. An independent critic runs office-gate to judge spelling, facts, emoji, and color contrast - then reads the rendered PNG to catch text overflow and leftover placeholders.

Not one default template

Format and operation pick the mode.

Read the signal, route to the right library and design. Every build mode is verified by the same office-gate.

ModeSignalOutput
DOCXreport · proposal · draft · official letterpython-docx body document
PPTXdeck · report slides · precise tables/shapespython-pptx precise control
XLSXsettlement · KPI · dashboard · formulas/chartsopenpyxl conditional formatting/charts
HWPXHangul official doc · public/corporate standardpython-hwpx first-class
PDFmulti-page PDF generation · PDF readChromium/WeasyPrint · pdfplumber
READread existing documents · extract tablesunified parser matrix
CONVERTformat conversion (hwpx↔docx↔pdf↔xlsx)LibreOffice + H2Orestart
BRANDapply company template/style (overlay).superoffice/brand-kit.json
Capture the brand once, apply everywhere

brand-kit.json - the differentiator for execs.

Template-file inheritance (Presentation("brand.pptx")) plus a short interview (≤5 questions) capture colors, fonts, logo, and policy. Company colors must still pass contrast-gate AA.

primary #273340
accent #3D5A80
RAG green
RAG amber (dark text)
RAG red
A deterministic gate, not a vibe check

Predictable failure is greppable.

A script computes the verdict, so silent defects cannot pass. Binary documents are scanned by exporting body text/cells first.

$ bash templates/office-gate.sh .superoffice/q1-report body.txt -- safety-gate (universal, no band) -- body.txt:4 [emoji] no emoji, use bracket markers [현황] -- korean-gate -- body.txt:7 [korean-spacing] "할수있다" -> "할 수 있다" -- integrity-gate -- body.txt:1 [year] 2026 unsourced - cite in facts.json or cut # after fixing, re-run $ bash templates/office-gate.sh .superoffice/q1-report body.txt == SAFETY GATE: PASS == == KOREAN GATE: PASS == == INTEGRITY GATE: PASS == (sourced facts) == CONTRAST GATE: PASS == (WCAG AA) == OFFICE PREFLIGHT: PASS ==
safety-gateEmoji / PII / insecure links / forbidden words (no band - adult business docs).
korean-gateWord spacing + common spelling (korean-rules.json). Only near-certain errors block.
integrity-gateEvery number/date/stat in facts.json must be sourced. Unsourced figures blocked.
contrast-gateText/background pairs on covers, charts, badges at WCAG AA. Company colors too.
render verifyOfficeCLI (optional) renders docx/pptx/xlsx to PNG - overflow, overlap, and leftover placeholders are inspected visually, with view issues/validate as deterministic backup. Absent tool is logged as "unverified", never faked.
Role-separated, subagent-default

The builder does not grade its own work.

A conductor dispatches brand-interviewer → producer → critic in fresh contexts; outputs accumulate in the vault.

  1. ReadDeclare format / audience / purpose / conversion target in one line.
  2. BrandInherit a company template or capture brand-kit.json in ≤5 questions.
  3. Builddoc-producer / xlsx-producer. Message structure + palette, real assets only.
  4. CritiqueIndependent. Run office-gate.sh plus a rendered-PNG visual pass, log every violation, no edits.
  5. VerifySmallest fix per violation, re-run until green. Cap 3 cycles.
Install + quickstart

It lives in ~/.claude/skills/superoffice.

Self-contained, graceful fallback. A missing library or converter is logged as a placeholder + [substitution], never faked.

# install the skill
git clone https://github.com/cskwork/superoffice-skills ~/.claude/skills/superoffice

# then, in Claude Code
/superoffice "Q1 results report as docx"
/superoffice "new-business proposal deck, company template"  # PPTX + BRAND
/superoffice "monthly KPI dashboard as xlsx"                 # XLSX
/superoffice "cooperation official letter as hwpx"           # HWPX
/superoffice "extract the tables from this xlsx"             # READ