cambridge-beer-festival-app: Skill for Claude Code

.claude/skills/change-control/SKILL.md

change-control is a skill for Claude Code from richardthe3rd/cambridge-beer-festival-app. It costs 198 tokens per session (5,511 once invoked), scanned A, original, MIT.

A set of rules for deciding how code changes in the Cambridge Beer Festival app must be checked, reviewed, and committed.

In plain words
What is it for?
Use it before changing code, committing, opening or merging a pull request, or responding to review comments.
Why use it?
It prevents changes from bypassing the repository's required checks or review process. It also explains which checks apply to the files you edit.

Skill for Claude Code

Written for Claude Code: installed under .claude/. Also seen: mentions subagents; mentions AGENTS.md.

This is richardthe3rd/cambridge-beer-festival-app's own configuration. It tells Claude Code how to work on cambridge-beer-festival-app 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 cambridge-beer-festival-app configures →

Not installable: its command points at a path on the author’s own machine, so it runs nowhere else. The line is /home/user/cambridge-beer-festival-app.

Reuse

Borrowing it

Nothing to install: this file belongs to richardthe3rd/cambridge-beer-festival-app. 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/richardthe3rd/cambridge-beer-festival-app/main/.claude/skills/change-control/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/richardthe3rd/cambridge-beer-festival-app

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 change-control

README.md
[![agentmods](https://agentmods.dev/badge/skills/richardthe3rd/cambridge-beer-festival-app/change-control/github.svg)](https://agentmods.dev/skills/richardthe3rd/cambridge-beer-festival-app/change-control)
Your own site
<a href="https://agentmods.dev/skills/richardthe3rd/cambridge-beer-festival-app/change-control"><img src="https://agentmods.dev/badge/skills/richardthe3rd/cambridge-beer-festival-app/change-control/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 change-control

Your own site · 80×15
<a href="https://agentmods.dev/skills/richardthe3rd/cambridge-beer-festival-app/change-control"><img src="https://agentmods.dev/badge/skills/richardthe3rd/cambridge-beer-festival-app/change-control.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 198 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 5,511 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.00198 $0.05511
Opus 5 $0.00099 $0.02756
Sonnet 5 $0.00040 $0.01102
Haiku 4.5 $0.00020 $0.00551

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

Security

Grade A, and why

change-control 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 12d 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/change-control/SKILL.md · 316 lines

How it starts

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

Change Control

This skill is the gatekeeper: what kind of change you are making, which gates apply, and which changes are forbidden outright. Nothing in this repo routes around it — every behavior change goes through ./bin/mise run check, a conventional commit, and a PR with green CI.

1. Classify the change first

CI is path-filtered (dorny/paths-filter in .github/workflows/ci.yml:36-51 and .github/workflows/cloudflare-worker.yml:42-47). What you touch determines which gates fire.

Class Paths CI jobs that fire Extra rules
App code / UI lib/**, test/**, web/**, android/**, pubspec.yaml, test-e2e/**, package.json, playwright.config.ts, mise.toml (the app filter) fmt, analyze, test (+codecov upload), build-web, test-e2e-web (Playwright), build-android, deploy-web-preview (staging Pages + PR comment), smoke-test-preview (CSP against the deployed preview) UI changes: incremental only — see skill ui-and-accessibility (redesigns are this project's costliest historical failure mode). Accessibility is mandatory (AGENTS.md).
Models + storage subset of app code same as app code If a SharedPreferences key or on-disk format is involved → §2.5 (key pinning / migration). If Drink/UserDrinkState shape changes → run ./bin/mise run generate for mocks.
Data (registry) data/festivals.json, scripts/** cloudflare-worker.yml: validate-festivals (Ajv schema check), test-worker, validate-worker (PR dry-run) — and on merge to main, deploy-worker straight to production (data.cambeerfestival.app) Validate locally first: ./bin/mise run validate:festivals. Merging to main IS a production deploy. Note: docs/processes/festival-data-prs.md is mislabeled — it's a My Festival feature PR/FAQ, not a data runbook; see skill run-and-operate for the real procedure.
cloudflare-worker cloudflare-worker/** same workflow: test-worker (vitest on workerd), validate-worker dry-run on PR, deploy-worker to production on main On the Do-Not-Modify list (§3) — explicit request required.
functions (Pages Functions) functions/** fmt, analyze, test (includes cd functions && npm test) — but not build-web, so deploy-web-preview is transitively skipped (its needs: includes the skipped build-web) Crawler-preview injection; tests use a mocked HTMLRewriter (real one not exercised — see skill validation-and-qa).
proto (API contract) proto/** proto job: buf lint + buf breaking against main:proto (bufbuild/buf-action, bypasses mise); api-docs.yml regenerates OpenAPI/Redoc See skill api-contract for the full workflow and AIP fact table. Breaking-change rules: FILE+WIRE per proto/buf.yaml.
.github/workflows/ workflow files editing ci.yml itself matches the app filter; cloudflare-worker.yml triggers its own workflow; other workflows (release chain, pr-lint) trigger nothing until they run for real On the Do-Not-Modify list (§3). The release chain is fragile — see rationale.
Docs docs/**, *.md, .claude/** no CI jobs fire (no filter matches) — only pr-lint checks the PR title Style and taxonomy: see skill docs-and-writing. Landmine: a .js/.ts/.mjs added here (e.g. a skill helper script) is not format-checked on its own PR, but fmt's Prettier step globs **/*.{js,ts,mjs} repo-wide — so it silently fails the next app-code PR that triggers fmt. Run npx prettier --check on any JS/TS/MJS you add under .claude/** or docs/**. (2026-07-04: an unformatted decode-stack.mjs added in a skills PR broke main's CI two merges later.)

Read the full file on GitHub · 316 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. 12d ago First seen · 316 lines · 198 tokens per session scan A 0df6637055f3

Subscribe to this mod's changes

change-control is a skill published in the GitHub repository richardthe3rd/cambridge-beer-festival-app (2 stars, last pushed yesterday), licensed MIT. It adds 198 tokens to every session and 5,511 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

prowler-commit

Creates professional git commits following conventional-commits format. Trigger: When creating commits, after completing code changes, when user asks to commit.

prowler-cloud/prowler · 33 tokens

gh-auth-isolation

Safely manage multiple GitHub identities (EMU + personal) in agent workflows.

github/gh-aw · 20 tokens

comet-github

A routing guide for Comet-related GitHub work. It directs requests about pull requests, issues, CI failures, ideas, and fixes to the appropriate review or implementation process.

rpamis/comet · 72 tokens

github-skill

Work with GitHub via the gh CLI — clone repositories, create/list/merge pull requests, create/list issues, and run any other gh command (API calls, workflow runs, releases, repo administration). List operations return parsed JSON.

zeenie-ai/OpenCompany · 51 tokens

changelog-composer

Generates structured changelogs and release notes from git history and PRs, classifying breaking changes, features, fixes, performance, docs. Triggers on: "generate changelog", "write release notes", "what changed since", "prepare release", "release notes for", "diff since tag".

Mathews-Tom/armory · 67 tokens

re0-merge

Review and land an external contribution the way this suite does: gate it against the thesis, land it with the author's credit intact, complete a new skill rather than merging it raw, then approve, credit, and explain before closing. Use when reviewing a pull request, as any collaborator or maintainer, not only the…

LilMGenius/paperthin · 70 tokens