본문으로 건너뛰기
cccskills
무료GitHub에 공개한국어 소개

save-as-pdf

HTML 디자인을 인쇄용 페이지 구성으로 정리해 텍스트를 선택할 수 있는 PDF로 내보낼 준비를 합니다. 문서, 슬라이드, 포스터를 용지에 맞게 배치합니다.

원문원문 설명 보기

Print-ready PDF export

AI 평가90점/ 100설치 방법 보기

이럴 때 유용합니다

  • 보고서와 메모의 PDF 출력 준비
  • 슬라이드를 한 장씩 별도 페이지로 인쇄
  • 이력서나 전단을 지정 페이지 수에 배치
  • 포스터를 실제 크기나 표준 용지로 인쇄

한국어 소개

할 수 있는 일

HTML 디자인을 실제 용지에 맞게 정리하고 브라우저 인쇄 기능으로 PDF를 내보낼 준비를 합니다. 이미지로 변환하지 않고 처리하므로 텍스트를 선택할 수 있는 PDF를 만들고자 할 때 사용할 수 있습니다. 글꼴, 색상, 이미지를 유지하면서 문서 자동 페이지 나누기, 지정 페이지 수에 맞춘 배치, 슬라이드별 페이지 분리를 지원합니다.

이럴 때 유용합니다

보고서나 메모를 종이에서 읽기 쉽게 만들거나 이력서와 전단을 정해진 페이지 수에 맞출 때 유용합니다. 포스터 같은 고정 크기 디자인도 실제 크기로 인쇄하거나 표준 용지에 맞출 수 있습니다. 매번 최신 HTML로 인쇄용 사본을 만들어 내용 변경을 반영합니다.

사용 예시

  • “이 보고서를 페이지가 나뉜 PDF로 만들어 주세요.”
  • “각 슬라이드를 별도 페이지로 내보내 주세요.”
  • “이 포스터가 A4 용지에 들어가도록 해 주세요.”

주의 사항

doc_page 시작 구성 요소 등의 인쇄용 구성 요소와 show_pdf_export_dialog를 사용할 수 있는 환경이 필요합니다. 일반적인 요청에서는 표시된 대화 상자에서 사용자가 “Continue to export”를 누르면 인쇄 화면이 열립니다. 페이지 수가 고정된 문서는 용지를 벗어난 내용이 잘리므로 배치를 조정해야 합니다.

이 소개문은 공개된 SKILL.md를 바탕으로 AI(OpenAI Codex)가 작성했습니다. 정확한 사양은 아래 원문을 확인하세요.

객관 평가

AI가 SKILL.md의 내용만을 근거로 4가지 관점에서 판정했습니다. 스타 수나 인기도는 판정에 넣지 않았습니다.

지시의 명확성언제 쓰고 무엇을 하는지 알 수 있는가
A양호HTML을 용지용으로 정리하고 브라우저 인쇄로 PDF를 내보내는 용도를 명시합니다.
절차의 구체성절차·입출력·예시가 구체적으로 적혀 있는가
A양호원본 재확인, 인쇄용 사본 이름과 버전 표시, 페이지 구성, 검증 및 내보내기 호출이 구체적입니다.
안전성전송·삭제·명령 실행 등을 명시하고 있는가
A양호별도 이름의 인쇄용 사본을 만들고 버전을 확인하며 일반적으로 사용자 클릭 후 인쇄 화면을 엽니다.
도입의 용이성필요한 도구나 API 키가 적고 적혀 있는가
B일부 부족전용 인쇄 구성 요소와 내보내기 도구가 필요하지만 호환 환경의 설치 설명은 없습니다.

총점은 각 항목을 A=25점, B=15점, C=5점으로 더한 값입니다. 2026년 10월 24일 기준으로 AI(OpenAI Codex)가 판정했습니다. 참고용이므로 설치 전에 원문도 확인해 주세요.

평가가 다르다고 생각되면 재검토를 요청하기

어느 항목이 왜 다르다고 생각하는지 적어 주세요. 로그인은 필요 없습니다. SKILL.md와 대조해 평가를 다시 만들고 이곳에 반영합니다.

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

포함된 파일(1)

  • SKILL.md9.0 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Save as PDF

Reformat the current HTML design into a paginated, paper-ready PDF. The "Instant" export already gives the user a PDF at the design's native pixel size — this path is for when they want real pages.

Do NOT rasterize the page into a PDF. Never use jsPDF, html2canvas, dom-to-image, or any other canvas/screenshot-to-PDF approach — they produce blurry, non-selectable, oversized output, and do not generate a PDF binary yourself. PDF export is print-based: a print-ready copy is handed to show_pdf_export_dialog and the browser's own print engine renders crisp, selectable, text-based pages. The only supported way to make a copy print-ready is a component that owns its print geometry — the doc_page starter for documents, or a source already built on <deck-stage> or <doc-page>. Do not hand-author @page rules or print CSS resets, and NEVER declare <meta name="omelette-owns-print"> yourself — the starters announce print ownership at runtime, and a hand-authored meta tells the platform to trust print CSS you would then have to hand-write and maintain. Hand-rolled print CSS behind that meta is the legacy path; the doc_page starter replaces it everywhere it is available.

Steps

  1. Read the current HTML design file to understand its structure and content. Re-read it on every PDF request, even if you read it or made a print copy earlier in this conversation — the user may have changed content or tweak values (the Tweaks panel writes into the source file) since then. Note the [version: v<N>] token in the read result's header — step 2's provenance stamp needs it, and only a version read in THIS request is valid to stamp.

  2. Write the print copy, stamped with its provenance. Always write it fresh from the source you just read — an existing -print copy from an earlier request is a stale snapshot, and reusing or only partially updating it ships outdated values to the PDF. The print file path is the source path with -print inserted before the extension — same directory, same basename. If the source is slides/deck.html, write slides/deck-print.html; if the source is web/index.html, write web/index-print.html. Do NOT use the deck title or project name as the filename, and do NOT write to the project root if the source is in a subdirectory — any change in directory depth breaks every relative URL (@font-face src: url(...), <img src>, <link href>, CSS background: url(...)) and the print tab shows missing images and system-font fallbacks.

    Stamp the copy's provenance (required whenever the read header shows a version — every arm of this step). Include this tag in the copy's <head>, carrying the version from step 1's read header and the source's project-relative path (for a read header of [File: designs/report.html] [version: v172]):

    <meta name="omelette-print-source" content="v172 designs/report.html">
    

    show_pdf_export_dialog REFUSES a copy whose stamp is missing or no longer matches the source's current version — that is what makes a stale copy un-exportable. If it refuses with a stale-copy error, go back to step 1 (re-read the source) and rewrite the copy fresh; never just add or edit the stamp on an existing copy. If the read header shows no [version: ...] token, the project isn't versioned — omit the stamp; the export tool skips the freshness check there.

    If the source is already built on <deck-stage> or <doc-page>, the copy is the source plus content-level print rules only. Both components own their print geometry — never add an @page rule or reflow their layout. For <deck-stage> decks, set data-deck-active on every direct-child slide (not just the current one) so [data-deck-active]-keyed entrance styles resolve on every page — each slide is already one page. For <doc-page> documents there is nothing structural to do.

    Otherwise, rebuild the content on the doc_page starter. Call copy_starter_component with kind: "doc_page.js" (once per project — the component file persists), then decide the pagination UP FRONT: a FLOWING document (pour the content into <doc-page margin="0.75in"> as one normal HTML flow; the print engine paginates it — the default for reports, memos, letters, long-form), or EXPLICIT pagination (one <section class="page"> child per page — when the user asks for a page count or the design implies one: a one-page resume, a two-sided flier, a certificate, a brochure). If in doubt, ask the user. Keep the design's typography, colors, and imagery intact either way. For FLOWING documents the component pins no paper size — the print engine paginates onto the user's real paper. Explicitly paginated pages print at a FIXED page box with overflow hidden — letter by default (set size="a4" for a clearly metric user), the user's chosen paper when they export — and content that misses the box is clipped, never reflowed: design each page to FILL the page box and fit letter and A4 alike without overlap (no viewport units — they track the window, not the page). orientation="landscape" for landscape sheets. The component owns the sheet, the pagination, and all print geometry — do NOT write your own @page rule, print-CSS reset, page-card divs, hard-coded paper dimensions, or break-after: page fake sheets. In flowing documents use break-before: page only where a section genuinely starts a new chapter; long tables get a <thead> so the header repeats on every page.

    A fixed-canvas design (poster, social graphic, infographic) also goes through the doc_page rebuild, with one decision: the page. Print it at its true dimensions — <doc-page width="18in" height="24in" margin="0">, the page IS the design (use explicit width/height ONLY when the user gives or implies a real physical size) — or scale it onto standard paper — <doc-page size="letter" content-width="960px" content-height="1440px"> (size="a4" when the user is clearly metric), where the content lays out at its authored size and the component scales it to fit that sheet's printable area. Scaled-fit is the ONE place a named size still matters: the component must compute the fit against a known sheet (the export dialog re-fits to the user's actual paper choice at print time where available). When the user's intent between the two isn't clear from their request, ask — in plain terms (print it poster-sized, or fit it onto regular paper?) — before exporting. Never hand-scale with your own CSS transforms; the component owns the scaling either way.

    In every copy, add the color-adjust rule so backgrounds and colors match the preview — do NOT strip backgrounds from the design:

    * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    

    Jump animations to their end state. Do NOT use animation: none (that reverts fade-ins to the hidden base). Instead freeze every animation at its final frame and disable transitions:

    * { animation-delay: -99s !important; animation-duration: .001s !important;
        animation-iteration-count: 1 !important; animation-fill-mode: both !important;
        animation-play-state: running !important; transition-duration: 0s !important; }
    
  3. Test the file by showing it with show_html, then make sure there are no JS errors. No need to screenshot unless asked.

  4. Call the show_pdf_export_dialog tool with the project-relative path to the print-ready file. The print-firing code is injected into the print copy automatically when you call this tool — do NOT write an auto-print or window.print() script yourself. Unless the export started from the user's own Export click, the tool does not open anything itself: it presents an export dialog, and the user's Continue to export click there is what opens the print view. The tool result says which happened — when it says the dialog is waiting on the user, the print view has NOT opened; say so plainly and never claim it has. The tool fails with a reason if the file (and its print source) is not print-based — the doc_page rebuild from step 2 is exactly what keeps the copy eligible.

Important Notes

  • The goal is a file that prints cleanly on real pages — the doc_page component owns the pagination; your job is the content
  • Maintain visual fidelity — keep the design's typography, colors, and imagery intact
  • For <deck-stage> decks, each slide stays on its own page; <doc-page> documents flow and paginate themselves
  • For prompt-driven exports, show_pdf_export_dialog waits on the user: the export dialog's Continue to export click opens the print view, and until then nothing has opened — report the state the tool result describes, not the state you expect
  • The -print.html is plumbing for the print tab, not a deliverable — show_pdf_export_dialog is the only delivery step. Do NOT present_fs_item_for_download it; its relative asset paths only resolve via the project file server and break when opened standalone.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

3d-object

무료

Create a 3D object with three.js, inspect it from every angle in an interactive viewer, and download it as OBJ + MTL or GLB for use in other 3D applications.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Create a 3D object and inspect it from every angle
  • Export a model for further editing in Blender
  • Review an object's silhouette and materials
asgeirtj/system_prompts_leaks7만2026년 10월 23일 업데이트

action-items

무료요약 있음AI 평가 90점

개인 작업 목록에 할 일, 기한, 다음 단계, 답변을 기다리는 대상과 진행을 막는 이유를 기록합니다. 진행 상황과 의존 관계를 갱신하고 중복 및 완료 항목을 정리합니다.

  • 기한이 있는 작업과 약속 기록
  • 답변 대기와 진행을 막는 이유 정리
  • 선행 작업 완료 후 의존 관계 갱신
asgeirtj/system_prompts_leaks7만2026년 10월 23일 업데이트

agents

무료

Coordinate a task from a verifiable goal through completion. Handle work directly or split independent tasks across separate agent sessions, track progress, verify results, and arrange pull request merging when included in the goal.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Split independent tasks across agents
  • Check progress across ongoing tasks
  • Resume a previously started project
asgeirtj/system_prompts_leaks7만2026년 10월 23일 업데이트

animated-video

무료요약 있음AI 평가 90점

재생, 일시 정지, 시간 위치 지정이 가능한 HTML 애니메이션을 만듭니다. 장면 길이와 속도를 조절하고 가로형·세로형 영상 내보내기를 준비합니다.

  • 제품 조작 과정을 영상으로 제작
  • 글자와 도형으로 내용 설명
  • 세로형 애니메이션 제작
asgeirtj/system_prompts_leaks7만2026년 10월 23일 업데이트

apple_healthkit

무료요약 있음AI 평가 90점

Apple Health에 동기화된 걸음 수, 심박수, 수면, 운동 기록을 기간별로 확인하고 일상 변화와 동기화 상태, 누락된 데이터를 살펴봅니다.

  • 걸음 수와 심박수의 변화를 확인합니다
  • 수면 단계와 시간, 중간 각성을 확인합니다
  • 운동 시간과 거리, 소모 열량을 돌아봅니다
asgeirtj/system_prompts_leaks7만2026년 10월 23일 업데이트

artifact_document

무료요약 있음AI 평가 90점

Word 문서와 템플릿을 만들고 편집하며 내용 추출, 이미지 교체, 변경 내용 추적과 메모를 다룹니다. 제목과 목록 구조를 정리하고 모든 페이지의 표시를 확인합니다.

  • 구조를 갖춘 Word 문서 작성
  • 기존 문서의 내용 정리
  • 문서 안의 이미지와 텍스트 교체
asgeirtj/system_prompts_leaks7만2026년 10월 23일 업데이트

asgeirtj의 스킬 모두 보기

이 스킬의 문제 신고