[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6KMF2SNFTC30C0E1TKXJR5M":3,"skill-same:01M6KMF2SNFTC30C0E1TKXJR5M":52},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":25,"linkOnly":26,"markdownContent":27,"markdownBody":28,"frontMatter":29,"refName":30,"commitSha":31,"skillDirectory":32,"forksCount":33,"repositoryHtmlUrl":34,"repositoryHomepageUrl":6,"ownerHtmlUrl":35,"ownerBlogUrl":36,"ownerDescription":6,"updatedAt":37,"install":38,"resources":51},"01M6KMF2SNFTC30C0E1TKXJR5M","tools-creusot-install",null,"Install the Creusot Rust verification tool","AI-native-Systems-Research\u002Fai-native-storage-certus","AI-native-Systems-Research","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F270755458?v=4","01M6KKQWSJX0D4X33E0KKSR4WM","AI-native Systems Research","01M6KKQWXTKR6MYVQMPKVJ5WD5",3,"Apache-2.0","https:\u002F\u002Fgithub.com\u002FAI-native-Systems-Research\u002Fai-native-storage-certus\u002Fblob\u002Funstable\u002Fcomponents\u002Fblock-device-filesys\u002F.claude\u002Fskills\u002Ftools-creusot-install\u002FSKILL.md",[],[19,20,21,22,23,24],"Tools","install","tools creusot install","rust","verification","tool","2026-11-10 10:12:30",false,"---\nname: tools-creusot-install\ndescription: Install the Creusot Rust verification tool\n---\n\nThis skill should not need sudo privileges.\n\n## Prerequisites (must already be installed)\n- curl\n- Rust toolchain (rustup\u002Fcargo)\n- opam (initialized with `opam init`)\n- pip\n\nIf any prerequisite is missing, inform the user and stop.\n\n## Installation Steps\n\n1. Install z3-solver via pip if not already present:\n   ```\n   pip install z3-solver\n   ```\n\n2. Clone the Creusot repo into `tools\u002Fcreusot\u002Fcreusot` (if not already cloned):\n   ```\n   git clone https:\u002F\u002Fgithub.com\u002Fcreusot-rs\u002Fcreusot tools\u002Fcreusot\u002Fcreusot\n   ```\n\n3. Run the install script with `--external z3` (uses the pip-installed z3):\n   ```\n   cd tools\u002Fcreusot\u002Fcreusot && .\u002FINSTALL --external z3\n   ```\n   This installs cargo-creusot, creusot-rustc, Why3, why3find, Alt-Ergo, CVC4, and CVC5.\n\n4. Fix why3find package resolution (required for proof discharge):\n   ```\n   mkdir -p ~\u002F.local\u002Fshare\u002Fcreusot\u002F_opam\u002Flib\u002Fwhy3find\u002Fpackages\n   ln -sf ~\u002F.local\u002Fshare\u002Fcreusot\u002Fshare\u002Fwhy3find\u002Fpackages\u002Fcreusot \\\n          ~\u002F.local\u002Fshare\u002Fcreusot\u002F_opam\u002Flib\u002Fwhy3find\u002Fpackages\u002Fcreusot\n   ```\n\n5. Add Creusot bin path to `~\u002F.bash_profile`:\n   ```\n   export PATH=\"$HOME\u002F.local\u002Fshare\u002Fcreusot\u002Fbin:$PATH\"\n   ```\n\n6. Verify installation using the bundled test example:\n   - Run `cargo creusot version` — should show version info for all components\n   - Build and prove the test example:\n     ```\n     cd tools\u002Fcreusot\u002Fcreusot-test-example\n     cargo clean\n     cargo creusot\n     ```\n   - Confirm output shows `Proved (4 files) ✔`\n   - Note: `cargo clean` is required before the first `cargo creusot` run if `cargo build`\n     was previously executed (stale artifacts block the Creusot translation pass)\n\n## Notes\n- Z3 4.16.0 (from pip) is newer than the recommended 4.15 — produces a warning but works fine.\n- The `--external z3` flag tells Creusot to use the system z3 rather than downloading its own.\n- For proofs that SMT solvers cannot discharge (e.g. modular arithmetic with variable\n  divisors), Coq can be added as an additional prover — see `tools-creusot-coq-install`.\n","This skill should not need sudo privileges.\n\n## Prerequisites (must already be installed)\n- curl\n- Rust toolchain (rustup\u002Fcargo)\n- opam (initialized with `opam init`)\n- pip\n\nIf any prerequisite is missing, inform the user and stop.\n\n## Installation Steps\n\n1. Install z3-solver via pip if not already present:\n   ```\n   pip install z3-solver\n   ```\n\n2. Clone the Creusot repo into `tools\u002Fcreusot\u002Fcreusot` (if not already cloned):\n   ```\n   git clone https:\u002F\u002Fgithub.com\u002Fcreusot-rs\u002Fcreusot tools\u002Fcreusot\u002Fcreusot\n   ```\n\n3. Run the install script with `--external z3` (uses the pip-installed z3):\n   ```\n   cd tools\u002Fcreusot\u002Fcreusot && .\u002FINSTALL --external z3\n   ```\n   This installs cargo-creusot, creusot-rustc, Why3, why3find, Alt-Ergo, CVC4, and CVC5.\n\n4. Fix why3find package resolution (required for proof discharge):\n   ```\n   mkdir -p ~\u002F.local\u002Fshare\u002Fcreusot\u002F_opam\u002Flib\u002Fwhy3find\u002Fpackages\n   ln -sf ~\u002F.local\u002Fshare\u002Fcreusot\u002Fshare\u002Fwhy3find\u002Fpackages\u002Fcreusot \\\n          ~\u002F.local\u002Fshare\u002Fcreusot\u002F_opam\u002Flib\u002Fwhy3find\u002Fpackages\u002Fcreusot\n   ```\n\n5. Add Creusot bin path to `~\u002F.bash_profile`:\n   ```\n   export PATH=\"$HOME\u002F.local\u002Fshare\u002Fcreusot\u002Fbin:$PATH\"\n   ```\n\n6. Verify installation using the bundled test example:\n   - Run `cargo creusot version` — should show version info for all components\n   - Build and prove the test example:\n     ```\n     cd tools\u002Fcreusot\u002Fcreusot-test-example\n     cargo clean\n     cargo creusot\n     ```\n   - Confirm output shows `Proved (4 files) ✔`\n   - Note: `cargo clean` is required before the first `cargo creusot` run if `cargo build`\n     was previously executed (stale artifacts block the Creusot translation pass)\n\n## Notes\n- Z3 4.16.0 (from pip) is newer than the recommended 4.15 — produces a warning but works fine.\n- The `--external z3` flag tells Creusot to use the system z3 rather than downloading its own.\n- For proofs that SMT solvers cannot discharge (e.g. modular arithmetic with variable\n  divisors), Coq can be added as an additional prover — see `tools-creusot-coq-install`.\n",{"name":5,"description":7},"unstable","dc564aa356769b7754391c9fa4fdaa0f179f476c","components\u002Fblock-device-filesys\u002F.claude\u002Fskills\u002Ftools-creusot-install",4,"https:\u002F\u002Fgithub.com\u002FAI-native-Systems-Research\u002Fai-native-storage-certus","https:\u002F\u002Fgithub.com\u002FAI-native-Systems-Research","https:\u002F\u002Fai-native-systems-research.github.io\u002Fai-native-systems-research\u002F","2026-11-12 06:08:32",{"source":8,"skillName":5,"commands":39,"prompt":49,"zipAvailable":50},[40,43,46],{"tool":41,"command":42},"npx","npx skills add AI-native-Systems-Research\u002Fai-native-storage-certus --skill tools-creusot-install",{"tool":44,"command":45},"bunx","bunx skills add AI-native-Systems-Research\u002Fai-native-storage-certus --skill tools-creusot-install",{"tool":47,"command":48},"pnpm","pnpm dlx skills add AI-native-Systems-Research\u002Fai-native-storage-certus --skill tools-creusot-install","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FAI-native-Systems-Research\u002Fai-native-storage-certus\u002Fblob\u002Funstable\u002Fcomponents\u002Fblock-device-filesys\u002F.claude\u002Fskills\u002Ftools-creusot-install\u002FSKILL.md",true,[],[53,71,86,91,108,120],{"skillNo":54,"name":55,"nameZh":6,"description":56,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":57,"categories":58,"keywords":59,"publishedAt":25},"01M6KP29TWSNGADF3AJ47BR7TY","tools-spin-sync","Synchronize Spin\u002FPromela models with current source code and re-verify","https:\u002F\u002Fgithub.com\u002FAI-native-Systems-Research\u002Fai-native-storage-certus\u002Fblob\u002Funstable\u002Fcomponents\u002Fzyre\u002F.claude\u002Fskills\u002Ftools-spin-sync\u002FSKILL.md",[],[60,19,61,62,63,64,65,66,67,68,69,70],"tools spin sync","sync","code","verify","model","models","name","with","re","source","source code",{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":77,"publishedAt":25},"01M6KP277TDY3ZAJEBP5P6MDT8","tools-spin-model","Create a new Spin\u002FPromela formal verification model for a system property","https:\u002F\u002Fgithub.com\u002FAI-native-Systems-Research\u002Fai-native-storage-certus\u002Fblob\u002Funstable\u002Fcomponents\u002Fzyre\u002F.claude\u002Fskills\u002Ftools-spin-model\u002FSKILL.md",[],[78,64,19,79,80,81,82,83,84,85,23],"tools spin model","system","formal verification","number","for","prove","new","create",{"skillNo":87,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":88,"categories":89,"keywords":90,"publishedAt":25},"01M6KP250W406CEDSF02BRXT9D","https:\u002F\u002Fgithub.com\u002FAI-native-Systems-Research\u002Fai-native-storage-certus\u002Fblob\u002Funstable\u002Fcomponents\u002Fzyre\u002F.claude\u002Fskills\u002Ftools-creusot-install\u002FSKILL.md",[],[21,20,19,22,23,24],{"skillNo":92,"name":93,"nameZh":6,"description":94,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":97,"publishedAt":25},"01M6KP22H28FQ1X0V7VJHEFWXD","tools-creusot-init","Prepare an existing Cargo project to use Creusot formal verification","https:\u002F\u002Fgithub.com\u002FAI-native-Systems-Research\u002Fai-native-storage-certus\u002Fblob\u002Funstable\u002Fcomponents\u002Fzyre\u002F.claude\u002Fskills\u002Ftools-creusot-init\u002FSKILL.md",[],[98,19,99,100,101,102,103,23,104,80,105,106,107],"tools creusot init","init","project","directory","components","prepare","use","cargo","manager","Existing",{"skillNo":109,"name":110,"nameZh":6,"description":111,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":112,"categories":113,"keywords":114,"publishedAt":25},"01M6KP1V506J9YM8DKKVDG1NRE","tools-creusot-coq-install","Add Coq 8.20 as an additional prover to an existing Creusot installation, for verification conditions that SMT solvers cannot discharge","https:\u002F\u002Fgithub.com\u002FAI-native-Systems-Research\u002Fai-native-storage-certus\u002Fblob\u002Funstable\u002Fcomponents\u002Fzyre\u002F.claude\u002Fskills\u002Ftools-creusot-coq-install\u002FSKILL.md",[],[115,116,20,19,82,107,117,118,23,119],"tools creusot coq install","Coq","as","installation","add",{"skillNo":121,"name":122,"nameZh":6,"description":123,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":126,"publishedAt":25},"01M6KP1PQJF3H765TYZAZ7P3EF","tools-creusot-annotate-interfaces","Formally verify a component's properties with Creusot and annotate its interface definitions","https:\u002F\u002Fgithub.com\u002FAI-native-Systems-Research\u002Fai-native-storage-certus\u002Fblob\u002Funstable\u002Fcomponents\u002Fzyre\u002F.claude\u002Fskills\u002Ftools-creusot-annotate-interfaces\u002FSKILL.md",[],[19,127,128,67,66,129,63,130,131],"tools creusot annotate interfaces","annotate","properties","component","interface"]