maintain-formal-verification-skill
Skill2.7k starsChanged 11 days agoMITView on GitHub
Bring a project's formal verification back in line with the code after the code changes: find the commits that touched verified code, update the model, harness, or properties to describe the code as it is now, rerun, and say whether each failure is drift in the verification or a bug in the code. Use for /maintain-formal-verification-skill, \"is the model still true to the code\", or after merges and refactors that touched verified code without rechecking it.
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 2 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
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 15
in sync: no change since the last sync alters what the check describes, and the check passes.
- Distinctive: line 58
Put the verification updates in a change of their own, separate from any product fix.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “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 formal check proves a property of what it describes. When the code changes and the verification does not, the check can keep passing while it describes code that no longer exists. That pass is the dangerous case, because it looks like a proof. This skill is the upkeep loop for a verify skill that /create-formal-verification-skill generated, or for any project-local skill that runs a model checker, prover, or code-level verifier against named code. The project-local skill handles a change that an agent makes while it uses that skill. This skill handles the changes that skipped it: merges, edits made without the skill, and drift that builds up across many commits.
Outcomes
Give each check one outcome, and say which:
- in sync: no change since the last sync alters what the check describes, and the check passes.
- updated: the code changed, the verification now describes the new code, and the check passes.
- bug: the verification describes the current code, and the code breaks the property. This is a finding about the code. It is not drift.
- blocked: the check could not be brought back in line or could not run. Say exactly why.
A check can be both updated and bug: the update makes the verification describe the code again, and then the property fails on it.
Edit scope
Edit only the verification: models, harnesses, property files, and the verify skill itself. Never edit product code during a run, unless the user asks you to. When a property fails on the current code, do not weaken the property or the model to make it pass. Report the failure.
Pass
- Find the checks. A verify skill has no fixed name, so find it by what it does: a project skill that runs a model checker, a prover, or another verifier against named code. Read each one you find, or the one the user named. For each check, collect the property, the code it covers, the bounds and assumptions, the command that runs it, and the commit where it was last confirmed to describe the code. If no verify skill exists, stop and point at
/create-formal-verification-skill. If the skill does not record a sync commit, use the last commit that changed the verification files, and say that you did. - Run it as it is. Run each check once before you change anything, and record the result. A pass here does not tell you that the code is correct. It tells you that the old description still holds. A failure here can be drift or a bug. Do not decide which until step 5.
- Read every change to covered code. Diff the covered files from the sync commit to the current commit, and read each commit message. Also look for code that moved: a covered function that is renamed, split, or moved to another file is still covered code. Also look for new code that touches the state that a check guards, such as a new function that writes the same fields. For each change, decide which of these it is:
- No effect. The change does not alter anything the verification describes, such as formatting, comments, or code paths that the verification does not cover. Check this against the model or harness, not against the commit message.
- The verification no longer describes the code. A step that was one indivisible action is now two, a branch was added or removed, a check moved, a new path reaches the guarded state, or a value now has a different range. The model or harness must change.
- The promise changed on purpose. The change alters what the code promises, and evidence in the change says that this is intended: the doc comment, the tests, the changelog, or the commit message. The property must change, and you must cite that evidence.
- The promise may be broken. The code changed, and no evidence says that the promise changed. Treat a failure that follows as a bug candidate.
- Update from the code, not from the result. Change the model or harness so that each changed part again points to code that a reviewer can open, and keep one indivisible step in the code as one step in the verification. Write the update from the code before you rerun, and do not shape it by what makes the check pass. Change a property only for a promise that changed on purpose. Write down the old wording, the new wording, and the evidence. Keep the bounds unless the change makes them wrong. If you must reduce a bound, say so in the report.
- Rerun and judge each result.
- Pass: the check can now pass on a description that has lost the ability to fail. Break the new code the way the property guards against, such as removing a new check or reordering a new step, and confirm that the check catches it. Then drop the break.
- Fail: replay the counterexample against the real code, step by step. If a step cannot happen in the code, the verification is wrong. Fix the verification, and say what was wrong. If every step can happen, it is a bug. Name the commit that introduced it, tell the counterexample as a sequence of steps in the code's own words, and state the harm in one sentence. If a cheap test or reproduction against the real code shows the bug, add it to the report as evidence. Do not commit it to the product code.
- Update the verify skill. Update the code that each check covers, the commands, the bounds, the assumptions, and the sync commit. Set the sync commit to the commit that you checked. Do not move the sync commit for a blocked check, and say so in the report. Then follow the verify skill once as the next agent would, so that you know its steps still run.
Report
Tell the user, for each check:
- the outcome, and the commits that you read;
- what changed in the verification and why, with a short reason for each change: the code changed shape, or the promise changed on purpose (with the evidence);
- the rerun result, and the break that you used to show the updated check can still fail;
- each bug, in plain words: the counterexample as steps in the code's words, the harm, and the commit that introduced it;
- what the verification still does not cover, including new code that it should cover and does not.
Say outright which failures were drift in the verification and which were bugs in the code. For a check that passed before you updated it and fails after, say that the old pass was on a stale description.
Put the verification updates in a change of their own, separate from any product fix.
Trending
Steady: 0 new projects took it in the last 4 weeks, none the 4 weeks before.thin data
Who's talking about backnotprop/pstack
- minhnhatnguyen6297-a11y/systemdocs“feat(skills): added pstack interrogate and tdd as omp project skills”GitHub · Oct 30, 2026
- sudosubin/agents.nix“agent-plugins.github.backnotprop.pstack: 23707a3 → 25abb38”GitHub · Oct 29, 2026
- sudosubin/agents.nix“agent-plugins.github.backnotprop.pstack: 0-unstable-2026-10-27 → 0-unstable-2026-10-28”GitHub · Oct 28, 2026
- sudosubin/agents.nix“agent-skills.github.backnotprop.pstack: 0-unstable-2026-10-27 → 0-unstable-2026-10-28”GitHub · Oct 28, 2026
- Djordje-Stojanovic/Sigmaskills“improve: review every pstack skill with the owner for possible Sigma adaptations”GitHub · Oct 27, 2026
The biggest 5 of 49 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 49
Talked about on GitHub and the web (49 times).
On GitHub · 45
- Oct 30, 2026feat(skills): added pstack interrogate and tdd as omp project skills — minhnhatnguyen6297-a11y/systemdocs0 reactions
- Oct 29, 2026agent-plugins.github.backnotprop.pstack: 23707a3 → 25abb38 — sudosubin/agents.nix0 reactions
- Oct 28, 2026agent-plugins.github.backnotprop.pstack: 0-unstable-2026-10-27 → 0-unstable-2026-10-28 — sudosubin/agents.nix0 reactions
- Oct 28, 2026agent-skills.github.backnotprop.pstack: 0-unstable-2026-10-27 → 0-unstable-2026-10-28 — sudosubin/agents.nix0 reactions
- Oct 27, 2026improve: review every pstack skill with the owner for possible Sigma adaptations — Djordje-Stojanovic/Sigmaskills0 reactions
40 more on GitHub
- Oct 27, 2026agent-plugins.github.backnotprop.pstack: 0-unstable-2026-10-26 → 0-unstable-2026-10-27 — sudosubin/agents.nix0 reactions
- Oct 27, 2026agent-skills.github.backnotprop.pstack: 0-unstable-2026-10-25 → 0-unstable-2026-10-27 — sudosubin/agents.nix0 reactions
- Oct 26, 2026agent-plugins.github.backnotprop.pstack: 0-unstable-2026-10-25 → 0-unstable-2026-10-26 — sudosubin/agents.nix0 reactions
- Oct 26, 2026audit: Frontend maintainability, skills and documentation before growth — BlinovDev/rc-setup-hub-fe0 reactions
- Oct 26, 2026audit: Backend architecture, code simplification, skills and docs before growth — BlinovDev/rc-setup-hub0 reactions
- Oct 26, 2026explore: TLA+ checks for task claiming and the merge gate with pstack's create-formal-verification-skill — xiechimon/cairn0 reactions · 1 comment
- Oct 26, 2026agent-plugins.github.backnotprop.pstack: 02b59d7 → fad8d01 — sudosubin/agents.nix0 reactions
- Oct 25, 2026agent-plugins.github.backnotprop.pstack: 0-unstable-2026-10-24 → 0-unstable-2026-10-25 — sudosubin/agents.nix0 reactions
- Oct 25, 2026agent-skills.github.backnotprop.pstack: 0-unstable-2026-10-24 → 0-unstable-2026-10-25 — sudosubin/agents.nix0 reactions
- Oct 25, 2026[Candidate] backnotprop/pstack - large collection (61 SKILL.md files) — ProSkillsMD/proskills0 reactions · 1 comment
- Oct 24, 2026agent-plugins.github.backnotprop.pstack: 0-unstable-2026-10-20 → 0-unstable-2026-10-24 — sudosubin/agents.nix0 reactions
- Oct 24, 2026agent-skills.github.backnotprop.pstack: 0-unstable-2026-10-20 → 0-unstable-2026-10-24 — sudosubin/agents.nix0 reactions
- Oct 23, 2026Can afk-loop pin only pstack's two verification skills, and what do they lack for the loop? — knn90/afk-loop0 reactions · 1 comment
- Oct 23, 2026What verification terms and roles does pstack use? — knn90/afk-loop0 reactions · 1 comment
- Oct 21, 2026Notes: analyse backnotprop/pstack (11 notes) — zelengeo/ai-knowledge0 reactions
- Oct 20, 2026agent-skills.github.backnotprop.pstack: 0-unstable-2026-10-19 → 0-unstable-2026-10-20 — sudosubin/agents.nix0 reactions
- Oct 20, 2026agent-plugins.github.backnotprop.pstack: 0-unstable-2026-10-19 → 0-unstable-2026-10-20 — sudosubin/agents.nix0 reactions
- Oct 19, 2026agent-plugins.github.backnotprop.pstack: 0-unstable-2026-10-15 → 0-unstable-2026-10-19 — sudosubin/agents.nix0 reactions
- Oct 19, 2026agent-skills.github.backnotprop.pstack: 0-unstable-2026-10-15 → 0-unstable-2026-10-19 — sudosubin/agents.nix0 reactions
- Oct 17, 2026[P01-general-tech] 調研 pstack — FATESAIKOU/LearnGhAgent0 reactions · 9 comments
- Oct 17, 2026調研 pstack — FATESAIKOU/LearnGhAgent0 reactions
- Oct 15, 2026agent-plugins.github.backnotprop.pstack: 0-unstable-2026-10-14 → 0-unstable-2026-10-15 — sudosubin/agents.nix0 reactions
- Oct 15, 2026agent-skills.github.backnotprop.pstack: 0-unstable-2026-10-14 → 0-unstable-2026-10-15 — sudosubin/agents.nix0 reactions
- Oct 14, 2026FinishUP 0.3 relaunch: handoff and remaining work (2026-10-14) — TheGaySupreme123/finishup0 reactions · 3 comments
- Oct 14, 2026agent-plugins.github.backnotprop.pstack: 0-unstable-2026-10-12 → 0-unstable-2026-10-14 — sudosubin/agents.nix0 reactions
- Oct 14, 2026agent-skills.github.backnotprop.pstack: 0-unstable-2026-10-04 → 0-unstable-2026-10-14 — sudosubin/agents.nix0 reactions
- Oct 13, 2026agent-plugins.github.backnotprop.pstack: init at 0-unstable-2026-10-12 — sudosubin/agents.nix0 reactions
- Oct 9, 2026idea-loop:docs/design/ 分 tmp / prod,维护产品状态图(页面 / 组件 / 状态 / flow / 动效),设计与验证共用 — guohaonan-shy/harold-skills0 reactions · 2 comments
- Oct 9, 2026Add unslop skill (credit: backnotprop/pstack) — Reybolt/reys-skills0 reactions
- Oct 8, 2026Integrate pstack as a rigor mode for tersio sessions — KurutoDenzeru/tersio0 reactions · 1 comment
- Oct 5, 2026Vendor pstack and run agent work in poteto-mode — 0xboris/invox0 reactions
- Oct 5, 2026Adopt pstack and run agent work in poteto-mode — 0xboris/invox0 reactions
- Oct 5, 2026agent-skills.github.backnotprop.pstack: 0-unstable-2026-09-14 → 0-unstable-2026-10-04 — sudosubin/agents.nix0 reactions
- Oct 2, 2026Add unslop skill from pstack. — seanjennings960/dotfiles0 reactions
- Sep 26, 2026SPEC: Dani-Dex product quality, full-duplex voice, prompt-driven skills and WhatsApp remote control — somdipto/dani-dex0 reactions
- Sep 26, 2026fix(verification): preserve targets across workflow checkpoints — kevinle128/Archon0 reactions
- Sep 25, 2026agent-skills.github.backnotprop.pstack: init at 0-unstable-2026-09-14 — sudosubin/agents.nix0 reactions
- Sep 19, 2026RFC: Agentic Runtime Verification Plane — FAB 5.1 + Wayfinder + CI Fabric — PanagiotisDrakatos/HCE_v33_final_allinone_ready0 reactions · 3 comments
- Aug 31, 2026Write-up: building a toy project with p-stack — dylanferguson/envp0 reactions · 8 comments
- Aug 24, 2026Review unslop: decide invocation mode and trim pattern list — francisko-rezende/skills0 reactions
On the web · 4
- Oct 18, 2026Poteto-Mode คืออะไร ใส่ระเบียบวิศวกรอาวุโสให้ AI เขียนโค้ดได้จริงไหม? — dev.to
- Oct 15, 2026backnotprop/pstack: +595 stars this week | Upstar — upstar.dev
- Sep 22, 2026AI로 구현 속도가 빨라져도 팀은 5배가 되지 않는다. '1인 1PBI' 개발 표준을 진지하게 설계했다|りょう|AI駆動開発 — note.com
- Sep 17, 2026Suhelmangera — linkedin.com
Other versions2 projects use a version of this.
Word for word · 1
- conscientiousness/herdr-pstack-orchestrator★ 1100% same
Edited · 0
None found.
Wrote their own version · 1
- fullerzz/agent-skills★ 2same 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.
- architectSkill
- arenaSkill
- automate-meSkill
- benchmark-checklistSkill
- blast-radiusSkill
- broSkill
- correctSkill
- create-formal-verification-skillSkill
- create-verification-skillSkill
- figure-it-outSkill
- howSkill
- interrogateSkill
- in-your-own-wordsSkill
- ketchupSkill
- ketchup-videoSkill
- maintain-verification-skillSkill
- make-bot-uiSkill
- no-commentsSkill
- poteto-helpSkill
- poteto-modeSkill
- 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
- recallSkill
- reflectSkill
- setup-pstackSkill
- sharpenSkill
- show-me-your-workSkill
- statechartSkill
- swarmSkill
- tddSkill
- teachSkill
- technical-writingSkill
- typescript-best-practicesSkill
- unslopSkill
- whySkill
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.

