payroll
급여명세서 PDF 생성 + 이메일 발송. 급여 데이터를 받아 A4 PDF를 만들고 각 사원에게 이메일로 발송합니다. "급여명세서", "급여 보내기", "payroll" 등 급여 관련 요청 시 사용.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
급여명세서 PDF 생성 + 이메일 발송. 급여 데이터를 받아 A4 PDF를 만들고 각 사원에게 이메일로 발송합니다. "급여명세서", "급여 보내기", "payroll" 등 급여 관련 요청 시 사용.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Configure, observe, and recover Discord AI jobs from the ADK workspace with either Codex or Claude. Use for Discord setup, background-job status, live activity, stalled-job diagnosis, reboot recovery, idle rotation, or session history.
Codex 또는 Claude로 실행되는 Discord 백그라운드 작업의 설정·상태·실시간 활동·재부팅 복구를 ADK 워크스페이스에서 관리합니다.
세션 변경사항을 분석해 verify-* 스킬 드리프트를 탐지하고 자동 생성/업데이트합니다. issue-driven-development Sync 단계, 새 패턴/규칙 도입 후, PR 전 검증 스킬 커버리지 확인 시 반드시 사용. /manage-skills로 호출.
원요청 무결성과 세션 바인딩 하네스의 원문 해시체인, 완전 범위 추적, 서명 권한, 2회 Clean 결박, Claude Code/Codex 등록·동등성을 결정론으로 검증합니다. request-contract·session-inject 코어/어댑터·설정·스키마·review-pass를 수정한 뒤, Review/Post-test Review 및 커밋 전에 반드시 사용합니다.
등록된 모든 verify-* 스킬을 순차 실행해 통합 검증 보고서를 생성합니다. 기능 구현 후, PR 전, 코드 리뷰 시, issue-driven-development Review/Post-test Review 단계마다 반드시 사용. /verify-implementation으로 호출.
기존 제품의 경로·진입점·내비게이션·사용자 여정·운영 표면이 기능 추가 뒤에도 유지되는지 기준 버전과 보존 계약으로 검증합니다. 기존 프로젝트의 기능 추가·통합·리팩터링 후, planning/integration 리뷰와 release 전에 반드시 사용합니다.
| name | payroll |
| description | 급여명세서 PDF 생성 + 이메일 발송. 급여 데이터를 받아 A4 PDF를 만들고 각 사원에게 이메일로 발송합니다. "급여명세서", "급여 보내기", "payroll" 등 급여 관련 요청 시 사용. |
| argument-hint | [YYYY-MM | 데이터를 직접 입력] |
사원 급여 데이터 → A4 PDF 급여명세서 생성 → 이메일 발송 (Office 365 SMTP)
pip install reportlab
사용자가 제공한 급여 데이터(테이블, 텍스트 등)를 아래 JSON 구조로 변환:
{
"year": 2026,
"month": 3,
"company": {
"name": "(주)넥스테인",
"eng_name": "nextain Inc.",
"biz_no": "<YOUR_BIZ_NO>",
"ceo": "<YOUR_CEO_NAME>",
"address": "경기도 화성시 효행구 매송면 매송고색로 422번길 77, 나동 107호"
},
"employees": [
{
"code": 1,
"name": "사원명",
"email": "email@nextain.io",
"hire_date": "2026-03-11",
"items": {
"기본급": 3000000,
"식대": 135483
},
"deductions": {
"국민연금": 135000,
"건강보험": 111900
},
"total_pay": 3135483,
"total_deduction": 246900,
"net_pay": 2888583
}
]
}
회사 정보는 docs-business/01. 회사 정보/base-info.md 참조.
먼저 dry-run으로 PDF만 생성하여 확인:
python .agents/skills/payroll/scripts/send_payroll.py \
--data '<JSON>' \
--output-dir 'docs-business/06. 급여/YYYY-MM/' \
--dry-run
출력 디렉토리: docs-business/06. 급여/{YYYY-MM}/
생성된 PDF 경로를 사용자에게 보여주고 확인 요청:
python .agents/skills/payroll/scripts/send_payroll.py \
--data '<JSON>' \
--output-dir 'docs-business/06. 급여/YYYY-MM/'
SMTP 인증:
SMTP_USER 환경변수 (기본: noreply@nextain.io)SMTP_PASS 환경변수 (필수)없으면 사용자에게 안내: "SMTP_PASS 환경변수를 설정해주세요."
| 사원 | 이메일 | 발송 | |
|---|---|---|---|
| ... | ... | ... | O/X |
| 에러 | 조치 |
|---|---|
| reportlab 미설치 | pip install reportlab 안내 |
| SMTP_PASS 미설정 | dry-run으로 PDF만 생성, 환경변수 설정 안내 |
| 폰트 없음 | sudo dnf install google-noto-sans-cjk-fonts 안내 |
| 이메일 실패 | 에러 메시지 표시, PDF는 보존됨 |