1Password에 저장한 비밀번호와 API 키를 명령과 설정 템플릿에 사용합니다. CLI 설치와 인증부터 비밀 값 조회 및 환경 변수 전달까지 안내합니다.
- 1Password CLI 설치와 설정
- 저장된 API 키로 명령 실행
- 설정 템플릿에 비밀 값 삽입
Word 문서를 만들고 읽고 편집하며 템플릿에 데이터를 채웁니다. 제목, 표, 이미지를 다루고 변경 내용과 메모를 정리하며 파일 구조 문제를 확인합니다.
Create, read, edit, template, and review Word .docx files.
Word의 .docx 문서를 만들고 내용을 읽거나 편집하며 템플릿에 데이터를 채웁니다. 제목, 본문, 목록, 표, 이미지, 머리글과 바닥글을 다루며 문자 바꾸기와 단락 추가·삭제를 지원합니다. 변경 내용을 나열하고 적용하거나 취소하며, 메모를 추가하거나 삭제합니다. 목차와 페이지 번호 설정, 파일 구조의 정상 여부 확인도 포함합니다.
Word 형식으로 보고서나 편지를 만들거나 기존 서식을 사용해 문서를 생성할 때 유용합니다. 검토한 문서의 변경 내용을 정리하고 본문, 제목 구조, 삽입 이미지를 추출하는 데도 사용할 수 있습니다. 열리지 않는 문서의 원인을 조사하는 절차도 제공합니다.
.docx로 만들어 주세요.”{{name}}에 데이터를 채워 주세요.”Python 3.10 이상과 python-docx가 필요합니다. 이전 형식인 .doc와 .odt, 화면을 보면서 하는 레이아웃 조정은 지원하지 않습니다. PDF 변환에는 LibreOffice가 필요합니다. 목차와 페이지 번호는 Word 등에서 필드를 업데이트해야 표시됩니다. 일부 변경 내용은 자동 처리할 수 없으며 메모 답글과 해결 상태도 다루지 않습니다.
이 소개문은 공개된 SKILL.md를 바탕으로 AI(OpenAI Codex)가 작성했습니다. 정확한 사양은 아래 원문을 확인하세요.
AI가 SKILL.md의 내용만을 근거로 4가지 관점에서 판정했습니다. 스타 수나 인기도는 판정에 넣지 않았습니다.
총점은 각 항목을 A=25점, B=15점, C=5점으로 더한 값입니다. 2026년 10월 19일 기준으로 AI(OpenAI Codex)가 판정했습니다. 참고용이므로 설치 전에 원문도 확인해 주세요.
설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
Create, read, edit, and template Microsoft Word .docx files with
python-docx via small CLIs. It handles text, styles, lists, tables,
images, headers/footers, {{token}} templating, tracked changes
(list/accept/reject), comments (list/add/delete), TOC and page-number
fields, and package health checks. It does not render documents itself
(PDF needs LibreOffice — see Converting to PDF) or edit legacy .doc.
.docx..docx: replace text, edit table cells,
insert/delete paragraphs, apply styles, merge fragmented runs..docx template with {{placeholders}} to fill from data..docx won't open or behaves oddly and you need corruption triage..doc (legacy), .odt, or WYSIWYG layout work.python-docx installed:
pip install python-docx (import name is docx; lxml comes with it).add uses the native API on python-docx >= 1.2 and an XML
fallback on older versions — both are automatic.All helpers live in scripts/ next to this file. Run them with the
terminal tool; each supports --help and prints JSON to stdout.
python scripts/docx_create.py spec.json out.docx
python scripts/docx_read.py out.docx --text
python scripts/docx_edit.py replace out.docx --find old --replace new
python scripts/docx_template.py tpl.docx values.json filled.docx
python scripts/docx_revisions.py list out.docx
python scripts/docx_comments.py list out.docx
python scripts/docx_validate.py out.docx
| Task | Command |
|---|---|
| Create from JSON spec | docx_create.py spec.json out.docx |
| Full text (body+tables+headers/footers) | docx_read.py f.docx --text |
| Heading outline + table shapes | docx_read.py f.docx --structure |
| Styles actually used | docx_read.py f.docx --styles |
| Extract embedded images | docx_read.py f.docx --images outdir/ |
| Detect tracked changes/comments | docx_read.py f.docx --revisions |
| Find/replace (formatting kept) | docx_edit.py replace f.docx --find A --replace B -o out.docx |
| Set a table cell | docx_edit.py set-cell f.docx --table 0 --row 1 --col 2 --text X |
| Insert paragraph before index N | docx_edit.py insert f.docx --index N --text X --style Normal |
| Delete paragraph N | docx_edit.py delete f.docx --index N |
| Apply style to paragraph N | docx_edit.py style f.docx --index N --style "Heading 1" |
| Merge equal-format adjacent runs | docx_edit.py normalize f.docx -o out.docx |
| Insert TOC field before para N | docx_edit.py toc f.docx --index N -o out.docx |
| "Page X of Y" footer fields | docx_edit.py page-numbers f.docx |
Fill {{tokens}} | docx_template.py tpl.docx values.json out.docx --strict |
| List revisions (id/author/date/text) | docx_revisions.py list f.docx |
| Accept / reject all revisions | docx_revisions.py accept-all f.docx -o out.docx (or reject-all) |
| Accept / reject one revision | docx_revisions.py accept f.docx --id 3 -o out.docx |
| List comments (+anchored text) | docx_comments.py list f.docx |
| Add comment anchored to text | docx_comments.py add f.docx --target "phrase" --text "note" --author You |
| Delete comment by id | docx_comments.py delete f.docx --id 0 |
| Health-check the package | docx_validate.py f.docx (exit 1 on errors) |
write_file, then run
scripts/docx_create.py. The spec supports: page (size + margins in
mm), header/footer strings, footer_page_numbers (adds a
"Page X of Y" field footer), styles (custom paragraph styles with
font, size, bold/italic, hex color), and blocks — heading
(level 1-9), paragraph (either text or a runs list where each run
may set bold/italic/underline), bullet_list, numbered_list,
table (header row rendered bold, rows, optional built-in table
style such as Table Grid), image (path, optional width_mm),
toc (Table of Contents field), and page_break. The full spec
format is documented at the top of scripts/docx_create.py.scripts/docx_read.py with exactly one mode flag.
--text returns body paragraphs, all table cell text, and
header/footer text as JSON. --structure returns the heading outline
plus paragraph/table/section counts. --images DIR copies every file
under word/media/ out of the package.scripts/docx_edit.py. replace walks body, tables
(nested included), headers and footers, and preserves run formatting;
add --body-only to skip headers/footers. Pass -o out.docx to keep
the original; omit it to edit in place. Paragraph indices for
insert/delete/style/toc refer to --structure/--text body
order. Run normalize first on documents that came out of heavy Word
editing — it merges adjacent runs with identical formatting so later
find-replace matches reliably.docx_revisions.py list reports every w:ins
and w:del (id, author, date, affected text) anywhere in body,
tables, headers, or footers. accept-all / reject-all resolve them
in bulk; accept/reject --id N handles a single revision. Accept
keeps insertions and drops deleted text; reject does the reverse.docx_comments.py list returns each comment's id,
author, date, body text, and the document text it is anchored to.
add --target "some phrase" anchors a new comment to the first
occurrence of that phrase (runs are split as needed; formatting is
preserved). delete --id N removes the comment and its markers
without touching document text.{{name}}-style tokens in the document. Run
scripts/docx_template.py with a JSON object of values. Use
--strict to fail when tokens remain unfilled; the JSON output lists
filled counts and unfilled_tokens either way.--text or
--structure, and run docx_validate.py on anything you produced
via revision/comment surgery.No script needed. When LibreOffice is installed, convert headlessly:
soffice --headless --convert-to pdf --outdir outdir/ file.docx
Check availability first (command -v soffice || command -v libreoffice). If neither exists, tell the user PDF conversion is
unavailable in this environment rather than improvising — python-docx
cannot render PDFs, and layout fidelity requires a real renderer.
docx_edit.py normalize first
reduces fragmentation for all later edits.docx_revisions.py resolves run-level
insertions and deletions (the overwhelming majority). Paragraph-mark
and table-row revisions, format-change records, and moves are detected
by --revisions but not auto-resolved — see
references/revisions-and-comments.md and hand those to Word.commentsExtended.xml, which this skill ignores; comments it adds are
plain top-level comments.toc, page-numbers, and the
toc/footer_page_numbers spec options write field codes.
Word/LibreOffice populates the actual entries and numbers when the
file is opened (Word may prompt to update fields); python-docx never
computes them, so placeholder text shows until then.docx_validate.py verifies the zip, required parts, relationship
targets, image magic bytes, and referenced styles. It is NOT XSD
validation — a file can pass and still contain XML Word dislikes.KeyError. Built-ins like Heading 1, List Bullet,
List Number, Table Grid exist in the default template; custom
styles must be declared in the create spec first.List Number relies on Word's default
numbering; separate lists in one document may continue numbering
instead of restarting. Warn users needing precise multi-list numbering.set-cell uses cell.text = ...,
which resets runs in that cell to plain formatting.document.xml corrupts files
easily. Use patch/write_file only for the JSON inputs, never on the
.docx itself.docx_read.py out.docx --text and
check the expected strings appear (and old strings are gone).docx_revisions.py list should return [] (or
only the ids you intentionally left); after comment surgery,
docx_comments.py list should reflect the change and --text output
must be unchanged.docx_validate.py out.docx exits 0 with "ok": true on a healthy
package — run it after any revision/comment/field manipulation.--strict, or check unfilled_tokens == [].--structure should show the expected heading
outline and table shapes; --styles confirms custom styles applied.아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
1Password에 저장한 비밀번호와 API 키를 명령과 설정 템플릿에 사용합니다. CLI 설치와 인증부터 비밀 값 조회 및 환경 변수 전달까지 안내합니다.
손익계산서·재무상태표·현금흐름표를 수식으로 연결한 Excel 모델을 만듭니다. 실적과 예측 가정을 입력하고 시나리오를 비교하며 세 재무제표의 일관성을 단계별로 확인합니다.
기존 PyTorch 학습 코드를 적은 수정으로 여러 GPU나 컴퓨터에 맞게 구성합니다. 혼합 정밀도, 메모리 절약 설정과 학습 실행 방법을 안내합니다.
Hermes에서 Actual Computer로 자신의 기기에 AI 모델을 실행하도록 연결을 설정합니다. 중계 서비스와 로컬 연결, 모델 선택, 응답 확인 및 오류 점검을 다룹니다.
기술에 익숙하지 않고 쉽게 불만을 느끼는 사용자로 앱을 시험합니다. 혼란스러운 조작과 이탈 원인을 찾고, 개선 과제와 개인적 불만을 나눠 수정안을 정리합니다.
두 에이전트가 각각 수정한 브랜치의 Git 충돌을 양쪽 변경 내용과 의도에 따라 중립적으로 해결합니다. 충돌별 판단 이유를 기록하고 빌드나 테스트로 통합 결과를 확인합니다.