enu: Skill for Claude Code

.claude/skills/release/SKILL.md

release is a skill for Claude Code from dbareagimeno/enu. It costs 89 tokens per session (1,314 once invoked), scanned A, original, Apache-2.0.

A guided procedure for publishing a stable release of the enu project, including version changes, branch merges, and a version tag.

In plain words
What is it for?
Use it to check release conditions, update the version, merge develop into main, create a vX.Y.Z tag, and merge main back into develop.
Why use it?
It reduces the risk of forgetting a release step or publishing unfinished work. It pauses for confirmation before irreversible pushes and only runs when the operator asks for a release.

Skill for Claude Code

Written for Claude Code: installed under .claude/.

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

Reuse

Borrowing it

Nothing to install: this file belongs to dbareagimeno/enu. 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/dbareagimeno/enu/develop/.claude/skills/release/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/dbareagimeno/enu

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 release

README.md
[![agentmods](https://agentmods.dev/badge/skills/dbareagimeno/enu/release/github.svg)](https://agentmods.dev/skills/dbareagimeno/enu/release)
Your own site
<a href="https://agentmods.dev/skills/dbareagimeno/enu/release"><img src="https://agentmods.dev/badge/skills/dbareagimeno/enu/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 release

Your own site · 80×15
<a href="https://agentmods.dev/skills/dbareagimeno/enu/release"><img src="https://agentmods.dev/badge/skills/dbareagimeno/enu/release.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 89 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,314 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.00089 $0.01314
Opus 5 $0.00044 $0.00657
Sonnet 5 $0.00018 $0.00263
Haiku 4.5 $0.00009 $0.00131

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

Security

Grade A, and why

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 8d 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/release/SKILL.md · 91 lines

How it starts

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

Cortar una release estable (/release)

Mecaniza el runbook docs/ops/release.md —que sigue siendo el protocolo canónico; esta skill lo conduce, no lo duplica—. Una release es acción del operador y outward-facing (crea una GitHub Release pública y redespliega la web; ADR-013 la enmarca como "el operador crea el tag a mano"). Por eso la skill se para pidiendo OK explícito antes de cada paso irreversible y nunca se inicia sola: solo cuando el operador pide publicar una estable.

Antes de empezar

  • Acuerda con el operador el número vX.Y.Z (semver: patch = correcciones; minor = adiciones a la API, que además suben APILevel).
  • Verifica precondiciones (docs/ops/release.md §Precondiciones): los worktrees de las tareas están cerrados y su trabajo integrado en develop; CI de develop en verde (gh run list --branch develop --limit 5). Si un worktree sigue vivo con trabajo sin integrar, PÁRATE y avisa: quedaría fuera de la estable.

Pasos

Cada bloque sigue su §N de docs/ops/release.md; aquí se marcan las ⛔ puertas.

  1. Bump de versión (§1). Toca los 4 sitios en el mismo commit: internal/runtime/enu.go (VersionMajor/Minor/Patch; APILevel solo si hubo adiciones a la API), el test internal/runtime/bare_screen_test.go, web/src/lib/const.ts y el comentario de web/src/scripts/keyboard.ts. Verifica el gate en local antes de seguir:

    go build ./... && go run . -e 'return string.format("%d.%d.%d", enu.version.major, enu.version.minor, enu.version.patch)'
    

    Debe imprimir exactamente X.Y.Z. Si no casa, no sigas: el job verificar-version de release.yml abortaría.

  2. De-riesgo de los gates de la web (§2). Corre en local los gates que solo viven en docs.yml (CI solo hace check-drift):

    cd web && npm ci && npm run check:drift && npm run check:contraste \
      && npm run check:limpieza:fuente && npm run build && npm run check:limpieza
    

    Todo verde o no continúes.

Read the full file on GitHub · 91 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. 8d ago First seen · 91 lines · 89 tokens per session scan A 08ad16cf21b5

Subscribe to this mod's changes

release is a skill published in the GitHub repository dbareagimeno/enu (2 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 89 tokens to every session and 1,314 once invoked, about $0.0004 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.