release

A release workflow for Devloop, a development tool that connects browser activity with server logs. It updates the version and changelog, then creates the tagged release.

In plain words
What is it for?
Use it to check release prerequisites, bump project versions, update release notes, commit and tag the changes, and start publishing.
Why use it?
It removes the manual steps and ordering risks involved in preparing and publishing a new version.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/vincentvella/devloop/release
Any agent
npx skills add vincentvella/devloop --skill release
Clone the repo
git clone --depth 1 https://github.com/vincentvella/devloop

Made for: Claude Code, Codex.

Per session 58 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,148 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
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 $0.00058 $0.01148
Opus 5 $0.00029 $0.00574
Sonnet 5 $0.00012 $0.00230
Haiku 4.5 $0.00006 $0.00115

Measured yesterday against content hash d3092fa84df8, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, 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 yesterday.

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 · 97 lines

How it starts

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

Cut a devloop release

Releases are tag-triggered: pushing a vX.Y.Z tag fires .github/workflows/release.yml, which builds the cross-platform installers, publishes to npm (GitHub OIDC — no token), and publishes to the MCP Registry. A verify-version guard fails the release if the tag does not exactly match package.json version, so the bump must land before the tag.

0. Preconditions (don't skip)

  • Latest main CI is green (gh run list --workflow ci.yml --branch main --limit 1).
  • Run the heavy suites locally if the changes touched the cockpit/renderer:
    • bun run app:gui — the GUI click-through suite (Playwright + Electron).
    • bun run app:selftest — offscreen cockpit selftest.
    • (bun test, bun run test-smoke.ts, bun run test:daemon, bun run test:mcporter are CI-gated.)
  • Working tree clean; you're on main and up to date (git pull --rebase origin main).

1. Pick the version (SemVer, project is 0.x)

  • patch (0.6.2 → 0.6.3): fixes, deps, docs, internal tooling only.
  • minor (0.6.2 → 0.7.0): any new user-facing feature (e.g. a new cockpit affordance or MCP tool), or a notable batch of dependency bumps.
  • major: reserved; not used pre-1.0.

2. Bump the version in ALL FOUR places

These must stay in lockstep — the registry/Docker/guard all read them:

  • package.json — top-level "version".
  • server.jsontwo spots: top-level "version" AND packages[0].version.
  • DockerfileRUN npm install -g [email protected].

Verify they match:

node -e "const p=require('./package.json'),s=require('./server.json');console.log(p.version,s.version,s.packages[0].version)"
grep -oE 'devloop-mcp@[0-9.]+' Dockerfile

3. Update CHANGELOG.md

Keep-a-Changelog format. In CHANGELOG.md:

  1. Replace the ## [Unreleased] body with a new dated section, then leave a fresh empty Unreleased above it:
    ## [Unreleased]
    
    - _Nothing yet._
    
    ## [X.Y.Z] - YYYY-MM-DD
    ### Added / Changed / Fixed / Tooling / Docs
    - …
    
    Use today's date. Synthesize user-facing bullets from git log --oneline vPREV..HEAD — don't paste raw commits.
  2. Update the link refs at the bottom:
    [Unreleased]: https://github.com/vincentvella/devloop/compare/vX.Y.Z...HEAD
    [X.Y.Z]: https://github.com/vincentvella/devloop/compare/vPREV...vX.Y.Z
    

Read the full file on GitHub · 97 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. yesterday First seen · 97 lines · 58 tokens per session scan A d3092fa84df8

Subscribe to this mod's changes

release is a skill published in the GitHub repository vincentvella/devloop (2 stars, last pushed yesterday), licensed MIT. It adds 58 tokens to every session and 1,148 once invoked, about $0.0003 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

surf

Control Chrome browser via CLI for testing, automation, and debugging. Use when the user needs browser automation, screenshots, form filling, page inspection, network/CPU emulation, DevTools streaming, or AI queries via ChatGPT/Gemini/Perplexity/Grok/AI Studio.

nicobailon/surf-cli · 60 tokens

deep-x-research

Deep, exhaustive research on a topic across X (Twitter) by driving Grok (x.com/i/grok) through surf. Use when the user wants comprehensive X research on a concept, technique, trend, tool, or creator scene; needs categorized findings with every claim traceable to post URLs; or when a single Grok query is not enough.

nicobailon/surf-cli · 76 tokens

surf-codebase

Navigate and modify surf-cli codebase - Chrome extension + native host for AI browser automation. Use for surf-cli code work, architecture questions, implementing browser control/CDP/accessibility/network features.

nicobailon/surf-cli · 42 tokens

site-audit

Use when user asks to audit a website, review all pages, check for broken links, capture full site state, or do a comprehensive product review.

brennhill/Kaboom-Browser-AI-Devtools-MCP · 34 tokens

kaboom-connection-guard

Use when a tool call fails with "extension not connected", the daemon is unreachable, or browser telemetry stops arriving.

brennhill/Kaboom-Browser-AI-Devtools-MCP · 30 tokens

beads

Use when working in a repository that uses bd or Beads for durable project task tracking, issue dependencies, blocker management, multi-session handoff, or shared work memory. Trigger when the user asks to find ready work, claim or close tasks, create follow-up work, inspect blockers, recover project context, or…

brennhill/Kaboom-Browser-AI-Devtools-MCP · 74 tokens