[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71CCXVDD04SMVN2F2R9MG3F":3,"skill-same:01M71CCXVDD04SMVN2F2R9MG3F":61},{"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":34,"linkOnly":35,"markdownContent":36,"markdownBody":37,"frontMatter":38,"refName":39,"commitSha":40,"skillDirectory":41,"forksCount":42,"repositoryHtmlUrl":43,"repositoryHomepageUrl":6,"ownerHtmlUrl":44,"ownerBlogUrl":6,"ownerDescription":45,"updatedAt":46,"install":47,"resources":60},"01M71CCXVDD04SMVN2F2R9MG3F","security-verification-layer-discipline",null,"When verifying security\u002Fenforcement\u002Fsafety claims — each layer needs its own evidence; don't over-extend a verified claim to the next unverified layer","nexuslinkproductions\u002Fyuri-os","nexuslinkproductions","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F273246263?v=4","01M718YX9NZRCW50B59B8ZVDKN","Marcel Spatz","01M718YXAQ7530F4B1VKN6SFQV",2,"MIT","https:\u002F\u002Fgithub.com\u002Fnexuslinkproductions\u002Fyuri-os\u002Fblob\u002Fmain\u002Fskills\u002Fsecurity-verification-layer-discipline\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33],"verification","verification layer","discipline","security verification layer discipline","layer","security","extend","claims","evidence","enforcement","next","claim","Safety","verified","when","2026-11-10 10:12:30",false,"---\nname: security-verification-layer-discipline\ndescription: \"When verifying security\u002Fenforcement\u002Fsafety claims — each layer needs its own evidence; don't over-extend a verified claim to the next unverified layer\"\n---\n\n# Security Verification Layer Discipline\n\n## The Pattern\n\nWhen verifying whether a guard\u002Fsafety mechanism works, each LAYER of the claim requires its OWN evidence. Proving layer N does NOT prove layer N+1.\n\n## Common layer gaps (where overclaims hide)\n\n1. **Config-wired ≠ runtime-firing** — a hook existing in `.codex\u002Fconfig.toml` or `.claude\u002Fsettings.json` doesn't prove it EXECUTES at runtime. Different harnesses (Claude Code vs Codex vs OMP) invoke hooks differently; each needs its own live E2E test.\n2. **Code-routing ≠ hook-invokes-at-runtime** — tracing `functionA() → functionB() → evaluateToolCall()` in HEAD code proves the ROUTING, not that the harness actually calls `functionA()` when a tool runs.\n3. **Catches-accidental ≠ adversarial-boundary** — a JS monkeypatch (`--require` shim) that stops accidental `fs.rmSync` is NOT a sandbox against adversarial in-process code (`process.binding`, cache-bust, native binaries).\n4. **HEAD-committed ≠ on-disk-live** — `git show HEAD:path` proves committed content; it does NOT prove the file exists on disk in the working tree. When the tool filesystem view is partial\u002Fsandboxed, use multiple verification methods.\n\n## Evidence standards (name them explicitly)\n\n- **HEAD code-trace** (`git show HEAD:path | sed -n`) — proves committed code logic, nothing about runtime.\n- **Live E2E test** (real tool event → observe block\u002Fallow) — proves the hook fires AND reaches the guard for a specific harness.\n- **Runtime block-test under bypass flag** — proves the guard survives the specific bypass mechanism (e.g., `--dangerously-bypass-approvals-and-sandbox`).\n- **On-disk check** (`test -f`, `ls`, NOT `git show`) — proves the file exists in the working tree.\n\n## Rules\n\n- Don't transfer evidence between harnesses (Claude Code live block ≠ Codex live block).\n- Don't collapse tiers — state each harness\u002Fpath separately with its own evidence standard.\n- The conservative default for any unverified safety layer: assume UNGUARDED until the exact test that settles it passes.\n- For destructive-op boundaries specifically: removing a safety precaution carries the burden of proof; the reversible default wins.\n\n## Verification methodology\n\n- `git grep` searches the WORKING TREE; when the working tree is unresolved (sandbox\u002Fpartial view), it returns false negatives. Use `git show HEAD:path | sed -n` for reliable HEAD-content verification.\n- `git ls-files --deleted` = empty means git considers the tree intact; if your `ls`\u002F`find`\u002F`test -f` disagree, YOUR tool view is the suspect, not the tree.\n- When concluding 'fabrication' or 'does not exist': verify with MULTIPLE methods (git show, git ls-files, test -f) before drawing the negative conclusion. A wrong file extension in your search path produces a false negative that looks like a fabrication.\n","# Security Verification Layer Discipline\n\n## The Pattern\n\nWhen verifying whether a guard\u002Fsafety mechanism works, each LAYER of the claim requires its OWN evidence. Proving layer N does NOT prove layer N+1.\n\n## Common layer gaps (where overclaims hide)\n\n1. **Config-wired ≠ runtime-firing** — a hook existing in `.codex\u002Fconfig.toml` or `.claude\u002Fsettings.json` doesn't prove it EXECUTES at runtime. Different harnesses (Claude Code vs Codex vs OMP) invoke hooks differently; each needs its own live E2E test.\n2. **Code-routing ≠ hook-invokes-at-runtime** — tracing `functionA() → functionB() → evaluateToolCall()` in HEAD code proves the ROUTING, not that the harness actually calls `functionA()` when a tool runs.\n3. **Catches-accidental ≠ adversarial-boundary** — a JS monkeypatch (`--require` shim) that stops accidental `fs.rmSync` is NOT a sandbox against adversarial in-process code (`process.binding`, cache-bust, native binaries).\n4. **HEAD-committed ≠ on-disk-live** — `git show HEAD:path` proves committed content; it does NOT prove the file exists on disk in the working tree. When the tool filesystem view is partial\u002Fsandboxed, use multiple verification methods.\n\n## Evidence standards (name them explicitly)\n\n- **HEAD code-trace** (`git show HEAD:path | sed -n`) — proves committed code logic, nothing about runtime.\n- **Live E2E test** (real tool event → observe block\u002Fallow) — proves the hook fires AND reaches the guard for a specific harness.\n- **Runtime block-test under bypass flag** — proves the guard survives the specific bypass mechanism (e.g., `--dangerously-bypass-approvals-and-sandbox`).\n- **On-disk check** (`test -f`, `ls`, NOT `git show`) — proves the file exists in the working tree.\n\n## Rules\n\n- Don't transfer evidence between harnesses (Claude Code live block ≠ Codex live block).\n- Don't collapse tiers — state each harness\u002Fpath separately with its own evidence standard.\n- The conservative default for any unverified safety layer: assume UNGUARDED until the exact test that settles it passes.\n- For destructive-op boundaries specifically: removing a safety precaution carries the burden of proof; the reversible default wins.\n\n## Verification methodology\n\n- `git grep` searches the WORKING TREE; when the working tree is unresolved (sandbox\u002Fpartial view), it returns false negatives. Use `git show HEAD:path | sed -n` for reliable HEAD-content verification.\n- `git ls-files --deleted` = empty means git considers the tree intact; if your `ls`\u002F`find`\u002F`test -f` disagree, YOUR tool view is the suspect, not the tree.\n- When concluding 'fabrication' or 'does not exist': verify with MULTIPLE methods (git show, git ls-files, test -f) before drawing the negative conclusion. A wrong file extension in your search path produces a false negative that looks like a fabrication.\n",{"name":5,"description":7},"main","4c6d8d65f3d6096e2fc25b0845e481dda73c2794","skills\u002Fsecurity-verification-layer-discipline",0,"https:\u002F\u002Fgithub.com\u002Fnexuslinkproductions\u002Fyuri-os","https:\u002F\u002Fgithub.com\u002Fnexuslinkproductions","Building deterministic AI governance and continuity systems. Workflow architect + visual storyteller","2026-11-11 16:42:59",{"source":8,"skillName":5,"commands":48,"prompt":58,"zipAvailable":59},[49,52,55],{"tool":50,"command":51},"npx","npx skills add nexuslinkproductions\u002Fyuri-os --skill security-verification-layer-discipline",{"tool":53,"command":54},"bunx","bunx skills add nexuslinkproductions\u002Fyuri-os --skill security-verification-layer-discipline",{"tool":56,"command":57},"pnpm","pnpm dlx skills add nexuslinkproductions\u002Fyuri-os --skill security-verification-layer-discipline","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fnexuslinkproductions\u002Fyuri-os\u002Fblob\u002Fmain\u002Fskills\u002Fsecurity-verification-layer-discipline\u002FSKILL.md",true,[],[62,84,108,138,167,186],{"skillNo":63,"name":64,"nameZh":6,"description":65,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":66,"categories":67,"keywords":68,"publishedAt":34},"01M71CG1AME5WC0A79AE65WT0X","zoom-out","Tell the agent to zoom out and give broader context or a higher-level perspective. Use when you're unfamiliar with a section of code or need to understand how it fits into the bigger picture.","https:\u002F\u002Fgithub.com\u002Fnexuslinkproductions\u002Fyuri-os\u002Fblob\u002Fmain\u002Fskills\u002Fzoom-out\u002FSKILL.md",[],[69,70,71,72,73,74,75,76,77,78,79,33,80,81,82,83],"zoom out","zoom","with","harness","how","section","re","true","understand","use","perspective","you","code","it","context",{"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":34},"01M71CFY9ATD0BAXV6B14HFG7C","yuri-shura","6-perspective adversarial review for high-stakes turns (architecture decisions, refactor planning, deployment review) — fans out architect, adversary (7-vector attack), maintainer, ops, product, and security perspectives in parallel, then consolidates. Use when user says 'review this decision', '\u002Fshura', 'adversarial review', 'what could go wrong', 'architecture review', or 'deployment review'.","https:\u002F\u002Fgithub.com\u002Fnexuslinkproductions\u002Fyuri-os\u002Fblob\u002Fmain\u002Fskills\u002Fyuri-shura\u002FSKILL.md",[],[91,92,72,93,94,95,96,97,98,99,100,78,101,33,102,103,104,105,106,107],"yuri shura","parallel","architecture review","planning","for","deployment","vector","strategic review","decision","strategic","ops","workflow","decisions","architecture","review","perspectives","adversarial",{"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":119,"publishedAt":34},"01M71CFTTYW1HA2MNX38EV1GJ5","yuri-sales-intelligence","Unified sales and outreach skill generating cold outreach openers, social selling sequences, objection rebuttals, and ad creative for any paid platform — multi-persona aware, adapting tone and offer frame to buyer type. Use when user says 'write a cold email', 'outreach sequence', 'objection handling', 'ad copy', or 'sales pitch'.","https:\u002F\u002Fgithub.com\u002Fnexuslinkproductions\u002Fyuri-os\u002Fblob\u002Fmain\u002Fskills\u002Fyuri-sales-intelligence\u002FSKILL.md",[114],{"categoryNo":115,"categoryName":116,"taxonomyType":117,"taxonomyTypeDesc":118},"01JBSEEDCAT000000000000005","邮件与沟通","SCENARIO","使用场景",[120,121,122,123,124,125,126,127,128,33,129,130,131,132,133,134,135,95,136,137],"intelligence","sales intelligence","yuri sales intelligence","sales","cold","paid","social","persona","pitch","cold email","ad creative","write","sequences","sequence","platform","email","cold outreach","frame",{"skillNo":139,"name":140,"nameZh":6,"description":141,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":142,"categories":143,"keywords":152,"publishedAt":34},"01M71CFQMBFTFADJNGP0Z2WCYK","yuri-code-intelligence","Unified code quality intelligence layer that diagnoses code smells (Long Method, Feature Envy, design pattern issues), prescribes targeted Fowler refactoring techniques, and reviews code for security, performance, and clarity. Use when user says 'review this code', 'refactor this', 'what's wrong with this method', 'code smells', or 'clean this up'.","https:\u002F\u002Fgithub.com\u002Fnexuslinkproductions\u002Fyuri-os\u002Fblob\u002Fmain\u002Fskills\u002Fyuri-code-intelligence\u002FSKILL.md",[144,147],{"categoryNo":145,"categoryName":146,"taxonomyType":117,"taxonomyTypeDesc":118},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":148,"categoryName":149,"taxonomyType":150,"taxonomyTypeDesc":151},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[153,81,154,120,72,155,156,157,95,158,159,160,161,162,163,164,165,166,78,33],"yuri code intelligence","code intelligence","reviews","code quality","feature","performance","code review","long","up","issues","clean","techniques","improve","design",{"skillNo":168,"name":169,"nameZh":6,"description":170,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":171,"categories":172,"keywords":173,"publishedAt":34},"01M71CFP32RT6GD3GKNHCJP8VP","yuri-adw","Invoke when user asks to run the ADW loop \u002F agentic engineering loop \u002F software factory workflow.","https:\u002F\u002Fgithub.com\u002Fnexuslinkproductions\u002Fyuri-os\u002Fblob\u002Fmain\u002Fskills\u002Fyuri-adw\u002FSKILL.md",[],[174,175,176,177,178,179,180,181,182,33,183,102,184,185],"yuri adw","run","engineering loop","software factory","software","agentic engineering","factory","loop","invoke","engineering","agentic","user",{"skillNo":187,"name":188,"nameZh":6,"description":189,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":190,"categories":191,"keywords":204,"publishedAt":34},"01M71CFK4VPEKY6A73237P7RSN","writing-skills","Use when creating new skills, editing existing skills, or verifying skills work before deployment","https:\u002F\u002Fgithub.com\u002Fnexuslinkproductions\u002Fyuri-os\u002Fblob\u002Fmain\u002Fskills\u002Fwriting-skills\u002FSKILL.md",[192,195,198,201],{"categoryNo":193,"categoryName":194,"taxonomyType":117,"taxonomyTypeDesc":118},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":196,"categoryName":197,"taxonomyType":117,"taxonomyTypeDesc":118},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":199,"categoryName":200,"taxonomyType":117,"taxonomyTypeDesc":118},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":202,"categoryName":203,"taxonomyType":150,"taxonomyTypeDesc":151},"01JBSEEDCAT000000000000036","内容创作者",[205,206,207,33,102,208,72,209,96,78,210],"writing","writing skills","new","work","editing","Existing"]