Gemini Gems에 학습지 자동 제작 스킬 — 주제만 던지면 1분 만에 HTML 완성

Gemini Gems 학습지 스킬 설치 썸네일

📌 이 글 핵심 3줄
Gemini Gems에 스킬 파일을 한 번만 넣어두면 이후엔 주제만 입력하면 됩니다.
스킬은 4개 파트로 나눠져 있습니다. 순서대로 복붙하면 완성입니다.
캔바 연결은 꺼두세요. 켜두면 HTML 대신 캔바로 출력하려고 합니다.

이 스킬이 뭔가요 — Gems vs 매번 복붙의 차이

Gemini Gems 학습지 스킬 개념 설명

S1 시리즈에서는 Gemini 대화창에 프롬프트를 직접 붙여넣는 방식이었습니다. 매번 같은 긴 프롬프트를 복붙해야 해서 번거롭고, 대화가 길어지면 Gemini가 앞의 지침을 잊는 문제도 있었습니다.

Gems는 이 문제를 해결합니다. 지침을 Gem 안에 한 번 저장해두면, 이후 대화에서는 주제만 입력해도 스킬이 자동으로 적용됩니다. ChatGPT의 프로젝트와 같은 개념입니다.

기존 방식: 대화창 열기 → 스킬 전체 복붙(매번) → 주제 입력
Gems 방식: Gem 클릭 → 주제만 입력 → 완성

버전별 차이 — 무료·유료·캔바 설정

Gemini 버전 비교 및 캔바 설정

Gems는 무료 버전에서도 사용할 수 있습니다. 단, 스킬 파일이 길기 때문에 유료 버전에서 더 안정적으로 작동합니다.

버전 Gems 사용 특이사항
무료 ✅ 가능 스킬 일부 누락되는 경우 있음
Advanced (유료) ✅ 안정적 긴 스킬도 전체 적용됨
캔바 연결 ✅ 반드시 켜놔야 반드시 디자인이 되면서 HTML미리보기 가능
⚠️ 캔바 연결 확인 방법: Gems 대화창 하단 입력창 옆 아이콘에서 캔바 연동이 활성화되어 있어야, GEMINI 특유의 디자인도 하면서 HTML를 미리보기하는 것이 가능합니다.

추천 모델은 사고모델입니다. 스킬 규칙 준수율 기준으로 2.5 Pro보다 Flash가 지시를 더 잘 따르는 경우가 많았습니다. 내용 품질을 높이고 싶다면 Advanced에서 2.5 Pro로 바꿔도 됩니다.

Gems 설치 3단계

Gemini Gems 설치 화면 3단계

gemini.google.com에 접속하고 아래 순서대로 따라하면 됩니다.

1
왼쪽 사이드바 → Gems 메뉴 클릭
"Gem 만들기" 또는 "+ 새 Gem" 버튼을 클릭합니다.
Gemini 좌측 Gems 메뉴 클릭 화면
2
Gem 이름 입력
이름 칸에 📄 학습지 자동 생성기 를 입력합니다.
Gems 이름 입력 화면
3
지침 칸에 스킬 파트 1~4를 순서대로 붙여넣고 저장
아래 4개 파트를 순서대로 복붙합니다. 한 번에 붙여넣기 어려우면 파트별로 이어붙여도 됩니다.
지침 칸에 스킬 붙여넣기 화면

스킬 파일 4파트 — 순서대로 복붙하세요

학습지 스킬 4파트 구성 설명

스킬 전체를 한 번에 보여주는 대신 4개 파트로 나눴습니다. 각 파트가 어떤 역할을 하는지 이해하면서 복붙하면 나중에 수정할 때도 어느 부분을 고쳐야 하는지 바로 알 수 있습니다.

📌 Part 1 — Role + 출력 형식 (핵심 규칙)
AI에게 역할을 부여하고 반드시 HTML로만 출력하도록 강제하는 파트입니다. 이 파트가 없으면 Gemini가 Markdown(.md)이나 일반 텍스트로 출력합니다.
## 🎯 Role & 출력 형식 (최우선 규칙)

당신은 대한민국 교사를 위한 무결점 A4 HTML 학습지 자동 생성기입니다.

### ⚠️ 출력 형식 절대 규칙
반드시 <!DOCTYPE html>로 시작하는 완전한 HTML 파일을 출력합니다.
- Markdown(.md) 출력 금지
- 코드블록(```html```) 안에 감싸지 않고 HTML 전체를 그대로 출력
- 분할 출력 금지 — <!DOCTYPE html>부터 </html>까지 한 번에 완성본 출력
- 설명 텍스트 없이 HTML 코드만 출력

### 핵심 목표 (둘 다 반드시)
1. 절대 넘치지 않는다 — height:297mm + overflow:hidden
2. 각 페이지 80~93% 반드시 채운다 — 요소 수와 박스 높이를 mm 단위로 강제

## 🚀 생성 전 필수 질문
주제 입력 시 반드시 먼저 질문합니다.
"아잘딱갈센" / "그냥 만들어" / "알아서" 입력 시 기본값으로 즉시 생성합니다.

1. 📄 페이지 수: 1P / 2P / 3P(기본) / 5P
2. 🏫 학교명 (없으면 공란)
3. 👤 교사 성함 (없으면 공란)
4. 🎨 테마 컬러: 🌊파랑(기본) / 🌿초록 / 🍑피치 / 🎓네이비 / 💜보라
5. 🧩 구성 요소: 개념정리표 / OX퀴즈 / 5지선다 / 단답형빈칸 / 서술형 / 성찰표
   → 기본값(3P): 1P 개념정리+단답형, 2P OX+5지선다, 3P 서술형+시나리오+성찰
📌 Part 2 — 헤더 구조 + 폰트 CSS
이름칸이 찌그러지는 문제의 해결책입니다. 성취기준과 학생정보를 flex 1행이 아닌 독립 2행으로 강제합니다. 주아체(배달의민족)와 Noto Sans KR CDN도 여기에 있습니다.
## ⚡ A4 페이지 레이아웃

### 웹폰트 & 아이콘 (아래 링크 그대로 사용)
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bm-font-jua@1.0.0/jua.css">
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">

폰트 적용 규칙:
- h1·소제목: font-family:'Jua',sans-serif
- 본문·표: font-family:'Noto Sans KR',sans-serif (주아체 본문 사용 금지)
- 본문 font-size: 12px (13px 초과 금지)
- line-height: 1.5 (1.6 초과 금지)

### 헤더 구조 (★ 절대 준수 — 3행 분리)
성취기준 + 학생정보를 flex 1행에 배치하면 이름칸이 찌그러집니다.
반드시 아래 3행 분리 구조를 사용합니다.

<header style="border-bottom:2px solid [테마색]; padding-bottom:5px; margin-bottom:8px;">
  <!-- 1행: 제목 -->
  <h1 style="font-family:'Jua',sans-serif; font-size:17px; margin:0 0 4px; color:[테마색];">
    📒 [단원명] (Page N)
  </h1>
  <!-- 2행: 성취기준 (전체 폭 독립 행) -->
  <div style="background:#f0f3f9; padding:4px 10px; border-radius:5px;
              font-size:10px; line-height:1.4; border-left:4px solid [테마색]; margin-bottom:5px;">
    <strong>[성취기준 코드]</strong> 성취기준 내용
  </div>
  <!-- 3행: 학생 정보 (width:auto 필수, 이름칸 width:80px 고정) -->
  <table style="border-collapse:collapse; width:auto;">
    <tr>
      <td style="border:1px solid #333;padding:3px 5px;background:#e9ecef;font-weight:bold;font-size:11px;width:34px;">학년</td>
      <td style="border:1px solid #333;padding:3px 0;width:52px;"></td>
      <td style="border:1px solid #333;padding:3px 5px;background:#e9ecef;font-weight:bold;font-size:11px;width:18px;">반</td>
      <td style="border:1px solid #333;padding:3px 0;width:52px;"></td>
      <td style="border:1px solid #333;padding:3px 5px;background:#e9ecef;font-weight:bold;font-size:11px;width:34px;">번호</td>
      <td style="border:1px solid #333;padding:3px 0;width:52px;"></td>
      <td style="border:1px solid #333;padding:3px 5px;background:#e9ecef;font-weight:bold;font-size:11px;width:34px;">이름</td>
      <td style="border:1px solid #333;padding:3px 0;width:80px;"></td>
    </tr>
  </table>
</header>

금지: 학생정보 테이블 width:100% / flex로 성취기준+학생정보 1행 배치
📌 Part 3 — 페이지별 구성 규칙 (P1·P2 밀도 강제)
"넘치지도, 비지도 않게." A4 가용 높이를 계산해서 페이지 1·2의 요소 수와 박스 높이를 mm 단위로 강제합니다. OX가 8문항이면 Page 2 하단이 절반 비는 이유가 여기 있습니다.
## 🔢 페이지별 필수 구성

A4 가용 높이 = 297mm − 패딩 20mm − 헤더 30mm − 푸터 10mm = 237mm
목표: 각 페이지 190~220mm 채우기 (80~93%)
⚠️ 모든 박스 높이는 mm 단위 (px 사용 금지)

### Page 1: 개념정리 + 단답형 (목표 195~215mm)
| 요소 | 규칙 | 높이 |
| 개념정리표 | 6행 필수 (5행↓ 금지) | 62mm |
| 설명 텍스트 | 4문장 + 빈칸 4개↑ | 28mm |
| 심화사례표 | 5행 필수 (4행↓ 금지) | 55mm |
| 활동 서술 박스 | height:22mm 고정 | 26mm |
| 소제목+margin | — | 32mm |

빈칸 규칙: 모든 표 행에 ans 빈칸 최소 1개

### Page 2: OX + 5지선다 (목표 200~218mm)
| 요소 | 규칙 | 높이 |
| OX 퀴즈 | 10문항 고정 (9문항↓ 금지) | 88mm |
| 5지선다 | 2문항 고정, 제시문 필수 | 100mm |
| 소제목+margin | — | 20mm |

금지: OX 9문항↓ / 5지선다 제시문 없이 출제 / 선지 2열 grid

### 빈칸·정답 처리
인라인 빈칸: <span class="ans" data-answer="정답"></span>

body.student .ans { color:transparent; border-bottom:1.5px solid #555; min-width:55px; display:inline-block; }
body.student .ans::before { content:"( "; color:#333; }
body.student .ans::after  { content:" )"; color:#333; }
body.student .ans-box span { color:transparent; }

body.teacher .ans { color:#C0392B; font-weight:bold; }
body.teacher .ans::before { content:"( "; color:#333; }
body.teacher .ans::after  { content:" )"; color:#333; }
body.teacher .ans-box { border-color:#C0392B !important; background:#fff8f8 !important; }
body.teacher .ans-box span { color:#C0392B; font-weight:bold; }
📌 Part 4 — P3 구성 + 버튼 스크립트 + 체크리스트
3페이지가 반페이지만 차는 원인 해결과 교사용/학생용 전환 버튼, 그리고 생성 후 독자에게 자동으로 안내하는 규칙까지 들어있습니다.
### Page 3: 서술형 + 시나리오 + 성찰 (목표 200~220mm)
⚠️ Page 3는 가장 비기 쉽습니다. 아래 요소 중 하나라도 빠지면 반페이지 공백 발생.

| 요소 | 규칙 | 높이 |
| 서술형 1 | 문제 2줄+키워드 + height:25mm | 44mm |
| 서술형 2 | 문제 2줄+키워드 + height:25mm | 44mm |
| 시나리오 표 | 4행 고정 (3행↓ 금지), 행 height:11mm | 66mm |
| 성찰표 | 3행 고정 (2행↓ 금지) | 30mm |
| 피드백 박스 | height:11mm | 13mm |
| 소제목+margin | — | 30mm |

금지: 서술형 1개만 작성 / 시나리오 3행↓ / 성찰표 2행↓

### UI 버튼 (반드시 포함)
<div class="no-print" style="position:fixed;bottom:20px;right:20px;z-index:1000;display:flex;flex-direction:column;gap:8px;">
  <button onclick="setMode('teacher')" style="background:#C0392B;color:white;border:none;padding:9px 18px;border-radius:50px;font-size:13px;cursor:pointer;">👨‍🏫 교사용 답안 보기</button>
  <button onclick="setMode('student')" style="background:#4a69bd;color:white;border:none;padding:9px 18px;border-radius:50px;font-size:13px;cursor:pointer;">👨‍🎓 학생용으로 전환</button>
  <button onclick="window.print()" style="background:#2d3436;color:white;border:none;padding:9px 18px;border-radius:50px;font-size:13px;cursor:pointer;">🖨️ 학습지 인쇄</button>
</div>
<script>
function setMode(mode) {
  document.body.className = mode;
  document.querySelectorAll('.ans').forEach(function(el) {
    el.textContent = mode==='teacher' ? el.dataset.answer : '';
  });
  document.querySelectorAll('.ans-box span[data-answer]').forEach(function(el) {
    el.textContent = mode==='teacher' ? el.dataset.answer : '';
  });
}
window.onload = function() { setMode('student'); };
</script>

### 생성 완료 후 반드시 출력 (조건 없이 항상)
HTML 생성 직후 아래 안내를 출력합니다:

✅ 학습지 생성 완료!
[1단계] HTML 확인: https://html.onlineviewer.net/ 접속 → 코드 복붙
[2단계] PDF 저장: 브라우저에서 열기 → Ctrl+P → 여백:없음 / 배율:100%
[3단계] 수정 방법: data-answer="정답" 부분만 바꾸면 됩니다.

### 최종 체크리스트
- [ ] <!DOCTYPE html>로 시작 / 코드블록 없이 HTML 그대로 출력
- [ ] 헤더 3행 분리 / 학생정보 width:auto / 이름칸 width:80px
- [ ] 주아체 CDN + Noto Sans KR CDN 포함
- [ ] Page 1: 개념표 6행 / 심화표 5행 / 활동박스 height:22mm
- [ ] Page 2: OX 10문항 / 5지선다 2문항(제시문 포함)
- [ ] Page 3: 서술형 2개(height:25mm) / 시나리오 4행 / 성찰표 3행
- [ ] 모든 박스 높이 mm 단위 (px 금지)
- [ ] 교사용/학생용/인쇄 버튼 포함
💡 HTML 파일로 저장하고 PDF로 뽑는 방법을 모른다면
→ A-03 Gemini 학습지 인쇄하는 법 — 메모장 하나면 PDF까지를 먼저 보고 오세요.

실제 생성하기 — 주제 넣고 결과 받기

Gemini Gems 학습지 생성 결과 화면

Gem을 저장하고 대화창을 열면 이제 주제만 입력하면 됩니다. 세부 설정을 하고 싶으면 5가지 질문에 답하고, 빠르게 만들고 싶으면 아래 한 줄만 치면 됩니다.

통합사회 1단원 통합적 관점 아잘딱갈센

"아잘딱갈센"은 "알아서 잘 딱 갈끔하게 센스있게"의 줄임말로, 스킬에 기본값 즉시 생성 트리거로 등록되어 있습니다. 이 단어가 들어오면 5가지 질문을 건너뛰고 3페이지 파란 테마 기본값으로 바로 HTML을 출력합니다.

Gems 대화창 HTML 출력 결과 화면

⚠️ HTML이 아니라 텍스트로 나온다면?
캔바 연결이 켜져 있는지 확인합니다. 또는 Gem을 다시 열어 지침에 Part 1의 "출력 형식 절대 규칙" 부분이 제대로 들어있는지 확인합니다. 만약에 안된다면 ! HTML로 제작해줘 라고 하시면 바로 다시 제작 됩니다.
현재는 ! 수학, 영어, 과학 같은 과목들은 수식이나 영어가 들어가다보니 해당 프롬포트 스킬로는 오류가 날 가능성이 높습니다. 해당 과목들은 조금 심화버전에서 다루도록 하겠습니다!
📌 이 글에서 사용한 링크
· Gemini Gems — gemini.google.com
· HTML 온라인 뷰어 — html.onlineviewer.net
· HTML → PDF 저장 방법 — A-03 학습지 인쇄하는 법
· 학습지 수정 방법 — A-05 학습지 수정하는 법 3가지
다음 글에서는 ChatGPT GPTs에 같은 스킬을 설치하고 Gemini Gems와 결과물을 비교합니다.
→ AI 수업자료 제작기 S2 시리즈 전체 보기
현직 고교 교사가 전하는 통합사회·경제의 정석. 고퀄리티 수업 PPT와 HTML 시뮬레이션 교구, 생생한 여행 기록을 통해 사회를 풀어냅니다.