Skip to content
Agentmart
Submit a tool

press-release

보도자료 작성·기자 조사·개인화 발송·결과 수집·인사이트 도출 전체 워크플로우.

Skill by nextain

IndexedApache-2.0
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/nextain-press-release

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

보도자료 작성·기자 조사·개인화 발송·결과 수집·인사이트 도출 전체 워크플로우. "보도자료", "press release", "기자 발송", "PR 배포" 요청 시 사용.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/press-release

What's inside

Skill name
press-release
Description
보도자료 작성·기자 조사·개인화 발송·결과 수집·인사이트 도출 전체 워크플로우. "보도자료", "press release", "기자 발송", "PR 배포" 요청 시 사용.
License
Apache-2.0
Instructions
172 lines in SKILL.md · view on GitHub

Agent Skills spec issues

  • files: referenced but missing: scripts/press-release/template.html, scripts/press-release/subject.txt, scripts/press-release/contacts.json, scripts/press-release/results.json, scripts/press-release/send.js

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Press Release — 보도자료 배포 워크플로우

## 목적

보도자료 작성부터 기자 발송, 결과 수집, 인사이트 도출까지 풀 사이클 PR 워크플로우.

## 워크플로우

### Phase 1: 준비 (Prepare)

1. **보도자료 확인**: 조직의 보도자료 원문 보관 위치에서 원문 확인 (경로는 조직마다 다르다)
2. **이메일 템플릿 생성/수정**: `scripts/press-release/template.html`
3. **제목 설정**: `scripts/press-release/subject.txt`

### Phase 2: 기자 조사 (Research)

1. WebSearch로 최근 1개월 내 유사 주제 기사 검색
2. 기자명, 매체, 이메일, 취재 분야 수집
3. `scripts/press-release/contacts.json`에 3개 그룹으로 분류:
   - `priority`: 주제 직접 관련 기자 (개인 이메일)
   - `general`: 관련 분야 기자 (개인 이메일)
   - `outlet_general`: 매체 대표 메일 (편집부)
4. **이메일 주소 검증**: 기자명과 이메일 ID 일치 여부 확인 (불일치 시 flag)

### Phase 3: 개인화 검증 (Personalize & Review)

1. `node send.js preview` — 전체 수신자 + 개인화 인사 미리보기
2. 개인화 규칙:
   - 기자: `{이름} 기자님께, {note} 취재하고 계신 것으로 파악되어 {SENDER_NAME}에서 개인화하여 보내드리는 보도자료입니다.`
   - 편집부: `{매체} 담당자님께, 보도자료를 보내드립니다.`
   - 연락처 안내 포함
3. **AI 피어 리뷰** (3종 병렬):
   - 기자 UX 관점: 제목, 개인화, 요약, 본문 구조
   - PR 전문가 관점: 형식, 뉴스 가치, CTA, 법적 이슈
   - 기술 관점: SMTP, 이미지, 스팸 필터, 코드 품질
4. 리뷰 결과 반영

### Phase 4: 테스트 발송 (Test)

1. `node send.js test` — `TEST_RECIPIENT`(미지정 시 `SMTP_USER`)로 테스트
2. 확인 항목:
   - [ ] 이미지 표시 (로고, 본문 사진)
   - [ ] 개인화 치환 정상
   - [ ] 모바일 렌더링
   - [ ] 정크 메일 분류 여부
   - [ ] SPF/DKIM pass 확인 (메일 헤더 → Authentication-Results)

### Phase 5: 발송 (Send)

- **로컬**: `node send.js send --delay 30`
- **클라우드**: Cloud Run Job `press-release-send` 실행
- **예약**: Cloud Scheduler 설정 (cron + Asia/Seoul timezone)
- 발송 후 Scheduler 즉시 pause하여 중복 방지

### Phase 6: 결과 수집 (Collect)

발송 후 24시간, 72시간, 7일 시점에 확인:

#### 6-1. 발송 결과
```
gcloud logging read "resource.type=cloud_run_job AND resource.labels.job_name=press-release-send" \
  --project project-a8b18af5-b980-43e7-8ec --limit 30 \
  --format="table(timestamp,textPayload)" --freshness=24h
```
- 성공/실패 건수
- 반송(bounce) 이메일 주소 → contacts.json에서 제거 또는 수정

#### 6-2. 반송 메일 확인
- 발신 계정 받은편지함에서 "배달되지 않음" 메일 수집
- 반송 원인 분류: 주소 없음 / 메일함 가득 / 스팸 차단
- contacts.json 업데이트 (잘못된 주소 제거, 대체 주소 조사)

#### 6-3. 기사 게재 확인
- WebSearch: `"{조직명}" site:매체도메인` (발송 후 24h~7일)
- 게재된 기사 링크 수집 → `scripts/press-release/results.json`에 기록:
```json
{
  "campaign": "2026-04-13-naia-corp-mou",
  "sent": 17, "bounced": 2, "articles": [
    { "outlet": "매체명", "url": "기사URL", "date": "2026-04-14", "journalist": "기자명" }
  ]
}
```

#### 6-4. 자동 회신 분류
- 부재중 자동 회신 → 무시 (발송 성공으로 간주)
- 세일/광고 자동 회신 → 매체 대표 메일의 일반 현상, 무시
- 기자 직접 회신 → 즉시 대응 필요 (담당자에게 알림)

### Phase 7: 인사이트 (Insights)

| 지표 | 측정 방법 |
|------|----------|
| 도달률 | (발송 - 반송) / 발송 |
| 게재율 | 게재 기사 수 / 발송 수 |
| 매체별 반응 | 어떤 그룹(priority/general/outlet)이 게재율 높은지 |
| 제목 효과 | 열람 추적 불가 → 게재 여부로 간접 측정 |
| 기자 DB 품질 | 반송률로 측정, 30% 초과 시 DB 재조사 필요 |

인사이트를 `scripts/press-release/results.json`에 누적 → 다음 캠페인에 반영:
- 게재한 기자 → priority로 승격
- 반송된 주소 → 제거 또는 재조사
- 무반응 매체 대표 메일 → 개별 기자 이메일 조사

## 설정

이 스킬은 조직 고유 값을 코드에 담지 않는다. `.env`(gitignore) 또는 환경변수로 준다.

| 변수 | 쓰임 | 미지정 시 |
|------|------|-----------|
| `SMTP_HOST` / `SMTP_PORT` | 발송 서버 | `smtp.gmail.com` / `587` |
| `SMTP_USER` / `SMTP_PASS` | 발송 계정 | 없으면 발송 불가 |
| `SENDER_NAME` | From 표시 이름. 인사말에도 쓰인다 | `Press Office` |
| `SENDER_EMAIL` | From 주소 | `SMTP_USER` |
| `CONTACT_EMAIL` | 본문 인사말의 회신처 | `SENDER_EMAIL`. 둘 다 없으면 회신처 문구가 빠진다 |
| `TEST_RECIPIENT` | `send.js test` 수신자 | `SMTP_USER` |
| `CLOUD_URL` | 클라우드 발송 엔드포인트 | 없으면 클라우드 발송을 거부하고 이유를 알린다 |
| `PRESS_SECRET` | 그 엔드포인트 인증값 | 빈 값 |

From nextain/naia-adk, Apache-2.0.

More from nextain/naia-adk

Signals

Stars
0
Forks
0
Open issues
10
Last commit (this folder)
Oct 21, 2026 (7 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from nextain

Cite this page

press-release skill. Agent Mart. https://agentmart.dev/skills/nextain-press-release (last updated 2026-10-24)