maintain-formal-verification-skill
Skill2 starsChanged 28 days agoMITView on GitHub
Refresh a project's formal checks after covered code changes, distinguish verification drift from product bugs, and retain per-check coverage checkpoints. Use explicitly for /maintain-formal-verification-skill or auditing whether a model still describes the code.
We split this skill into the rules it gives an agent
2 rules. 0 are common, 2 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 7 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 11
Follow the native host contract.
- Distinctive: line 36
Run the revised checks and interpret their results:
“Common” is measured: kept by at least 6 in 10 of the 7 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
Maintain a formal verification skill
A passing check can describe code that no longer exists. Review correspondence before accepting that pass. This workflow maintains project-local model checks, proofs, source verifiers, and explicitly labeled generated-input testing fallbacks; runtime feature maps belong to maintain-verification-skill.
Follow the native host contract. Edit only verification artifacts and their skill: models, harnesses, properties, coverage records, and evidence. Preserve invocation policy, unrelated edits, and product code. Product fixes, global installation, commits, publication, messages, and tracker writes need their own authorization.
Locate and baseline
Find checks by what they do, not a fixed skill name; follow links to canonical project files. Respect a named target and enumerate the selected checks. If none exists, direct the user to explicitly invoke create-formal-verification-skill; do not bypass its invocation policy.
For each check, read its property, covered source paths and symbols, relevant callers, model correspondence, bounds, assumptions, command, tool version, evidence, and last verified commit. A checkpoint records reviewed correspondence, not absence of bugs. Keep checkpoints per check so a runnable check cannot advance a blocked sibling.
If a checkpoint is absent, use the last commit changing that check's verification artifacts as a provisional comparison base and disclose the inference; it is not prior verification evidence. If history is missing or that base cannot be resolved, report the gap and review the current correspondence in full before establishing a new checkpoint.
Record the current source identity, including staged, unstaged, and relevant untracked files. Run each existing check before editing and retain its output. A stale pass proves only the old description; a failure may be drift, a product bug, or a tool failure.
Review and update
Compare each check's base with the current source, including working-tree changes. Read intervening diffs and commit intent, then trace renamed, moved, or split functions and new callers or writers of guarded state outside the old file list. Classify changes against the actual verification:
- No effect: the change does not alter covered behavior.
- Drift: the model or harness no longer describes the code's steps, branches, ranges, or synchronization.
- Intentional promise change: cite tests, documentation, or other change evidence before revising the property; retain its old and new wording.
- Possible bug: the promise remains and changed behavior may violate it.
Update correspondence from the code before rerunning. Match modeled atomic steps to real indivisible operations or justified synchronization boundaries. Never weaken a property, narrow a bound, or add an assumption merely to get a pass. Explain any necessary bound or assumption change and its lost coverage.
Rerun and challenge
Run the revised checks and interpret their results:
- Pass: demonstrate property-specific detection with a deliberate real-code mutation in a disposable copy or worktree containing the evaluated source, including relevant uncommitted changes. Never mutate or reset the user's checkout. Follow the generator's isolated detection procedure: for a handwritten model, show the code change triggering correspondence review, translate that semantic change into the model, and retain the failing property and manual-translation limits. A model-only failure or drift alarm is not implementation-regression detection.
- Counterexample: reproduce each step against the real code in an isolated test or live repro, retaining source identity, command, and observed result. A plausible walkthrough or model-only mutation is not reproduction; unavailable reproduction leaves the finding unconfirmed or blocked. Correct and explain impossible model steps, then rerun. A reproduced violation is a product finding; retain the property and describe the harm. Attribute an introducing commit only with evidence, otherwise say it is unknown. Keep any reproduction isolated from product edits.
- Tool failure, timeout, inconclusive result, or missing mutation evidence: mark the affected check blocked rather than treating process exit or partial output as verification.
Retain commands, versions, outputs, correspondence evidence, mutation diffs, and counterexamples outside scratch cleanup. Remove only owned scratch state and processes; rerun the unmutated source and confirm its baseline result is restored. Existing bugs remain visible; they cannot stand in for independent mutation detection when claiming that detection.
Refresh the record
Update coverage, commands, bounds, assumptions, and evidence, then follow the revised skill once as the next agent would. Advance a check's last verified commit only after correspondence review and the required reruns and detection evidence complete. A confirmed bug may accompany a correspondence checkpoint, but record the failing result beside it. A blocked check retains its previous checkpoint, even when another check succeeds.
Do not label dirty source as verified at HEAD. Retain the previous commit checkpoint and record the evaluated working-tree diff or digest separately until the exact source is committed and verified. A legacy check without a defensible base remains uncheckpointed until the current-source review and validation complete.
Report
For each check, report in sync, updated, bug, or blocked; an updated check may also expose a bug. Include the source identity and history reviewed, old/new checkpoint, verification changes and reasons, rerun and mutation results, findings, and coverage limits. Say when a stale pass became a real counterexample. Distinguish model evidence, implementation evidence, and generated-input testing; none establishes whole-system correctness. Keep verification changes separate from any separately authorized product fix.
Other versions7 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 7
- backnotprop/pstack★ 2.7ksame name
- Dimon94/dverity★ 107same name
- Dimon94/skills★ 107same name
- dsebban/skills★ 71same name
- conscientiousness/herdr-pstack-orchestrator★ 1same name
- Tashila-109/tstack-skills★ 1same name
- DarthJonathan/guac-skills★ 0same name
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 repository57 other files it gives its agents.
- AGENTS.mdAGENTS.md
- architectSkill
- arenaSkill
- automate-meSkill
- benchmark-checklistSkill
- blast-radiusSkill
- broSkill
- correctSkill
- create-formal-verification-skillSkill
- create-verification-skillSkill
- figure-it-outSkill
- herdr-workflowSkill
- howSkill
- interrogateSkill
- in-your-own-wordsSkill
- ketchupSkill
- maintain-verification-skillSkill
- no-commentsSkill
- principle-attack-the-premiseSkill
- principle-boundary-disciplineSkill
- principle-build-the-leverSkill
- principle-encode-lessons-in-structureSkill
- principle-exhaust-the-design-spaceSkill
- principle-experience-firstSkill
- principle-explain-the-numberSkill
- principle-fix-root-causesSkill
- principle-foundational-thinkingSkill
- principle-guard-the-context-windowSkill
- principle-laziness-protocolSkill
- principle-make-operations-idempotentSkill
- principle-migrate-callers-then-delete-legacy-apisSkill
- principle-minimize-reader-loadSkill
- principle-model-the-domainSkill
- principle-never-block-on-the-humanSkill
- principle-outcome-oriented-executionSkill
- principle-prove-it-worksSkill
- principle-redesign-from-first-principlesSkill
- principle-separate-before-serializing-shared-stateSkill
- principle-sequence-verifiable-unitsSkill
- principle-subtract-before-you-addSkill
- principle-test-behavior-not-implementationSkill
- principle-type-system-disciplineSkill
- python-best-practicesSkill
- recallSkill
- reflectSkill
- setup-zstackSkill
- sharpenSkill
- show-me-your-workSkill
- statechartSkill
- swarmSkill
- tddSkill
- teachSkill
- technical-writingSkill
- typescript-best-practicesSkill
- unslopSkill
- whySkill
- z-modeSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
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.

