Agent skill

Register Model

by Sunshow in Sunshow/droidgear

Register a new AI model in DroidGear's model registry by fetching specs from models.dev.

MITAuto-check passedDevOps & Cloud

Install Register Model

skills CLI
$ npx skills add Sunshow/droidgear --skill register-model -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Sunshow/droidgear register-model --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Sunshow/droidgear.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/register-model .claude/skills/register-model && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
register-model
GitHub stars
127
Token cost
~2.5k tokens
SKILL.md length
899 words
Files
1
Skills in repo
3
Repo updated
First seen
Licence
MIT

At a glance

Register a new AI model in DroidGear's model registry by fetching specs from models.dev.

  • Works in 6 steps: Fetch the model spec from models.dev → Map spec fields to the registry entry → Add the registry entry → …
  • The user asks to register
  • SKILL.md covers Sync with models.dev, Workflow and Verification
  • Calls npm, curl and python3; reaches models.dev

What it does

Register Model is an agent skill from Sunshow/droidgear. Register a new AI model in DroidGear's model registry by fetching specs from models.dev. Use when the user asks to register, add, or support a new model (e.g., "register claude-fable-5") or to sync the registry with models.dev.

Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in DevOps & Cloud, covering MLOps. It works with MiniMax and OpenAI. The licence is MIT.

When your agent uses it

  • The user asks to register
  • Support a new model (e.g.
  • Register claude-fable-
  • To sync the registry with models.dev

Example prompts

  • “register claude-fable-5”
  • “/register-model”

Requirements

  • Python 3

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Fetch the model spec from models.dev
  2. Map spec fields to the registry entry
  3. Add the registry entry
  4. Check for special cases
  5. Update tests
  6. Verify

What it can do on your machine

Read from SKILL.md and the folder at commit b15760b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npm
    • curl
    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • models.dev

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Register Model loads about 2.5k tokens when it runs. Until then it costs about 61 tokens; SKILL.md has 899 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~61
When it runs · the whole SKILL.md, loaded when a task matches
~2.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Sunshow/droidgear at commit b15760b, republished under its MIT licence (© Sunshow). 899 words, ~2,508 tokens.

Download SKILL.mdSave it as .claude/skills/register-model/SKILL.md (or your agent's skills folder).
name
register-model
description
Register a new AI model in DroidGear's model registry by fetching specs from models.dev. Use when the user asks to register, add, or support a new model (e.g., "register claude-fable-5") or to sync the registry with models.dev.

Register New Model

The model registry (src/lib/model-registry-data.json) is the single source of truth for model behavior. All behavioral lookups (isStrictSamplingModel, isAnthropicAdaptiveThinkingModel, supportsXhighEffort, supportsMaxEffort, getDefaultMaxOutputTokens) read from it. Registering a model is a data-only change in the common case — do NOT touch src/lib/utils.ts.

Sync with models.dev

For a full registry refresh ("sync the registry with models.dev"), do NOT follow the single-model workflow below. Instead:

A. Fetch the full dataset
bash
curl -sSL --max-time 60 "https://models.dev/api.json" -o /tmp/models-dev-api.json
B. Compare with the registry using OFFICIAL-lab priority

models.dev contains 180+ labs; third-party mirrors (snowflake-cortex, nano-gpt, qiniu-ai, llmgateway, helicone, vivgrid, opencode, opencode-go, greenpt, alibaba-cn, etc.) often report different context/output/temperature values than the vendor. Always compare against the vendor's own lab first:

anthropic, openai, google, deepseek, xai, mistral, moonshotai, alibaba, zhipuai, minimax, xiaomi, kimi-for-coding

Only fall back to a third-party lab when the vendor lab no longer lists the model (e.g. deprecated models like claude-opus-4, gpt-5-codex, o1-mini).

Note: labs are case-sensitive — the MiniMax vendor lab uses MiniMax-M2 while the registry uses lowercase minimax-m2. Normalize IDs when matching.

C. Apply updates
  1. Spec updates: set contextWindow / maxOutputTokens from the vendor lab's limit.context / limit.output. Ignore third-party differences. When a vendor drops a model, use the best available source or leave it. Ambiguity: the registry may alias a newer model under an older id (e.g. qwen-max has alias qwen3-max) — align to the spec the alias points to.
  2. strictSampling: set "strictSampling": true for EVERY entry whose main provider shows temperature: false — this includes GPT-5.x (except gpt-5.3-chat-latest, which is temperature: true), the o1/o3/o4 series, Kimi K2.5/K2.7/K3, and new-gen Claude (Sonnet 5, Opus 5, Fable 5).
  3. New models: confirm scope with the user first (add all new chat/code models vs. only flagship models). Apply the single-model workflow below per model (official-lab spec, standard reasoning profile, alphabetical insert).
  4. Removals: entries no longer present in models.dev at all (not even via alias) are deprecated — confirm with the user before removing, since user configs may still reference them. Removing requires cleaning up test assertions that reference those ids (e.g. claude-jupiter-v1-p).
  5. Efforts: reasoning_options may be a dict OR a list of {type: toggle|effort|budget_tokens} objects. toggle means reasoning is optional → include none. Use the effort values when present (e.g. kimi-k3 → ["none", "low", "high", "max"]).
D. Update tests + verify
  • Add/remove model ids in src/lib/utils.test.ts describe blocks (isStrictSamplingModel, isAnthropicAdaptiveThinkingModel, supportsMaxEffort, supportsXhighEffort, getDefaultMaxOutputTokens) — flip assertions like isStrictSamplingModel('gpt-5.2') when strictSampling changes. Watch for spec-value assertions (e.g. gemini output 64000 → 65536).
  • src/lib/model-registry.test.ts: add non-standard effort coverage (e.g. kimi-k3).
  • src/components/models/ModelDialog.test.tsx: the strict-sampling extraArgs test uses a strict model id — repoint it if that model is removed.
  • Run npm run check:all and fix any failures.

Workflow

1. Fetch the model spec from models.dev

Fetch the full dataset (more reliable than the model page):

bash
curl -sSL --max-time 30 "https://models.dev/api.json" -o /tmp/models-dev-api.json

Then extract the entry for the target model. The Anthropic lab uses a nested models map; other labs use a flat id -> spec map:

bash
python3 -c "
import json
data = json.load(open('/tmp/models-dev-api.json'))
# Search all labs for the model ID
for lab, models in data.items():
    models = models.get('models', models) if isinstance(models, dict) else {}
    for mid, m in models.items():
        if '<model-id>' in mid:
            print(lab, mid)
            print(json.dumps(m, indent=2))
"

If the model is not in the API data, it may be a hypothetical/requested model — confirm with the user before proceeding.

2. Map spec fields to the registry entry

From the models.dev entry, extract:

models.dev fieldRegistry fieldNotes
namenameDisplay name, e.g. "Claude Opus 5"
limit.contextcontextWindowIn tokens
limit.outputmaxOutputTokensIn tokens
temperature: falsestrictSampling: trueOnly set when the model rejects sampling params; omit otherwise
reasoning_optionsreasoningConfig.effortsMap effort values, add none if reasoning is optional
provider/labplatformSee mapping below

Determine platform from the lab:

LabPlatform
Anthropicanthropic-messages
OpenAIopenai-responses (or openai-completions for chat-style)
Googlegemini
DeepSeekopenai-completions
OthersCheck existing entries in model-registry-data.json for similar models
Show full SKILL.md (316 more words)Show less
3. Add the registry entry

Insert into src/lib/model-registry-data.json in alphabetical order by id. Generate aliases by replacing hyphens with dots and dropping date-version suffixes (e.g., claude-opus-4-8 → alias claude-opus-4.8; no dot form exists when the version has no separator, e.g. claude-opus-5 → alias claude-opus.5).

Standard reasoning profile (models.dev reasoning_options lists effort values; use the profile matching the lab's native encoding):

json
{
  "id": "<model-id>",
  "name": "<Display Name>",
  "aliases": ["<dotted-alias>"],
  "platform": "<platform>",
  "contextWindow": 1000000,
  "maxOutputTokens": 128000,
  "reasoningConfig": {
    "efforts": ["none", "low", "medium", "high", "xhigh", "max"],
    "profiles": {
      "anthropic": "anthropic-adaptive",
      "openai": "openai-reasoning",
      "generic-chat-completion-api": "openai-reasoning"
    }
  }
}

Profile selection for reasoningConfig.profiles.anthropic:

ProfileWhen to use
anthropic-adaptiveNew-generation Anthropic models (adaptive thinking + output_config effort)
anthropic-budgetOlder Anthropic models (thinking budget_tokens)
anthropic-output-configNon-Anthropic models routed through the Anthropic-compatible endpoint

Non-standard effort encoding (rare): if the model needs custom extraArgsFragment per effort (e.g., deepseek-v4-pro uses thinking: {type: enabled} + reasoning_effort), copy the encoding block from an existing entry with the same shape instead of profiles.

Strict sampling: if models.dev shows temperature: false for the main provider, add "strictSampling": true to the entry.

4. Check for special cases
  • Official display name: if the model is one of DroidGear's official models (e.g., "Opus 5", "Sonnet 4.6"), add its display name to DROID_OFFICIAL_MODEL_NAMES in src/lib/utils.ts. This is the ONLY supported edit to utils.ts.
  • New ID prefix: if the model introduces a brand-new prefix (not claude-/gpt-/o1-/o3-/o4-/gemini-), update protocol inference:
    • src/lib/model-protocol/global-inference.ts
    • src/lib/model-protocol/channel-inferrers/
    • src/lib/sub2api-platform.ts
    • src/lib/newapi-platform.ts
5. Update tests
  • src/lib/utils.test.ts: add the model to the applicable describe blocks (isStrictSamplingModel, isAnthropicAdaptiveThinkingModel, supportsXhighEffort, getDefaultMaxOutputTokens) — the lookups are registry-driven, so these assertions should pass without code changes.
  • src/lib/model-registry.test.ts: add registry coverage if the model has a non-standard reasoningConfig shape.
6. Verify
bash
npm run check:all

Fix any lint or type errors before declaring the task complete.

Verification

  • npm run check:all passes with zero errors
  • New entry is in model-registry-data.json in alphabetical order
  • strictSampling set only when models.dev shows temperature: false
  • utils.ts untouched except DROID_OFFICIAL_MODEL_NAMES (if applicable)
  • No unexpected changes to protocol inference or Rust code
  • For full syncs: verify the diff contains ONLY intended entries (removed / added / spec-updated), with no reformatting of untouched entries; confirm removed ids are also gone from test assertions

© Sunshow, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/register-model of Sunshow/droidgear.

Open the folder on GitHubat commit b15760b

Compare with similar skills

Register Model next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Register Model compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Register Model this skillSunshow/droidgear127—~2.5kAutomated safety check: PassMIT
Hermes Atropos EnvironmentsTommy-yw/RunbookHermes546—~3.3kAutomated safety check: PassMIT
Caveman Gateway SetupJuliusBrussee/caveman110k1 repos~2.6kAutomated safety check: WarnApache-2.0
Stripe Best Practiceskanchengw/cnllm1753 repos~925Automated safety check: PassApache-2.0
Azure Architecture Autopilotgithub/awesome-copilot40k1 repos~1.9kAutomated safety check: PassMIT
Reasoning Serialization Teststailcallhq/forgecode7.6k—~1kAutomated safety check: PassApache-2.0

Similar skills

  • Hermes Atropos Environments

    Tommy-yw/RunbookHermes

    Build, test, and debug Hermes Agent RL environments for Atropos training.

    546 GitHub stars~3.3k tokensUpdated 4 mo ago
    AI & LLM EngineeringAuto-check passed
  • Caveman Gateway Setup

    JuliusBrussee/caveman

    Routes every LLM call in a repository through the Caveman Cloud gateway in record mode, so requests and costs are measured without changing behavior.

    110k GitHub starsUsed in 1 repo~2.6k tokens
    DevOps & CloudAuto-check: warnings
  • Stripe Best Practices

    kanchengw/cnllm

    Guides Stripe integration decisions — API selection (Checkout Sessions vs PaymentIntents), Connect platform setup (Accounts v2, controller properties), billing/subscriptions, Treasury financial…

    175 GitHub starsUsed in 3 repos~925 tokens
    Backend & APIsAuto-check passed
  • Azure Architecture Autopilot

    github/awesome-copilot

    Official

    Designs Azure infrastructure from a natural-language description, or diagrams an existing resource group, then refines the design through conversation and deploys it with Bicep.

    40k GitHub starsUsed in 1 repo~1.9k tokens
    DevOps & CloudAuto-check passed
  • Reasoning Serialization Tests

    tailcallhq/forgecode

    Checks that ReasoningConfig fields are serialized into the right provider-specific JSON for OpenRouter, Anthropic, GitHub Copilot and Codex requests.

    7.6k GitHub stars~1k tokensUpdated today
    Testing & QAAuto-check passed
  • Upgrade Stripe

    kanchengw/cnllm

    Guide for upgrading Stripe API versions and SDKs. An agent skill from kanchengw/cnllm.

    175 GitHub starsUsed in 4 repos~1.4k tokens
    AI & LLM EngineeringAuto-check passed

More from Sunshow/droidgear

  • Commit

    Sunshow/droidgear

    Commit staged changes with conventional commit message. An agent skill from Sunshow/droidgear.

    127 GitHub stars~437 tokensUpdated yesterday
    Auto-check passed
  • Release

    Sunshow/droidgear

    Generate changelog from commits since last tag and release new version.

    127 GitHub stars~660 tokensUpdated yesterday
    Auto-check passed

Works with

Categories

Questions about Register Model

What does Register Model do?

Register a new AI model in DroidGear's model registry by fetching specs from models.dev. Register Model is an agent skill from Sunshow/droidgear.dev.

When should I use Register Model?

Register Model fits situations like: the user asks to register; support a new model (e.g; register claude-fable-; to sync the registry with models.dev.

How do I install Register Model in Claude Code?

Run `npx skills add Sunshow/droidgear --skill register-model -a claude-code`. Or copy the skill folder (.agents/skills/register-model in Sunshow/droidgear) into .claude/skills/register-model in your project. Claude Code loads it when a task matches its description.

How do I install Register Model in Codex?

Run `npx skills add Sunshow/droidgear --skill register-model -a codex`. Or copy the skill folder (.agents/skills/register-model in Sunshow/droidgear) into .agents/skills/register-model in your project. Codex loads it when a task matches its description.

Can I use Register Model in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Sunshow/droidgear --skill register-model -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/register-model, .gemini/skills/register-model, .github/skills/register-model and .opencode/skills/register-model in your project.

What does Register Model need to run?

Going by SKILL.md and its folder, Register Model needs the command-line tools its instructions call (npm, curl and python3). Our summary lists: Python 3.

Does Register Model access the network?

SKILL.md names 1 domain. In commands or code: models.dev; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Register Model safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Register Model use?

Register Model is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Register Model use?

About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Register Model?

Skills that share tags, products or a category with Register Model: Hermes Atropos Environments (Tommy-yw/RunbookHermes, 546 stars), Caveman Gateway Setup (JuliusBrussee/caveman, 110k stars), Stripe Best Practices (kanchengw/cnllm, 175 stars) and Azure Architecture Autopilot (github/awesome-copilot, 40k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Register Model?

Sunshow (a GitHub user) maintains it in Sunshow/droidgear, which has 127 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 7, 2026.

Source: Sunshow/droidgear on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.