[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6KNF44E2DMBV5QFPDQ6NT6D":3,"skill-same:01M6KNF44E2DMBV5QFPDQ6NT6D":66},{"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":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":47,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":50,"ownerDescription":6,"updatedAt":51,"install":52,"resources":65},"01M6KNF44E2DMBV5QFPDQ6NT6D","tools-creusot-extract-spec-prop",null,"Build and maintain a simplified spec-to-proof documentation set for Creusot by extracting properties from component specs, tracking assumptions\u002Ftrusted boundaries, and generating drift\u002Fcoverage reports.","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\u002Feviction-policy-session-lists\u002F.claude\u002Fskills\u002Ftools-creusot-extract-spec-prop\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"tools creusot extract spec prop","Tools","extract","spec","properties","for","path","extracting","proof","name","drift","maintain","build","reports","coverage","tracking","SET","documentation","component","2026-11-10 10:12:30",false,"---\nname: tools-creusot-extract-spec-prop\ndescription: Build and maintain a simplified spec-to-proof documentation set for Creusot by extracting properties from component specs, tracking assumptions\u002Ftrusted boundaries, and generating drift\u002Fcoverage reports.\nargument-hint: \"[component-name or spec-path]\"\n---\n\nUse this skill when specs changed (or may have changed) and you need a clear, low-noise answer to:\n1. What properties should we prove now?\n2. What assumptions\u002Ftrusted points still exist?\n3. What coverage and drift gaps remain?\n\n## Canonical storage and file model\n\nIn-repo folder:\n- `modelling\u002Fcreusot\u002Fcreusot-spec-coverage\u002F`\n\nGreen\u002Flocal mirror:\n- `\u002Fhome\u002Fcornel\u002FPY_AGENT\u002Fcreusot-spec-coverage\u002F`\n\nMaintained source files (human-maintained):\n- `properties_to_prove.md`\n- `assumptions_and_trusted.md`\n- `README.md`\n\nCoverage files (tool-generated\u002Frefreshable):\n- `coverage\u002Fcoverage_report.md`\n- `coverage\u002Fspec_drift_report.md`\n\nHistory archive:\n- `history\u002F` contains previous snapshots and superseded docs.\n\n## Plain-English terminology\n\n- **Global canonical sources**: component `spec.md` and product Rust code.\n- **Properties to prove**: verification-target statements derived from those sources.\n- **Coverage report**: generated view; never the source of truth.\n- **Owner interface**: component interface responsible for implementing\u002Fproving a property.\n- **Stale**: proof\u002Freport item no longer aligned with current code\u002Fspec.\n\n## Required outputs\n\nAlways update:\n1. `properties_to_prove.md`\n2. `assumptions_and_trusted.md`\n3. `coverage\u002Fcoverage_report.md`\n4. `coverage\u002Fspec_drift_report.md`\n\nAlways append\u002Fupdate a short **Document Evolution Summary** section at the end of each report.\n\n## Workflow\n\n### 1) Discover and select component specs\n\nProcess rule:\n- **Automation first** (discover\u002Fscan\u002Fdiff with script), then **manual semantic review**.\n\nRun discovery:\n\n```bash\nfind components -type f \\( -path \"*\u002Fspecs\u002F*\u002Fspec.md\" -o -path \"*\u002F.specify\u002Fspecs\u002F*\u002Fspec.md\" \\) | sort\n```\n\nThen:\n- Identify all candidate specs for the target component(s).\n- Select active spec(s) (typically latest numbered spec folder).\n- Record selected vs ignored specs in `coverage\u002Fspec_drift_report.md`.\n\n### 2) Extract properties-to-prove from selected specs\n\nCreate\u002Fupdate `properties_to_prove.md` with:\n- stable property IDs (`P1..Pn`),\n- plain-English requirement,\n- owner interface,\n- scope marker (`active` vs `legacy` if spec removed workflow).\n\nRules:\n- Preserve IDs when intent is unchanged.\n- Use new ID only for materially new semantics.\n- Never silently drop a property; mark `legacy`\u002F`retired` with reason.\n\n### 3) Assign property ownership by component interface\n\nFor each property, assign primary owner:\n- `IDispatcher`: system-level API behavior and orchestration.\n- `IDispatchMap`: per-entry state machine and map invariants.\n- mark `shared` when both are required, but still choose one primary owner.\n\nAdd a human-readable ownership table to `coverage\u002Fspec_drift_report.md`.\n\n### 4) Refresh assumptions and trusted boundaries\n\nUpdate `assumptions_and_trusted.md`:\n- active assumptions (A1..An),\n- trusted items\u002Flemmas,\n- risk level and impact.\n\nExplain each item in plain English for non-formal-method readers.\n\n### 5) Generate coverage reports\n\n#### `coverage\u002Fspec_drift_report.md`\nMust include:\n- selected spec files,\n- key spec deltas (added\u002Fremoved\u002Fchanged requirements),\n- impacted properties,\n- ownership map by interface,\n- plain-English interpretation.\n\n#### `coverage\u002Fcoverage_report.md`\nMust include:\n- coverage counts,\n- status buckets (`Verified\u002FUnchecked\u002FStale\u002FRetired`),\n- highest-priority gaps,\n- plain-English reading guidance.\n\n### 6) Archive superseded files\n\nMove superseded docs to `history\u002F` instead of deleting.\nAdd a brief note in `history\u002FREADME.md` if the archive changed significantly.\n\n## Validation checklist before finish\n\n- Maintained files exist and are internally consistent.\n- Derived files match maintained sources (no contradictory status text).\n- Every property has an owner interface.\n- Spec drift impacts are explicitly listed (no hidden removals).\n- Each report ends with a Document Evolution Summary.\n\n## Suggested automation hooks\n\nIf `\u002Fhome\u002Fcornel\u002FPY_AGENT\u002Fspec_trace_agent.py` is available, use it for:\n- spec inventory generation,\n- coverage snapshot generation,\n- drift detection assistance.\n\nThen run manual semantic review to:\n- confirm active spec selection,\n- validate property wording and ownership assignment,\n- validate status bucket correctness (`Verified\u002FUnchecked\u002FStale\u002FRetired`).\n\n## Final output format to user\n\nReport:\n1. Which specs were analyzed.\n2. What changed in `properties_to_prove.md`.\n3. What changed in `assumptions_and_trusted.md`.\n4. Coverage\u002Fdrift highlights.\n5. Exact files updated.\n","Use this skill when specs changed (or may have changed) and you need a clear, low-noise answer to:\n1. What properties should we prove now?\n2. What assumptions\u002Ftrusted points still exist?\n3. What coverage and drift gaps remain?\n\n## Canonical storage and file model\n\nIn-repo folder:\n- `modelling\u002Fcreusot\u002Fcreusot-spec-coverage\u002F`\n\nGreen\u002Flocal mirror:\n- `\u002Fhome\u002Fcornel\u002FPY_AGENT\u002Fcreusot-spec-coverage\u002F`\n\nMaintained source files (human-maintained):\n- `properties_to_prove.md`\n- `assumptions_and_trusted.md`\n- `README.md`\n\nCoverage files (tool-generated\u002Frefreshable):\n- `coverage\u002Fcoverage_report.md`\n- `coverage\u002Fspec_drift_report.md`\n\nHistory archive:\n- `history\u002F` contains previous snapshots and superseded docs.\n\n## Plain-English terminology\n\n- **Global canonical sources**: component `spec.md` and product Rust code.\n- **Properties to prove**: verification-target statements derived from those sources.\n- **Coverage report**: generated view; never the source of truth.\n- **Owner interface**: component interface responsible for implementing\u002Fproving a property.\n- **Stale**: proof\u002Freport item no longer aligned with current code\u002Fspec.\n\n## Required outputs\n\nAlways update:\n1. `properties_to_prove.md`\n2. `assumptions_and_trusted.md`\n3. `coverage\u002Fcoverage_report.md`\n4. `coverage\u002Fspec_drift_report.md`\n\nAlways append\u002Fupdate a short **Document Evolution Summary** section at the end of each report.\n\n## Workflow\n\n### 1) Discover and select component specs\n\nProcess rule:\n- **Automation first** (discover\u002Fscan\u002Fdiff with script), then **manual semantic review**.\n\nRun discovery:\n\n```bash\nfind components -type f \\( -path \"*\u002Fspecs\u002F*\u002Fspec.md\" -o -path \"*\u002F.specify\u002Fspecs\u002F*\u002Fspec.md\" \\) | sort\n```\n\nThen:\n- Identify all candidate specs for the target component(s).\n- Select active spec(s) (typically latest numbered spec folder).\n- Record selected vs ignored specs in `coverage\u002Fspec_drift_report.md`.\n\n### 2) Extract properties-to-prove from selected specs\n\nCreate\u002Fupdate `properties_to_prove.md` with:\n- stable property IDs (`P1..Pn`),\n- plain-English requirement,\n- owner interface,\n- scope marker (`active` vs `legacy` if spec removed workflow).\n\nRules:\n- Preserve IDs when intent is unchanged.\n- Use new ID only for materially new semantics.\n- Never silently drop a property; mark `legacy`\u002F`retired` with reason.\n\n### 3) Assign property ownership by component interface\n\nFor each property, assign primary owner:\n- `IDispatcher`: system-level API behavior and orchestration.\n- `IDispatchMap`: per-entry state machine and map invariants.\n- mark `shared` when both are required, but still choose one primary owner.\n\nAdd a human-readable ownership table to `coverage\u002Fspec_drift_report.md`.\n\n### 4) Refresh assumptions and trusted boundaries\n\nUpdate `assumptions_and_trusted.md`:\n- active assumptions (A1..An),\n- trusted items\u002Flemmas,\n- risk level and impact.\n\nExplain each item in plain English for non-formal-method readers.\n\n### 5) Generate coverage reports\n\n#### `coverage\u002Fspec_drift_report.md`\nMust include:\n- selected spec files,\n- key spec deltas (added\u002Fremoved\u002Fchanged requirements),\n- impacted properties,\n- ownership map by interface,\n- plain-English interpretation.\n\n#### `coverage\u002Fcoverage_report.md`\nMust include:\n- coverage counts,\n- status buckets (`Verified\u002FUnchecked\u002FStale\u002FRetired`),\n- highest-priority gaps,\n- plain-English reading guidance.\n\n### 6) Archive superseded files\n\nMove superseded docs to `history\u002F` instead of deleting.\nAdd a brief note in `history\u002FREADME.md` if the archive changed significantly.\n\n## Validation checklist before finish\n\n- Maintained files exist and are internally consistent.\n- Derived files match maintained sources (no contradictory status text).\n- Every property has an owner interface.\n- Spec drift impacts are explicitly listed (no hidden removals).\n- Each report ends with a Document Evolution Summary.\n\n## Suggested automation hooks\n\nIf `\u002Fhome\u002Fcornel\u002FPY_AGENT\u002Fspec_trace_agent.py` is available, use it for:\n- spec inventory generation,\n- coverage snapshot generation,\n- drift detection assistance.\n\nThen run manual semantic review to:\n- confirm active spec selection,\n- validate property wording and ownership assignment,\n- validate status bucket correctness (`Verified\u002FUnchecked\u002FStale\u002FRetired`).\n\n## Final output format to user\n\nReport:\n1. Which specs were analyzed.\n2. What changed in `properties_to_prove.md`.\n3. What changed in `assumptions_and_trusted.md`.\n4. Coverage\u002Fdrift highlights.\n5. Exact files updated.\n",{"name":5,"description":7,"argument-hint":43},"[component-name or spec-path]","unstable","dc564aa356769b7754391c9fa4fdaa0f179f476c","components\u002Feviction-policy-session-lists\u002F.claude\u002Fskills\u002Ftools-creusot-extract-spec-prop",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":53,"prompt":63,"zipAvailable":64},[54,57,60],{"tool":55,"command":56},"npx","npx skills add AI-native-Systems-Research\u002Fai-native-storage-certus --skill tools-creusot-extract-spec-prop",{"tool":58,"command":59},"bunx","bunx skills add AI-native-Systems-Research\u002Fai-native-storage-certus --skill tools-creusot-extract-spec-prop",{"tool":61,"command":62},"pnpm","pnpm dlx skills add AI-native-Systems-Research\u002Fai-native-storage-certus --skill tools-creusot-extract-spec-prop","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FAI-native-Systems-Research\u002Fai-native-storage-certus\u002Fblob\u002Funstable\u002Fcomponents\u002Feviction-policy-session-lists\u002F.claude\u002Fskills\u002Ftools-creusot-extract-spec-prop\u002FSKILL.md",true,[],[67,84,99,110,127,139],{"skillNo":68,"name":69,"nameZh":6,"description":70,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":71,"categories":72,"keywords":73,"publishedAt":38},"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",[],[74,20,75,76,77,78,79,28,80,81,82,83],"tools spin sync","sync","code","verify","model","models","with","re","source","source code",{"skillNo":85,"name":86,"nameZh":6,"description":87,"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":38},"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",[],[91,78,20,92,93,94,24,95,96,97,98],"tools spin model","system","formal verification","number","prove","new","create","verification",{"skillNo":100,"name":101,"nameZh":6,"description":102,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":103,"categories":104,"keywords":105,"publishedAt":38},"01M6KP250W406CEDSF02BRXT9D","tools-creusot-install","Install the Creusot Rust verification tool","https:\u002F\u002Fgithub.com\u002FAI-native-Systems-Research\u002Fai-native-storage-certus\u002Fblob\u002Funstable\u002Fcomponents\u002Fzyre\u002F.claude\u002Fskills\u002Ftools-creusot-install\u002FSKILL.md",[],[106,107,20,108,98,109],"tools creusot install","install","rust","tool",{"skillNo":111,"name":112,"nameZh":6,"description":113,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":114,"categories":115,"keywords":116,"publishedAt":38},"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",[],[117,20,118,119,120,121,122,98,123,93,124,125,126],"tools creusot init","init","project","directory","components","prepare","use","cargo","manager","Existing",{"skillNo":128,"name":129,"nameZh":6,"description":130,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":131,"categories":132,"keywords":133,"publishedAt":38},"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",[],[134,135,107,20,24,126,136,137,98,138],"tools creusot coq install","Coq","as","installation","add",{"skillNo":140,"name":141,"nameZh":6,"description":142,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":143,"categories":144,"keywords":145,"publishedAt":38},"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",[],[20,146,147,80,28,23,77,37,148],"tools creusot annotate interfaces","annotate","interface"]