skills/model-research/SKILL.md
Research, compare, and select LLM models for AI-powered apps and workflows. Finds latest models per family, verifies availability on target platform, compares pricing/benchmarks/tool-calling, produces ranked recommendations. Use when: "which model", "compare models", "find a model", "model research", "best model for", "cheapest model", "tool calling models", "model selection", "upgrade model", "swap model", "fallback models", "model chain". Trigger: /model-research.
npx skillsauth add phrazzld/agent-skills model-researchInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Find the right model for a specific use case. Live data, not training data.
1. NEVER RECOMMEND MODELS FROM TRAINING DATA ALONE.
Every model name, price, and benchmark MUST come from a live source.
2. EVERY MODEL HAS A RELEASE DATE. USE IT.
The current date matters. A model released 3+ months ago may already be
superseded. A model released last week may be unstable. Factor age into
every recommendation.
LLM model landscapes change weekly. Training data is stale within months. A model recommended from memory may be discontinued, superseded, or repriced.
delegate on judgment per the shared Roster contract: native subagents
by default; add cross-model critics, roster providers, or sprite lanes
(/sprites) only when they answer a distinct question. See
harnesses/shared/AGENTS.md (Roster).
Local lane guidance: Use specialized lanes for platform catalog verification, benchmark/source review, social/reliability pulse, integration/codebase fit, and cost/latency risk. Prefer different model/provider families for independent judgment; the lead owns synthesis and final recommendation.
Today's date is always available in system context. Use it.
For every model under consideration, determine its release date and compute age:
| Age | Classification | Implication | |-----|---------------|-------------| | < 2 weeks | Bleeding edge | May have bugs, API instability, sparse benchmarks. Flag risk. | | 2 weeks – 2 months | Fresh | Sweet spot: stabilized but still current-gen. Prefer these. | | 2 – 4 months | Aging | Check if a successor exists in the same family. Often superseded. | | 4+ months | Stale | Almost certainly superseded. Do NOT recommend without verifying it's still the latest in its family. |
In a field moving this fast, "a few months old" IS old. When two models are otherwise comparable, prefer the fresher one — it reflects more recent training data, RLHF tuning, and architecture improvements.
When presenting models, ALWAYS include the release date (or "unknown" if unfindable) and age classification. This lets the user calibrate trust.
Before searching, answer these questions (ask the user if unclear):
Launch ALL of these in parallel:
Platform catalog — fetch the actual model list from the target platform
https://openrouter.ai/api/v1/models (JSON endpoint)Exa search — find recent benchmarks, comparisons, known issues
"[model family] tool calling benchmark 2026""[model family] vs [competitor] [use case]""openrouter [model name] issues OR problems OR reliability"xAI / social pulse — what practitioners are saying
"[model name] production" OR "[model name] tool calling"Codebase — what the project currently uses and why
For EACH model family the user mentions or that appears promising:
Build a comparison table with ONLY verified data:
| Field | Source | |-------|--------| | Model ID | Platform API | | Release date | Platform page, announcement post, or changelog | | Age vs today | Computed from release date and current date | | Pricing | Platform API | | Context window | Platform API | | Tool calling support | Platform docs + benchmark | | Benchmark scores | Recent (<3 month) benchmarks with citations | | Known issues | Exa + xAI search results | | Status | GA / Preview / Deprecated |
Rules:
Produce ranked recommendations for the specific use case:
For each recommendation, state:
Semantic waiver: "latest model" facts are time-sensitive and require live provider/docs checks. Each run must cite current availability, release date or version evidence, pricing/benchmark source, and the exact platform where the model will be used.
testing
Capture one compounding repo-technical learning while a solved problem is still fresh. Use when: after a bug fix, diagnosis, delivery, review, or incident reveals a reusable pattern worth adding to `docs/solutions/`. Trigger: /compound, /capture-learning, /learning.
testing
Route Misty Step factory application capabilities. Use when choosing, auditing, integrating, or operating Canary, Powder, Landmark, Aesthetic, or Bitterblossom: production observability, incidents, health checks, error logging, backlog/work-card state, release intelligence, UI/UX system adoption, or supervised/unsupervised agent dispatch. Trigger: /factory-apps, /factory-stack.
testing
Prove a skill beats no-skill with a falsifiable A/B eval, or retire it. Design, generate, run, and maintain a skill-specific eval: name the one claim the skill must earn, run it skill-on vs raw same-model, grade blind with objective checks first, return a keep/adapt/cut verdict. Use when: "eval this skill", "does this skill help", "prove the skill beats no skill", "write an eval for", "benchmark a skill", "is this skill worth it", "skill A/B", "skill regression test", "generate skill evals". Trigger: /skill-eval, /eval-skill, /prove-skill.
tools
> Template. Copy to `<target-repo>/.agents/skills/<repo>-<domain>/SKILL.md` > and fill every bracketed placeholder from the live target repo. Delete this > line and every other `> ` guidance line before committing. See > `../../references/repo-local-skill-generation.md` for the full process. --- name: <repo>-<domain> description: | [One paragraph: what this skill verifies/runs/operates for <repo>, stated in terms of the repo's real shape (service/CLI/library/etc.), not generic process. En