Agent skill

Qv Agent Stack Sync

by tetherto in 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.

Apache-2.0Auto-check passedAI & LLM Engineering

Install Qv Agent Stack Sync

skills CLI
$ npx skills add tetherto/qvac --skill qv-agent-stack-sync -a claude-code

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

GitHub CLI
$ gh skill install tetherto/qvac qv-agent-stack-sync --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-agent-stack-sync .claude/skills/qv-agent-stack-sync && 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-agent-stack-sync
GitHub stars
681
Token cost
~2k tokens
SKILL.md length
833 words
Files
2 (incl. references)
Skills in repo
50
Repo updated
First seen
Licence
Apache-2.0

At a glance

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.

  • Works in 4 steps: Shared preflight → plan (mandatory first step) → prepare-cascade → …
  • /qv-agent-stack-sync --plan
  • SKILL.md covers Modes, References, Version policy (pre-major 0.x) and Blockers the plan must surface, plus 5 more sections
  • Calls npm, node and git

What it does

Qv Agent Stack Sync is an agent skill from 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. Use for /qv-agent-stack-sync --plan, --prepare-cascade, or --promote; syncing CLI to a newer SDK; or checking OpenCode/OpenClaw/provider compatibility.

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/prepare-cascade.md`).

It sits in AI & LLM Engineering. It works with 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

  • /qv-agent-stack-sync --plan
  • --prepare-cascade
  • Syncing CLI to a newer SDK
  • Checking OpenCode/OpenClaw/provider compatibility

Example prompts

  • “/qv-agent-stack-sync”

Requirements

  • Python 3
  • Node.js

Workflow steps

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

  1. Shared preflight
  2. plan (mandatory first step)
  3. prepare-cascade
  4. promote

What it can do on your machine

Read from SKILL.md and the folder at commit c3a6030. 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
    • 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 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 Agent Stack Sync loads about 2k tokens when it runs, and up to ~2.6k if it reads all its reference files. Until then it costs about 86 tokens; SKILL.md has 833 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~86
When it runs · the whole SKILL.md, loaded when a task matches
~2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~2.6k

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 c3a6030, republished under its Apache-2.0 licence (© tetherto). 833 words, ~2,039 tokens.

Download SKILL.mdSave it as .claude/skills/qv-agent-stack-sync/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
qv-agent-stack-sync
description
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. Use for /qv-agent-stack-sync --plan, --prepare-cascade, or --promote; syncing CLI to a newer SDK; or checking OpenCode/OpenClaw/provider compatibility.

QVAC Agent Stack Sync

Orchestrate the published dependency cascade:

text
@qvac/inference
  -> @qvac/sdk
    -> @qvac/cli
      -> @qvac/ai-sdk-provider
        -> @qvac/opencode-plugin
        -> @qvac/openclaw-plugin

Goal: know which packages need a release, prepare draft release + backmerge PRs when asked, never auto-publish. SDK releases run qv-sdk-inference-version for the @qvac/inference range and sdk-python.

Modes

ModeMutates?When
--plan (default)NoAlways run first. Cascade matrix + version recommendations.
--prepare-cascadeYes (confirm first)Open draft release PRs and draft backmerge PRs for needs_release packages.
--promote <slug>Yes (confirm first)Mark a draft release PR ready after lower-layer npm is live; re-verify. Does not publish.

Invoke: /qv-agent-stack-sync or /qv-agent-stack-sync --plan.

References

  • .github/teams/sdk.json — current SDK pod scope
  • Current package manifests — agent-stack dependency order
  • .agents/skills/qv-sdk-changelog/SKILL.md
  • .agents/skills/qv-sdk-pr-create/SKILL.md
  • .agents/skills/qv-sdk-backmerge/SKILL.md
  • .agents/skills/qv-sdk-inference-version/SKILL.md (sdk releases only)
  • docs/architecture/AGENT-INTEGRATIONS.md
  • packages/cli/test/AGENT_STACK_E2E.md
  • Planner: .agents/skills/_lib/sdk/agent-stack-plan.mjs
  • Path map: scripts/sdk/package-paths.cjs
  • Cascade details: references/prepare-cascade.md

Version policy (pre-major 0.x)

Recommend with rationale — never silent-bump. Confirm before --prepare-cascade.

  • 0.x carets do not cross minors (^0.8.0 ≠ 0.9.0); tildes never do.
  • Minor — outstanding [bc], [api], or feat: commits.
  • Patch — dep-range alignment, or other non-breaking outstanding commits (e.g. fix:).
  • Shared major.minor — @qvac/sdk sits on @qvac/inference's major and minor, so an engine minor makes the SDK a minor too, whatever its own commits say. Patches move independently.

Blockers the plan must surface

  • AI SDK major mismatch — e.g. provider on ai@7 while OpenCode still depends on ai@6 / provider ^0.2.x. Hold that plugin release until code + deps align.
  • Missing git tags vs npm latest — stop and ask; do not guess changelog base.
  • Lower layer not on npm yet — drafts may declare future ranges; --promote / publish wait on npm view.

Workflow

0. Shared preflight
  1. Prefer a clean worktree / dedicated worktree for cascade prep.
  2. git fetch org remote (upstream / tetherto/qvac) tags + main.
  3. Identify org remote vs fork remote (same policy as qv-sdk-pr-create).
1. --plan (mandatory first step)
bash
node .agents/skills/_lib/sdk/agent-stack-plan.mjs
node .agents/skills/_lib/sdk/agent-stack-plan.mjs --json

Show the markdown table to the user. For each package report:

  • local version, npm latest, last tag
  • needs_release / blocked
  • suggested next version + rationale
  • dep ranges vs target lower version
  • outstanding non-noise commits since tag

Do not create branches or PRs in this mode.

2. --prepare-cascade

Requires explicit user confirmation of the plan (versions + which packages).

Then for each needs_release package in dependency order, follow references/prepare-cascade.md:

  1. Create org release-<slug>-<version> from main if missing.
  2. Prep version bump + dep ranges, then qv-sdk-changelog --package=<slug> (follow that skill; do not call the generator as a shortcut) + NOTICE.
  3. Open draft release PR → release-<slug>-<version>.
  4. Open draft backmerge PR → main ([skiplog], cherry-pick -x) in the same session.
  5. Skip packages marked blocked; report them clearly.
  6. Do not merge. Do not trigger publish (Dima / human).

@qvac/inference is the first hop: it releases from release-inference-<version> through publish-inference.yml, and the SDK release PR points at the engine version already on npm. SDK releases chain qv-sdk-inference-version + docs Step 8 from qv-sdk-changelog.

3. --promote <slug>
  1. Confirm lower dependencies are on npm (npm view).
  2. Fresh-install verification (below).
  3. Re-run NOTICE for this package so JS can resolve. If install still fails, restore the JS block from HEAD.
  4. Mark the draft release PR ready for review (and keep backmerge draft until release merges, or ready it alongside — prefer ready both when release is ready to merge).
  5. Remind: human merges; human triggers publish; then promote the next upper package.

The release-<slug>-* line is the cut. Do not cherry-pick later main onto it. Backmerge keeps main in sync with the cut.

Show full SKILL.md (286 more words)Show less

File updates (when preparing releases)

Inference
  • packages/inference/package.json — version only; the SDK's range moves in the SDK's own release
  • changelog via qv-sdk-changelog --package=inference
  • NOTICE via qv-notice-generate inference
SDK
  • packages/sdk/package.json — version + dependencies["@qvac/inference"] via qv-sdk-inference-version, against the engine version already on npm
  • changelog via qv-sdk-changelog --package=sdk (engine commits are scanned in), then docs Step 8
  • sdk-python regenerated; tetherto-qvac-sdk publishes at the SDK's version
CLI
  • packages/cli/package.json — version + dependencies["@qvac/sdk"]
  • changelog via qv-sdk-changelog --package=cli
  • NOTICE via qv-notice-generate cli
  • README committed SDK range if documented
AI SDK Provider
  • packages/ai-sdk-provider/package.json — version + extend peerDependencies["@qvac/cli"]
  • changelog + NOTICE via SDK pod tools
OpenCode / OpenClaw plugins
  • plugins/opencode/package.json or plugins/openclaw/package.json (+ openclaw.plugin.json version when present)
  • bump @qvac/cli and @qvac/ai-sdk-provider deps to the planned minors
  • OpenCode may also need ai / @ai-sdk/openai-compatible majors to match the provider — if not aligned, plan marks blocked
  • changelog: qv-sdk-changelog --package=opencode-plugin or --package=openclaw-plugin (path map resolves plugins/*)
  • NOTICE + README compatibility lines

Verification

Per package (from package dir)
  • CLI: lint, build, test:unit, test:e2e, node scripts/check-publish-ready.cjs
  • Provider: lint, build, test:unit (optional QVAC_INTEGRATION_TEST=1 npm run test:integration)
  • OpenCode / OpenClaw: lint, build, test:unit (optional integration where available)
Fresh install (after lower npm publish)
bash
tmp=$(mktemp -d)
cd "$tmp"
npm init -y
npm install --no-fund --no-audit @qvac/opencode-plugin@latest
npm ls @qvac/opencode-plugin @qvac/ai-sdk-provider @qvac/cli @qvac/sdk

Repeat with @qvac/openclaw-plugin@latest when promoting OpenClaw.

Completion report

Always end with:

  • plan table (or link to --json output)
  • packages released / drafted / blocked / skipped
  • confirmed versions and dep ranges before → after
  • draft release + backmerge PR URLs
  • tests run
  • reminder that publish is human-gated

Quality checklist

  • --plan run before any mutation
  • User confirmed versions for --prepare-cascade
  • OpenClaw included in the cascade
  • @qvac/inference released ahead of an SDK release that moves major.minor
  • Draft release and draft backmerge opened together per package
  • Release head is chore/<slug>-<version>-changelog, not release-*
  • qv-sdk-changelog completed for each hop (published-version audit included)
  • Blocked plugins (e.g. AI SDK mismatch) not force-released
  • No publish / workflow_dispatch for npm
  • Org-branch heads preferred (tetherto/qvac)

© 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 (references) in .agents/skills/qv-agent-stack-sync of tetherto/qvac.

  • SKILL.md
  • references/prepare-cascade.md

Open the folder on GitHubat commit c3a6030

Compare with similar skills

Qv Agent Stack Sync 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 Agent Stack Sync compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Qv Agent Stack Sync this skilltetherto/qvac681—~2kAutomated safety check: PassApache-2.0
Building With Typesafe Jevaaddrick/building-with-typesafe-jev136—~3kAutomated safety check: NotesMIT
AI SDK 5majiayu000/claude-skill-registry6661 repos~1.4kAutomated safety check: NotesApache-2.0
AI SDKvercel-labs/ai-facts16821 repos~1.2kAutomated safety check: PassNone
Mem0 Provider for Vercel AI SDKmem0ai/mem067k—~2.3kAutomated safety check: PassApache-2.0
Claude APIKocoro-lab/Kocoro4148 repos~4.5kAutomated safety check: PassApache-2.0

Similar skills

  • Building With Typesafe Jev

    aaddrick/building-with-typesafe-jev

    A skill your agent uses when code needs a judgment about natural language that rules or regex cannot make (classify, route, triage, moderate, score, rank, match, dedupe, filter, extract, verify, or…

    136 GitHub stars~3k tokensUpdated 6 days ago
    AI & LLM EngineeringAuto-check: notes
  • AI SDK 5

    majiayu000/claude-skill-registry

    Vercel AI SDK 5 patterns. An agent skill from majiayu000/claude-skill-registry.

    666 GitHub starsUsed in 1 repo~1.4k tokens
    AI & LLM EngineeringAuto-check: notes
  • AI SDK

    vercel-labs/ai-facts

    Official

    Answer questions about the AI SDK and help build AI-powered features.

    168 GitHub starsUsed in 21 repos~1.2k tokens
    AI & LLM EngineeringAuto-check passed
  • Adds persistent memory to Vercel AI SDK apps with the Mem0 provider, using a wrapped model or standalone retrieve and store utilities.

    67k GitHub stars~2.3k tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • Claude API

    Kocoro-lab/Kocoro

    Build apps with the Claude API or Anthropic SDK. An agent skill from Kocoro-lab/Kocoro.

    414 GitHub starsUsed in 8 repos~4.5k tokens
    AI & LLM EngineeringAuto-check passed
  • 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

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.

    681 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.

    681 GitHub stars~11k 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…

    681 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).

    681 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.

    681 GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Generate release notes for addon packages (non-SDK inference addons, decoder, OCR).

    681 GitHub stars~1.2k tokensUpdated today
    Auto-check passed

Works with

Questions about Qv Agent Stack Sync

What does Qv Agent Stack Sync do?

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. Qv Agent Stack Sync is an agent skill from 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.

When should I use Qv Agent Stack Sync?

Qv Agent Stack Sync fits situations like: /qv-agent-stack-sync --plan; --prepare-cascade; syncing CLI to a newer SDK; checking OpenCode/OpenClaw/provider compatibility.

How do I install Qv Agent Stack Sync in Claude Code?

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

How do I install Qv Agent Stack Sync in Codex?

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

Can I use Qv Agent Stack Sync 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-agent-stack-sync -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-agent-stack-sync, .gemini/skills/qv-agent-stack-sync, .github/skills/qv-agent-stack-sync and .opencode/skills/qv-agent-stack-sync in your project.

What does Qv Agent Stack Sync need to run?

Going by SKILL.md and its folder, Qv Agent Stack Sync needs the command-line tools its instructions call (npm, node and git). Our summary lists: Python 3; Node.js.

Does Qv Agent Stack Sync access the network?

SKILL.md contains no URLs. Its commands use 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 Agent Stack Sync 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 Agent Stack Sync use?

Qv Agent Stack Sync 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 Agent Stack Sync use?

About 2k tokens (SKILL.md is roughly 8.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 558 tokens, read only when the agent opens those files.

What are the alternatives to Qv Agent Stack Sync?

Skills that share tags, products or a category with Qv Agent Stack Sync: Building With Typesafe Jev (aaddrick/building-with-typesafe-jev, 136 stars), AI SDK 5 (majiayu000/claude-skill-registry, 666 stars), AI SDK (vercel-labs/ai-facts, 168 stars) and Mem0 Provider for Vercel AI SDK (mem0ai/mem0, 67k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Qv Agent Stack Sync?

tetherto (a GitHub organization) maintains it in tetherto/qvac, which has 681 GitHub stars. The repository holds 50 skills in this directory. The repository was last updated on October 7, 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.