model-check
Skill43 starsChanged 4 months agoMITView on GitHub
Find the best current model for a capability from the live catalogue and record its source. \"which model should we use\"
3 other projects use a version of this.
Adopted by
Most recently taken up by
- derwells/learn-skilltheir own version, first seen Nov 1, 2026
- derwells/skillstheir own version, first seen Oct 20, 2026
- LouPineWays/Loop-Dee-Louptheir own version, first seen Aug 23, 2026
Other versions3 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 3
- derwells/learn-skill★ 2same name
- derwells/skills★ 2same name
- LouPineWays/Loop-Dee-Loup★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository21 other files it gives its agents.
- AGENTS.mdAGENTS.md
- adapt-copySkill
- assemble-documentSkill
- brand-managerSkill
- build-review-gallerySkill
- c2pa-signSkill
- compose-creativeSkill
- create-previewsSkill
- finalize-monthSkill
- full-pipelineSkill
- generate-videoSkill
- ideate-monthSkill
- index-assetsSkill
- ingest-performanceSkill
- manage-reviewsSkill
- match-assetsSkill
- parse-calendarSkill
- price-checkSkill
- render-carouselsSkill
- research-monthSkill
- setupSkill
The file
We split this skill into the rules it gives an agent
4 rules. 0 are common, 3 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
3
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 26
Never supply a model id from memory: Not from this file, not from a recipe, not from what a model was called last time you looked.
- Distinctive: line 52
Read the provider's model list with your own web tools.
- Distinctive: line 99
If you see the rung-2 warning during a real run, that is the signal to do a discovery pass.
- Distinctive: line 107
Treat "newest" as "best" without checking the brief's actual requirements
“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
/socialforge:model-check — which model to call, decided today
Script location. If your host does not set
${CLAUDE_PLUGIN_ROOT}, the scripts are in this plugin'sscripts/folder, next toskills/. Run them with Python 3.10 or newer:python, orpython3wherepythonis not found (macOS, many Linux systems).
SocialForge does not know which model to use. That is deliberate.
A model id written into a plugin is a claim about the day it was written, and this plugin gets run long after that day. Six ids used to sit on the execution path. One video fallback stayed pinned to a superseded generation for about six months, and nothing in the system could say so — which matters because a retired id does not degrade gracefully. It fails at the exact moment the two providers ahead of it have already failed and the fallback is all that is left.
So the code asks for a kind of model. You find out what currently satisfies it.
The rule
Never supply a model id from memory. Not from this file, not from a recipe,
not from what a model was called last time you looked. If model_book.py says
unknown or stale, go and read the provider's catalogue.
What the code asks for
python "${CLAUDE_PLUGIN_ROOT}/scripts/model_book.py" --action kindsCapabilities, not products — video.image-to-video, not a version number. A kind
outlives every model that has ever satisfied it, which is the entire point.
Finding the current best
- See where to look, and what is odd about each provider:
python "${CLAUDE_PLUGIN_ROOT}/scripts/model_book.py" --action discoveryTwo things it will tell you that save time: Higgsfield puts the model in the URL path (so a hardcoded path is a hardcoded model), and Kie AI blocks automated fetches — HTTP 403, measured. Do not report that as "no model exists"; ask the user.
- Read the provider's model list with your own web tools. This is a plugin — there is no crawler and no server, which is why the answer is as fresh as your last look rather than as old as the last release.
- Judge what is actually best for the kind, not what is newest or loudest. A reference-heavy brief and a prompt-driven cinematic brief are different jobs, and the model that wins one often loses the other. Check what the brief needs: start-frame support, duration ceiling, reference-image count, whether audio is required.
- Record it, with the URL you read:
python "${CLAUDE_PLUGIN_ROOT}/scripts/model_book.py" --action record \
--kind video.image-to-video --provider wavespeed \
--model-id "<exact id from the catalogue>" \
--source https://wavespeed.ai/models \
--max-duration-s 15 --notes "start+end frame, optional audio"A record without a source URL is rejected — a model id with no provenance is the same guess this system exists to replace.
- Then price it. A newer model is not automatically the right call: run
/socialforge:price-checkand compare before committing a month's run to it.
Checking before a production month
python "${CLAUDE_PLUGIN_ROOT}/scripts/model_book.py" --action stalenessReports what has gone stale (older than 7 days) and, more usefully, which kinds have no model at all. Both need a look before a batch run.
Seven days, rather than the price book's 24 hours, because catalogues move in releases while prices move without announcement.
The ladder the code climbs
- A live discovery you recorded recently → used.
- The shipped registry alias → used, but always with a warning naming its age. This rung exists so a first run works before anything is discovered, not so anyone can rely on it.
- Nothing → the generation refuses and moves on only to a provider the user was quoted for, rather than calling an id that may have been retired.
If you see the rung-2 warning during a real run, that is the signal to do a discovery pass. It is not an error, but it means the plugin is answering from a file rather than from the world.
What this skill will not do
- Supply a model id from memory, from a recipe file, or from this document
- Record a model without the URL it was read from
- Treat "newest" as "best" without checking the brief's actual requirements
- Report a blocked fetch as an absence of models
- Let a generation proceed on an unresolved model
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

