citevahti: Skill for Claude Code

.claude/skills/secure-release/SKILL.md

secure-release is a skill for Claude Code from heidihelena/citevahti. It costs 194 tokens per session (3,796 once invoked), scanned A, original, Apache-2.0.

A set of instructions for safely developing, building, releasing, and updating CiteVahti, a tool that checks the reliability of research citations. It covers the required project documents, safety checks, signing, and secure updates.

In plain words
What is it for?
Use it when changing release-related behavior, building or signing the desktop app, extension, or binary, publishing the package, or changing automatic updates.
Why use it?
It helps maintainers follow the required order and avoid skipping checks that could damage research records or produce an unsafe release.

Skill for Claude Code

Written for Claude Code: Claude Code plugin machinery. Also seen: mentions Claude Code.

This is heidihelena/citevahti's own configuration. It tells Claude Code how to work on citevahti itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything citevahti configures →

Part of the citevahti plugin — 13 skills, 1 MCP server shipped together

Reuse

Borrowing it

Nothing to install: this file belongs to heidihelena/citevahti. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/heidihelena/citevahti/main/.claude/skills/secure-release/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/heidihelena/citevahti

Made for: Claude Code.

Or install citevahti, the plugin that ships this one along with the rest of its 13 skills, 1 MCP server.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for secure-release

README.md
[![agentmods](https://agentmods.dev/badge/skills/heidihelena/citevahti/secure-release/github.svg)](https://agentmods.dev/skills/heidihelena/citevahti/secure-release)
Your own site
<a href="https://agentmods.dev/skills/heidihelena/citevahti/secure-release"><img src="https://agentmods.dev/badge/skills/heidihelena/citevahti/secure-release/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for secure-release

Your own site · 80×15
<a href="https://agentmods.dev/skills/heidihelena/citevahti/secure-release"><img src="https://agentmods.dev/badge/skills/heidihelena/citevahti/secure-release.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 194 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,796 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00194 $0.03796
Opus 5 $0.00097 $0.01898
Sonnet 5 $0.00039 $0.00759
Haiku 4.5 $0.00019 $0.00380

Measured 9d ago against content hash e931fe13dc85, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

secure-release scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/skills/secure-release/SKILL.md · 245 lines

How it starts

The opening of the file, as written. The whole thing — 245 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Secure release & development — CiteVahti

CiteVahti is a local-first, single-user citation-integrity tool used in live pilots with real researchers, handling clinical-adjacent data. That changes the bar: a broken release or a weakened safety invariant doesn't just annoy a user, it can corrupt a research provenance trail. This skill is the disciplined path for changing, releasing, and updating it without breaking the guarantees the product is built on.

The repo already documents the mechanics in depth. This skill is the orchestration layer: it tells you the order, the gates that are easy to skip, and the security defaults — then points you at the canonical doc for each step. Read the referenced doc before doing that step; don't reconstruct it from memory.

Topic Canonical doc in the repo
Publishing the Python package + VS Code extension docs/RELEASING.md
Building/signing the desktop app, .mcpb, and binary desktop-extension/BUILD.md
The hard safety invariants (enforced in code + tests) docs/SAFETY_INVARIANTS.md
The secure auto-update model (tufup key split, signing) references/secure-updates.md (this skill)
Security practices derived from the threat-model research references/security-checklist.md (this skill)

The cardinal rule: gates before mechanics

Every release runs through three gates in order. Skipping a gate is the failure mode this skill exists to prevent.

  1. Safety gate — did this change weaken a guarantee? (§1)
  2. Build & test gate — does it pass offline, and do the artifacts actually contain what they should? (§2)
  3. Release & update gate — version lockstep, signed artifacts, the right trigger. (§3)

§1 — Safety gate (run this BEFORE you even think about releasing)

CiteVahti's value is its guarantees, not its features. docs/SAFETY_INVARIANTS.md lists 12 hard invariants (enforced in code, guarded by tests) plus supporting ones. The full suite is the real enforcement — but these are the ones a change most often erodes silently, so check them by hand when your change is anywhere near them:

Read the full file on GitHub · 245 lines

Files

What ships with it

2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 9d ago First seen · 245 lines · 194 tokens per session scan A e931fe13dc85

Subscribe to this mod's changes

secure-release is a skill published in the GitHub repository heidihelena/citevahti (1 stars, last pushed 4d ago), licensed Apache-2.0. It adds 194 tokens to every session and 3,796 once invoked, about $0.0010 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

release-jetbrains

Use when releasing the Kilo JetBrains plugin -- resolve a version ("next rc" or explicit), run the prepare workflow, edit and commit a filtered human-readable changelog on the release PR, then watch publish to completion.

Kilo-Org/kilocode · 50 tokens

release-nyx

Ship a new nyx-local-ai release end to end — bump versions consistently, run the quality gates (typecheck, smoke tests, package), install locally, tag and push so CI publishes the installer artifacts. Use when the user asks to release, ship, publish, bump the version, or cut a new build of the extension.

sthamann/nyx-local-ai · 72 tokens

refactor-research-code

Clean research code for public release while preserving reported results. Uses releaseaudit.py to separate safe mechanical cleanup from ask-first behavior risks and identity leaks. Use for release-ready repos, dead experiment branches, config extraction, documented entrypoints, and double-blind code cleanup.

ShaishavMaisuria/research-paper-lifecycle-skills · 60 tokens

finishing-a-development-branch

Presents options for merge, PR, or cleanup. Use when work is complete, tests pass, and you must decide how to integrate.

jamditis/claude-skills-journalism · 35 tokens

release-checklist

Walk the pre-release steps in order and stop at the first one that fails.

Ge0rg3/vscode-prompt-studio · 20 tokens

bump

Use when bumping Wheeler version after shipping features. Trigger when user says 'bump version', 'release', 'cut a release', 'version bump', 'update version', or after a set of features have been committed and the user wants to formalize a new version.

maxwellsdm1867/wheeler · 58 tokens