midspiral/lemmafit/lemmafit-spec
Claude Code and agent skill by midspiral/lemmafit
- community
Checking that the SKILL.md file is still in the repository.
Lemmafit development workflow for managing SPEC.yaml and Dafny specifications. Use when the user describes a new feature, asks to add or update features or specs, or when spec changes need to be addressed. Handles SPEC.yaml entries, Dafny code sync, and spec queue processing. Follow these instructions whenever your workflow touches the spec.yaml file
Install
npx vskill@latest install midspiral/lemmafit/lemmafit-specSKILL.md
Lemmafit Spec
Instructions
- When the user describes an app, a requirement, or a new feature, add entries to SPEC.yaml first
- Then write Dafny specs that formalize entries where
verifiable: true - Mark UI-only or non-provable entries as
verifiable: false, status: trusted - Keep SPEC.yaml in sync with Dafny code — if you change one, update the other
- When the user edits SPEC.yaml directly, you will be notified via the daemon — update code to match
RULES YOU MUST FOLLOW
- ALL logic-related and state machine entries must be set as
verifiable: true - ONLY EXCEPTIONS: API calls, parsing, and any other external effect
Checking for Spec Changes
At the start of every conversation, read .vibe/status.json. If specQueue has items, these are spec changes that haven't been addressed yet. Each item has a type (added or removed) and the text. Added items include a line number in the current SPEC.yaml. Update Dafny code and/or React code to reflect these requirements before doing anything else.
The queue auto-clears when you write .dfy files and verification passes. For trusted-only changes, writing SPEC.yaml with updated tags will also clear the queue.
Prove strong properties about your program, both generic and domain-specific. Example: proving the Replay kernel StepPreservesInv (after Normalization) is a weak property. Try to prove that applying more specific actions results in desired properties (e.g. Inv even without Normalization)
Every SPEC.yaml entry with type: postcondition and verifiable: true MUST have a corresponding lemma in Dafny with an ensures clause that matches the property field. Invariant-only proofs are NOT sufficient for postcondition entries.
Format
SPEC.yaml is a structured YAML file with an entries list. Each entry has:
id— unique spec ID (e.g.spec-001)req_id— linked requirement ID (ornull)title— human-readable description of the propertygroup— logical grouping (e.g. Business Logic, Presentation, Data, Utils)layer— architecture layer (logic,presentation,state,data,utils)type— property type (invariant,postcondition,precondition,datatype,function,constraint)property— formal property expression. MUST be quoted if it contains special characters (:,>,!,#,{,},[,],,,&,*,?,|,-,=). When in doubt, always quote with double quotes.module— target Dafny module (ornullfor non-verifiable)depends_on— list of spec IDs this entry depends onverifiable— whether this can be proven in Dafnyguarantee_type—verified,assumed, ortrustedstate-DRAFT,ADDRESSED,null— only useADDRESSEDif the corresponding Dafny module or property have been verified. Usenullforverifiable: false
Example
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/lemmafit-spec/SKILL.md
Popularity
- Repository stars
- 52
- Repository forks
- 3
- 7-day trend score
- 20
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/midspiral/lemmafit/lemmafit-spec)