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.
Regenerates SDK model constants from the live QVAC registry and opens a [mod] PR.
$ npx skills add tetherto/qvac --skill qv-sdk-update-models -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install tetherto/qvac qv-sdk-update-models --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "qv-sdk-update-models" agent skill from https://github.com/tetherto/qvac/tree/main/.agents/skills/qv-sdk-update-models into .claude/skills/qv-sdk-update-models/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qv-sdk-update-models", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/tetherto/qvac/tree/main/.agents/skills/qv-sdk-update-modelsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add tetherto/qvac --skill qv-sdk-update-models -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install tetherto/qvac qv-sdk-update-models --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tetherto/qvac.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/qv-sdk-update-models .agents/skills/qv-sdk-update-models && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "qv-sdk-update-models" agent skill from https://github.com/tetherto/qvac/tree/main/.agents/skills/qv-sdk-update-models into .agents/skills/qv-sdk-update-models/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qv-sdk-update-models", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add tetherto/qvac --skill qv-sdk-update-models -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install tetherto/qvac qv-sdk-update-models --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tetherto/qvac.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/qv-sdk-update-models .cursor/skills/qv-sdk-update-models && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "qv-sdk-update-models" agent skill from https://github.com/tetherto/qvac/tree/main/.agents/skills/qv-sdk-update-models into .cursor/skills/qv-sdk-update-models/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qv-sdk-update-models", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/tetherto/qvac.git --path .agents/skills/qv-sdk-update-models--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add tetherto/qvac --skill qv-sdk-update-models -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install tetherto/qvac qv-sdk-update-models --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tetherto/qvac.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/qv-sdk-update-models .gemini/skills/qv-sdk-update-models && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "qv-sdk-update-models" agent skill from https://github.com/tetherto/qvac/tree/main/.agents/skills/qv-sdk-update-models into .gemini/skills/qv-sdk-update-models/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qv-sdk-update-models", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install tetherto/qvac qv-sdk-update-modelsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add tetherto/qvac --skill qv-sdk-update-models -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/tetherto/qvac.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/qv-sdk-update-models .github/skills/qv-sdk-update-models && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "qv-sdk-update-models" agent skill from https://github.com/tetherto/qvac/tree/main/.agents/skills/qv-sdk-update-models into .github/skills/qv-sdk-update-models/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qv-sdk-update-models", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add tetherto/qvac --skill qv-sdk-update-models -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install tetherto/qvac qv-sdk-update-models --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tetherto/qvac.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/qv-sdk-update-models .opencode/skills/qv-sdk-update-models && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "qv-sdk-update-models" agent skill from https://github.com/tetherto/qvac/tree/main/.agents/skills/qv-sdk-update-models into .opencode/skills/qv-sdk-update-models/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qv-sdk-update-models", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
qv-sdk-update-modelsRegenerates 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. 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.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit f874b3a. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
bungitpython3ghnodepipFrom the folder's file list and the shell code blocks in SKILL.md.
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.
Names these keys or tokens, usually read from environment variables:
QVAC_REGISTRY_CORE_KEYGH_TOKENHF_TOKENNPM_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from tetherto/qvac at commit f874b3a, republished under its Apache-2.0 licence (© tetherto). 1,254 words, ~2,789 tokens.
.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.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.
Use when:
/qv-sdk-update-models.Do NOT use when:
bun run check-models directly.qv-sdk-changelog after the [mod] PR merges.| Flag | Behavior |
|---|---|
| (none) | SDK only: packages/sdk regen + [mod] PR |
--cascade | Also regen @qvac/ai-sdk-provider and packages/sdk-python |
--with-provider | Cascade provider only |
--with-python | Cascade python only (usually after SDK contract:export) |
--check-only | Run check-models and report; do not write or open a PR |
--no-pr | Regen + commit plan only; skip PR creation |
--notask | Allow `feat[mod |
Combine as needed: /qv-sdk-update-models --cascade, /qv-sdk-update-models --check-only.
qvac monorepo root (or resolve paths from it).packages/sdk dependencies installed (bun install in that package if needed).QVAC_REGISTRY_CORE_KEY to target a non-default registry core.--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.
gh pr create.git switch / checkout / stash /
pull / merge / rebase without explicit user instruction.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.qv-sdk-pr-create).After a successful bun run update-models in packages/sdk/:
packages/sdk/models/registry/models.tspackages/sdk/models/history/<short-sha>.txt (only when add/update/remove)packages/sdk/contract/models.json (via chained contract:export)packages/sdk/contract/* if export rewrites them — include if
git status shows them; do not invent diffs.--with-provider / --cascade)packages/ai-sdk-provider/src/models/constants.tspackages/ai-sdk-provider/models/history/<short-sha>.txt (when delta exists)--with-python / --cascade)packages/sdk-python/src/tetherto/qvac_sdk/_generated/models_registry.py_generated/** files if generate.py rewrites them — include if dirty.If git status shows files outside the active file set, STOP and ask.
QVAC-\d+ / SDK-\d+ from branch name or user message.--notask was passed → use [notask].--notask → ASK for a ticket (or confirm --notask).From monorepo root:
git status -sb and git status --porcelain.git remote -v) for later PR push (org remote preferred).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--check-only: run Step 2 only, report, stop.cd packages/sdk
bun run check-models| Exit | Meaning | Action |
|---|---|---|
| 0 | Up to date | Report "already synced" and stop (unless user still wants cascade-only — ask) |
| 1 | Drift / timeout / error | Read stdout. If it lists new/updated/removed models, continue. If timeout/error, fail-stop |
| other | Unexpected | Fail-stop |
Capture Added / Updated / Removed names from the check output when present — useful if history later looks bogus.
After user confirmation:
cd packages/sdk
bun run update-modelsThen:
cd packages/sdk
bun run contract:checkcontract:check must pass (update-models already ran export; this verifies).
Inspect git status. Confirm only the SDK expected file set is dirty.
If --cascade or --with-provider:
cd packages/ai-sdk-provider
bun run update-modelsNote: provider filters engines without OpenAI-shaped endpoints (e.g. VAD). A smaller delta than SDK is expected.
If --cascade or --with-python:
cd packages/sdk-python
.venv/bin/python3 scripts/generate.py
.venv/bin/python3 scripts/generate.py --checkIf .venv is missing, fail-stop with the venv setup command from Prerequisites.
Do not invent alternate python binaries.
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 modelsBogus-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:
check-models / update-models console output, orgit diff on export lines in models.tsDelete empty subsections. Validator requires at least one of Added / Updated / Removed with a fenced code block.
Present:
Default message shapes:
feat[mod]: sync model constants from registryWith 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:
-F if needed; follow
repo bash rules when operating in constrained shells).git status to verify clean expected state.--no-pr)Chain into qv-sdk-pr-create (read that skill and follow it), with these
overrides already decided:
[mod] requiredfeatTICKET feat[mod]: sync model constants from registry (or
feat[mod|notask]: … when --notask)models.ts (+ contract / cascade artifacts)
via bun run update-modelsbun run check-models (exit 0 after regen); bun run contract:check;
note cascade checks if runStill ask before git push / gh pr create (pr-create’s confirmation step).
After success, print the clickable PR URL.
feat[mod]: subjectQVAC-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)[api] / [bc] into a pure
model-sync PR (combine tags with | when needed, e.g. [mod|notask])Validate locally when useful:
node scripts/sdk/validator.cjs --type=commit --msg="feat[mod]: sync model constants from registry"git status / remotes.update-models if the tree already has a fresh regen from this
session unless the user asks to re-fetch.Before reporting done:
bun run check-models exits 0 after regen (re-run once to confirm)bun run contract:check exits 0--no-pr / --check-only)/qv-sdk-update-models produced the workfork-ci environment on fork PRs.packages/sdk/package.json → update-models / check-modelspackages/sdk/models/update-models/packages/ocr-ggml/.agent/knowledge/registry-models.md (Step 4)packages/sdk/docs/model-constants-and-sources.mddocs/gitflow.md and .agents/skills/qv-sdk-pr-create/SKILL.md.agents/skills/qv-sdk-pr-create/SKILL.mdpackages/ai-sdk-provider/models/update-models/README.mdpackages/sdk-python/scripts/generate.pyAGENTS.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
SKILL.md and 1 other file in .agents/skills/qv-sdk-update-models of tetherto/qvac.
Open the folder on GitHubat commit f874b3a
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Qv SDK Update Models this skilltetherto/qvac | 683 | — | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| Failproof AI SDK IntegrationFailproofAI/failproofai | 5.3k | — | ~6k | Automated safety check: Pass | Custom licence | |
| Phoenix Integration SnippetsArize-ai/phoenix | 12k | — | ~1.4k | Automated safety check: Pass | Apache-2.0 | |
| Sap Cloud SDK AI Pythonsecondsky/sap-skills | 462 | — | ~3.8k | Automated safety check: Pass | GPL-3.0 | |
| Gemini API Agent Platformdavila7/claude-code-templates | 32k | — | ~2.5k | Automated safety check: Pass | MIT | |
| Routerbase API Integrationaiskillstore/marketplace | 430 | — | ~964 | Automated safety check: Pass | None |
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.
Arize-ai/phoenix
Generates onboarding code snippets for Phoenix tracing integrations and wires them into the project onboarding UI.
secondsky/sap-skills
Integrates the SAP Cloud SDK for AI for Python (sap-ai-sdk-gen, formerly generative-ai-hub-sdk) into Python applications.
davila7/claude-code-templates
Guides the usage of the Gemini API on Agent Platform with the Google Gen AI SDK for enterprise AI applications.
aiskillstore/marketplace
Integrate applications with RouterBase, the OpenAI-compatible model gateway at https://routerbase.com/v1.
pydantic/pydantic-ai
Migrate TypeScript Vercel AI SDK or Eve applications to Python with Pydantic AI and, only when needed, Pydantic AI Harness.
tetherto/qvac
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.
tetherto/qvac
Updates the docs website after a change to the SDK or CLI. An agent skill from tetherto/qvac.
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.
tetherto/qvac
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…
tetherto/qvac
Review C++ changes for string parameter and call-site efficiency conventions (std::stringview, std::string&&, const std::string&, const char, and TransparentStringMap lookup).
tetherto/qvac
Generate changelog entries for a target add-on package. An agent skill from tetherto/qvac.
Works with
Categories
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.
Qv SDK Update Models fits situations like: registry models landed and packages/sdk models.ts needs syncing; invoking /qv-sdk-update-models.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.