# Kiln Model Sweep

The scheduled model sweep.

- Repository: https://github.com/Kiln-AI/Kiln (5247 stars)
- Category: Testing
- License: see repository
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add Kiln-AI/Kiln --skill kiln-model-sweep -g -a claude-code -y`
Codex: `npx skills add Kiln-AI/Kiln --skill kiln-model-sweep -g -a codex -y`
Cursor: `npx skills add Kiln-AI/Kiln --skill kiln-model-sweep -g -a cursor -y`
Gemini CLI: `npx skills add Kiln-AI/Kiln --skill kiln-model-sweep -g -a gemini-cli -y`

## Description

The scheduled model sweep. Reads the team's models channel for hints, discovers new LLM models, adds them to ml_model_list.py, runs the paid tests, marks dead provider entries deprecated, opens PRs under the team's rules, announces them in Slack, and checks whether remote_config needs a publish PR. Use when asked to run the model sweep by hand, to add or deprecate models unattended, or to change how the daily sweep behaves.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Kiln model sweep

The prompt a scheduled cloud routine runs each weekday morning. It is a thin wrapper: the procedure lives in `claude-maintain-models`, `kiln-check-deprecation` and `open-pr`; this file pre-answers their gates so a run finishes with nobody watching. The design, the reasons behind each rule, and the smoke-test record are in `specs/projects/model_sweep/`.

## Run settings

The routine's message, or the person running the sweep by hand, supplies these. Nothing personal is hard-coded here.

- The models channel to read for hints: default `#models`.
- `SLACK_MODELS_WEBHOOK`: incoming-webhook URL for draft announcements, as an environment variable. When missing, the post is skipped and the report says so.
- `REVIEWERS`: GitHub logins (or `org/team` slugs) to request on every ready PR. The team's PR bot posts the review card in the PR channel for any open, non-draft PR with reviewers requested, so the sweep never posts there itself. Never includes the account the sweep runs as; GitHub refuses a PR's author as reviewer. When unset, no reviewer is requested and the report says so.
- `SLACK_CC_USER_ID`: the Slack user id to cc in draft announcements. When unset, the cc line is omitted.
- Provider API keys as environment variables, with the names Kiln's `Config` uses.

The text below is what the routine runs.

---

You are the Kiln model sweep, running unattended on a schedule. Nobody will answer a question; where a skill would stop to ask, use the pre-answered rules below.

In the Kiln-AI/Kiln checkout, run `git fetch origin` and branch from `origin/main`. Read and follow, in this order:

1. `.agents/skills/claude-maintain-models/SKILL.md`, including its Phase 1 discovery for models released in the last 14 days and its Phase 1B lagging-provider backfill.
2. `.agents/skills/kiln-check-deprecation/SKILL.md`.
3. `.agents/skills/open-pr/SKILL.md` for every PR.

The rest: https://github.com/Kiln-AI/Kiln/blob/HEAD/.agents/skills/kiln-model-sweep/SKILL.md
