Communitygithub.com

baronguyen001/ai-automation-skills

Windows 작업 스케줄러 또는 Linux cron을 통해 모든 스크립트를 반복 일정으로 실행합니다. 하나의 명령어로 작업 등록, 목록, 제거가 가능하며 파일 로깅과 중복 실행 방지 기능을 제공합니다.

ai-automation-skills란 무엇인가요?

이 기술은 개발자가 로컬 시스템에서 스크립트를 자동화된 일정에 따라 실행할 수 있게 해주는 크로스 플랫폼 크론 디스패처입니다. Windows 작업 스케줄러와 Linux cron을 모두 지원하며, 단일 명령어로 작업을 등록, 목록, 제거할 수 있는 통합 인터페이스를 제공합니다. 주요 기능으로는 중복 실행 방지(flock 및 MultipleInstances IgnoreNew), 자동 로깅, 프로젝트 디렉토리에서의 실행 보장이 있습니다. 작업 디렉토리, 명령어, 인수, 시간을 한 번만 정의하면 두 플랫폼 모두에서 사용할 수 있는 스케줄 표현식을 생성합니다. 특히 야간 작업 스케줄링, 주기적 데이터 수집, 정기적인 유지보수 스크립트 실행에 이상적이며, 설정 스크립트가 멱등성을 가지므로 재설정해도 안전합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/baronguyen001/ai-automation-skills/tree/HEAD/skills/cron-dispatch

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

Cron Dispatch (크론 디스패치)

이 기술은 스크립트가 사용자 개입 없이 일정에 따라 실행되어야 하고, 동일한 패턴이 Windows 개발 머신과 Linux 서버 모두에서 동작해야 할 때 사용합니다. Windows 작업 스케줄러와 Linux cron에 대한 복사-붙여넣기 설정, 로깅, 그리고 느린 실행이 다음 틱에 겹쳐 쌓이지 않도록 하는 중복 실행 방지 기능을 제공합니다.

호출 시기

  • 사용자가 "이걸 매일 밤 실행해 줘" / "크론 작업 설정해 줘" / "스크립트를 스케줄링해 줘" / "windows 작업 스케줄러"라고 말할 때
  • 대화에 포함된 코드가 직접 실행하는 대신 타이머로 실행되어야 하는 독립형 스크립트(Python, Node, 셸)를 사용할 때

호출하지 말아야 할 경우

  • 해당 작업이 이미 항상 켜져 있는 서비스나 이벤트 루프에 속해 있고 OS 스케줄러가 필요하지 않은 경우
  • 사용자가 로컬 머신이 아닌 관리형 클라우드 스케줄러(GitHub Actions cron, 클라우드 함수)를 원하는 경우

구체적인 예시

사용자 입력:

지금 Windows에서 내 scraper.py를 매일 오전 9시에 실행하게 해 줘. 그리고 나중에 서버용 Linux cron 라인도 알려 줘.

출력:

# Windows: 매일 09:00 작업 등록 (저장소 루트에서 실행)
powershell -ExecutionPolicy Bypass -File assets/setup_task.ps1 `
  -TaskName "scraper-daily" `
  -Command "python" `
  -Arguments "E:\proj\scraper.py" `
  -Time "09:00"
# Linux: 동일한 작업, 09:00 매일, 로깅, 중복 방지
0 9 * * * cd /srv/proj && flock -n /tmp/scraper.lock python scraper.py >> /srv/proj/cron.log 2>&1

적용 패턴

  1. 하나의 스케줄 표현식을 선택하여 이를 Task Scheduler 트리거와 5필드 cron 라인으로 변환합니다.
  2. 항상 스크립트를 프로젝트 디렉토리에서 실행하여 상대 경로가 올바르게 해석되도록 합니다.
  3. stdout과 stderr를 로그 파일에 추가합니다. 아무도 보지 않는 콘솔에 의존하지 마십시오.
  4. 중복 실행을 방지합니다(Linux에서는 flock, Windows에서는 -MultipleInstances IgnoreNew). 긴 실행이 두 배로 쌓이지 않도록 합니다.
  5. 안정적인 작업 이름으로 등록, 목록, 제거하여 재설정을 멱등성 있게 유지합니다.

참고: assets/setup_task.ps1, assets/cron_linux.sh.

출처

저자의 자동화 프로젝트에서의 프로덕션 사용을 바탕으로 정리되었습니다. v1.0.0. 참고: [[pipeline-orchestrator]], [[telegram-alerter]].

→ Trawlkit으로 완전한 실행 가능한 봇을 구축하세요.

Individual skills in this repo

This repo contains 9 individual skills — each has its own dedicated page.

baronguyen001/ai-automation-skills

Turn a run's list of result dicts into a schema'd CSV and a Markdown table from one column spec - declare columns once, emit both, with stable ordering and safe escaping, stdlib only, no pandas. Use when the user asks to write results to CSV, export a report, make a markdown summary table, or save a run's output as a spreadsheet.

baronguyen001/ai-automation-skills

Strip HTML to clean plain text with the standard library only (no BeautifulSoup/lxml): drops script/style, turns block tags into line breaks, and collapses whitespace. Use when the user wants readable text from an HTML page/email, to clean scraped HTML before sending it to an LLM, or to build a text index from web content.

baronguyen001/ai-automation-skills

Persist records between scheduled runs as append-only JSON Lines (one object per line) with streaming reads and optional key-based dedup, stdlib only. Use when the user wants to log run results to JSONL, append events to a file, dedup records by id across runs, or keep a simple durable history without a database.

baronguyen001/ai-automation-skills

Extract text and simple table-like rows from a PDF for downstream AI without OCR binaries. Use when the user asks to read a PDF, turn a PDF into text, pull simple tables from statements/reports, or feed PDF content into an LLM pipeline.

baronguyen001/ai-automation-skills

Rotate a pool of HTTP/SOCKS proxies with round-robin selection, failure tracking, and a cooldown that benches dead proxies before retrying. BYO proxy list via env - none are shipped. Use for rotate proxies, spread requests across proxies, avoid IP bans, retry through a different proxy, or proxy health check.

baronguyen001/ai-automation-skills

Parse an RSS 2.0 or Atom feed into normalized item dicts (title, link, id, published, summary) with the standard library only - no feedparser. Use when the user asks to read an RSS/Atom feed, poll a blog/news feed, extract feed entries, or watch a site that publishes a feed.

baronguyen001/ai-automation-skills

Upload and download run artifacts from S3-compatible storage with BYO bucket and credentials from env. Use when the user asks to store scraper output, archive reports, publish artifacts to object storage, fetch a prior run file, or use MinIO/R2/Spaces/S3 without hardcoding credentials.

baronguyen001/ai-automation-skills

Draft a short-form TikTok/Reels/Shorts or long-form video script from a topic and creator persona file - hook variants, beat-structured body, CTA, b-roll cues, caption overlays, and [STORY]/[NUMBER] slots so the model never fabricates personal facts. Use for write a video script, tiktok script, youtube script, or /shortform-script.

baronguyen001/ai-automation-skills

Give scheduled scripts memory between runs with one SQLite file - a seen-set for dedup, a key/value cursor to resume where you left off, and order-preserving new-item filtering. Use for dedup across runs, don't re-alert the same item, remember the last id, resume a scraper, or persist state between cron runs.

관련 스킬