[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DCWPVKX3NPW3R2D7K9QCPD":3,"skill-same:01M6DCWPVKX3NPW3R2D7K9QCPD":50},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":25,"linkOnly":26,"markdownContent":27,"markdownBody":28,"frontMatter":29,"refName":30,"commitSha":31,"skillDirectory":32,"forksCount":13,"repositoryHtmlUrl":33,"repositoryHomepageUrl":6,"ownerHtmlUrl":34,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":35,"install":36,"resources":49},"01M6DCWPVKX3NPW3R2D7K9QCPD","refactor-equivalence",null,"Prekzursil\u002Fagent-skills-toolchain","Prekzursil","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F54636077?v=4","01M6DACZ1PCQHD99SCR1YXG28B","Andrei Mihai Visalon","01M6DACZ670WZF535V3WYYSS4Z",0,"MIT","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Fplatform\u002Frouting\u002Ffixtures\u002Fhome\u002F.agents\u002Fskills\u002Frefactor-equivalence\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000007","代码审查","SCENARIO","使用场景",[23,24],"refactor","refactor equivalence","2026-11-10 10:12:30",false,"---\nname: refactor-equivalence\ndescription: Use when a change CLAIMS to be a pure\u002Fdeterministic refactor — \"same behavior, cleaner code\", \"no functional change\", \"just simplified this\", extract-method, inline, rewrite a helper — and you want an EXTERNAL proof (not the author's opinion) that old and new are actually equivalent. CrossHair `diffbehavior` uses Z3 to search for a concrete input where old_fn(x) != new_fn(x); if none exists across all paths, the refactor is likely sound. A Hypothesis differential test is the fallback when CrossHair can't symbolically execute the function (C extensions, unsupported types, timeouts). Scoped to PURE, DETERMINISTIC functions only (no I\u002FO, no globals, no clock\u002Frandom\u002Fnetwork). NOT for behavior-CHANGING edits, not a general test runner (use smallest-check-ladder), not for non-Python. Advisory\u002Fshadow: it reports a counterexample, it never blocks.\n---\n\n# Refactor-Equivalence (CrossHair diffbehavior + Hypothesis fallback)\n\nAn agent asserting \"this refactor is behavior-preserving\" is the weakest kind of verifier — it is grading its own work. This skill replaces the assertion with an **external, symbolic proof**: CrossHair's `diffbehavior` drives Z3 to hunt for a concrete input where the old and new implementations diverge. Find one → the \"pure refactor\" is a silent behavior change; find none across all explored paths → high confidence the refactor is sound.\n\nThis is the differential (two-function) counterpart to the cosmetic-patch tripwire (which proves a change *cannot* alter behavior at the bytecode level). Use this when the code genuinely changed but is *claimed* semantically identical.\n\nEvidence: MASTER decision-queue A-Tier2 (CrossHair `diffbehavior`), `agentic-repair-2 #5`, `general 4f` — REC: ADOPT, verified.\n\n## When to run\n- A diff is described as a **pure \u002F deterministic refactor**: \"same output\", \"no functional change\", \"just cleaner\", extract\u002Finline, rewrite a pure helper, simplify a branch.\n- During VALIDATE for a work-unit whose acceptance is \"behavior unchanged\".\n- Before trusting an agent-authored refactor of a **pure** function (arithmetic, string\u002Fcollection transforms, parsers, clamps, comparators, encoders).\n\n## Scope guard (READ FIRST — false results otherwise)\n`diffbehavior` only reasons about **pure, deterministic** functions. It will give misleading or unstable answers if the function:\n- does I\u002FO, touches the filesystem\u002Fnetwork, or logs;\n\n### Protocol\n### 1. Make old and new both importable\n### 2. Run the symbolic diff (primary rail)\n### in a Python 3.12 venv with:  pip install crosshair-tool\n### tuning knobs when needed:\n### --per_condition_timeout=\u003Csec>   cap Z3 time per path (raise for hard fns)\n### --per_path_timeout=\u003Csec>\n### 3. Hypothesis differential fallback (when CrossHair can't)\n### 4. Report (advisory \u002F shadow — never blocks)\n### Why symbolic beats \"I re-read it and it looks the same\"\n### Verified (this machine)\n","# Refactor-Equivalence (CrossHair diffbehavior + Hypothesis fallback)\n\nAn agent asserting \"this refactor is behavior-preserving\" is the weakest kind of verifier — it is grading its own work. This skill replaces the assertion with an **external, symbolic proof**: CrossHair's `diffbehavior` drives Z3 to hunt for a concrete input where the old and new implementations diverge. Find one → the \"pure refactor\" is a silent behavior change; find none across all explored paths → high confidence the refactor is sound.\n\nThis is the differential (two-function) counterpart to the cosmetic-patch tripwire (which proves a change *cannot* alter behavior at the bytecode level). Use this when the code genuinely changed but is *claimed* semantically identical.\n\nEvidence: MASTER decision-queue A-Tier2 (CrossHair `diffbehavior`), `agentic-repair-2 #5`, `general 4f` — REC: ADOPT, verified.\n\n## When to run\n- A diff is described as a **pure \u002F deterministic refactor**: \"same output\", \"no functional change\", \"just cleaner\", extract\u002Finline, rewrite a pure helper, simplify a branch.\n- During VALIDATE for a work-unit whose acceptance is \"behavior unchanged\".\n- Before trusting an agent-authored refactor of a **pure** function (arithmetic, string\u002Fcollection transforms, parsers, clamps, comparators, encoders).\n\n## Scope guard (READ FIRST — false results otherwise)\n`diffbehavior` only reasons about **pure, deterministic** functions. It will give misleading or unstable answers if the function:\n- does I\u002FO, touches the filesystem\u002Fnetwork, or logs;\n\n### Protocol\n### 1. Make old and new both importable\n### 2. Run the symbolic diff (primary rail)\n### in a Python 3.12 venv with:  pip install crosshair-tool\n### tuning knobs when needed:\n### --per_condition_timeout=\u003Csec>   cap Z3 time per path (raise for hard fns)\n### --per_path_timeout=\u003Csec>\n### 3. Hypothesis differential fallback (when CrossHair can't)\n### 4. Report (advisory \u002F shadow — never blocks)\n### Why symbolic beats \"I re-read it and it looks the same\"\n### Verified (this machine)\n",{},"main","a298c929b6cbd662e1fce54302ce520d5ceea1a5","platform\u002Frouting\u002Ffixtures\u002Fhome\u002F.agents\u002Fskills\u002Frefactor-equivalence","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain","https:\u002F\u002Fgithub.com\u002FPrekzursil","2026-11-02 14:30:57",{"source":7,"skillName":5,"commands":37,"prompt":47,"zipAvailable":48},[38,41,44],{"tool":39,"command":40},"npx","npx skills add Prekzursil\u002Fagent-skills-toolchain --skill refactor-equivalence",{"tool":42,"command":43},"bunx","bunx skills add Prekzursil\u002Fagent-skills-toolchain --skill refactor-equivalence",{"tool":45,"command":46},"pnpm","pnpm dlx skills add Prekzursil\u002Fagent-skills-toolchain --skill refactor-equivalence","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Fplatform\u002Frouting\u002Ffixtures\u002Fhome\u002F.agents\u002Fskills\u002Frefactor-equivalence\u002FSKILL.md",true,[],[51,73,102,129,143,159],{"skillNo":52,"name":53,"nameZh":6,"description":54,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":55,"categories":56,"keywords":57,"publishedAt":25},"01M6DF7D7478R55P46REYH4QAC","clarify-requirements","Resolve genuine pre-execution ambiguity by scanning repo context, generating 1-6 grounded options, and asking 1-3 focused questions via AskUserQuestion. NOT for mid-task use (injection risk); NOT when the goal is already unambiguous; use to disambiguate vague prompts before any file edits.","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Fworkspace-hooks\u002Fskills\u002Fclarify-requirements\u002FSKILL.md",[],[58,59,60,61,62,63,64,65,66,67,68,69,70,71,72],"clarify requirements","clarify","requirements","risk","options","task","prompts","goal","scanning","use","context","repo","injection","execution","file",{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":82,"publishedAt":25},"01M6DF79CA4BHJS66J8EZDBPWJ","openmm-md","Run FREE, open-source, Windows-native GPU molecular dynamics via the openmm-md MCP (OpenMM + CUDA on the local NVIDIA GPU). Use for protein \u002F protein-ligand MD when you want a free stack or are on Windows without a Schrodinger license. Covers the full workflow (prepare, solvate, minimize, equilibrate, production, analyze, mmgbsa) AND an honest decision guide vs Schrodinger Desmond, including how to run Desmond legitimately on Linux or a cloud GPU with a real license. This is a deliberately LESSER free alternative and does NOT replace the schrodinger MCP tools. Do NOT use it to pick a free tool when a validated FEP+, WaterMap, IFD-MD, or Prime MM-GBSA result is actually required.","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Fmcp\u002Fopenmm-md-mcp\u002Fskill\u002Fopenmm-md\u002FSKILL.md",[79],{"categoryNo":80,"categoryName":81,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[83,84,85,86,87,88,89,90,91,92,93,94,95,96,67,97,98,99,100,101],"openmm md","how","decision","pick","linux","analyze","tool","stack","open","NVIDIA","gpu","license","workflow","windows","free","molecular dynamics","local","do","MCP",{"skillNo":103,"name":104,"nameZh":6,"description":105,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":114,"publishedAt":25},"01M6DF76C1MG85VEWP8VZCBNMN","visual-review","Take screenshots of web pages and UI using Playwright for visual review and iteration","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fvisual-review\u002FSKILL.md",[108,111],{"categoryNo":109,"categoryName":110,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":112,"categoryName":113,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000008","测试与质量",[115,116,117,118,119,120,121,122,123,124,84,125,126,127,128],"review","visual","visual review","pages","web","false","iteration","take","check","slides","ui","screenshot","playwright","screenshots",{"skillNo":130,"name":131,"nameZh":6,"description":132,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":133,"categories":134,"keywords":135,"publishedAt":25},"01M6DF73AQVCBZKEN0YXEX9FXP","status","Diagnostic status report — shows metaswarm installation state, project setup, and potential issues","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fstatus\u002FSKILL.md",[],[131,136,137,138,139,140,141,142],"setup","report","project","installation","project setup","issues","state",{"skillNo":144,"name":145,"nameZh":6,"description":146,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":147,"categories":148,"keywords":150,"publishedAt":25},"01M6DF6X6C2XB0P6GX76P7TTYV","start","Use when starting work on any task, when the user mentions metaswarm, or when the user wants to begin tracked development work","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fstart\u002FSKILL.md",[149],{"categoryNo":80,"categoryName":81,"taxonomyType":20,"taxonomyTypeDesc":21},[145,151,63,152,153,154,67,155,156,157,158],"start issue","issue","ready","work on issue","user","work","work on","development",{"skillNo":160,"name":136,"nameZh":6,"description":161,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":162,"categories":163,"keywords":164,"publishedAt":25},"01M6DF6QMJ9AJKFKHHKRT005PQ","Interactive project setup — detects your project, configures metaswarm, writes project-local files","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fsetup\u002FSKILL.md",[],[136,138,99,165,140,166],"files","interactive"]