github-star-analyzer의 Ranking과 study-candidate-selector의 Study Queue를 고정 Markdown 템플릿으로 변환해 한국어 Daily Report와 Telegram 요약을 만든다. AI GitHub 일일 리포트를 작성할 때 사용한다. 숫자를 새로 계산하거나 순위를 바꾸지 않는다.
Resources
3Install
npx skillscat add sonic0506/ai-github-study-automation/daily-report-writer Install via the SkillsCat registry.
SKILL.md
daily-report-writer
결정적(deterministic) Skill. 표·숫자·순위·문구를 scripts/render.mjs가 채운다.
LLM이 표를 직접 옮겨 적거나 요약 문장을 지어내지 않는다.
입력
{
"date": "2026-09-18",
"baseline": { "date": "2026-09-17", "gapDays": 1 },
"rankings": { "totalStarsTop10": [], "growth24hTop10": [], "newlyDiscovered": [] },
"studyQueue": { "version": 1, "date": "2026-09-18", "maxDailyDrafts": 3, "candidates": [] },
"repositoryCount": 347
}baseline,rankings:github-star-analyzer출력 그대로studyQueue:study-candidate-selector출력 그대로 (date가 일치해야 한다)repositoryCount: 그날 수집한 전체 개수config/templates를 넘기면 번들된resources/의 값을 대신 사용한다
실행
node scripts/render.mjs input.json > report.json출력
{ "dailyReport": { "path": "reports/daily/2026-09-18.md", "markdown": "..." },
"telegram": { "markdown": "..." } }dailyReport는 DailyBundle의 dailyReport 필드에 그대로 넣는다.
리포트 구성 (resources/daily-report.md)
| 섹션 | 내용 |
|---|---|
| 머리말 | 수집·신규·Study 개수, 비교 기준일 (gapDays가 2 이상이면 "N일 전"으로 표시) |
| 24h Growth TOP | 순위, Star, 증가량, 설명. 증가분이 없으면 이유 문장 |
| Total Stars TOP | 순위, Star, 증가량(NEW 포함), 설명 |
| 신규 발견 | Star 순 상위 newly_discovered_limit개 + "외 N개". 전부 신규인 첫 수집이면 안내 문구 |
| 오늘의 Study | selected 후보만. 전체 Queue는 접이식 표 |
설정: resources/report.yml (newly_discovered_limit, description_max_length, telegram_growth_top, report_path)
규칙
- 한 줄 요약은 GitHub
description원문을 그대로 쓴다 (공백 정리, 표 깨짐 방지, 길이 초과 시…). 직접 요약하지 않는다. - 스크립트 출력 Markdown을 손대지 않는다. 문구를 바꾸려면
resources/daily-report.md템플릿을 고친다. - 입력에 없는 Repository를 추가하지 않는다.