Getback Recruit Mail logo

Getback Recruit Mail

Community
bam-bam-2
getback-recruit-mail

겟백(GET100) 기수 모집·독려 메일을 구독자 명단에 발송할 때 읽을 것. 대상 3중 제외 대조, send_bulk 품질 게이트 통과, 광고 표기 요건, 발송 이력 기록 절차를 담는다. "모집 메일 보내자", "사전알림/광고동의 명단에 메일" 요청을 처리한다.

Overview

Publisherbam-bam-2
Repositorysolo-skills
Skill namegetback-recruit-mail
Stars
366
Forks
87
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by bam-bam-2 on GitHub. Read the source before you install it.

Installation

Install the Getback Recruit Mail AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/bam-bam-2/solo-skills/tree/main/skills/getback-recruit-mail
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/bam-bam-2/solo-skills.git /tmp/solo-skills
mkdir -p .claude/skills
cp -r /tmp/solo-skills/skills/getback-recruit-mail .claude/skills/getback-recruit-mail
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Getback Recruit Mail in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Getback Recruit Mail on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Getback Recruit Mail is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

이 스킬이 시스템에 하는 일 (설치 전 확인)

  • 여러 명에게 메일을 실제로 발송합니다. 되돌릴 수 없습니다.
  • 발송 전에 수신 대상을 3중으로 대조해 제외하는 절차가 들어 있습니다. 그 단계를 건너뛰지 마세요.
  • SMTP 계정 정보가 필요합니다. 환경변수로만 읽고 저장하지 않습니다.
  • 광고성 메일 표기 의무는 발송자 본인 책임입니다.

겟백 모집 메일 발송

기수마다 반복된다. 2026-09-02에 사전알림 10명 + 광고동의 43명을 보내며 실측한 절차다.

절대 규칙 — 추적을 끄고 보내지 않는다

모든 발송에 --volume 을 반드시 준다. 밤밤 지시(2026-09-02): "다음부터 이메일 보낼따 무조건 추적을 켜".

send_bulk.py --volume <호수> 를 주면 오픈 픽셀과 클릭 추적 링크가 자동 주입된다. 안 주면 추적 없이 나가고, 한 번 나간 메일은 소급해서 측정할 방법이 없다. 실제로 2026-09-02에 --volume 을 빼고 53명에게 보내 오픈·클릭을 영영 못 재게 됐다.

호수 값 규칙:

  • 기수 모집·독려 메일 → 기수 라벨 (7gi, 8gi). 자동 리마인드 get100_7gi_notify.py 가 쓰는 값과 맞춘다
  • 뉴스레터 → vol12 형태
  • 같은 기수에서 세그먼트를 나눠 보내면 뒤에 붙여 구분한다 (7gi-nudge, 7gi-d3)

기록되는 곳은 구독자 DB의 오픈 횟수 · 최근 오픈일 · 최근 오픈 호수 · 클릭 횟수 · 최근 클릭일 · 최근 클릭 호수 다. 같은 사람이 같은 날 같은 호를 여러 번 열어도 중복 집계되지 않는다.

오픈율은 항상 과소집계된다. 지메일·네이버가 이미지를 기본 차단하면 픽셀이 안 불린다. 성과 판단은 클릭 수를 기준으로 하고, 최종 지표는 기수 신청 DB의 신규 행이다.

1. 대상 추출 — 반드시 3중 제외 대조

구독자 DB 하나만 보고 거르면 샌다. 실제로 그렇게 해서 6월 신청자에게 오발송했다.

DBID용도
구독자<NOTION_DB_ID> (ds <NOTION_DB_ID>)후보 풀
기수 신청<NOTION_ID> (ds <NOTION_DB_ID>)전량 제외
멤버ds <NOTION_DB_ID>이메일 + 이름 제외

후보 조건: 광고성 수신 동의 = '__YES__' AND 구독 상태 NOT IN ('수신 거부','반송'). 세그먼트는 명단 구분 (사전알림 / 뉴스레터 구독 / 행사 신청)으로 나눈다.

제외 규칙

  1. 기수 신청 DB는 기수 필드가 비어 있는 과거 행까지 전량 제외. 날짜로 필터하면 놓친다(실제로 결제 완료자 한 명을 이렇게 놓친 적이 있다).
  2. 멤버 DB 이메일은 절반만 채워져 있다(2026-09 기준 20/42). 이메일 대조만으로 부족하니 이름으로도 대조한다. 이걸로 이메일이 비어 있던 기존 멤버 여러 명이 걸러졌다.
  3. 연결된 멤버 관계 필드는 전 행이 null이라 신뢰하지 않는다.
  4. 이름 부분 일치(성 없이 이름만 같은 경우 등)는 일단 제외하고 사용자에게 알린다.
  5. 발송 전 최종 인원과 제외 사유별 명단을 보고하고 승인받는다.

맥미니 자동 리마인드 ~/Projects/getback/scripts/get100_7gi_notify.py가 이미 같은 제외를 한다. 수동 발송 전에 그 로직을 먼저 읽으면 빠르다.

2. 메일 작성

빌더: ~/Projects/getback/운영/emails/build_email.py + brand-template.html (플레이스홀더 HERO_LABEL HERO_HEADLINE NOTICE_BAR_BLOCK INTRO_BLOCK INFO_CARD_ROWS CUSTOM_SECTIONS CTA_* CLOSING_TEXT SIGNATURE_LINE* FOOTER_TEXT, 헬퍼 info_row() notice_bar())

세그먼트마다 인트로와 푸터를 같이 바꾼다. 사전알림용 문구를 광고동의 명단에 그대로 보내면 "사전알림 신청한 적 없는데"가 된다. 한 문장을 고치면 같은 내용이 반복되는 자리를 전부 grep할 것 (푸터·제목·동의 경로).

톤은 decisions.md 기준: 짧은 사실 확인 + 다음 단계. 과한 정성 연출 금지. "이런 분께는 권하지 않습니다" 같은 필터 블록은 밤밤 선발 기준과 맞아 유효하다.

3. 품질 게이트 (우회 금지)

send_bulk.py가 H1~H11을 강제하고 --test에도 걸린다. 자주 걸리는 둘:

  • H3 형광펜 8개 이상 — <span style="background:#d4f000;padding:1px 5px;font-weight:700;">…</span>. 숫자·핵심 사실에 건다.
  • H4 이미지 2장 이상 — src="cid:이름" 으로 넣고 emails/img/이름.jpg 에 파일을 둔다. get100.co.kr 실사진 재사용이 자연스럽다 (마케팅/get100-website-personal/dist/assets/ 의 community-networking-party-*, home-proof-operation-*).

나머지 게이트(em-dash·부정대조·최상급·금칙어)는 밤밤 카피 규칙을 그대로 지키면 통과한다.

수신자 CSV 파일명에 opt-in 표시가 없으면 차단된다. -optin -ad-recipients -consent -agreed 중 하나 필수. 형식은 헤더 없이 이름,이메일, 이름이 없으면 안녕하세요.

4. 발송

bash
cd ~/Projects/getback/운영/emails
# 1) 본인 테스트 — 실제 받는 모습 확인
python3 send_bulk.py --html <절대경로>.html --subject "[미리보기] (광고) …" \
  --volume 7gi-nudge --test you@example.com
# 2) 승인 후 실발송 (--volume 절대 빼지 말 것)
python3 send_bulk.py --html <절대경로>.html --subject "(광고) …" \
  --volume 7gi-nudge --recipients <이름>-optin.csv

발송 명령을 만들었으면 실행 전에 --volume 이 들어갔는지 눈으로 확인한다.

  • 광고성 메일은 제목에 (광고) 표기 (정보통신망법 제50조, 기존 관행과 일치).
  • 푸터에 수신거부 안내: 수신거부·문의는 본 메일에 회신해 주세요. · GET100
  • 발송 간격 1.2초, 인라인 CID는 multipart/related로 나간다.
  • 네이버메일은 발송취소가 안 된다. 문구를 고쳤으면 발송 전에 전문을 덤프해 눈으로 읽고 승인받는다.

전문 확인용 덤프:

bash
python3 -c "import re;h=open('파일.html').read();h=re.sub(r'<br\s*/?>','\n',h);h=re.sub(r'</(p|div|tr|li|h1)>','\n',h);print('\n'.join([l.strip() for l in re.sub(r'<[^>]+>','',h).split('\n') if l.strip()]))"

5. 발송 후

  • 다음 날 오픈·클릭을 집계한다. 구독자 DB에서 최근 오픈 호수 또는 최근 클릭 호수 가 이번 호수와 같은 행을 세면 된다. 클릭 수를 먼저 보고, 오픈 수는 참고로만 읽는다.
  • 반송은 SMTP 250만 믿지 말고 IMAP 보낸편지함 통수 대조 + 받은편지함 반송 스캔까지 한다 (naver-mail-imap 스킬). 맥미니 com.get100.bounce-watch 로그는 멈춰 있을 수 있으니 상태를 먼저 확인한다.
  • 구독자 DB 메모에 [YYYY-MM-DD] <발송명> 발송 마커를 남긴다. 단 rich_text는 1,900자 상한이라 긴 메모는 append가 조용히 실패한다. 마커 개수와 IMAP Sent Messages 통수를 대조해 누락을 잡는다.
  • 자동 리마인드 잡과 겹치는지 확인한다. plist는 맥미니 ~/Library/LaunchAgents/com.get100.7gi-notify-*. 꺼져 있어도 .disabled-<타임스탬프> 로 남아 있으니 파일명으로 상태를 확인하고, 기억이 아니라 plist의 StartCalendarInterval로 실제 예정일을 읽는다.

함정 모음

  • 기수 전환 시 api/lead.js의 CURRENT_COHORT와 apply.html의 hidden cohort 필드를 둘 다 올린다. 신청 확인 메일 템플릿도 같이 본다.
  • 참가비는 소비자 노출을 **총액(부가세 포함)**으로 통일한다. 한 기수만 표기를 바꾸면 인상이 인하로 읽힌다.
  • 커뮤니티 페이지의 누적 멤버 수와 멤버 DB 행 수가 다를 수 있다(45 vs 42). 확정 못 하면 숫자를 빼고 쓴다.

Frequently asked questions

What does the Getback Recruit Mail AI skill do?

겟백(GET100) 기수 모집·독려 메일을 구독자 명단에 발송할 때 읽을 것. 대상 3중 제외 대조, send_bulk 품질 게이트 통과, 광고 표기 요건, 발송 이력 기록 절차를 담는다. "모집 메일 보내자", "사전알림/광고동의 명단에 메일" 요청을 처리한다.

Why use Getback Recruit Mail on TypingMind?

Because you install it once and use it with any model. Getback Recruit Mail is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Getback Recruit Mail in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/bam-bam-2/solo-skills/tree/main/skills/getback-recruit-mail. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Getback Recruit Mail?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Getback Recruit Mail?

As many as you like. As long as a model supports skills, you can use Getback Recruit Mail with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Getback Recruit Mail AI skill free?

Yes. It is published on GitHub by bam-bam-2 under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇