Agent Skills: Daily Releases

Create GitHub Releases with AI-analyzed changelogs for every calendar day with commits on origin/main. Use when creating daily release notes, backfilling releases, or generating AI-categorized changelogs per day. Uses collect → bucket → analyze → synthesize → publish pipeline via Haiku subagents. Idempotent — skips up-to-date days, updates releases where new commits were added. Accepts optional --start-date, --end-date, --branch, and --dry-run arguments.

UncategorizedID: Jamie-BitFlight/claude_skills/daily-releases

Install this agent skill to your local

pnpm dlx add-skill https://github.com/Jamie-BitFlight/claude_skills/tree/HEAD/.agents/skills/daily-releases

Skill Files

Browse the full folder contents for daily-releases.

Download Skill

Loading file tree…

.agents/skills/daily-releases/SKILL.md

Skill Metadata

Name
daily-releases
Description
'Use when creating or backfilling AI-categorized daily GitHub releases from branch commits.'

<release_args>$ARGUMENTS</release_args>

Daily Releases

Run the bundled controller from the target repository root. Resolve this skill's directory as <skill-root>; do not assume an installation path. Every invocation writes one compact JSON object to stdout and diagnostics to stderr.

uv run "<skill-root>/scripts/daily_releases.py" prepare \
  [--start-date YYYY-MM-DD] [--end-date YYYY-MM-DD] [--branch BRANCH] \
  [--repo OWNER/REPO] [--dry-run] [--token-limit N]

This outputs a JSON object: {"run":"…","state":"prepared"}. It persists immutable inputs and task records under daily-releases/<run-id>/. Without --start-date, discovery resumes after the newest daily release; use an explicit date for backfills.

uv run "<skill-root>/scripts/daily_releases.py" advance --run <run-id>

When advance returns awaiting_worker, dispatch all returned tasks up to concurrency. A task is only its id, input, artifact, model, and pending status. Workers follow references/worker_process.md, read only their input, atomically write their artifact, and return only STATUS: DONE plus its path. Re-run advance after workers complete. It fans out ready buckets, then emits synthesis only after every bucket artifact validates for this run.

uv run "<skill-root>/scripts/daily_releases.py" publish --run <run-id>

Each call fans out all ready days up to its returned concurrency limit. It deterministically finalizes title, summary, and statistics, renders notes, validates every receipt against the remote release and tag identity, and persists independent status artifacts. Re-run after interruptions; only failed or unverified days retry.

Reference files

  • scripts/daily_releases.py — controller
  • references/worker_process.md — worker boundary and artifact identity
  • scripts/run_tests.py — bundled verification