create-formal-verification-skill
Create a project-local formal verification skill for a high-risk property that tests rarely reach.
Skill by JacobStephens2
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/jacobstephens2-create-formal-verification-skill
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/create-formal-verification-skill
What's inside
- Skill name
create-formal-verification-skill- Description
- Create a project-local formal verification skill for a high-risk property that tests rarely reach.
- License
- MIT
- Instructions
- 46 lines in SKILL.md · view on GitHub
Files (2)
- LICENSE
- SKILL.md
SKILL.md (first lines)
# Create a formal verification skill Imported from [Cursor pstack](https://github.com/cursor/plugins/blob/eb4db2b55b2b7dec3d9282754cddf0a56bf4ff10/pstack/skills/create-formal-verification-skill/SKILL.md) at `eb4db2b55b2b7dec3d9282754cddf0a56bf4ff10`; [MIT license](LICENSE). Local adaptation: use the repository's GLOSSARY, ADRs and domain-to-code index. For Pickup, maintain [verify-pickup](../verify-pickup/SKILL.md): issue #881 chose pinned Stateright under `cargo test`, with TLA+/TLC reserved for a later liveness target. Keep repository skills here, separate from Factory `skills/`. Use model mutations for sensitivity evidence when product edits are outside the task; document the connection to the corresponding source edit. A test checks the cases that someone thought to write. Formal verification checks every case in a stated scope: every order of steps in a model, every input up to a bound, or every input. This skill finds the part of the repo where that matters most, verifies one property of it, and leaves a project-local skill that lets the next agent check a change against that property. Write that skill for an agent who reads it cold, mid-change, and has never seen your work. The user must be able to trust the result and act on it without learning the verification language. ## Choose the target from the code Answer from the codebase, and ask the user only what you cannot observe. If the user named an area or a bug, start there. A good target is a promise the code makes, where a break harms users and tests rarely reach the case that breaks it. Choose the strongest such target in the repo, not the one that is easiest to verify. ## Let the question choose the tool Pick the tool that answers the question at the lowest cost: a model checker, a proof assistant, an SMT-backed verifier, or another tool. Whether events can happen in a bad order usually suits a model checker over a small model of the design, and TLA+ is the default for that in any language. Whether the code itself behaves for every input, as with memory safety, overflow, or a data-structure invariant, usually suits a verifier that runs on the code. If no verifier runs on this language, say so, and test the real code with generated inputs, not a hand model of the function. A property that must hold at every size, where a bound is not enough, can need a proof. Prefer a tool that the repo's developers can install and run, and tell the user why you chose it. ## What makes it good - **True to the code.** Every part of the model or proof points to code that a reviewer can open. What the verification treats as one indivisible step is one indivisible step in the code. Names come from this repo. - **Able to fail.** A check that you have never seen fail proves nothing. Show each property failing on a broken variant of the code it guards, such as a removed check or a reordered step. - **Findings stay findings.** When the current code breaks the property, report it with the counterexample in the code's terms. Do not weaken the property or the model until it passes, and do not change product code unless the user asks. - **Honest about scope.** Say what is verified, under which bounds and assumptions, and what is left out. A pass covers the model or the bound, not the whole system. - **Readable without the tool.** State the property and the harm in one plain sentence each. Tell a counterexample as a short sequence of steps in the code's words. - **Cheap to rerun.** One command, a reproducible tool version, and a run short enough that the next agent will use it on every relevant change. - **Kept in step with the code.** Record which files and functions each check covers, and the commit at which you last confirmed that the verification describes them. When the covered code changes after that commit, the next agent can see that the verification needs another look. ## Generate the verify skill Write a project-local skill with frontmatter that names the area and says when to use it. Without frontmatter, the skill never registers. From the skill alone, the next agent must be able to tell whether a change touches the verified code, run the check, tell a real bug from a modeling error, and update the verification when a change is intended. Put the coverage record and the sync commit in the skill, and tell the next agent to move the sync commit forward only after it confirms that the verification describes the code at the new commit. Use this repo's real commands, paths, and nouns, and leave no placeholders. ## Prove it before you hand off Follow the generated skill once, as the next agent would, on a scratch change that breaks the property in the real code. It must catch the break. Then drop the scratch change and confirm that the check is back where it started: passing, or failing only on the findings you will report. A verify skill that was never run is a draft. If the skill misses the break or a step does not run, fix the skill or the verification, not the scratch change. ## Hand off Tell the user what you verified, which tool you used and why, the bounds, what the check found in plain words, how to run it, and what it does not cover. Suggest a second target only if you found a close one. Point the user at `/maintain-formal-verification-skill` for bringing the verification back in line after changes that did not recheck it.
From JacobStephens2/thirdshift, MIT.
More from JacobStephens2/thirdshift
- 0.565score
explainer-video
JacobStephens2
Make narrated, animated explainer videos.
SkillAFreshness: AClaude Code +9 - 0.558score
maintain-formal-verification-skill
JacobStephens2
Resync formal verification after covered code changes and distinguish model drift from product bugs.
SkillAFreshness: AClaude Code +9 - 0.539score
codebase-design
JacobStephens2
Shared vocabulary for designing deep modules.
SkillAFreshness: AClaude Code +9 - 0.539score
domain-modeling
JacobStephens2
Build and sharpen a project's domain model.
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 123
- Last commit (this folder)
- Oct 22, 2026 (6 days ago)
- Last release
- Oct 24, 2026 (4 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/JacobStephens2/thirdshift
- Website
- thirdshift.app
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from JacobStephens2
- 0.565score
explainer-video
JacobStephens2
Make narrated, animated explainer videos.
SkillAFreshness: AClaude Code +9 - 0.558score
maintain-formal-verification-skill
JacobStephens2
Resync formal verification after covered code changes and distinguish model drift from product bugs.
SkillAFreshness: AClaude Code +9 - 0.539score
codebase-design
JacobStephens2
Shared vocabulary for designing deep modules.
SkillAFreshness: AClaude Code +9 - 0.539score
domain-modeling
JacobStephens2
Build and sharpen a project's domain model.
SkillAFreshness: AClaude Code +9 - 0.522score
prototype
JacobStephens2
Build a throwaway prototype to answer a design question.
SkillBFreshness: B★ 1Claude Code +9 - 0.522score
domain-modeling
JacobStephens2
Build and sharpen a project's domain model.
SkillBFreshness: B★ 1Claude Code +9
Cite this page
create-formal-verification-skill. Agent Mart. https://agentmart.dev/skills/jacobstephens2-create-formal-verification-skill (last updated 2026-10-24)