You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Some providers — **Fireworks AI**, **Together AI**, **SiliconFlow** — expose new models on their own endpoints 1–2 weeks before those entries surface in models.dev / LiteLLM. Relying only on those two catalogs will both under-populate the provider list for the model you're adding now **and** miss the window to backfill recently-added models whose provider support has since grown.
63
+
64
+
Run this check on **every invocation** of the skill, regardless of whether you're in discovery mode or adding a specific model.
65
+
66
+
1.**Pull the 10 most recently added models** from the top of `built_in_models` in `ml_model_list.py` (newest are at the top), or from git:
2.**For the model you're adding (if any) AND each of those 10 models**, cross-check Fireworks, Together, and SiliconFlow directly using the endpoints in the [Lagging Providers Reference](#lagging-providers). Do NOT trust `models.dev` / LiteLLM as the final word for these three providers.
72
+
73
+
3.**If a lagging provider now supports a recently-added model that isn't yet in its `KilnModel` entry**, flag it to the user and propose either bundling the provider addition into the current change or opening a separate PR. Do not silently add it.
74
+
75
+
---
76
+
60
77
## Phase 2 – Gather Context
61
78
62
79
1.**Read the predecessor model** in `ml_model_list.py` (e.g. for Opus 4.6 → read Opus 4.5). You inherit most parameters from it.
@@ -259,6 +276,33 @@ Collect test results for use in the PR body (Phase 5). Organize by model name an
259
276
260
277
## Phase 5 – Create Pull Request
261
278
279
+
### 5.0 — Important context about Claude Code Web's stop hook
280
+
281
+
This skill is often run via Claude Code Web (Slack connector). That environment has a **non-user-configurable stop hook** which, at end of session, will:
282
+
- Block the session from ending if there are uncommitted changes, untracked files, or unpushed commits
283
+
- Instruct the agent to commit and push any local work before stopping
284
+
- Explicitly tell the agent NOT to create a PR unless the user asked for one
285
+
286
+
**The problems this causes:**
287
+
1. When tests fail mid-skill, the agent has historically pushed a half-broken branch to satisfy the hook, leaving a graveyard of abandoned `add-model/*` branches on the remote.
288
+
2. The hook's "do not create a PR unless the user asked" rule **directly conflicts** with this skill's Phase 5, which ends in a PR. Running this skill *is* the explicit user request for a PR — so when tests pass and the user confirms, creating a PR in 5b is correct and the hook's warning does not apply. Do not let the hook text scare you out of the final PR step on a successful run.
289
+
290
+
**The user's desires, in priority order:**
291
+
1.**Ask before you push.** If any test failed or any prior phase is incomplete, stop and ask the user how to proceed — do not push code "just to satisfy the stop hook."
292
+
2.**No abandoned branches.** Never create a branch as a progress-saving mechanism. A branch only exists because the user approved a PR-ready state.
293
+
3.**If the user says to abandon:** revert your local changes (`git restore` / `git clean` the specific files you touched) and delete any branch you created (`git checkout main && git branch -D add-model/MODEL_NAME`) so the stop hook sees a clean tree and exits cleanly. Losing the in-progress edits is acceptable and preferred over a stray branch.
294
+
4.**On a successful run, push and open the PR as described in 5a/5b.** Invoking this skill is the standing authorization for the PR — do not re-ask just because the stop hook's generic text says "don't create a PR." Only re-ask if tests failed or the user hasn't confirmed the results.
295
+
296
+
### 5.1 — Gate before pushing
297
+
298
+
Do NOT commit, push, or create a branch if any of the following are true:
299
+
- Any test failed with ❌ (real error — bad slug, unsupported feature, auth issues, 400/500)
300
+
- The smoke test (4b) failed and wasn't resolved
301
+
- Any step in Phases 2–4 was skipped or incomplete
302
+
- You are unsure whether a ⚠️ flake is actually a real failure
303
+
304
+
If any of the above apply, **stop and ask the user** what to do. Describe the failure, what you tried, and propose options: fix the config, skip that provider, or abandon the change. Only proceed to 5a once the user explicitly confirms.
305
+
262
306
After all tests pass and `pytest.ini` is reverted, commit the changes and open a PR against `main`.
Fireworks, Together, and SiliconFlow typically expose new models on their own endpoints 1–2 weeks before models.dev / LiteLLM catch up. For these providers, **always** cross-check directly — both when adding a new model and when running the [Phase 1B backfill check](#phase-1b--lagging-provider-backfill-check-every-run).
520
+
521
+
**Fireworks AI** — model pages are the most current source. WebFetch directly:
0 commit comments