boring-ui: Skill for Claude Code

.agents/skill-library/devops-cut-boring-ui-release/SKILL.md

devops-cut-boring-ui-release is a skill for Claude Code, Codex from hachej/boring-ui. It costs 56 tokens per session (2,530 once invoked), scanned A, original, MIT.

A release workflow for publishing the current main branch of the boring-ui-v2 project as an npm package and updating the locally installed command-line tool.

In plain words
What is it for?
Use it when cutting a boring-ui-v2 release, publishing it to npm, installing that exact version globally, and refreshing its running CLI servers.
Why use it?
It coordinates version checks, GitHub Releases, npm availability, safe worktree handling, installation, and restarting running servers so the update uses the new code.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: installed under .agents/ (shared by several agents).

This is hachej/boring-ui's own configuration. It tells Claude Code and Codex how to work on boring-ui 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 boring-ui configures →

Not installable: its command points at a path on the author’s own machine, so it runs nowhere else. The line is /home/ubuntu/.npm-global/bin/boring-ui.

Reuse

Borrowing it

Nothing to install: this file belongs to hachej/boring-ui. 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/hachej/boring-ui/main/.agents/skill-library/devops-cut-boring-ui-release/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/hachej/boring-ui

Made for: Claude Code, Codex.

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 devops-cut-boring-ui-release

README.md
[![agentmods](https://agentmods.dev/badge/skills/hachej/boring-ui/devops-cut-boring-ui-release.svg)](https://agentmods.dev/skills/hachej/boring-ui/devops-cut-boring-ui-release)
Your own site
<a href="https://agentmods.dev/skills/hachej/boring-ui/devops-cut-boring-ui-release"><img src="https://agentmods.dev/badge/skills/hachej/boring-ui/devops-cut-boring-ui-release.svg" alt="Measured on agentmods" height="20"></a>
Per session 56 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,530 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 2 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.00056 $0.02530
Opus 5 $0.00028 $0.01265
Sonnet 5 $0.00011 $0.00506
Haiku 4.5 $0.00006 $0.00253

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

Security

Grade A, and why

devops-cut-boring-ui-release scanned grade A with 2 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 7d 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.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

code=$(curl -s -o /dev/null -w '%{http_code}' -m 8 "$url" 2>/dev/null || echo 000)

Runs shell commandslowCapability

Expected in a hook, worth knowing in a rule or an instructions file.

node -p "require(require('child_process').execSync('npm root -g').toString().trim() + '/@hachej/boring-ui-cli/package.json').version"
.agents/skill-library/devops-cut-boring-ui-release/SKILL.md · 252 lines

How it starts

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

Cut boring-ui-v2 Release + Update Global CLI

Use this skill for one job: release the current main of boring-ui-v2 to npm via GitHub Releases, then install that exact CLI version globally on this machine.

Non-negotiables

  • Work from main only.
  • Do not overwrite or stash user/agent dirty work. If the current worktree is dirty or not on main, create a clean temporary worktree.
  • Do not use destructive commands (git reset --hard, git clean -fd, force push).
  • Do not run boring-ui --version as a version check: this CLI may start a server. Use package-manager metadata instead.
  • Do not install @latest until npm confirms the new version is visible.
  • After installing the global CLI, restart already-running global boring-ui servers; long-lived Node processes keep the old package code in memory. If the server is a systemd user service (boring-ui-workspaces.service), restart it with systemctl --user restart — do not kill+nohup a systemd-managed process (it races the auto-restart). After restarting, wait until the workspace route serves HTTP 200 again before declaring the step done.
  • If any release workflow fails, stop and report the failed run URL.

1. Prepare a clean main worktree

From anywhere inside the repo:

git fetch origin main --tags

If the active worktree is clean and already on main:

git switch main
git merge --ff-only origin/main

If the active worktree is dirty or on another branch, use a temporary worktree instead:

release_dir=$(mktemp -d /tmp/boring-ui-v2-release.XXXXXX)
rmdir "$release_dir"
git update-ref refs/heads/main origin/main
git worktree add "$release_dir" main
cd "$release_dir"

Confirm release preconditions:

git status --short --branch
test "$(git branch --show-current)" = main
test "$(git rev-parse HEAD)" = "$(git rev-parse origin/main)"

2. Check the current and next package versions

before=$(node -p "require('./packages/cli/package.json').version")
echo "current CLI package version: $before"

Read the full file on GitHub · 252 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. 7d ago First seen · 252 lines · 56 tokens per session scan A b3ef8e2ed3ad

Subscribe to this mod's changes

devops-cut-boring-ui-release is a skill published in the GitHub repository hachej/boring-ui (46 stars, last pushed yesterday), licensed MIT. It adds 56 tokens to every session and 2,530 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 2 findings (makes network calls, runs shell commands). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.