MCP Server Builder
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
Spawn a hostile reviewer that checks a claim or a diff against the project rules.
$ npx skills add gweslab/cerf --skill verify -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install gweslab/cerf verify --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/gweslab/cerf.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/verify .claude/skills/verify && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "verify" agent skill from https://github.com/gweslab/cerf/tree/main/.claude/skills/verify into .claude/skills/verify/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verify", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/gweslab/cerf/tree/main/.claude/skills/verifyType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add gweslab/cerf --skill verify -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install gweslab/cerf verify --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gweslab/cerf.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/verify .agents/skills/verify && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "verify" agent skill from https://github.com/gweslab/cerf/tree/main/.claude/skills/verify into .agents/skills/verify/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verify", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add gweslab/cerf --skill verify -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install gweslab/cerf verify --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gweslab/cerf.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/verify .cursor/skills/verify && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "verify" agent skill from https://github.com/gweslab/cerf/tree/main/.claude/skills/verify into .cursor/skills/verify/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verify", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/gweslab/cerf.git --path .claude/skills/verify--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add gweslab/cerf --skill verify -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install gweslab/cerf verify --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gweslab/cerf.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/verify .gemini/skills/verify && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "verify" agent skill from https://github.com/gweslab/cerf/tree/main/.claude/skills/verify into .gemini/skills/verify/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verify", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install gweslab/cerf verifyInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add gweslab/cerf --skill verify -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/gweslab/cerf.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/verify .github/skills/verify && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "verify" agent skill from https://github.com/gweslab/cerf/tree/main/.claude/skills/verify into .github/skills/verify/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verify", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add gweslab/cerf --skill verify -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install gweslab/cerf verify --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gweslab/cerf.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/verify .opencode/skills/verify && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "verify" agent skill from https://github.com/gweslab/cerf/tree/main/.claude/skills/verify into .opencode/skills/verify/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verify", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
verifySpawn a hostile reviewer that checks a claim or a diff against the project rules.
Verify is an agent skill from gweslab/cerf. Spawn a hostile reviewer that checks a claim or a diff against the project rules.
Its SKILL.md is about 5.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Agent Workflows. The repository describes itself as: Universal Windows CE Emulator - CE Runtime Foundation. The licence is MIT.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 462ed3d. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Verify loads about 5.4k tokens when it runs. Until then it costs about 22 tokens; SKILL.md has 3,411 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from gweslab/cerf at commit 462ed3d, republished under its MIT licence (© gweslab). 3,411 words, ~5,373 tokens.
.claude/skills/verify/SKILL.md (or your agent's skills folder).Spawn a subagent to cold-review a claim, a diff or a piece of code. The subagent is a hostile reviewer. Its job is to find problems, not to validate. Its verdict has teeth, because a CRITICAL PROBLEM FOUND halts the main agent's current line of work.
The subagent's full operating manual lives in .claude/VERIFY_INSTRUCTION.md. The main agent does NOT read or understand that file. The main agent has four responsibilities: spawn the subagent, point it at that file, hand it the target material verbatim, then act on the verdict. The manual stays out of this skill for two reasons. It keeps the main agent's context lean. It also removes the temptation to paraphrase the reviewer's rules into the spawn prompt, which is how bias enters the review.
/verify <anything>. The argument is freeform. Examples:/verify your last claim about "<quoted claim>"/verify the weird code in cerf/memory/shared_mem_pool.cpp/verify current diff for hacks/verify my fix for the tray bugRule-compliant code is the main agent's own responsibility. /verify does not discharge that responsibility, because it is not a find-my-bugs service. It is a fresh-eyes pass for blind spots that the main agent cannot see alone.
Before you spawn the subagent, audit the target yourself against CLAUDE.md and every page under agent_docs/. If your self-audit finds a violation you can already name, the spawn is invalid. The subagent never gets to be the first reader of a problem the author already saw.
The self-audit lands in one of two shapes. Each shape allows exactly one next action.
You can name a specific, bounded rule violation in what you wrote or are about to hand back. Examples: a reader-side guard that masks a writer bug. A stub that returns fake success. A peripheral-register handler you wrote without reading its reference, so the prompt can carry no grounding for it. A hex or decimal value you computed in your head instead of through a tool. A free function that takes services as parameters. A static or global that holds service state. A comment that names a checklist filename or a § reference. A LOG site that fires per-clock and belongs in a trace file. A x ? f(x) : 0 null-guard around a callee that already handles null.
Action: fix it yourself, in the same turn, before you spawn. You can never spawn /verify while you sit on a violation you can name. After the fix, decide whether you still want /verify at all, because the reason to spawn often disappears with the known defect. If you still want it, spawn against the fixed target.
The target rests on hacks. The architecture breaks dependency-inversion or service-locator rules at its core. The implementation layers reader-side suppression over an unfixed writer chain. The change cascades workarounds over a wrong premise. Several CLAUDE.md serious-violation categories apply at once, such as guessed implementations, reader-side suppression, host-API blame, or CE binaries mocked in host C++. Local edits cannot rescue the code.
A spawn produces nothing here. The hostile reviewer returns CRITICAL PROBLEM FOUND, and you already know why, so the spawn burns budget to confirm what you can already see. A silent fix is equally wrong, because the scope makes a unilateral rewrite a direction-changing decision that belongs to the user.
Action: halt the spawn, halt further patching, and present the situation to the user in this shape:
"I was about to run
/verifyon<target>, but caught myself first. The target has foundational damage I can already name without a hostile-reviewer pass:<specific rule(s) violated, specific hack(s), specific architectural break>. Running/verifyhere will not produce information I do not already have. I propose deleting<files / sections / commits / staged changes>and rewriting properly:<one-sentence sketch of the correct shape>. Want me to proceed with the delete-and-rewrite, or take a different direction?"
Then wait for the user's call. Do NOT spawn the subagent. Do NOT soften the diagnosis to justify a spawn, as in "but maybe a reviewer must double-check just in case". Do NOT start the rewrite alone, because direction-changing work waits for explicit user approval.
The spawn is valid when three things hold. You looked at the target honestly. You found no rule violation you can name. You want a fresh pair of eyes for blind spots you cannot see yourself. If you catch yourself rationalizing during the self-audit, as in "this is probably fine, the reviewer will confirm it", that rationalization is the answer. The spawn is invalid. Pick Shape A or Shape B and act.
Resolve the freeform input into a concrete target. Be literal:
git diff. If anything is staged, also run git diff --cached. Capture the full patch. A diff against the last commit absorbs whatever else is uncommitted. This tree carries the parallel work of other agents and of the user, so scope the target to the files your own change touched. A target that reaches wider spends the verdict of the reviewer on code that is not yours. Its findings then name the in-flight work of somebody else as a defect.git diff <range>.If the target is genuinely ambiguous, ask the user one short clarifying question before you spawn. Do not guess the target.
Use the Agent tool with:
subagent_type: Explore - read-only by construction, with no Edit, Write or Agent tool. This matches the hostile-reviewer role and stops the reviewer from modifying anything.model: opus - mandatory, never omitted. Without it the reviewer runs on whatever the agent definition or the parent session supplies, which can be a smaller model. This review is the gate for guessed implementations, fabricated IDA citations and reader-side suppression. A weaker reviewer waves those through with a confident LEGIT. A false LEGIT is worse than no review, because the main agent then treats the target as cleared.description - short, for example Reality-check on <short target>.prompt - the pointer to the prompt file, and nothing else. See § The prompt file below.run_in_background: true - the preferred default. A review reads CLAUDE.md plus every page under agent_docs/, greps the codebase, and often runs IDA decompiles, so it routinely takes minutes. Spawn it in the background and advance other work, because the harness signals you when the verdict is ready. Do NOT poll it, sleep, or check its progress. CLAUDE.md § Background tasks makes the signal the contract, so polling a backgrounded task violates the rules. Use the foreground only when your strict next step depends on the verdict and no other work exists, such as a hand-back to the user. When in doubt, background it, because an idle wait on the signal costs less than a blocked foreground call.The whole spawn prompt lives on disk, in tmp/verify/<slug>.md under the repo root. <slug> names the body of work. One file serves one body of work across every round.
Before you create the file, list tmp/verify/. If a file with your slug holds other work, pick another slug. Never overwrite a file you did not write.
Give the Agent call this text as its prompt, and nothing else. Replace the path placeholder with the absolute path:
"Your full spawn prompt is the file <absolute path of tmp/verify/<slug>.md>. Read the whole file before anything else. If one Read cannot hold it, read it in slices to the end. Its contents are your prompt, verbatim."
Everywhere below, "the prompt" means the contents of that file.
Keep the prompt minimal. Do NOT paraphrase the operating manual, summarize its rules, or hand-pick which categories to include. The subagent reads the authoritative file itself. A long explanatory prompt from the main agent gives bias a way in.
The prompt file carries these four items, in this order, and nothing else:
.claude/VERIFY_INSTRUCTION.md TO UNDERSTAND WHY YOU WERE SPAWNED AND WHAT IS YOUR OBJECTIVE. That file is your operating manual and is authoritative over anything in this prompt - if this prompt and the file disagree, the file wins. READING THAT FILE IS MANDATORY. Check pwd if not found. It is at repo root (INSERT PWD/REPO ROOT PATH)"That is the whole prompt. The operating manual already holds the role explainer, the category list, the verification-tools section and the output format, so add none of them. When you feel the urge to add "and also, remember to check X", that urge is the bias entering. Resist it. .claude/VERIFY_INSTRUCTION.md is the single source of truth for the subagent's work. Your job is to hand over the target and step aside.
Special case - a checklist target declares an audit mode. A checklist target is a planning document, a numbered phase-by-phase design plan, or any file under docs/ai_checklists/ or agent_docs/checklists/. For these, insert exactly one of the lines below directly above the target material, between item 1 and the verbatim checklist:
AUDIT MODE: PLAN - the work is not implemented yet. The reviewer audits the plan itself: IDA grounding, hidden assumptions, bullet ambiguity, and every "known gaps" section. It also verifies that the steps in literal order produce the claimed runtime behavior. The reviewer does NOT compare the codebase against the checklist, because the work has not started.AUDIT MODE: IMPLEMENTATION - the work is done, and this diff or branch claims to implement it. The reviewer audits the codebase against each bullet: literal file-layout compliance, per-bullet code mapping, silent deviations from checklist values, and fabricated citations.A checklist target with no AUDIT MODE: line returns CRITICAL PROBLEM FOUND. [UNVERIFIABLE], because the reviewer cannot tell which audit shape applies. A planning document and a completion claim look identical to a reviewer. Without the declaration the reviewer guesses, and a wrong guess spends the whole verdict on an accusation that the main agent lied about completion.
Special case - hardware behavior declares its grounding. A citation inside a source file is optional (agent_docs/code_style.md § Comments), so the reviewer cannot read your grounding off the diff. Declare it in the prompt instead, directly above the target material, one line per non-trivial hardware behavior the target implements:
GROUNDING: <what> <- <bundle> <module> <function> <address> for a decompilation, which is the common case on this project. Most CERF behavior is grounded in the guest ROM, not in a document.GROUNDING: <what> <- <reference path> § <section> for a document: a datasheet, a SoC user manual, a CPU architecture manual, a standard.agent_docs/rules.md § Reference Licence Hygiene governs both shapes. It requires the ROM bundle name on every decompilation citation, and it rules out a ROM that a user compiles.
A register handler, a bit field, a reset value, an instruction encoding, an MMU rule and a timing each need one. Name the reference you actually opened, or the address you actually decompiled. If the prompt grounds none of it, the reviewer returns CRITICAL PROBLEM FOUND. [UNGROUNDED HARDWARE BEHAVIOR]. A value nobody can point at came from memory. Never write a GROUNDING: line for a reference you did not open, or for an address you did not decompile. The reviewer can re-run the decompile, so an invented address returns a fabricated-citation verdict.
The reviewer is forbidden to report a missing comment. A target with no comments and a full GROUNDING: block is therefore a normal pass.
Special case - a model taken from another project declares that project's LOCAL source path. This applies when any part of the target implements a model studied from another codebase. Examples: QEMU, Linux, U-Boot, a vendor BSP, another emulator, a reference driver. Name where that source sits on this machine, directly above the target material. Give the path under references/, plus the file and the function the model came from.
PORTED MODEL: <what> <- references/<path>/<file>:<function>To study another project's model is legitimate and expected. To copy its code into CERF is a licensing breach that no later verdict undoes. From a prompt alone the two look identical, and the reviewer cannot diff against a source it does not have. A disclosed port with no local path therefore makes the reviewer halt with CRITICAL PROBLEM FOUND. [LICENSE VIOLATION], and it performs no audit. If the source is not on disk, fetch it into references/ before you spawn. Concealed provenance is worse than a missing path, because it puts the breach past review entirely.
Special case - a re-spawn after a CRITICAL verdict keeps the first prompt file and appends the round history. A CRITICAL PROBLEM FOUND sends the same body of work back for another round. The prompt file you wrote for round 1 holds the base. Every later round reuses that file, and the base text in it stays verbatim. The base holds the manual pointer, the target description, and the context that cuts against you. It also holds any AUDIT MODE: or PORTED MODEL: line, and the closing line. Never rewrite the base to describe the last fix. Never shrink the target to the files of one round. Never start a second file for the same body of work. Spawn a fresh reviewer for each round, with the same pointer.
Then add one ROUND HISTORY block to the file, directly above the closing neutral line. Write one entry per round that returned CRITICAL, oldest first:
ROUND HISTORY - this is round <N>. Rounds 1-<N-1> returned CRITICAL.
ROUND 1 [<verdict category, verbatim>]: <one sentence on what the finding was>.
CLEARED: <what changed, and the file it changed in>.
ROUND 2 [<category>]: <finding>.
CLEARED: <what changed, and where>.Each round appends its own entry and edits nothing above that entry. The block grows, and the base stays frozen. A CLEARED line can also state where you are unsure that the fix is right. The frozen base carries only the doubts of round 1.
The base stays frozen for two reasons. The reviewer is a fresh subagent with no memory of any earlier round. A prompt that shrinks to the last fix leaves the rest of the work unreviewed. Fixes also regress. A change in round 4 can reintroduce the defect of round 1. Only a reviewer that holds the whole target and the whole history finds that regression.
The prompt file carries the base across a compaction and a session boundary. Carry the path of the file into your compaction summary. When the work has a tracking document, the path also belongs in the block that a user-invoked /tracking update writes. Never raise that document yourself. After a compaction or in a new session, Read the file before the next round. Never rebuild the base from the summary.
Never edit the file while a review of it runs. The reviewer reads the file at its own pace, and an edit during the review gives it a target that no round wrote. A LEGIT verdict closes the file. New work gets a new file.
The block is a record, never an instruction. Write no clause that tells the reviewer what to skip, what is settled, or what not to re-derive. Phrases that make the spawn invalid: "already cleared, do not re-open", "settled, not a question for you", "nothing new to verify there". Each phrase narrows the scope of the reviewer. .claude/VERIFY_INSTRUCTION.md rejects a spawn that carries one, and the round costs a trip for nothing. The reviewer alone decides what it re-derives.
If you catch yourself about to break any rule above while you draft the prompt, stop. Delete the offending phrasing and rewrite it neutrally before you spawn.
The subagent's reply ends with exactly one of these lines:
VERDICT: LEGIT. KEEP GOING.VERDICT: CRITICAL PROBLEM FOUND. [<CATEGORY>]A SUMMARY block precedes both. The full output format and the category list live in .claude/VERIFY_INSTRUCTION.md. You do not need them. You need to recognize the verdict line and act on it.
VERDICT: LEGIT. KEEP GOING. - relay the summary to the user in a short recap, then continue the task. Do NOT treat one LEGIT as permission to skip verification on related work.VERDICT: CRITICAL PROBLEM FOUND. […] - take these four steps:SUMMARY block to the user verbatim. The user must see it.Action required: decompile X / grep Y / read Z, are the direction. Run them now.CRITICAL PROBLEM FOUND verdict from the user, even when you disagree with it.ROUND HISTORY entry.CRITICAL PROBLEM FOUND while the target still carries the findings, in the hope of a LEGIT. That is gaslighting. One verdict per target. A re-spawn is valid only once the findings are closed in the tree.LEGIT on one part as a LEGIT on the rest of the file or diff./verify as a checkbox ritual, then ignoring the verdict.The main agent's training rewards output, defended claims and confident tone. That bias produces rationalizations that look like analysis, and hacks that look like fixes. A fresh reviewer holds no investment in the prior answer. It reads the same rules and the same code, and it catches what the main agent can no longer see. Its verdict outweighs the main agent's own second-guessing, because it carries no sunk cost in the claim.
© gweslab, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/verify of gweslab/cerf.
Open the folder on GitHubat commit 462ed3d
Verify next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Verify this skillgweslab/cerf | 103 | — | ~5.4k | Automated safety check: Pass | MIT | |
| MCP Server Builderanthropics/skills | 180k | 62 repos | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| Hook Development for Claude Code Pluginsanthropics/claude-plugins-official | 37k | 11 repos | ~4.1k | Automated safety check: Notes | Apache-2.0 | |
| Using Superpowersfarm-fe/farm | 5.6k | 34 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Executing Plans Inlineobra/superpowers | 296k | 2 repos | ~5.1k | Automated safety check: Pass | MIT | |
| Claude Code Agent Developmentanthropics/claude-plugins-official | 37k | 8 repos | ~2.8k | Automated safety check: Pass | Apache-2.0 |
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
anthropics/claude-plugins-official
Explains how to write Claude Code plugin hooks, both prompt-based checks and bash commands, for events such as PreToolUse, Stop and SessionStart.
farm-fe/farm
A skill your agent uses when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions
obra/superpowers
Has the agent carry out an implementation plan itself, task by task in the current session, keeping a ledger, proving each step with a test and ending with one whole-branch review.
anthropics/claude-plugins-official
Explains how to write agents for Claude Code plugins: the markdown file with YAML frontmatter, trigger descriptions, model and color settings, and system prompt design.
Azure/azqr
Create new skills, modify and improve existing skills, and measure skill performance.
gweslab/cerf
List the project skills and offer the environment doctor. An agent skill from gweslab/cerf.
gweslab/cerf
Add a changelog entry for a change that was just made (only user triggered, no agent self-invocation).
gweslab/cerf
Create a git commit with a short message that describes the diff.
gweslab/cerf
Start the bring-up of a new board or ROM in CERF. An agent skill from gweslab/cerf.
gweslab/cerf
Manage the cross-session tracking document with restore, create, update, or compact (only user triggered, no agent self-invocation).
gweslab/cerf
Audit a list of options for bailouts and rule violations before the user picks one.
Categories
Spawn a hostile reviewer that checks a claim or a diff against the project rules. Verify is an agent skill from gweslab/cerf. Spawn a hostile reviewer that checks a claim or a diff against the project rules.
Verify fits situations like: agent Workflows work in your project.
Run `npx skills add gweslab/cerf --skill verify -a claude-code`. Or copy the skill folder (.claude/skills/verify in gweslab/cerf) into .claude/skills/verify in your project. Claude Code loads it when a task matches its description.
Run `npx skills add gweslab/cerf --skill verify -a codex`. Or copy the skill folder (.claude/skills/verify in gweslab/cerf) into .agents/skills/verify in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add gweslab/cerf --skill verify -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/verify, .gemini/skills/verify, .github/skills/verify and .opencode/skills/verify in your project.
Going by SKILL.md and its folder, Verify needs the command-line tools its instructions call (git).
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Verify is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.4k tokens (SKILL.md is roughly 21k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Verify: MCP Server Builder (anthropics/skills, 180k stars), Hook Development for Claude Code Plugins (anthropics/claude-plugins-official, 37k stars), Using Superpowers (farm-fe/farm, 5.6k stars) and Executing Plans Inline (obra/superpowers, 296k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
gweslab (a GitHub organization) maintains it in gweslab/cerf, which has 103 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 7, 2026.
Source: gweslab/cerf on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.