verify-release
Skill812 starsChanged 42 days agoMITView on GitHub
Pre-release verification that first requires a complete release-changelog audit, then checks README, docs, roadmap, test coverage, examples, and the full test suite for regressions.
16 other projects use a version of this.
Adopted by
Most recently taken up by
- duyet/clickhouse-monitoringtheir own version, first seen Nov 2, 2026
- bastyn-labs/bastyn-scantheir own version, first seen Nov 1, 2026
- OpenClawAndroid/openclaw-android-assistanttheir own version, first seen Oct 17, 2026
- bighamx/openclaw-android-node-apktheir own version, first seen Oct 9, 2026
- molt-bot/clawdbottheir own version, first seen Oct 8, 2026
- steipete/warelaytheir own version, first seen Oct 8, 2026
Other versions16 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 16
- moltbot/clawdbot★ 394ksame name
- steipete/warelay★ 394ksame name
- steipete/clawdis★ 394ksame name
- moltbot/moltbot★ 394ksame name
- clawdbot/clawdbot★ 394ksame name
- openclaw/openclaw★ 394ksame name
- molt-bot/clawdbot★ 391ksame name
- modelcontextprotocol/csharp-sdk★ 4.6ksame name
- friuns2/openclaw-android-assistant★ 573same name
- OpenClawAndroid/openclaw-android-assistant★ 556same name
6 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository6 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- analyze-using-rustroverSkill
- doc-updateSkill
- prepare-release-changelogSkill
- update-builtin-docsSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
18 rules. 0 are common, 11 are distinctive, and 7 are very specific to this project.
0
Common
Most of the 16 edited versions we read keep these.
11
Distinctive
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 21
Read README.md. Cross-check against the actual codebase:
- Distinctive: line 24
Supported constructs table: check that all statement types (if, while, for, foreach, do-while, break, continue, include/require, type …
- Very specific: line 25
Constants: check that all constants recognized in the lexer (INF, NAN, PHP_INT_MAX, etc.) are mentioned.
- Distinctive: line 26
Type system section: verify the type count and descriptions match reality.
- Very specific: line 27
Project structure: verify directory tree matches actual src/ layout.
- Distinctive: line 33
Read the relevant pages for each category:
- Distinctive: line 41
"Not supported yet" notes: verify none of them refer to features that have actually been implemented.
- Distinctive: line 42
Known incompatibilities: verify they are still accurate.
- Distinctive: line 43
Cross-links: verify relative Markdown links point to existing files.
- Very specific: line 47
Read the current version section in ROADMAP.md:
- Very specific: line 51
Do not add a [x] item for implemented work that was not already planned.
- Very specific: line 55
Read test function names from all test files (tests/*.rs and tests//*.rs).
- Distinctive: line 79
Check that the codebase follows the project's mandatory conventions from AGENTS.md:
- Very specific: line 82
Assembly comment policy: every emitter.instruction(...) call in the codegen and active EIR backend MUST have an inline // comment.
- Distinctive: line 91
No Co-Authored-By: verify no commit in the recent history has a Co-Authored-By line.
- Distinctive: line 153
Only report ACTIONABLE issues — things that need fixing.
- Distinctive: line 154
Do NOT make changes yourself.
- Very specific: line 155
Run targeted test commands first (e.g., cargo test test_new_feature) before the full suite to catch obvious failures early.
“Common” is measured: kept by at least 6 in 10 of the 16 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Pre-Release Verification
You are a meticulous release engineer for the elephc PHP-to-native compiler. Your job is to verify that everything is consistent, documented, tested, and working before a version tag across the supported target matrix.
This skill is an explicit exception to the normal implementation workflow in AGENTS.md: because release verification is specifically requested, run the full local suite unless the user asks to skip it. For ordinary feature/bug-fix work, do not invoke full-suite commands locally; rely on focused tests and the CI matrix.
Steps
0. Release changelog prerequisite
Run prepare-release-changelog before beginning the remaining release checks. Read and follow ../prepare-release-changelog/SKILL.md; require its PR/direct-commit ledger to cover the exact candidate head with zero unresolved commits. If the audit has not completed, if the candidate SHA changed afterward, or if approved edits to the numbered candidate release section remain unapplied, stop and complete that skill first. [Unreleased] must remain empty.
1. README.md Completeness
Read README.md. Cross-check against the actual codebase:
- Built-in functions list: the canonical builtin registry is
src/types/checker/builtins/catalog.rs(withsrc/types/signatures.rs); the active EIR lowering lives insrc/codegen_ir/lower_inst/builtins/. The legacysrc/codegen/builtins/path is frozen — do not use it as the source of truth. Compare the catalog against the README's "Built-in functions" section. Report any function that is implemented but not listed in the README. - Supported constructs table: check that all statement types (if, while, for, foreach, do-while, break, continue, include/require, type casting, etc.) are listed.
- Constants: check that all constants recognized in the lexer (INF, NAN, PHP_INT_MAX, etc.) are mentioned.
- Type system section: verify the type count and descriptions match reality.
- Project structure: verify directory tree matches actual
src/layout.
2. Documentation (docs/)
Docs use the current Astro-compatible tree: docs/README.md, docs/getting-started/, docs/how-to/, docs/compiling/ (the compiler CLI and the compilation process), docs/php/ (standard PHP), docs/beyond-php/ (compiler extensions), and docs/internals/ (compiler internals). Every Markdown file must have YAML frontmatter with title, description, and sidebar.order, and body content must not add a top-level # heading.
Read the relevant pages for each category:
- Data types (
docs/php/types.md): verify each type's "Supported" status is accurate. - Operators (
docs/php/operators.md): verify allBinOpvariants insrc/parser/ast.rsare documented. - Built-in functions (
docs/php/strings.md,arrays.md,math.md,system-and-io.md,functions.md,types.md): for EVERY function in the canonical catalog (src/types/checker/builtins/catalog.rs), verify it appears in the relevant doc page with correct signature. Pointer and buffer helpers belong underdocs/beyond-php/. - Compiler extensions (
docs/beyond-php/*.md): verify pointers, buffers, packed classes, extern FFI, and ifdef features match the codebase. - Compilation CLI and process (
docs/compiling/*.md): verifydocs/compiling/cli-reference.mddocuments EVERY flag and environment variable parsed insrc/cli.rs(and that each flag's default and accepted values match), and that the pipeline, targets, and optimization pages matchsrc/pipeline.rs,src/codegen/platform/, andsrc/ir_passes/(the EIR optimization pass driver). A new or renamed flag with no matchingcli-reference.mdentry is a release blocker. - Internals (
docs/internals/*.md): verify architecture, lexer, parser, type checker, codegen, runtime, optimizer, EIR / IR passes, and memory model pages match the current source tree. - "Not supported yet" notes: verify none of them refer to features that have actually been implemented.
- Known incompatibilities: verify they are still accurate.
- Cross-links: verify relative Markdown links point to existing files. Ignore fenced code blocks and inline code spans when scanning links/headings.
3. ROADMAP.md Consistency
Read the current version section in ROADMAP.md:
- For every
[x]item: verify the feature actually exists (grep for the function name, check for the AST node, etc.). - For every
[ ]item: confirm it is genuinely not implemented. - Do not add a
[x]item for implemented work that was not already planned. Per-version delivered work belongs inCHANGELOG.md. If the user asks to fix verification findings, mark only an existing planned item[x].
4. Test Coverage
Read test function names from all test files (tests/*.rs and tests/**/*.rs). For each implemented feature, check:
- Codegen tests (
tests/codegen_tests.rs,tests/codegen/): every built-in function should have at least 1 test. Every operator should have at least 1 test. Every statement type should have at least 1 test. List functions/features with ZERO tests. - Error tests (
tests/error_tests.rs,tests/error_tests/): every built-in function that validates argument count should have an error test. List functions missing error tests. - Lexer tests (
tests/lexer_tests.rs): every new token type should have a test. - Parser tests (
tests/parser_tests.rs): every new AST construct should have a test.
5. Examples Coverage
List all directories in examples/. For each major feature category, check that at least one example demonstrates it:
- Basic types (int, float, string, bool, null, array)
- Control flow (if, while, for, foreach)
- Functions and recursion
- String operations
- Type operations (casting, gettype, empty)
- Math functions
- Include/require
- Any other significant feature
Report features that have no example coverage.
6. Code Style Compliance
Check that the codebase follows the project's mandatory conventions from AGENTS.md:
- Rust module preambles: every repo-owned
*.rsfile must start with a module-level//!preamble before anyuse,mod, item, or test helper code. The preamble must explain the file's purpose, where it is called from, and key details/invariants. Exclude generated/build output such astarget/. Report every missing or incomplete preamble. - Assembly comment policy: every
emitter.instruction(...)call in the codegen and active EIR backend MUST have an inline//comment. Scan bothsrc/codegen/andsrc/codegen_ir/(the active backend) and report any instruction line WITHOUT a comment. Use this check:
Multi-line calls such asgrep -rn 'emitter.instruction(' src/codegen/ src/codegen_ir/ | grep -v '//' | head -20emitter.instruction(&format!(carry their comment after the closing));; those are compliant false positives, not violations. - Comment alignment: the
//on instruction lines must start at column 81. Run the alignment verification script fromAGENTS.mdon all codegen files and report misaligned lines. - Block comments: related instruction groups should have
// -- description --block comments before them. Spot-check a few files for missing block comments. - File organization: builtins and runtime emitters should stay cohesive and avoid mixed responsibilities. Leaf builtin/runtime emitter files should usually contain one emitter function; dispatcher/re-export files (
mod.rs), runtime data emission, tests, and tightly cohesive multi-helper runtime modules should be reviewed for responsibility boundaries rather than flagged mechanically. - Zero compiler warnings:
cargo buildmust produce zero warnings. - No Co-Authored-By: verify no commit in the recent history has a Co-Authored-By line.
7. Full Test Suite Execution
Run cargo build first to verify zero warnings, then run cargo test and report. This full local suite is appropriate here because the user invoked pre-release verification. If the user explicitly asks to skip tests, do not run cargo test or target Docker scripts; mark the test-suite section as skipped by request and still run the non-test checks.
- Total test count per test file
- Any failures (with details)
- Any compiler warnings
Output Format
Structure your report as:
## Pre-Release Verification Report
### 0. Release Changelog
Status: PASS / FAIL
Range: <last-release-sha>..<candidate-sha>
Coverage: N PRs, M direct commits, K total commits, U unresolved
### 1. README.md
Status: PASS / FAIL
Issues: (list if any)
### 2. Language Reference
Status: PASS / FAIL
Issues: (list if any)
### 3. Roadmap
Status: PASS / FAIL
Issues: (list if any)
### 4. Test Coverage
Status: PASS / FAIL
Missing tests: (list if any)
### 5. Examples
Status: PASS / FAIL
Missing coverage: (list if any)
### 6. Code Style
Status: PASS / FAIL
Missing Rust preambles: (count/list if any)
Uncommented instructions: (count)
Misaligned comments: (count)
Multi-function files: (list if any)
### 7. Test Suite
Build: PASS / FAIL (warnings: N)
Tests: X passed, Y failed
Failures: (details if any)
### Summary
Release ready: YES / NO
Action items: (numbered list of things to fix before tagging)Important
- Be thorough. Read actual files, don't guess.
- Only report ACTIONABLE issues — things that need fixing.
- Do NOT make changes yourself. Only report findings.
- Run targeted test commands first (e.g.,
cargo test test_new_feature) before the full suite to catch obvious failures early.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

