Kill The Standup
Varnan-Tech/opendirectory
Reads yesterday's Linear issues and GitHub commits for the authenticated user, formats a standup update (done / doing / blockers), and posts it to Slack.
Compose a daily standup in the team's Slack format (π¨ Done today / π Planned for tomorrow / π§ Blockers / risks), aggregating recent PRs, reviews, and CI from tetherto/qvac.
$ npx skills add tetherto/qvac --skill qv-devops-daily-update -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install tetherto/qvac qv-devops-daily-update --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-devops-daily-update .claude/skills/qv-devops-daily-update && 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-devops-daily-update" agent skill from https://github.com/tetherto/qvac/tree/main/.agents/skills/qv-devops-daily-update into .claude/skills/qv-devops-daily-update/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qv-devops-daily-update", 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-devops-daily-updateType 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-devops-daily-update -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install tetherto/qvac qv-devops-daily-update --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-devops-daily-update .agents/skills/qv-devops-daily-update && 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-devops-daily-update" agent skill from https://github.com/tetherto/qvac/tree/main/.agents/skills/qv-devops-daily-update into .agents/skills/qv-devops-daily-update/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qv-devops-daily-update", 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-devops-daily-update -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install tetherto/qvac qv-devops-daily-update --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-devops-daily-update .cursor/skills/qv-devops-daily-update && 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-devops-daily-update" agent skill from https://github.com/tetherto/qvac/tree/main/.agents/skills/qv-devops-daily-update into .cursor/skills/qv-devops-daily-update/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qv-devops-daily-update", 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-devops-daily-update--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-devops-daily-update -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install tetherto/qvac qv-devops-daily-update --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-devops-daily-update .gemini/skills/qv-devops-daily-update && 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-devops-daily-update" agent skill from https://github.com/tetherto/qvac/tree/main/.agents/skills/qv-devops-daily-update into .gemini/skills/qv-devops-daily-update/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qv-devops-daily-update", 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-devops-daily-updateInstalls 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-devops-daily-update -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-devops-daily-update .github/skills/qv-devops-daily-update && 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-devops-daily-update" agent skill from https://github.com/tetherto/qvac/tree/main/.agents/skills/qv-devops-daily-update into .github/skills/qv-devops-daily-update/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qv-devops-daily-update", 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-devops-daily-update -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-devops-daily-update --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-devops-daily-update .opencode/skills/qv-devops-daily-update && 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-devops-daily-update" agent skill from https://github.com/tetherto/qvac/tree/main/.agents/skills/qv-devops-daily-update into .opencode/skills/qv-devops-daily-update/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qv-devops-daily-update", 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-devops-daily-updateCompose a daily standup in the team's Slack format (π¨ Done today / π Planned for tomorrow / π§ Blockers / risks), aggregating recent PRs, reviews, and CI from tetherto/qvac.
Qv Devops Daily Update is an agent skill from tetherto/qvac. Compose a daily standup in the team's Slack format (π¨ Done today / π Planned for tomorrow / π§ Blockers / risks), aggregating recent PRs, reviews, and CI from tetherto/qvac. Use when asked for a daily update, standup, EOD, or invoking /qv-devops-daily-update.
Its SKILL.md is about 3k 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 Productivity & Automation, covering Meeting notes and agendas. It works with Slack, Asana and GitHub. 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.
9 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:
ghnodeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use gh, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Qv Devops Daily Update loads about 3k tokens when it runs. Until then it costs about 71 tokens; SKILL.md has 1,419 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,419 words, ~2,978 tokens.
.claude/skills/qv-devops-daily-update/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Composes a standup / EOD update in the team's standard Slack format and writes it to a temp file ready to paste. Sourced from the user's GitHub activity in tetherto/qvac plus optional Asana context.
The skill is read-only with respect to GitHub state and the local working tree. It NEVER posts the message β the user copies it manually. The canonical Slack form is documented in Step 8.
Use when:
/qv-devops-daily-updategh CLI installed and authenticated (gh auth status)tetherto/qvac--since <ISO date | Nd | Nw> β defaults to yesterday 00:00 in the user's local timezone. The default 24-hour lookback works for both EOD posts (late evening) and morning standups; extend it for Monday-after-weekend (--since 3d) or post-holiday (--since 1w).--format slack | markdown β defaults to slack. The Slack form is what gets pasted; Markdown is the chat preview form (**bold**, [text](URL)) and is also accepted by Asana rich-text comments.--no-asana β skip the Asana lookup even if the MCP is available.If the user did not specify, default to yesterday 00:00 / slack.
This skill is read-only. It does NOT:
~/.cache/The skill MAY write its assembled output to /tmp/devops-daily-update-<YYYY-MM-DD>.txt so the user can pbcopy < <path>. The extension is .txt (not .md) because the canonical form is Slack mrkdwn, not GitHub-flavored Markdown.
Total shell calls per run: β€ 6 (one per data source + one for the timestamp + one to write the temp file). Cache gh api user and reuse via Read for the rest of the session. If a data source errors (e.g., Asana MCP not configured), continue with that section's items missing from the aggregate rather than failing the whole skill β the canonical form does not have an "Asana" section, so missing Asana data only thins out the bullet pools, not the layout.
SINCE="$(date -u -v-1d -j -f "%Y-%m-%d" "$(date -u +%Y-%m-%d)" +%Y-%m-%dT%H:%M:%SZ 2>/dev/null \
|| date -u -d 'yesterday 00:00' +%Y-%m-%dT%H:%M:%SZ)"
echo "$SINCE"Parse --since if provided (Nd β N days, Nw β N weeks, ISO date β that date 00:00 UTC).
gh api user --jq '.login' > /tmp/devops-daily-update-user.txtReuse via Read for the rest of the run.
gh search prs \
--repo tetherto/qvac \
--author "@me" \
--merged-at ">=$SINCE" \
--json number,title,url,closedAt \
--limit 30 \
> /tmp/devops-daily-update-merged.jsonThese feed π¨ Done today. gh search prs --json does not expose mergedAt, additions, or deletions β only closedAt is available, and the --merged-at ">=$SINCE" filter already guarantees the result set is merged-in-window. If size signal is needed for the bullet wording, fetch it per-PR via gh pr view <num> --json additions,deletions (one extra call per PR β only do this when the user asks for it).
node .agents/skills/_lib/pr-skills/pr-status.mjs --mode my \
> /tmp/devops-daily-update-my.txt 2> /tmp/devops-daily-update-my.stderr
gh search prs \
--repo tetherto/qvac \
--review-requested "@me" \
--state open \
--json number,title,url,author,updatedAt \
--limit 30 \
> /tmp/devops-daily-update-reviews-owed.jsonIf pr-status.mjs stderr contains SLACK_VALIDATION_REQUIRED, follow the validation gate in pr-mine's workflow (step 2). Do not present the daily update until the gate clears.
Output routing:
$SINCE (i.e., I pushed work on them today) β π¨ Done today with the action addressed comments on the PR (when the recent commits follow a review event) or pushed updates on <topic> (otherwise).π
Planned for tomorrow with the action continue / wrap up <topic>.--review-requested "@me") β π
Planned for tomorrow as review #<num> β <title> by <author>. Cap surfaced reviews at 5 (sorted by updatedAt desc β most recent first); if the queue is longer, append a single line (+N more review requests in queue β run /qv-devops-pr-status for the full list). A standup with 30 review-bullets is unreadable.mergeable: CONFLICTING β π§ Blockers / risks as conflicts on #<num> β needs rebase.π§ Blockers / risks as stale review on #<num> β pinged <reviewer> on <date>.gh run list does not have an author filter. Approximate the user's runs by scoping to recent PR head branches:
gh run list \
--repo tetherto/qvac \
--created ">=$SINCE" \
--limit 50 \
--json conclusion,event,headBranch,name,url,workflowName,headSha,displayTitle \
> /tmp/devops-daily-update-runs.jsonFilter client-side: keep runs where headBranch matches one of the user's PRs from steps 3 or 4. Failed runs feed π§ Blockers / risks as CI failing on #<num> β <workflowName>. In-progress / queued runs are NOT surfaced (too noisy for a daily update).
If the Asana MCP is available and --no-asana was not passed, call the appropriate tool (read the descriptor first per the agentic-automation rule) to fetch the user's tasks. Filter to:
π
Planned for tomorrow as <TICKET>: <task title>π§ Blockers / risks as <TICKET>: blocked β <reason from notes>Asana tickets in the QVAC project follow the QVAC-\d+ format and slot directly into the bullet shape.
If Asana is unavailable or --no-asana is set, skip this step. The output will rely on GitHub-derived items only.
Before writing /tmp/devops-daily-update-<YYYY-MM-DD>.txt, run a regex check on every PR title, branch name, run name, Asana task title, and any user-provided extras:
(sk_live_|AIza[0-9A-Za-z\-_]{35}|AKIA[0-9A-Z]{16}|ghp_[A-Za-z0-9]{36}|gho_|github_pat_|xoxb-|-----BEGIN [A-Z ]+ KEY-----)If any string matches, redact the matching span ([REDACTED]) and add a chat-only note: "Daily update redacted N suspicious tokens β review the source PRs/runs manually." Never include the raw matched string anywhere in the output, the chat preview, or the temp file.
Build the message in two forms:
/tmp/devops-daily-update-<YYYY-MM-DD>.txt.Each item from steps 3β6 must be normalized to a TICKET: action bullet. Ticket extraction rules:
QVAC-\d+ (or [A-Z]+-\d+) from the PR title; that's the ticket.feat/QVAC-12345-thing).#<pr-number> as the leading label.prefix[tags]:), past tense for Done today, action-verb-leading for Planned for tomorrow. Drop the prefix[tags]: from the rendered action.π¨ *Done today*
- <TICKET-or-#num>: <past-tense action>
- ...
- <optional sub-bullet>
π
*Planned for tomorrow*
- <TICKET-or-#num>: <forward-looking action>
- ...
π§ *Blockers / risks*
- N/AEmpty section β single bullet - N/A (literal). Three sections always rendered, in this order, separated by a single blank line. Bare ticket bullets (- QVAC-13860 with no : and no action) are allowed when the work is self-evident from the ticket title.
**π¨ Done today**
- <TICKET-or-#num>: <past-tense action>
- ...
**π
Planned for tomorrow**
- <TICKET-or-#num>: <forward-looking action>
- ...
**π§ Blockers / risks**
- N/A(Same content, GitHub-flavored Markdown rendering for the chat preview only.)
If the user requested --format markdown, save the Markdown form to the temp file too. Conversion rules between the two forms:
| Markdown | Slack |
|---|---|
**X** | *X* |
*X* (italic) | _X_ |
[text](URL) | <URL|text> |
# H1 / ## H2 | not used (use Slack-bold instead) |
Plain QVAC-\d+ | Plain QVAC-\d+ (the workspace's Slack/Asana integration auto-links) |
4-space-indented - sub | 4-space-indented - sub (Slack respects 4-space indent for sub-bullets) |
Do NOT pre-link ticket numbers via <URL|TICKET> β the workspace's Asana app handles auto-linking. Pre-linking conflicts with that and renders awkwardly.
Print the Markdown form in a fenced code block in chat for the user to scan.
Print the path to the Slack-form temp file with copy commands:
pbcopy < /tmp/devops-daily-update-<YYYY-MM-DD>.txt # macOS
xclip -selection clipboard < /tmp/devops-daily-update-<YYYY-MM-DD>.txt # LinuxOffer: "Edit any line before posting? Tell me which ticket and the new action wording, and I'll regenerate."
Before printing the output, verify:
- N/A bullet (never _(none)_, never empty, never removed)TICKET: (or #<pr-num>: only when no ticket could be extracted)[needs-review], [ready], etc.) β that meta is folded into prose actionsDone today item is genuinely activity since $SINCE (merged PR, pushed commits, etc. β not stale)Planned for tomorrow β review item is open and the user is in requestedReviewersBlockers / risks β CI failing item is on a PR the user authored or a branch they own**bold** (uses *bold*), no GitHub-style linksΒ© 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-devops-daily-update of tetherto/qvac.
Open the folder on GitHubat commit f874b3a
Qv Devops Daily Update 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 Devops Daily Update this skilltetherto/qvac | 683 | β | ~3k | Automated safety check: Pass | Apache-2.0 | |
| Kill The StandupVarnan-Tech/opendirectory | 674 | β | ~1.3k | Automated safety check: Notes | MIT | |
| Openloomi Connectorsmelandlabs/openloomi | 1k | β | ~3.3k | Automated safety check: Pass | Apache-2.0 | |
| Granola CI Integrationjeremylongshore/tons-of-skills-marketplace | 2.8k | β | ~1.9k | Automated safety check: Pass | MIT | |
| Connect Apps with ComposioComposioHQ/awesome-claude-skills | 77k | 3 repos | ~557 | Automated safety check: Pass | None | |
| Superset Automatesuperset-sh/superset | 15k | β | ~1.4k | Automated safety check: Pass | Custom licence |
Varnan-Tech/opendirectory
Reads yesterday's Linear issues and GitHub commits for the authenticated user, formats a standup update (done / doing / blockers), and posts it to Slack.
melandlabs/openloomi
openloomi Connectors tools - manage the native 7 messaging integrations and pair with the composio skill for the 1000+ apps OAuth layer (Slack, Discord, X, Gmail, Outlook, Googleβ¦
jeremylongshore/tons-of-skills-marketplace
Build automated pipelines from Granola meeting notes to GitHub Issues, Linear tasks, Slack notifications, and documentation updates using Zapier and GitHub Actions.
ComposioHQ/awesome-claude-skills
Connects an agent to 1000+ external apps through the Composio Tool Router plugin, so it can actually send emails, create issues and post messages instead of only drafting them.
superset-sh/superset
Turns a recurring chore into a scheduled or event-triggered Superset agent, drafting its prompt, picking a target and trigger, and reviewing the first run.
Othmane-Khadri/YALC-the-GTM-operating-system
Turns a week of Claap-recorded sales calls into action items and focus blocks on a Notion Kanban, delivered with a Slack summary.
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.
Categories
Compose a daily standup in the team's Slack format (π¨ Done today / π Planned for tomorrow / π§ Blockers / risks), aggregating recent PRs, reviews, and CI from tetherto/qvac. Qv Devops Daily Update is an agent skill from tetherto/qvac. Compose a daily standup in the team's Slack format (π¨ Done today / π Planned for tomorrow / π§ Blockers / risks), aggregating recent PRs, reviews, and CI from tetherto/qvac.
Qv Devops Daily Update fits situations like: asked for a daily update; invoking /qv-devops-daily-update.
Run `npx skills add tetherto/qvac --skill qv-devops-daily-update -a claude-code`. Or copy the skill folder (.agents/skills/qv-devops-daily-update in tetherto/qvac) into .claude/skills/qv-devops-daily-update in your project. Claude Code loads it when a task matches its description.
Run `npx skills add tetherto/qvac --skill qv-devops-daily-update -a codex`. Or copy the skill folder (.agents/skills/qv-devops-daily-update in tetherto/qvac) into .agents/skills/qv-devops-daily-update 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-devops-daily-update -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-devops-daily-update, .gemini/skills/qv-devops-daily-update, .github/skills/qv-devops-daily-update and .opencode/skills/qv-devops-daily-update in your project.
Going by SKILL.md and its folder, Qv Devops Daily Update needs the command-line tools its instructions call (gh and node).
SKILL.md contains no URLs. Its commands use gh, 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 Devops Daily Update 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 3k tokens (SKILL.md is roughly 12k 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 Devops Daily Update: Kill The Standup (Varnan-Tech/opendirectory, 674 stars), Openloomi Connectors (melandlabs/openloomi, 1k stars), Granola CI Integration (jeremylongshore/tons-of-skills-marketplace, 2.8k stars) and Connect Apps with Composio (ComposioHQ/awesome-claude-skills, 77k 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.