Agent skill

Qv SDK Update Models

by tetherto in tetherto/qvac

Regenerates SDK model constants from the live QVAC registry and opens a [mod] PR.

Apache-2.0Auto-check passedAI & LLM Engineering

Install Qv SDK Update Models

skills CLI
$ npx skills add tetherto/qvac --skill qv-sdk-update-models -a claude-code

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

GitHub CLI
$ gh skill install tetherto/qvac qv-sdk-update-models --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/tetherto/qvac.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/qv-sdk-update-models .claude/skills/qv-sdk-update-models && 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
qv-sdk-update-models
GitHub stars
683
Token cost
~2.8k tokens
SKILL.md length
1,254 words
Files
2
Skills in repo
50
Repo updated
First seen
Licence
Apache-2.0

At a glance

Regenerates SDK model constants from the live QVAC registry and opens a [mod] PR.

  • Works in 8 steps: Parse flags and resolve ticket → Preflight (read-only) → Drift check → …
  • Registry models landed and packages/sdk models.ts needs syncing
  • SKILL.md covers When to use this skill, Flags, Prerequisites and Safety rules, plus 7 more sections
  • Calls bun, git and python3; needs QVAC_REGISTRY_CORE_KEY and GH_TOKEN

What it does

Qv SDK Update Models is an agent skill from tetherto/qvac. Regenerates SDK model constants from the live QVAC registry and opens a [mod] PR. Use when registry models landed and packages/sdk models.ts needs syncing, or when invoking /qv-sdk-update-models. Optional cascade refreshes ai-sdk-provider and sdk-python generated catalogs.

Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).

It sits in AI & LLM Engineering. It works with Python and Vercel AI SDK. The repository describes itself as: Open-source local AI SDK - run AI on-device with no cloud, no API keys. Supports GGUF, RAG, image, music, and video generation, speech-to-text, P2P inference, and more… The licence is Apache-2.0.

When your agent uses it

  • Registry models landed and packages/sdk models.ts needs syncing
  • Invoking /qv-sdk-update-models

Example prompts

  • “Use the qv-sdk-update-models skill to regenerate SDK model constants from the live QVAC registry and opens a [mod] PR”
  • “/qv-sdk-update-models”

Requirements

  • Python 3
  • A credential in QVAC_REGISTRY_CORE_KEY
  • A credential in NPM_TOKEN

Workflow steps

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

  1. Parse flags and resolve ticket
  2. Preflight (read-only)
  3. Drift check
  4. Regenerate SDK
  5. Optional cascade
  6. Build the Models section
  7. Commit (human-gated)
  8. Open PR (unless --no-pr)

What it can do on your machine

Read from SKILL.md and the folder at commit f874b3a. 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:

    • bun
    • git
    • python3
    • gh
    • node
    • pip

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

  • Network

    No URLs in SKILL.md. Its commands use git, gh and pip, which can reach the network depending on how they are called.

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

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • QVAC_REGISTRY_CORE_KEY
    • GH_TOKEN
    • HF_TOKEN
    • NPM_TOKEN

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

Context cost

Qv SDK Update Models loads about 2.8k tokens when it runs. Until then it costs about 74 tokens; SKILL.md has 1,254 words of instructions outside code blocks.

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

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 tetherto/qvac at commit f874b3a, republished under its Apache-2.0 licence (© tetherto). 1,254 words, ~2,789 tokens.

Download SKILL.mdSave it as .claude/skills/qv-sdk-update-models/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
qv-sdk-update-models
description
Regenerates SDK model constants from the live QVAC registry and opens a [mod] PR. Use when registry models landed and packages/sdk models.ts needs syncing, or when invoking /qv-sdk-update-models. Optional cascade refreshes ai-sdk-provider and sdk-python generated catalogs.
disable-model-invocation
true

SDK Update Models

Regenerate @qvac/sdk static model constants from the live P2P registry, then open a [mod] PR. Registry sync does not auto-update SDK constants — this skill is the deliberate regen + PR path.

When to use this skill

Use when:

  • New/updated/removed models landed in the production registry and SDK constants are stale.
  • Someone asks to "update models", "sync models.ts", or "run update-models".
  • User invokes /qv-sdk-update-models.

Do NOT use when:

  • Changing naming rules / companion detection / codegen logic (those are code changes; regen may be a follow-up, not the whole PR).
  • Only needing a dry-run drift check — run bun run check-models directly.
  • Releasing / changelog work — use qv-sdk-changelog after the [mod] PR merges.

Flags

FlagBehavior
(none)SDK only: packages/sdk regen + [mod] PR
--cascadeAlso regen @qvac/ai-sdk-provider and packages/sdk-python
--with-providerCascade provider only
--with-pythonCascade python only (usually after SDK contract:export)
--check-onlyRun check-models and report; do not write or open a PR
--no-prRegen + commit plan only; skip PR creation
--notaskAllow `feat[mod

Combine as needed: /qv-sdk-update-models --cascade, /qv-sdk-update-models --check-only.

Prerequisites

  • Working directory is the qvac monorepo root (or resolve paths from it).
  • Network access to the live registry (Hyperswarm / Hyperdrive).
  • packages/sdk dependencies installed (bun install in that package if needed).
  • Optional: QVAC_REGISTRY_CORE_KEY to target a non-default registry core.
  • For --with-python / --cascade: packages/sdk-python/.venv with gen extras (python3 -m venv .venv && .venv/bin/pip install -e ".[gen,dev]").
  • gh CLI for PR creation (same expectations as qv-sdk-pr-create).

Secrets: this skill only needs registry network access. It does not read GH_TOKEN / HF_TOKEN / NPM_TOKEN unless a chained skill does.

Safety rules

  • Plan-then-apply. Print the planned commands and expected file set; wait for explicit user confirmation before regen, commit, push, or gh pr create.
  • No silent git mutations. Do not git switch / checkout / stash / pull / merge / rebase without explicit user instruction.
  • Fail-stop on unexpected dirty files, missing tools, or registry errors.
  • Do not edit naming.ts, companion logic, schemas, or hand-written API code. If those need changes, stop and tell the user this skill is the wrong tool.
  • Prefer draft=false / Ready for review org-branch PRs when the user wants baseline CI (same preference as qv-sdk-pr-create).

Expected file sets

SDK (always)

After a successful bun run update-models in packages/sdk/:

  • packages/sdk/models/registry/models.ts
  • packages/sdk/models/history/<short-sha>.txt (only when add/update/remove)
  • packages/sdk/contract/models.json (via chained contract:export)
  • Possibly other packages/sdk/contract/* if export rewrites them — include if git status shows them; do not invent diffs.
Provider (--with-provider / --cascade)
  • packages/ai-sdk-provider/src/models/constants.ts
  • packages/ai-sdk-provider/models/history/<short-sha>.txt (when delta exists)
Python (--with-python / --cascade)
  • packages/sdk-python/src/tetherto/qvac_sdk/_generated/models_registry.py
  • Other _generated/** files if generate.py rewrites them — include if dirty.

If git status shows files outside the active file set, STOP and ask.

Workflow

Step 0 — Parse flags and resolve ticket
  1. Parse flags from the user message.
  2. Ticket:
    • Prefer QVAC-\d+ / SDK-\d+ from branch name or user message.
    • If missing and --notask was passed → use [notask].
    • If missing and no --notask → ASK for a ticket (or confirm --notask).
Step 1 — Preflight (read-only)

From monorepo root:

  1. git status -sb and git status --porcelain.
  2. Allowed dirty paths before regen: none, or only files already in the expected file set from a prior interrupted run of this skill.
  3. Confirm remotes (git remote -v) for later PR push (org remote preferred).
  4. Print plan:
text
Plan:
  1. bun run check-models   (packages/sdk)
  2. bun run update-models  (packages/sdk)   [needs confirm]
  3. [optional] provider / python cascade
  4. commit feat[mod] …
  5. open PR via qv-sdk-pr-create
Ticket: …
Cascade: none | provider | python | both
  1. If --check-only: run Step 2 only, report, stop.
  2. Otherwise ask: "Proceed with regen?" — wait for yes.
Step 2 — Drift check
bash
cd packages/sdk
bun run check-models
ExitMeaningAction
0Up to dateReport "already synced" and stop (unless user still wants cascade-only — ask)
1Drift / timeout / errorRead stdout. If it lists new/updated/removed models, continue. If timeout/error, fail-stop
otherUnexpectedFail-stop

Capture Added / Updated / Removed names from the check output when present — useful if history later looks bogus.

Step 3 — Regenerate SDK

After user confirmation:

bash
cd packages/sdk
bun run update-models

Then:

bash
cd packages/sdk
bun run contract:check

contract:check must pass (update-models already ran export; this verifies).

Inspect git status. Confirm only the SDK expected file set is dirty.

Step 4 — Optional cascade
Provider

If --cascade or --with-provider:

bash
cd packages/ai-sdk-provider
bun run update-models

Note: provider filters engines without OpenAI-shaped endpoints (e.g. VAD). A smaller delta than SDK is expected.

Python

If --cascade or --with-python:

bash
cd packages/sdk-python
.venv/bin/python3 scripts/generate.py
.venv/bin/python3 scripts/generate.py --check

If .venv is missing, fail-stop with the venv setup command from Prerequisites. Do not invent alternate python binaries.

Step 5 — Build the Models section

Prefer the newest history file under packages/sdk/models/history/ whose timestamp= is from this run (or the file update-models just printed).

Parse sections:

  • [added] → ### Added models
  • [updated] → ### Updated models
  • [removed] → ### Removed models

Bogus-history guard: if previous_count=0 and the [added] list is huge relative to a normal incremental sync (e.g. hundreds of names when check-models only reported a handful), do not paste the full history dump into the PR. Fall back to:

  1. Names printed by check-models / update-models console output, or
  2. Diff-derived constant names from git diff on export lines in models.ts

Delete empty subsections. Validator requires at least one of Added / Updated / Removed with a fenced code block.

Show full SKILL.md (464 more words)Show less
Step 6 — Commit (human-gated)

Present:

  • Proposed commit message
  • File list to stage

Default message shapes:

text
feat[mod]: sync model constants from registry

With ticket in branch/PR title later; commit format is prefix[tags]: subject (no ticket in commit). If the user wants the ticket in the commit subject, still keep valid commit format (ticket belongs in the PR title).

Ask: "Commit these files?" — only then:

  1. Stage exactly the expected dirty files.
  2. Commit with the approved message (use a temp file for -F if needed; follow repo bash rules when operating in constrained shells).
  3. git status to verify clean expected state.
Step 7 — Open PR (unless --no-pr)

Chain into qv-sdk-pr-create (read that skill and follow it), with these overrides already decided:

  • Tag: [mod] required
  • Prefix: usually feat
  • Title: TICKET feat[mod]: sync model constants from registry (or feat[mod|notask]: … when --notask)
  • Models section: use the section built in Step 5
  • What problem: registry has newer models than the committed SDK catalog; consumers need updated compile-time constants
  • How it solves: regenerated models.ts (+ contract / cascade artifacts) via bun run update-models
  • Testing: bun run check-models (exit 0 after regen); bun run contract:check; note cascade checks if run

Still ask before git push / gh pr create (pr-create’s confirmation step).

After success, print the clickable PR URL.

Commit / PR format reminders

  • Commits: feat[mod]: subject
  • PRs: QVAC-123 feat[mod]: subject or feat[mod|notask]: subject
  • [mod] body must include ## 📦 Models with at least one of Added / Updated / Removed (fenced constant names, one per line)
  • Keep this PR to model catalog sync — don’t mix [api] / [bc] into a pure model-sync PR (combine tags with | when needed, e.g. [mod|notask])

Validate locally when useful:

bash
node scripts/sdk/validator.cjs --type=commit --msg="feat[mod]: sync model constants from registry"

Efficiency rules

  • Bound shell calls (~8–12 for a full cascade + PR). Cache git status / remotes.
  • Do not re-run update-models if the tree already has a fresh regen from this session unless the user asks to re-fetch.
  • Prefer Read/Grep tools over shell for inspecting history files and diffs.

Quality checklist

Before reporting done:

  • User confirmed regen (and commit / PR when applicable)
  • bun run check-models exits 0 after regen (re-run once to confirm)
  • bun run contract:check exits 0
  • Dirty files ⊆ expected file set for the flags used
  • History/Models section is incremental — not a bogus full-catalog dump
  • Cascade checks passed when flags requested
  • Commit message and PR title pass format rules
  • PR URL printed (unless --no-pr / --check-only)
  • Provenance: PR body or chat notes that /qv-sdk-update-models produced the work

What this skill does NOT do

  • Does not upload models to the registry (that is registry/CI writer flow).
  • Does not bump package versions or cut releases.
  • Does not modify naming / companion / shard codegen.
  • Does not approve the fork-ci environment on fork PRs.

References

  • Script entry: packages/sdk/package.json → update-models / check-models
  • Implementation: packages/sdk/models/update-models/
  • Knowledge: packages/ocr-ggml/.agent/knowledge/registry-models.md (Step 4)
  • Model constants docs: packages/sdk/docs/model-constants-and-sources.md
  • PR format: docs/gitflow.md and .agents/skills/qv-sdk-pr-create/SKILL.md
  • PR create: .agents/skills/qv-sdk-pr-create/SKILL.md
  • Provider codegen: packages/ai-sdk-provider/models/update-models/README.md
  • Python codegen: packages/sdk-python/scripts/generate.py
  • Remote-mutation policy: AGENTS.md

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

Files

SKILL.md and 1 other file in .agents/skills/qv-sdk-update-models of tetherto/qvac.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit f874b3a

Compare with similar skills

Qv SDK Update Models 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.

Qv SDK Update Models compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Qv SDK Update Models this skilltetherto/qvac683—~2.8kAutomated safety check: PassApache-2.0
Failproof AI SDK IntegrationFailproofAI/failproofai5.3k—~6kAutomated safety check: PassCustom licence
Phoenix Integration SnippetsArize-ai/phoenix12k—~1.4kAutomated safety check: PassApache-2.0
Sap Cloud SDK AI Pythonsecondsky/sap-skills462—~3.8kAutomated safety check: PassGPL-3.0
Gemini API Agent Platformdavila7/claude-code-templates32k—~2.5kAutomated safety check: PassMIT
Routerbase API Integrationaiskillstore/marketplace430—~964Automated safety check: PassNone

Similar skills

  • Failproof AI SDK Integration

    FailproofAI/failproofai

    Helps instrument a custom Python or TypeScript agent to record events for Failproof AI, verify what gets written, and run an evaluator worker that scores the runs.

    5.3k GitHub stars~6k tokensUpdated yesterday
    AI & LLM EngineeringAuto-check passed
  • Generates onboarding code snippets for Phoenix tracing integrations and wires them into the project onboarding UI.

    12k GitHub stars~1.4k tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • Sap Cloud SDK AI Python

    secondsky/sap-skills

    Integrates the SAP Cloud SDK for AI for Python (sap-ai-sdk-gen, formerly generative-ai-hub-sdk) into Python applications.

    462 GitHub stars~3.8k tokensUpdated 3 days ago
    AI & LLM EngineeringAuto-check passed
  • Gemini API Agent Platform

    davila7/claude-code-templates

    Guides the usage of the Gemini API on Agent Platform with the Google Gen AI SDK for enterprise AI applications.

    32k GitHub stars~2.5k tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • Routerbase API Integration

    aiskillstore/marketplace

    Integrate applications with RouterBase, the OpenAI-compatible model gateway at https://routerbase.com/v1.

    430 GitHub stars~964 tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • Migrate TypeScript Vercel AI SDK or Eve applications to Python with Pydantic AI and, only when needed, Pydantic AI Harness.

    20k GitHub stars~2.3k tokensUpdated today
    Agent WorkflowsAuto-check passed

More from tetherto/qvac

All 50 skills in this repo
  • Creates a Solutions page in the QVAC documentation website from a real use case, generalizing the case into reusable guidance and registering the page in the site navigation.

    683 GitHub stars~2.8k tokensUpdated today
    Auto-check passed
  • Qv Docs Update

    tetherto/qvac

    Updates the docs website after a change to the SDK or CLI. An agent skill from tetherto/qvac.

    683 GitHub stars~11k tokensUpdated today
    Auto-check passed
  • Qv Agent Stack Sync

    tetherto/qvac

    Plan and prepare the QVAC agent-stack release cascade across @qvac/inference, @qvac/sdk, @qvac/cli, @qvac/ai-sdk-provider, @qvac/opencode-plugin, and @qvac/openclaw-plugin.

    683 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Run the deterministic code-quality audit, turn related findings into contextual remediation groups, prepare approval-gated Asana proposals, reconcile recurring runs, or configure twice-monthly…

    683 GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Review C++ changes for string parameter and call-site efficiency conventions (std::stringview, std::string&&, const std::string&, const char, and TransparentStringMap lookup).

    683 GitHub stars~702 tokensUpdated today
    Auto-check passed
  • Qv Addon Changelog

    tetherto/qvac

    Generate changelog entries for a target add-on package. An agent skill from tetherto/qvac.

    683 GitHub stars~1.7k tokensUpdated today
    Auto-check passed

Questions about Qv SDK Update Models

What does Qv SDK Update Models do?

Regenerates SDK model constants from the live QVAC registry and opens a [mod] PR. Qv SDK Update Models is an agent skill from tetherto/qvac. Regenerates SDK model constants from the live QVAC registry and opens a [mod] PR.

When should I use Qv SDK Update Models?

Qv SDK Update Models fits situations like: registry models landed and packages/sdk models.ts needs syncing; invoking /qv-sdk-update-models.

How do I install Qv SDK Update Models in Claude Code?

Run `npx skills add tetherto/qvac --skill qv-sdk-update-models -a claude-code`. Or copy the skill folder (.agents/skills/qv-sdk-update-models in tetherto/qvac) into .claude/skills/qv-sdk-update-models in your project. Claude Code loads it when a task matches its description.

How do I install Qv SDK Update Models in Codex?

Run `npx skills add tetherto/qvac --skill qv-sdk-update-models -a codex`. Or copy the skill folder (.agents/skills/qv-sdk-update-models in tetherto/qvac) into .agents/skills/qv-sdk-update-models in your project. Codex loads it when a task matches its description.

Can I use Qv SDK Update Models 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 tetherto/qvac --skill qv-sdk-update-models -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/qv-sdk-update-models, .gemini/skills/qv-sdk-update-models, .github/skills/qv-sdk-update-models and .opencode/skills/qv-sdk-update-models in your project.

What does Qv SDK Update Models need to run?

Going by SKILL.md and its folder, Qv SDK Update Models needs the command-line tools its instructions call (bun, git, python3, gh, node and pip) and credentials named QVAC_REGISTRY_CORE_KEY, GH_TOKEN, HF_TOKEN and NPM_TOKEN. Our summary lists: Python 3; A credential in QVAC_REGISTRY_CORE_KEY; A credential in NPM_TOKEN.

Does Qv SDK Update Models access the network?

SKILL.md contains no URLs. Its commands use git, gh and pip, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Qv SDK Update Models 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 Qv SDK Update Models use?

Qv SDK Update Models is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Qv SDK Update Models use?

About 2.8k tokens (SKILL.md is roughly 11k 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 Qv SDK Update Models?

Skills that share tags, products or a category with Qv SDK Update Models: Failproof AI SDK Integration (FailproofAI/failproofai, 5.3k stars), Phoenix Integration Snippets (Arize-ai/phoenix, 12k stars), Sap Cloud SDK AI Python (secondsky/sap-skills, 462 stars) and Gemini API Agent Platform (davila7/claude-code-templates, 32k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Qv SDK Update Models?

tetherto (a GitHub organization) maintains it in tetherto/qvac, which has 683 GitHub stars. The repository holds 50 skills in this directory. The repository was last updated on October 9, 2026.

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