[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C1H4SZXJS7EME2VVPEG3BG":3,"skill-same:01M6C1H4SZXJS7EME2VVPEG3BG":123},{"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":82,"commitSha":83,"skillDirectory":84,"forksCount":85,"repositoryHtmlUrl":86,"repositoryHomepageUrl":87,"ownerHtmlUrl":88,"ownerBlogUrl":89,"ownerDescription":90,"updatedAt":91,"install":92,"resources":105},"01M6C1H4SZXJS7EME2VVPEG3BG","decision-evaluate",null,"Evaluate a pinned normalized decision ruleset through an explicitly configured Jev or LLM-subagent binding","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\u002Faddons\u002Fdecision-engine\u002Fskills\u002Fdecision-evaluate\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],"evaluate","decision","decision evaluate","payloads","request","bounded","reduce","paths","scripts","io","host","classify","project","shared","artifact","vendor","agentic","jev","decision engine","node","returns","engine","json","subagent","classification","credentials","state","dispatcher","policy","2026-11-10 10:12:30",false,"---\nnamespace: aiwg\nname: decision-evaluate\nplatforms: [all]\ndescription: Evaluate a pinned normalized decision ruleset through an explicitly configured Jev or LLM-subagent binding\ntriggers:\n  - agentic classification\n  - decision classification\n  - bounded classification\n  - Jev decision engine\n  - classify to reduce frontier tokens\n  - shared-state batching\nrequires:\n  - feature-enabled: AIWG_DECISION_ENABLED=1\n  - request: dispatcher request JSON with authored artifact paths and runtime adapter configuration\nensures:\n  - normalized-result: returns a decision.aiwg.io\u002Fv1alpha1 RulesetResult\n  - backend-boundary: definitions and rulesets contain no vendor request payloads or credentials\nscript:\n  entrypoint: scripts\u002Fdecision-evaluate.mjs\n  runtime: node\n  cwd: project-root\n  argsHint: \"--request \u003Cdispatcher-request.json> [--host-policy-module \u003Ctrusted-module.mjs>]\"\n---\n\n# Decision Evaluate\n\nEvaluate one pinned `DecisionRuleset` with one `DecisionBinding`. The dispatcher\nvalidates pins, input, capabilities, typed outputs, retry\u002Ffallback budgets, and\ncomposition before returning an outcome as data. It never authorizes or\nexecutes the outcome.\n\nThe request document is runtime configuration, not a portable decision\nartifact. It names `rulesetPath`, `bindingPath`, `definitionPaths`, `inputPath`,\n`runId`, `invocationId`, optional `receiptDirectory` (which requires\n`receiptIntegrityKeyRef`; see `docs\u002Foperations.md`), `credentials` mappings\nfrom logical reference to environment-variable name, and optional\n`adapterModules` for configured worker transports. Credential values are read\nonly at adapter call time and never written to results.\n\nAdvanced runtime policies are host-owned. The request may include\n`hostPolicies` with named references for `batching`, `batchReceipts`,\n`context`, `scheduler`, `compileCache`, `resultCache`, or `providerPrefix`:\n\n```json\n{\n  \"hostPolicies\": {\n    \"batching\": \"native-ticket-batch\",\n    \"batchReceipts\": \"durable-ticket-batch\"\n  }\n}\n```\n\nThose names resolve only through a trusted host registry supplied in-process by\na driver, or through `--host-policy-module` when running the packaged script.\nThe JSON request cannot serialize callbacks, stores, schedulers, cache\nservices, authenticated scopes, or key services. Inline `batching`,\n`resultCache`, `providerPrefix`, and similar misspelled or unsupported fields\nfail before dispatch instead of being ignored. Jev compile caching remains off\nunless the host deliberately supplies a `compileCache` policy.\n\nNetwork-capable adapters (including the packaged Jev adapter) require\n`projectionPolicyPath`: a trusted projection policy file, or an array of\npolicies selected by exact adapter and model. Without it the dispatcher refuses\nbefore any credential or transport use and exits `2`. Only adapters that declare\n`egress: { mode: 'none' }` (for example the offline fixture worker) run without a\npolicy. `adapterOptions.jev` sets the Jev `endpoint`, `allowedOrigins` and the\noperator-declared deployment `region`; the policy origin and region must match\nthem. There is no dispatcher setting that sends unprojected state to a network\nadapter. See `agentic\u002Fcode\u002Faddons\u002Fdecision-engine\u002Fexamples\u002Fdispatcher-request-jev.json`.\n\nSet `AIWG_DECISION_ENABLED=1` explicitly. Existing workflows remain unchanged\nwhen the flag is absent.\n\nThe deployed script loads the compiled runtime from the installed `aiwg`\npackage through `scripts\u002Fruntime-root.mjs`: `AIWG_ROOT` when it names a built\npackage, then a project `node_modules\u002Faiwg`, then the `aiwg` executable on\n`PATH`.\n","# Decision Evaluate\n\nEvaluate one pinned `DecisionRuleset` with one `DecisionBinding`. The dispatcher\nvalidates pins, input, capabilities, typed outputs, retry\u002Ffallback budgets, and\ncomposition before returning an outcome as data. It never authorizes or\nexecutes the outcome.\n\nThe request document is runtime configuration, not a portable decision\nartifact. It names `rulesetPath`, `bindingPath`, `definitionPaths`, `inputPath`,\n`runId`, `invocationId`, optional `receiptDirectory` (which requires\n`receiptIntegrityKeyRef`; see `docs\u002Foperations.md`), `credentials` mappings\nfrom logical reference to environment-variable name, and optional\n`adapterModules` for configured worker transports. Credential values are read\nonly at adapter call time and never written to results.\n\nAdvanced runtime policies are host-owned. The request may include\n`hostPolicies` with named references for `batching`, `batchReceipts`,\n`context`, `scheduler`, `compileCache`, `resultCache`, or `providerPrefix`:\n\n```json\n{\n  \"hostPolicies\": {\n    \"batching\": \"native-ticket-batch\",\n    \"batchReceipts\": \"durable-ticket-batch\"\n  }\n}\n```\n\nThose names resolve only through a trusted host registry supplied in-process by\na driver, or through `--host-policy-module` when running the packaged script.\nThe JSON request cannot serialize callbacks, stores, schedulers, cache\nservices, authenticated scopes, or key services. Inline `batching`,\n`resultCache`, `providerPrefix`, and similar misspelled or unsupported fields\nfail before dispatch instead of being ignored. Jev compile caching remains off\nunless the host deliberately supplies a `compileCache` policy.\n\nNetwork-capable adapters (including the packaged Jev adapter) require\n`projectionPolicyPath`: a trusted projection policy file, or an array of\npolicies selected by exact adapter and model. Without it the dispatcher refuses\nbefore any credential or transport use and exits `2`. Only adapters that declare\n`egress: { mode: 'none' }` (for example the offline fixture worker) run without a\npolicy. `adapterOptions.jev` sets the Jev `endpoint`, `allowedOrigins` and the\noperator-declared deployment `region`; the policy origin and region must match\nthem. There is no dispatcher setting that sends unprojected state to a network\nadapter. See `agentic\u002Fcode\u002Faddons\u002Fdecision-engine\u002Fexamples\u002Fdispatcher-request-jev.json`.\n\nSet `AIWG_DECISION_ENABLED=1` explicitly. Existing workflows remain unchanged\nwhen the flag is absent.\n\nThe deployed script loads the compiled runtime from the installed `aiwg`\npackage through `scripts\u002Fruntime-root.mjs`: `AIWG_ROOT` when it names a built\npackage, then a project `node_modules\u002Faiwg`, then the `aiwg` executable on\n`PATH`.\n",{"name":5,"script":58,"ensures":62,"requires":67,"triggers":72,"namespace":79,"platforms":80,"description":7},{"cwd":59,"runtime":43,"argsHint":60,"entrypoint":61},"project-root","--request \u003Cdispatcher-request.json> [--host-policy-module \u003Ctrusted-module.mjs>]","scripts\u002Fdecision-evaluate.mjs",[63,65],{"normalized-result":64},"returns a decision.aiwg.io\u002Fv1alpha1 RulesetResult",{"backend-boundary":66},"definitions and rulesets contain no vendor request payloads or credentials",[68,70],{"feature-enabled":69},"AIWG_DECISION_ENABLED=1",{"request":71},"dispatcher request JSON with authored artifact paths and runtime adapter configuration",[73,74,75,76,77,78],"agentic classification","decision classification","bounded classification","Jev decision engine","classify to reduce frontier tokens","shared-state batching","aiwg",[81],"all","main","6754967c344ccb087a8de06972f55a41067b291b","agentic\u002Fcode\u002Faddons\u002Fdecision-engine\u002Fskills\u002Fdecision-evaluate",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 02:10:01",{"source":8,"skillName":5,"commands":93,"prompt":103,"zipAvailable":104},[94,97,100],{"tool":95,"command":96},"npx","npx skills add jmagly\u002Faiwg --skill decision-evaluate",{"tool":98,"command":99},"bunx","bunx skills add jmagly\u002Faiwg --skill decision-evaluate",{"tool":101,"command":102},"pnpm","pnpm dlx skills add jmagly\u002Faiwg --skill decision-evaluate","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Faddons\u002Fdecision-engine\u002Fskills\u002Fdecision-evaluate\u002FSKILL.md",true,[106,112,116,119],{"path":107,"resourceType":108,"resourceTypeDesc":109,"sizeBytes":110,"sourceHtmlUrl":111},"scripts\u002Fdecision-convert-definition.mjs","SCRIPT","脚本",1026,"https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Faddons\u002Fdecision-engine\u002Fskills\u002Fdecision-evaluate\u002Fscripts\u002Fdecision-convert-definition.mjs",{"path":113,"resourceType":108,"resourceTypeDesc":109,"sizeBytes":114,"sourceHtmlUrl":115},"scripts\u002Fdecision-evaluate-core.mjs",8507,"https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Faddons\u002Fdecision-engine\u002Fskills\u002Fdecision-evaluate\u002Fscripts\u002Fdecision-evaluate-core.mjs",{"path":61,"resourceType":108,"resourceTypeDesc":109,"sizeBytes":117,"sourceHtmlUrl":118},811,"https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Faddons\u002Fdecision-engine\u002Fskills\u002Fdecision-evaluate\u002Fscripts\u002Fdecision-evaluate.mjs",{"path":120,"resourceType":108,"resourceTypeDesc":109,"sizeBytes":121,"sourceHtmlUrl":122},"scripts\u002Fruntime-root.mjs",2580,"https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Faddons\u002Fdecision-engine\u002Fskills\u002Fdecision-evaluate\u002Fscripts\u002Fruntime-root.mjs",[124,150,173,179,186,200],{"skillNo":125,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":131,"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",[130],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[34,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,28],"host hardening","hardening","read","re","recommendations","remediation","plan","port","verification","Bash","access","only","retention","audit","never","firewall","bind","secrets",{"skillNo":151,"name":152,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":154,"categories":155,"keywords":160,"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",[156,159],{"categoryNo":157,"categoryName":158,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[161,162,163,134,49,139,164,165,141,166,34,167,143,168,169,146,147,170,171,172],"exposure analysis","analysis","unknown","collection","ufw","ports","internet","local","scope","reconstruction","operator","write",{"skillNo":174,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":175,"categories":176,"keywords":178,"publishedAt":53},"01M70P8QATMPKA78E4FT5D2TNA","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsecurity-engineering\u002Fskills\u002Fhost-hardening\u002FSKILL.md",[177],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[133,34,132,142,134,28,137,136,145,138,139,140,141,149,143,144,135,146,147,148],{"skillNo":180,"name":152,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":181,"categories":182,"keywords":185,"publishedAt":53},"01M70NMPVJ5H0JH131P60FW4R8","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fframeworks\u002Fforensics-complete\u002Fskills\u002Fexposure-analysis\u002FSKILL.md",[183,184],{"categoryNo":157,"categoryName":158,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[162,161,146,49,139,164,141,163,34,167,143,168,169,134,147,166,165,170,171,172],{"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":193,"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",[192],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[194,195,196,197,198,199],"fixture skill","fixture","rule","delivery","true","exercise",{"skillNo":201,"name":202,"nameZh":6,"description":203,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":204,"categories":205,"keywords":207,"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",[206],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[208,209,168,210,195],"pi","pi local","duplicate"]