[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C2GAJSYX54B95HCBZMGQCR":3,"skill-same:01M6C2GAJSYX54B95HCBZMGQCR":103},{"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":23,"publishedAt":53,"linkOnly":54,"markdownContent":55,"markdownBody":56,"frontMatter":57,"refName":79,"commitSha":80,"skillDirectory":81,"forksCount":82,"repositoryHtmlUrl":83,"repositoryHomepageUrl":84,"ownerHtmlUrl":85,"ownerBlogUrl":86,"ownerDescription":87,"updatedAt":88,"install":89,"resources":102},"01M6C2GAJSYX54B95HCBZMGQCR","strict-toolchain-audit",null,"Check build and CI configuration for warning-as-error, strict typechecking, and language-specific compiler\u002Flinter floors","jmagly\u002Faiwg","jmagly","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1159087?v=4","01M6C10AK8N2WCSQN11FYGTJWN","Joseph Magly","01M6C10AQ8A2RMED1Y1BSVY7NF",229,"MIT","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsecurity-engineering\u002Fskills\u002Fstrict-toolchain-audit\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],"toolchain","audit","strict toolchain audit","haiku","new","when","sanitizer","error","false","efficiency","files","ci workflows","only","auto","read","linter","typescript","text","Bash","SET","remediation","ZeRO","ci","cpp","workflows","rust","security","python","go","2026-11-10 10:12:30",false,"---\nnamespace: aiwg\nname: strict-toolchain-audit\nplatforms: [all]\ndescription: Check build and CI configuration for warning-as-error, strict typechecking, and language-specific compiler\u002Flinter floors\nrequires:\n  - project-files: build files or CI workflows for at least one supported language\nensures:\n  - report: strictness gaps per language and remediation commands\n  - exit-code: non-zero when --fail-on-missing is set and required strictness is absent\nerrors:\n  - no-supported-language: no supported language\u002Fbuild signal detected\ninvariants:\n  - gradual-adoption baselines are allowed only when new warnings still fail\n  - sanitizer jobs do not count as replacement for strict compiler\u002Flinter gates\ncommandHint:\n  argumentHint: \"[--language c|cpp|rust|go|python|typescript|auto] [--fail-on-missing] [--format text|json]\"\n  allowedTools: Read, Bash, Grep\n  model: haiku\n  category: security\n  orchestration: false\n  modelRole: efficiency\n  modelTier: economy\n---\n\n# Strict Toolchain Audit\n\nInspect build and CI configuration for the `strict-toolchain` rule. This maps curl Practice 13 into a reusable AIWG security-engineering audit.\n\n## Checks\n\n- C\u002FC++: compiler flags include `-Wall`, `-Wextra`, `-Werror`, `-pedantic`; recommended hardening flags are reported when absent.\n- Rust: `cargo clippy -- -D warnings` or equivalent CI gate.\n- Go: `go vet .\u002F...` and `staticcheck .\u002F...` fail CI.\n- Python: `ruff check` and `mypy` strictness are configured.\n- TypeScript: `strict: true` and `noUncheckedIndexedAccess: true`.\n\n## Gradual Adoption\n\nLegacy projects may keep a baseline, but the audit must confirm that new warnings fail the build. A baseline without a ratchet is reported as a finding.\n\n## References\n\n- `agentic\u002Fcode\u002Fframeworks\u002Fsecurity-engineering\u002Frules\u002Fstrict-toolchain.md`\n- `agentic\u002Fcode\u002Fframeworks\u002Fsecurity-engineering\u002Fskills\u002Fsanitizer-in-ci\u002FSKILL.md`\n","# Strict Toolchain Audit\n\nInspect build and CI configuration for the `strict-toolchain` rule. This maps curl Practice 13 into a reusable AIWG security-engineering audit.\n\n## Checks\n\n- C\u002FC++: compiler flags include `-Wall`, `-Wextra`, `-Werror`, `-pedantic`; recommended hardening flags are reported when absent.\n- Rust: `cargo clippy -- -D warnings` or equivalent CI gate.\n- Go: `go vet .\u002F...` and `staticcheck .\u002F...` fail CI.\n- Python: `ruff check` and `mypy` strictness are configured.\n- TypeScript: `strict: true` and `noUncheckedIndexedAccess: true`.\n\n## Gradual Adoption\n\nLegacy projects may keep a baseline, but the audit must confirm that new warnings fail the build. A baseline without a ratchet is reported as a finding.\n\n## References\n\n- `agentic\u002Fcode\u002Fframeworks\u002Fsecurity-engineering\u002Frules\u002Fstrict-toolchain.md`\n- `agentic\u002Fcode\u002Fframeworks\u002Fsecurity-engineering\u002Fskills\u002Fsanitizer-in-ci\u002FSKILL.md`\n",{"name":5,"errors":58,"ensures":61,"requires":66,"namespace":69,"platforms":70,"invariants":72,"commandHint":75,"description":7},[59],{"no-supported-language":60},"no supported language\u002Fbuild signal detected",[62,64],{"report":63},"strictness gaps per language and remediation commands",{"exit-code":65},"non-zero when --fail-on-missing is set and required strictness is absent",[67],{"project-files":68},"build files or CI workflows for at least one supported language","aiwg",[71],"all",[73,74],"gradual-adoption baselines are allowed only when new warnings still fail","sanitizer jobs do not count as replacement for strict compiler\u002Flinter gates",{"model":27,"category":50,"modelRole":33,"modelTier":76,"allowedTools":77,"argumentHint":78,"orchestration":54},"economy","Read, Bash, Grep","[--language c|cpp|rust|go|python|typescript|auto] [--fail-on-missing] [--format text|json]","main","6754967c344ccb087a8de06972f55a41067b291b","agentic\u002Fcode\u002Fframeworks\u002Fsecurity-engineering\u002Fskills\u002Fstrict-toolchain-audit",36,"https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg","https:\u002F\u002Faiwg.io","https:\u002F\u002Fgithub.com\u002Fjmagly","https:\u002F\u002Fintegrolabs.io","ml\u002Fai, industrial automation, safety\u002Fsecurity, ssi\r\n\r\nmagly.net\r\nintegrolabs.io\r\naiwg.io\r\nfortemi.com\r\npagenary.com\r\nbytecask.com","2026-11-14 10:46:34",{"source":8,"skillName":5,"commands":90,"prompt":100,"zipAvailable":101},[91,94,97],{"tool":92,"command":93},"npx","npx skills add jmagly\u002Faiwg --skill strict-toolchain-audit",{"tool":95,"command":96},"bunx","bunx skills add jmagly\u002Faiwg --skill strict-toolchain-audit",{"tool":98,"command":99},"pnpm","pnpm dlx skills add jmagly\u002Faiwg --skill strict-toolchain-audit","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsecurity-engineering\u002Fskills\u002Fstrict-toolchain-audit\u002FSKILL.md",true,[],[104,127,151,157,164,178],{"skillNo":105,"name":106,"nameZh":6,"description":107,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":108,"categories":109,"keywords":111,"publishedAt":53},"01M70QA0BSYJ49EES9V4RE8QH1","host-hardening","Read-only system hardening baseline and plan-first host hardening recommendations for SSH, Docker bind addresses, firewall persistence, datastores, exporters and audit retention.","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fplugins\u002Fsecurity-engineering\u002Fskills\u002Fhost-hardening\u002FSKILL.md",[110],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[112,113,114,38,115,116,44,117,118,119,42,120,36,121,25,122,123,124,125,126],"host","host hardening","hardening","re","recommendations","plan","port","verification","access","retention","never","firewall","bind","secrets","request",{"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":137,"publishedAt":53},"01M70PNT2Z4HMZPRBTAF6073NN","exposure-analysis","Read-only firewall analysis and effective host exposure reconstruction for Docker published ports, UFW bypass, stale rules, CDN scope, IPv6 asymmetry and external probe allowlists.","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fplugins\u002Fforensics\u002Fskills\u002Fexposure-analysis\u002FSKILL.md",[133,136],{"categoryNo":134,"categoryName":135,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[138,139,140,38,141,118,142,143,42,144,112,145,36,146,147,122,123,148,149,150],"exposure analysis","analysis","unknown","credentials","collection","ufw","ports","internet","local","scope","reconstruction","operator","write",{"skillNo":152,"name":106,"nameZh":6,"description":107,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":153,"categories":154,"keywords":156,"publishedAt":53},"01M70P8QATMPKA78E4FT5D2TNA","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsecurity-engineering\u002Fskills\u002Fhost-hardening\u002FSKILL.md",[155],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[114,112,113,120,38,126,44,116,25,117,118,119,42,125,36,121,115,122,123,124],{"skillNo":158,"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":159,"categories":160,"keywords":163,"publishedAt":53},"01M70NMPVJ5H0JH131P60FW4R8","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fframeworks\u002Fforensics-complete\u002Fskills\u002Fexposure-analysis\u002FSKILL.md",[161,162],{"categoryNo":134,"categoryName":135,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[139,138,122,141,118,142,42,140,112,145,36,146,147,38,123,144,143,148,149,150],{"skillNo":165,"name":166,"nameZh":6,"description":167,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":168,"categories":169,"keywords":171,"publishedAt":53},"01M6CB4DDR0B4NNCFK7ZK7449H","fixture-skill","Exercise rule delivery.","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Ftest\u002Ffixtures\u002Frule-delivery\u002Fskills\u002Ffixture-skill\u002FSKILL.md",[170],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[172,173,174,175,176,177],"fixture skill","fixture","rule","delivery","true","exercise",{"skillNo":179,"name":180,"nameZh":6,"description":181,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":182,"categories":183,"keywords":185,"publishedAt":53},"01M6CB4AVK1W76MFMPP0JP32CJ","pi-local","Pi-local duplicate-precedence fixture.","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Ftest\u002Ffixtures\u002Fproviders\u002Fpi\u002Fproject\u002F.pi\u002Fskills\u002Fpi-local\u002FSKILL.md",[184],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[186,187,146,188,173],"pi","pi local","duplicate"]