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.
About
Reviews
Write a reviewNo 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
- 0.566score
project-create
nextain
단일 통합 naia-adk v0.2.0의 자동 프로젝트 스캐폴더(adk-scaffold-project.mjs) 및 template-project(AI self-trust 하네스 base)로부터 새 프로젝트(project ADK)를 scaffold하고…
SkillAFreshness: AClaude Code +9 - 0.558score
doc-notes
nextain
작업공간 문서에 달린 메모를 확인하고 처리합니다.
SkillAFreshness: AClaude Code +9 - 0.557score
manage-discord-sessions
nextain
Configure, observe, and recover Discord AI jobs from the ADK workspace with Codex, Claude, OpenCode, or Grok.
SkillAFreshness: AClaude Code +9 - 0.526score
proposal-writing
nextain
공모·지원사업·입찰·투자·협력 제안서와 사업계획서를 공식 양식에 맞춰 작성한다.
SkillBFreshness: BClaude Code +9 - 0.526score
review-pass
nextain
Stage-gated multi-AI cross-validation review with optional REQ-ID traceability.
SkillBFreshness: BClaude Code +9 - 0.526score
manage-skills
nextain
세션 변경사항을 분석해 verify-* 스킬 드리프트를 탐지하고 자동 생성/업데이트합니다.
SkillBFreshness: BClaude Code +9 - 0.524score
merge-worktree
nextain
Squash-merge the current worktree branch into the main branch (or a specified target).
SkillBFreshness: BClaude Code +9 - 0.523score
payroll
nextain
급여명세서 PDF 생성 + 이메일 발송.
SkillBFreshness: BClaude Code +9 - 0.521score
copyright-reg
nextain
어문저작권 등록 서류 생성.
SkillBFreshness: BClaude Code +9 - 0.521score
patent-draft
nextain
특허 초안 생성 요청 시 반드시 사용.
SkillBFreshness: BClaude Code +9 - 0.518score
patent-pipeline
nextain
코드베이스 기반 AI 자동 특허 발굴·평가·출원 파이프라인.
SkillBFreshness: BClaude Code +9 - 0.513score
document-generation
nextain
Generate business documents (contracts, resolutions, payroll) as branded PDFs with optional digital signature (PAdES).
SkillBFreshness: BClaude Code +9
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
- Repository
- github.com/nextain/naia-adk
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from nextain
- 0.566score
project-create
nextain
단일 통합 naia-adk v0.2.0의 자동 프로젝트 스캐폴더(adk-scaffold-project.mjs) 및 template-project(AI self-trust 하네스 base)로부터 새 프로젝트(project ADK)를 scaffold하고…
SkillAFreshness: AClaude Code +9 - 0.558score
doc-notes
nextain
작업공간 문서에 달린 메모를 확인하고 처리합니다.
SkillAFreshness: AClaude Code +9 - 0.557score
manage-discord-sessions
nextain
Configure, observe, and recover Discord AI jobs from the ADK workspace with Codex, Claude, OpenCode, or Grok.
SkillAFreshness: AClaude Code +9 - 0.526score
manage-skills
nextain
세션 변경사항을 분석해 verify-* 스킬 드리프트를 탐지하고 자동 생성/업데이트합니다.
SkillBFreshness: BClaude Code +9 - 0.526score
review-pass
nextain
Stage-gated multi-AI cross-validation review with optional REQ-ID traceability.
SkillBFreshness: BClaude Code +9 - 0.526score
proposal-writing
nextain
공모·지원사업·입찰·투자·협력 제안서와 사업계획서를 공식 양식에 맞춰 작성한다.
SkillBFreshness: BClaude Code +9
Cite this page
press-release skill. Agent Mart. https://agentmart.dev/skills/nextain-press-release (last updated 2026-10-24)