vulyk: Command for Claude Code

.claude/commands/vulyk-ship.md

vulyk-ship is a command for Claude Code from Black-coffe/vulyk. It costs 33 tokens per session (1,159 once invoked), scanned A, original, MIT.

A release workflow that checks whether a planned change is ready, records the version and changelog update, and publishes it only after the required owner check. A pull request is a proposed code change for review before it is merged.

In plain words
What is it for?
Use it to pass the release gate, update release records, commit the version and changelog, and publish an accepted change.
Why use it?
It prevents unfinished or unchecked work from being shipped accidentally. It also preserves separate commits so each change can be reviewed or rolled back.

Command for Claude Code

Written for Claude Code: argument-hint in frontmatter.

This is Black-coffe/vulyk's own configuration. It tells Claude Code how to work on vulyk 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 vulyk configures →

Reuse

Borrowing it

Nothing to install: this file belongs to Black-coffe/vulyk. 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/Black-coffe/vulyk/main/.claude/commands/vulyk-ship.md
Clone the repo
git clone --depth 1 https://github.com/Black-coffe/vulyk

Made for: Claude Code.

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 vulyk-ship

README.md
[![agentmods](https://agentmods.dev/badge/commands/black-coffe/vulyk/vulyk-ship/github.svg)](https://agentmods.dev/commands/black-coffe/vulyk/vulyk-ship)
Your own site
<a href="https://agentmods.dev/commands/black-coffe/vulyk/vulyk-ship"><img src="https://agentmods.dev/badge/commands/black-coffe/vulyk/vulyk-ship/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 vulyk-ship

Your own site · 80×15
<a href="https://agentmods.dev/commands/black-coffe/vulyk/vulyk-ship"><img src="https://agentmods.dev/badge/commands/black-coffe/vulyk/vulyk-ship.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 33 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,159 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.00033 $0.01159
Opus 5.5 $0.00013 $0.00464
Sonnet 5.5 $0.00007 $0.00232
Haiku 4.5 $0.00003 $0.00116

Measured 2d ago against content hash 11f57125c9a8, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

vulyk-ship 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 2d 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/commands/vulyk-ship.md · 53 lines

How it starts

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

Ship: "$ARGUMENTS" (default: the newest spec under docs/specs/ whose plan.md carries a GREEN **Council:** row or a **Checked:** ACCEPTED line).

  1. Gate. bash scripts/ship-check.sh docs/specs/<slug> and show its output. NOT READY is a refusal: name the open stage and stop. Expect two kinds: a council RED or ESCALATE (repair, or ## Needs a human, is unresolved), and STALE (a repair round or a hand edit moved the code after the council judged it; a hand fix reopens a round that re-reviews only the new diff). Both are cured by going back, never by shipping around them. A newer **Checked:** line is the owner's override in either direction (scripts/human-check.sh), and the owner may also override a plain NOT READY: it is their release, but say so out loud and quote the override into the --record note below. A stage-03 merge conflict (the line names the files) is not overridden: stop and offer the repair, merging the default branch into the spec branch and opening a new council round, because the resolution is code no GREEN round has seen. Run it only on the owner's yes.
  2. History. The spec branch (**Branch:**) holds one commit per story; do not squash them, they are the rollback points and the review units. Work out the version from the Profile's Commit convention (a semver bump sized to the change). If a story on this branch already wrote VERSION and the top CHANGELOG.md entry for that version, there is nothing to bump. Otherwise add one commit on the branch with the version bump and the CHANGELOG entry. This is release paperwork: Law 5 does not apply, and VERSION and CHANGELOG.md are paperwork to the cycle, so this commit does not stale a GREEN round. Then merge into the default branch the way the Profile's Release / deploy row says; a local merge is reversible and yours to run. A local merge: switch to the default branch only when git status --porcelain prints nothing, then git merge --no-ff <branch>. If it fails, run git merge --abort, switch back to the spec branch, tell the owner what git printed, and stop. After a clean merge, delete the spec branch with git branch -d <branch>, never -D; if -d refuses, quote what it printed and leave the branch.
  3. Publish: print, then stop. Under a to publish, run: heading, print the publish step exactly as the Release / deploy row names it, with the version. When that step pushes and tags and the repo has CI (.github/workflows/), print it in this order: push the release commit, wait for CI on that commit to be green, then tag and push the tag; a red run means no tag. Do not run it, ask about it, or check back on it. /vulyk-status's merged locally, not pushed: <n> line is how anyone learns whether it ran.
  4. Record. bash scripts/ship-check.sh --record docs/specs/<slug> <version> "merged to <default branch>, publish pending", then commit it (vulyk(<slug>): shipped <version>, or chore(vulyk-<slug>): ... under a conventional Commit convention). The spec is closed on disk.
  5. Next circle. Dispatch only what has work to do, in one message:
    • drone-docs, only when the merged range touches a module listed in memory/memory.md's map. Give it the changed paths (git diff --name-only <base>..<merge>) and the map files that cover them, not the diff itself.
    • librarian for the ADR harvest, only when plan.md's ## Plan deltas or ## Descoped has entries. Then hand the owner, verbatim, the draft of the next brief: every UNASKED: line from the newest round's seat files under docs/specs/<slug>/council/round-<N>/ (skip "none"), every minor in that round's review.md, every [unanchored] critical or major finding in any round's review.md (and the findings of any BLOCK that judge recorded as PASS with the note review BLOCK unanchored), every ## Descoped entry, and plan.md's ## Needs a human section when it has one. Do not open a spec for them; what the next circle is belongs to the owner.
  6. Close the session. Recommend /vulyk-handoff and /clear: everything this spec needed is in git.

Read the full file on GitHub · 53 lines

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. 2d ago Changed · +3 lines 11f57125c9a8
  2. 10d ago Changed · +7 lines a1e4698410d8
  3. 13d ago Changed · +1 lines 74c668e6493f
  4. 1mo ago Changed · +23 lines 582d708951b3
  5. 1mo ago Changed 3c2e832eecf0
  6. 1mo ago Changed · +7 tokens per session 27f575cf4fda
  7. 1mo ago First seen · 19 lines · 26 tokens per session scan A d777e8bcd137

Subscribe to this mod's changes

vulyk-ship is a command published in the GitHub repository Black-coffe/vulyk (2 stars, last pushed today), licensed MIT. It adds 33 tokens to every session and 1,159 once invoked, about $0.0001 per session on Opus 5.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-09-07.