Agent skill

Qv SDK Inference Version

by tetherto in tetherto/qvac

Point @qvac/sdk at a published @qvac/inference version (shared major.minor) and regenerate the generated SDKs (tetherto-qvac-sdk and sdk-kotlin), so an SDK release ships against an engine that is…

Apache-2.0Auto-check passedMobile

Install Qv SDK Inference Version

skills CLI
$ npx skills add tetherto/qvac --skill qv-sdk-inference-version -a claude-code

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

GitHub CLI
$ gh skill install tetherto/qvac qv-sdk-inference-version --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-inference-version .claude/skills/qv-sdk-inference-version && 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-inference-version
GitHub stars
683
Token cost
~1.7k tokens
SKILL.md length
684 words
Files
2 (incl. scripts)
Skills in repo
50
Repo updated
First seen
Licence
Apache-2.0

At a glance

Point @qvac/sdk at a published @qvac/inference version (shared major.minor) and regenerate the generated SDKs (tetherto-qvac-sdk and sdk-kotlin), so an SDK release ships against an engine that is…

  • Works in 5 steps: Confirm the engine version is published → Point the SDK at that version → Sync packages/sdk-python generated client → …
  • Tasks that involve Android development
  • SKILL.md covers The engine is published first, When to use this skill, What it does NOT do and Workflow, plus 3 more sections
  • Runs JavaScript scripts from its folder; calls python3, pip and bun

What it does

Qv SDK Inference Version is an agent skill from tetherto/qvac. Point @qvac/sdk at a published @qvac/inference version (shared major.minor) and regenerate the generated SDKs (tetherto-qvac-sdk and sdk-kotlin), so an SDK release ships against an engine that is already on npm.

Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts.

It sits in Mobile, covering Android development. It works with Kotlin and npm. 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

  • Tasks that involve Android development

Example prompts

  • “/qv-sdk-inference-version”

Requirements

  • Python 3
  • Node.js

Workflow steps

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

  1. Confirm the engine version is published
  2. Point the SDK at that version
  3. Sync packages/sdk-python generated client
  4. Verify
  5. Review and commit

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

    Ships 1 file in scripts/ (JavaScript), which the agent can run.

    Shell commands in SKILL.md call:

    • python3
    • pip
    • bun
    • npm
    • node
    • git

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

  • Network

    No URLs in SKILL.md. Its commands use pip, npm and git, 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 no API keys, tokens, secrets or passwords.

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

Context cost

Qv SDK Inference Version loads about 1.7k tokens when it runs. Until then it costs about 59 tokens; SKILL.md has 684 words of instructions outside code blocks.

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

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); the scripts in this folder are not scanned.

SKILL.md

The full file from tetherto/qvac at commit f874b3a, republished under its Apache-2.0 licence (© tetherto). 684 words, ~1,660 tokens.

Download SKILL.mdSave it as .claude/skills/qv-sdk-inference-version/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
qv-sdk-inference-version
description
Point @qvac/sdk at a published @qvac/inference version (shared major.minor) and regenerate the generated SDKs (tetherto-qvac-sdk and sdk-kotlin), so an SDK release ships against an engine that is already on npm.

SDK's @qvac/inference Version

@qvac/sdk and @qvac/inference expose the same API, so the SDK's own version and its @qvac/inference dependency range share a major and minor. Patch numbers are free on both sides — @qvac/sdk 0.19.4 may depend on @qvac/inference ^0.19.2.

packages/sdk-python (tetherto-qvac-sdk) and packages/sdk-kotlin (qvac-sdk-kotlin-runtime) are both generated from @qvac/sdk and track the SDK's version.

The engine is published first

The SDK's committed range is installed from npm by publish-sdk.yml and by the published leg of pr-checks-sdk-pod, so a range naming an unpublished version fails both.

Moving to a new major.minor is two releases:

  1. release-inference-<x.y.z> → publish-inference.yml publishes @qvac/inference and tags inference-v<x.y.z>.
  2. release-sdk-<x.y.z> → this skill points the SDK at that version, then publish-sdk.yml publishes @qvac/sdk and tetherto-qvac-sdk.

A patch on either side is one release on its own. An SDK patch leaves its range alone; an engine patch is picked up by the existing range with no SDK release at all.

When to use this skill

Applies to the SDK pod (not the agent-stack cascade: cli / ai-sdk-provider / plugins).

Use when:

  • User runs /qv-sdk-inference-version directly.
  • Auto-invoked by /qv-sdk-changelog when --package=sdk.
  • Auto-invoked by /qv-sdk-pr-create when the PR diff touches the version of packages/sdk or its @qvac/inference range.
  • Manually, when an @qvac/inference release has shipped and the SDK should depend on it.

What it does NOT do

  • Does not open release PRs or publish (see publish-inference.yml, publish-sdk.yml + gitflow).
  • Does not release @qvac/inference; it only points the SDK at a version that is already published.
  • Does not sync agent-stack packages (/qv-agent-stack-sync).
  • Does not auto-commit.
  • Does not run in CI. CI checks the shared major.minor on every PR through the SDK's lint (enforce-inference-versions) and installs the range for real on the published leg of pr-checks-sdk-pod; this skill is the fix.

Workflow

Step 1: Confirm the engine version is published
bash
npm view @qvac/inference@<x.y.z> version

An empty result means the engine release has not landed. STOP and release @qvac/inference first (release-inference-<x.y.z>); everything below writes a range that cannot resolve until it does.

Step 2: Point the SDK at that version

From the monorepo root:

bash
node .agents/skills/qv-sdk-inference-version/scripts/set-inference-version.mjs --engine-version=<x.y.z>

Sets packages/sdk version to <x.y.0> and its @qvac/inference range to ^<x.y.z> (~ from 1.0.0 onwards, where a caret would reach into the next minor). For an SDK patch release whose major.minor already matches, add --sdk-version=<x.y.z>.

Other flags: --dry-run, --check (exit 1 on a mismatch). With no --engine-version, the script only checks the current manifest.

Step 3: Sync packages/sdk-python generated client

Requires a venv with gen extras (create once if missing):

bash
cd packages/sdk-python
python3 -m venv .venv
.venv/bin/pip install -U pip
.venv/bin/pip install -e ".[gen]"
.venv/bin/python3 scripts/generate.py
.venv/bin/python3 scripts/generate.py --check

SDK_VERSION is stamped from packages/sdk/package.json, which Step 2 already set. Commit any updates under packages/sdk-python/src/tetherto/qvac_sdk/_generated/.

Show full SKILL.md (267 more words)Show less
Step 3b: Sync packages/sdk-kotlin generated contract

checkVersionAlignment requires the Kotlin runtime version, its @qvac/sdk range, and the generated SDK_VERSION to match. Set both version and the @qvac/sdk dependency in packages/sdk-kotlin/package.json to the new version, then regenerate:

bash
python3 packages/sdk-kotlin/scripts/generate-contract.py
python3 packages/sdk-kotlin/scripts/generate-contract.py --check

SDK_VERSION is stamped from packages/sdk/package.json (Step 2 set it). Commit the package.json repin and any updates under packages/sdk-kotlin/src/commonMain/kotlin/io/tether/qvac/sdk/generated/.

Step 4: Verify
bash
cd packages/sdk
bun run enforce-inference-versions

This is the same check CI runs inside lint.

Step 5: Review and commit

git status should show (as applicable):

  • packages/sdk/package.json
  • packages/sdk-python/src/tetherto/qvac_sdk/_generated/**
  • packages/sdk-kotlin/package.json + packages/sdk-kotlin/src/commonMain/kotlin/io/tether/qvac/sdk/generated/**

Commit alongside the release changelog. When invoked from /qv-sdk-changelog, this is part of the release commit; when invoked from /qv-sdk-pr-create, part of the PR's last commit.

When this skill is invoked from another skill

From /qv-sdk-changelog

/qv-sdk-changelog --package=sdk calls this skill after NOTICE generation for sdk. Skip for any other --package value — an --package=inference release does not touch the SDK.

From /qv-sdk-pr-create

If the PR diff touches the version of packages/sdk or its @qvac/inference range, the parent skill prompts to run this skill first. Opt out with --no-sync on the parent skill.

Quality Checklist

  • @qvac/inference@<x.y.z> resolves on npm before the range is written
  • set-inference-version.mjs reports OK or an apply summary
  • packages/sdk version and @qvac/inference range share a major.minor
  • Range operator is ^ below 1.0.0, ~ from 1.0.0 onwards
  • packages/sdk-python generate.py --check passes
  • packages/sdk-kotlin generate-contract.py --check passes and ./gradlew checkVersionAlignment is green
  • bun run enforce-inference-versions passes in packages/sdk
  • Staged changes are only the version edits (+ the originating edit)
  • No CI auto-commits of this skill

References

  • Version checks (addon ranges + shared major.minor): packages/sdk/scripts/enforce-inference-versions.ts
  • Python generator: packages/sdk-python/scripts/generate.py
  • Kotlin generator: packages/sdk-kotlin/scripts/generate-contract.py
  • Notice generator: .agents/skills/qv-notice-generate/SKILL.md
  • Publish: .github/workflows/publish-inference.yml, .github/workflows/publish-sdk.yml
  • Changelog / PR skills: qv-sdk-changelog, qv-sdk-pr-create

© 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 (scripts) in .agents/skills/qv-sdk-inference-version of tetherto/qvac.

  • SKILL.md
  • scripts/set-inference-version.mjs

Open the folder on GitHubat commit f874b3a

Compare with similar skills

Qv SDK Inference Version 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 Inference Version compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Qv SDK Inference Version this skilltetherto/qvac683—~1.7kAutomated safety check: PassApache-2.0
Expo Migrate Moduleexpo/skills2.7k—~2.6kAutomated safety check: PassMIT
Android Hidden API and R8 Checkgkd-kit/gkd43k—~1.5kAutomated safety check: PassGPL-3.0
Android API Diffgkd-kit/gkd43k—~796Automated safety check: PassGPL-3.0
Build Teaql Appteaql/teaql-agent-kit2.8k—~4.6kAutomated safety check: PassMIT
Compose Multiplatform Patternsmonta-app/ocpp-emulator1805 repos~2kAutomated safety check: PassApache-2.0

Similar skills

  • Official

    Migrate an existing Apple/Swift Expo native module from the Expo Modules API 1.0 definition DSL to the 2.0 macro API (sometimes called v2) while preserving its JavaScript and TypeScript contract.

    2.7k GitHub stars~2.6k tokensUpdated 2 days ago
    MobileAuto-check passed
  • Checks whether Android hidden-API implementations and system callbacks survive R8 minification, and diagnoses Release-only failures such as AbstractMethodError.

    43k GitHub stars~1.5k tokensUpdated yesterday
    MobileAuto-check passed
  • Android API Diff

    gkd-kit/gkd

    Looks up Android framework Java and AIDL APIs across versions with the android-api-diff CLI: signatures, availability, source files and hidden-API access code.

    43k GitHub stars~796 tokensUpdated yesterday
    MobileAuto-check passed
  • Build Teaql App

    teaql/teaql-agent-kit

    Build or change a TeaQL application in Java, Rust, Go, Swift, Python, C/.NET, or TypeScript, including Kotlin/JVM applications that consume Java-generated libraries.

    2.8k GitHub stars~4.6k tokensUpdated 12 days ago
    MobileAuto-check passed
  • Compose Multiplatform Patterns

    monta-app/ocpp-emulator

    Compose Multiplatform and Jetpack Compose patterns for KMP projects — state management, navigation, theming, performance, and platform-specific UI.

    180 GitHub starsUsed in 5 repos~2k tokens
    MobileAuto-check passed
  • Android Development

    dpconde/claude-android-skill

    Create production-quality Android applications following Google's official architecture guidance and NowInAndroid best practices.

    337 GitHub stars~1.7k tokensUpdated 10 mo ago
    MobileAuto-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

Works with

Categories

Questions about Qv SDK Inference Version

What does Qv SDK Inference Version do?

Point @qvac/sdk at a published @qvac/inference version (shared major.minor) and regenerate the generated SDKs (tetherto-qvac-sdk and sdk-kotlin), so an SDK release ships against an engine that is…. Qv SDK Inference Version is an agent skill from tetherto/qvac.minor) and regenerate the generated SDKs (tetherto-qvac-sdk and sdk-kotlin), so an SDK release ships against an engine that is already on npm.

When should I use Qv SDK Inference Version?

Qv SDK Inference Version fits situations like: tasks that involve Android development.

How do I install Qv SDK Inference Version in Claude Code?

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

How do I install Qv SDK Inference Version in Codex?

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

Can I use Qv SDK Inference Version 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-inference-version -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-inference-version, .gemini/skills/qv-sdk-inference-version, .github/skills/qv-sdk-inference-version and .opencode/skills/qv-sdk-inference-version in your project.

What does Qv SDK Inference Version need to run?

Going by SKILL.md and its folder, Qv SDK Inference Version needs JavaScript for the scripts in its folder and the command-line tools its instructions call (python3, pip, bun, npm, node and git). Our summary lists: Python 3; Node.js.

Does Qv SDK Inference Version access the network?

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

Is Qv SDK Inference Version 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Qv SDK Inference Version use?

Qv SDK Inference Version 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 Inference Version use?

About 1.7k tokens (SKILL.md is roughly 6.6k 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 Inference Version?

Skills that share tags, products or a category with Qv SDK Inference Version: Expo Migrate Module (expo/skills, 2.7k stars), Android Hidden API and R8 Check (gkd-kit/gkd, 43k stars), Android API Diff (gkd-kit/gkd, 43k stars) and Build Teaql App (teaql/teaql-agent-kit, 2.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Qv SDK Inference Version?

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.