skills/peach-add-cron/SKILL.md
주기적 실행 Cron 작업 코드를 생성하는 스킬. node-cron 기반 TypeScript Service + 로그 기록 + server.ts 통합. "크론 작업", "주기적 실행", "스케줄러 생성" 키워드로 트리거.
npx skillsauth add peachsolution/peach-harness peach-add-cronInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
당신은 백그라운드 작업 스케줄링 최고 전문가입니다.
사용자로부터 다음 정보 수집:
log-cleanup, sms-result-processor)'0 2 * * *' → 매일 새벽 2시)sms-result-pattern.md 읽고 핵심 패턴 파악:
server-integration.md 읽고 등록 패턴 파악:
생성 위치: api/src/modules/{{module-name}}/
service/{{module-name}}.service.ts)dao/{{module-name}}.dao.ts)countPending(): 미처리 건수 조회findPending(): 미처리 항목 조회insertCronLog(): Cron 로그 생성updateCronLog(): Cron 로그 업데이트start{{SchedulerMethodName}}() 메서드 추가koaServer() 메서드 내에서 호출템플릿의 변수를 실제 값으로 치환:
{{MODULE_NAME}}: 모듈명 (kebab-case){{ServiceClassName}}: Service 클래스명 (PascalCase){{DaoClassName}}: DAO 클래스명 (PascalCase){{JOB_NAME}}: 작업명 (kebab-case){{SchedulerMethodName}}: 스케줄러 메서드명 (PascalCase){{작업 설명}}: 작업 설명 (한글){{cron-expression-description}}: 실행 주기 설명한글 설명을 Cron expression으로 변환:
| 한글 설명 | Cron Expression | 설명 |
|-----------|-----------------|------|
| 5초마다 | '*/5 * * * * *' | 5초 간격 |
| 1분마다 | '0 * * * * *' | 매분 0초 |
| 매일 새벽 2시 | '0 2 * * *' | 매일 02:00:00 |
| 매주 일요일 자정 | '0 0 * * 0' | 일요일 00:00:00 |
| 매월 1일 자정 | '0 0 1 * *' | 매월 1일 00:00:00 |
Cron 로그 저장을 위한 테이블 생성 (없는 경우):
CREATE TABLE common_log_cron (
log_seq INT AUTO_INCREMENT PRIMARY KEY,
job_name VARCHAR(100) NOT NULL,
job_type VARCHAR(20) NOT NULL, -- 'auto' / 'manual'
start_time DATETIME NOT NULL,
end_time DATETIME,
duration INT, -- 실행 시간 (초)
status VARCHAR(20) NOT NULL, -- 'running' / 'success' / 'failed'
processed_count INT DEFAULT 0,
success_count INT DEFAULT 0,
failed_count INT DEFAULT 0,
error_message TEXT,
error_stack TEXT,
server_info VARCHAR(200), -- IP|hostname|pid|version|platform
detail_log TEXT, -- JSON 상세 로그
insert_seq INT NOT NULL,
insert_date DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_seq INT,
update_date DATETIME
);
생성된 server-cron-integration.ts 코드를 server.ts에 수동으로 추가:
start{{SchedulerMethodName}}() 메서드를 Server 클래스에 추가koaServer() 메서드 내 스케줄러 시작 부분에 호출 추가생성된 파일 경로와 통합 안내:
사용자: "매일 새벽 2시에 오래된 로그를 삭제하는 크론 작업 만들어줘"
생성 결과:
- api/src/modules/log-cleanup/service/log-cleanup.service.ts
- api/src/modules/log-cleanup/dao/log-cleanup.dao.ts
- server.ts 통합 코드
실행 주기: 매일 새벽 2시 (0 2 * * *)
시간대: Asia/Seoul
# 타입 체크
cd api && bun run build
# 린트 체크
cd api && bun run lint:fixed
# Cron 로그 테이블 존재 확인
# common_log_cron 테이블이 없으면 생성 안내
tools
기능 브랜치용 git worktree 라이프사이클을 관리하는 스킬. 생성(create) / 상태 진단(status) / PR 준비(finish) / 병합 후 정리(closeout) / 정리(cleanup) 모드를 자동 판단한다. "워크트리 만들어줘", "worktree 생성", "워크트리 정리", "워크트리 삭제", "기능 브랜치 워크트리", "워크트리 상태", "마무리", "PR 생성", "PR 머지 후 정리", "feature worktree" 키워드로 트리거. PR 전 base 비교와 안전한 동기화 필요 여부를 진단한다. 개발 완료 후 finish/closeout 모드에서는 한 번의 통합 체크포인트로 push/PR/merge/cleanup을 안전하게 진행한다.
development
Karpathy LLM Wiki 패턴 기반 지식 관리 스킬. 코드 프로젝트와 옵시디언 노트 모두 지원. Raw Source(코드·문서)를 읽어 docs/wiki/에 누적형 지식베이스를 구축·유지한다. "wiki", "위키", "ingest", "인제스트", "wiki 점검", "wiki lint", "wiki 업데이트", "문서화해줘", "아키텍처 설명해줘", "어떻게 동작해?" 키워드로 트리거. qmd 검색 도구와 연동하여 토큰 절약 + 높은 검색 정확도 제공.
development
Backend 없이 Mock 데이터 기반 프로토타입 UI를 생성·검증하는 기획 구체화 산출물 스킬. Vue 3 + TypeScript + NuxtUI v4. 별도 ui-proto 저장소(예: peach-ui-proto-backoffice)의 src/modules-task 폴더에 태스크별 화면을 누적한다. "프로토타입 만들어줘", "Mock 화면", "proto UI", "기획 화면 빠르게", "ui-proto 작업", "기획자 검토용 화면", "태스크 폴더 추가", "팀 ui-proto" 키워드로 트리거. 기획자가 직접 작업하는 화면 기획 + 현업 검토용 산출물 스킬이며, 개발용 Spec은 후속 peach-gen-spec이 생성한다. 실제 API 연동이 필요하면 peach-gen-ui를 사용한다.
development
Spec 필수 + ui-proto 보조 기준으로 E2E 환경 세팅 + 단위 시나리오 자동 분할 + 통합 suite 생성 + 실행 + 부합 검증을 한 번에 처리하는 통합 팀 스킬. "e2e 검증해줘", "통합 검증", "전체 흐름 테스트", "팀 e2e", "스펙대로 동작하는지 확인", "ui-proto와 다른지 확인", "최종 검증", "릴리스 전 검증" 키워드로 트리거. peach-e2e-setup + peach-e2e-scenario + peach-e2e-suite 3개 스킬의 패턴을 공유하고, 검증 기준은 본 프로젝트 Spec을 필수 기준으로 삼고, ui-proto는 화면/흐름 보조 기준으로 사용한다. peach-team-dev와 함께 하나의 개발-검증 납품 흐름을 이루되, 구현 컨텍스트와 검증 컨텍스트는 분리한다. 팀 실행 방식은 E2E 범위와 런타임 도구 가용성을 분석해 single-agent / role-queue / agent-team 중 선택한다. 단순 코드 동작 검증을 넘어, 기획 의도와 부합하는지 자동 검증하는 게 핵심 차별점.