[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M78FAXTZEF3CT2QJFCC8D0SC":3,"skill-same:01M78FAXTZEF3CT2QJFCC8D0SC":147},{"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":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":24,"commitSha":25,"skillDirectory":26,"forksCount":27,"repositoryHtmlUrl":28,"repositoryHomepageUrl":6,"ownerHtmlUrl":29,"ownerBlogUrl":30,"ownerDescription":31,"updatedAt":32,"install":33,"resources":46},"01M78FAXTZEF3CT2QJFCC8D0SC","agent-executor",null,"Use when working on the single action enforcement point surface in @jeswr\u002Fagent-executor.","jeswr\u002Fsolid-sdk","jeswr","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F63333554?v=4","01M78F8AE112CQ0KHFC3R0Z8SJ","Jesse Wright","01M78F8AERJX4YWDA1S4BMF74V",2,"MIT","https:\u002F\u002Fgithub.com\u002Fjeswr\u002Fsolid-sdk\u002Fblob\u002Fmain\u002Fpackages\u002Fagent-executor\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: agent-executor\ndescription: Use when working on the single action enforcement point surface in @jeswr\u002Fagent-executor.\n---\n\u003C!-- AUTHORED-BY Codex GPT-6.1-Sol -->\n\u003C!-- AUTHORED-BY Codex GPT-6 -->\n\n# @jeswr\u002Fagent-executor\n\nRead agent DESIGN §2 \u002F §4.1 and README.md before changing behavior. The root exports\ncreateExecutor, proposalTermsDigest, durable filesystem adapters and the three-attempt\nbound. Contracts are in src\u002Ftypes.ts; explicit synthetic fakes live only in .\u002Ftesting.\n\nPreserve the nine-step order and fail closed. Halt precedes proposal\u002Fmandate reads;\nproposal state never grants authority. Re-evaluate every queued item on control\u002Fmandate\nchange, and recheck authority after asynchronous lookup\u002Ftoken waits. Supply the\nrequired synchronous io.assertAuthority fence to bindings: it checks the shared\nrevision and latest authority deadlines through the request-local beforeDispatch hook,\nafter all binding and transport awaits (including inner DNS and body buffering),\nimmediately before underlying fetch\u002Fdelivery with no intervening await. The fence\nalso runs the required synchronous ControlStore.assertNotHalted check (only ENOENT\nmeans clear), so local HALT changes during transport waits need no polling notification.\nPre-delivery gate refusals settle as not-sent; preserve prior resend uncertainty and acknowledgements for\nrequests already issued. The host must call\nonApprovalChange for every detected approval-store change to invalidate in-flight snapshots\nand re-evaluate queued items. Only verified owner\napprovals and controls enter their adapter seams. Exact wire and all action terms are\napproval-bound; a normal approval cannot override a prohibition or hard limit.\n\nAccounting and claims share a store-wide lock; attempting\u002Funcertain committed amounts\ncount as spent over the union of outbox and ledger. Require a signed currency for spend\nlimits; do not guess it to work around the stacked mandate API's missing fields.\n\nPersist attempting with fsync before the provider call. A crash is uncertainty, never\nabsence. Only positive exact-wire lookup reconciles delivery. Reattempt unresolved\nrequests only with causal finalAbsence, or identical A2A receiver-deduplicated resend,\nmax three attempts. A timeout does not cancel the original request. Preserve positive\nsent evidence against late failures. The host must hold a single-writer process lease.\nRecognize the channel's actual ProviderRejectedError and SendNotDispatchedError classes\n(send-only provider\u002Fsend export), never their names or messages. The latter proves a\nlocal refusal before an effectful send dispatch and preserves the original cause;\nread-only preflight does not create send uncertainty. Provider response parse failures\nafter send dispatch remain uncertain. Settle it as rejected without storing provider text;\nunresolved resends retain their earlier commitment. Bound and validate real binding\nreference shapes on both acknowledgement and positive lookup paths.\n\nFilesystem operations are injected to preserve the agent layer import boundary. Do not\nadd raw provider\u002Fnetwork\u002Fmodel access or expose a read token through the send projection.\nAudit entries contain digests and references, never message bodies, tokens or provider\nerror text. Surface durability\u002Faudit failures; never treat missing audit reads as zero use.\n\nFollow ADR-001 D4: Node >=24, ESM exports, workspace dependencies, strict TypeScript,\nBiome, and Vitest. Maintain 100% per-file branches\u002Ffunctions\u002Flines\u002Fstatements coverage,\nincluding actual durable crash\u002Frestart and adversarial asynchronous cases.\n\nNever use live providers or credentials in tests. Send implementations belong exclusively\nin channel send subpaths, importable only by agent-executor and channel tests. Only\nagent-model-gateway may import OpenAI or Anthropic SDKs; it must never import agent-audit.\n","\u003C!-- AUTHORED-BY Codex GPT-6.1-Sol -->\n\u003C!-- AUTHORED-BY Codex GPT-6 -->\n\n# @jeswr\u002Fagent-executor\n\nRead agent DESIGN §2 \u002F §4.1 and README.md before changing behavior. The root exports\ncreateExecutor, proposalTermsDigest, durable filesystem adapters and the three-attempt\nbound. Contracts are in src\u002Ftypes.ts; explicit synthetic fakes live only in .\u002Ftesting.\n\nPreserve the nine-step order and fail closed. Halt precedes proposal\u002Fmandate reads;\nproposal state never grants authority. Re-evaluate every queued item on control\u002Fmandate\nchange, and recheck authority after asynchronous lookup\u002Ftoken waits. Supply the\nrequired synchronous io.assertAuthority fence to bindings: it checks the shared\nrevision and latest authority deadlines through the request-local beforeDispatch hook,\nafter all binding and transport awaits (including inner DNS and body buffering),\nimmediately before underlying fetch\u002Fdelivery with no intervening await. The fence\nalso runs the required synchronous ControlStore.assertNotHalted check (only ENOENT\nmeans clear), so local HALT changes during transport waits need no polling notification.\nPre-delivery gate refusals settle as not-sent; preserve prior resend uncertainty and acknowledgements for\nrequests already issued. The host must call\nonApprovalChange for every detected approval-store change to invalidate in-flight snapshots\nand re-evaluate queued items. Only verified owner\napprovals and controls enter their adapter seams. Exact wire and all action terms are\napproval-bound; a normal approval cannot override a prohibition or hard limit.\n\nAccounting and claims share a store-wide lock; attempting\u002Funcertain committed amounts\ncount as spent over the union of outbox and ledger. Require a signed currency for spend\nlimits; do not guess it to work around the stacked mandate API's missing fields.\n\nPersist attempting with fsync before the provider call. A crash is uncertainty, never\nabsence. Only positive exact-wire lookup reconciles delivery. Reattempt unresolved\nrequests only with causal finalAbsence, or identical A2A receiver-deduplicated resend,\nmax three attempts. A timeout does not cancel the original request. Preserve positive\nsent evidence against late failures. The host must hold a single-writer process lease.\nRecognize the channel's actual ProviderRejectedError and SendNotDispatchedError classes\n(send-only provider\u002Fsend export), never their names or messages. The latter proves a\nlocal refusal before an effectful send dispatch and preserves the original cause;\nread-only preflight does not create send uncertainty. Provider response parse failures\nafter send dispatch remain uncertain. Settle it as rejected without storing provider text;\nunresolved resends retain their earlier commitment. Bound and validate real binding\nreference shapes on both acknowledgement and positive lookup paths.\n\nFilesystem operations are injected to preserve the agent layer import boundary. Do not\nadd raw provider\u002Fnetwork\u002Fmodel access or expose a read token through the send projection.\nAudit entries contain digests and references, never message bodies, tokens or provider\nerror text. Surface durability\u002Faudit failures; never treat missing audit reads as zero use.\n\nFollow ADR-001 D4: Node >=24, ESM exports, workspace dependencies, strict TypeScript,\nBiome, and Vitest. Maintain 100% per-file branches\u002Ffunctions\u002Flines\u002Fstatements coverage,\nincluding actual durable crash\u002Frestart and adversarial asynchronous cases.\n\nNever use live providers or credentials in tests. Send implementations belong exclusively\nin channel send subpaths, importable only by agent-executor and channel tests. Only\nagent-model-gateway may import OpenAI or Anthropic SDKs; it must never import agent-audit.\n",{"name":5,"description":7},"main","5482abfe2666cc12f835fe360e8fad1f1e1dea8c","packages\u002Fagent-executor",0,"https:\u002F\u002Fgithub.com\u002Fjeswr\u002Fsolid-sdk","https:\u002F\u002Fgithub.com\u002Fjeswr","jeswr.org\u002F#me","@solid Lead @theodi | PhD Candidate @OxfordHCC\r\n\r\n","2026-11-15 05:20:24",{"source":8,"skillName":5,"commands":34,"prompt":44,"zipAvailable":45},[35,38,41],{"tool":36,"command":37},"npx","npx skills add jeswr\u002Fsolid-sdk --skill agent-executor",{"tool":39,"command":40},"bunx","bunx skills add jeswr\u002Fsolid-sdk --skill agent-executor",{"tool":42,"command":43},"pnpm","pnpm dlx skills add jeswr\u002Fsolid-sdk --skill agent-executor","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjeswr\u002Fsolid-sdk\u002Fblob\u002Fmain\u002Fpackages\u002Fagent-executor\u002FSKILL.md",true,[47,53,57,63,67,71,75,79,83,87,91,95,99,103,107,111,115,119,123,127,131,135,139,143],{"path":48,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":51,"sourceHtmlUrl":52},"package.json","REFERENCE","参考文档",1224,"https:\u002F\u002Fgithub.com\u002Fjeswr\u002Fsolid-sdk\u002Fblob\u002Fmain\u002Fpackages\u002Fagent-executor\u002Fpackage.json",{"path":54,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":55,"sourceHtmlUrl":56},"README.md",12920,"https:\u002F\u002Fgithub.com\u002Fjeswr\u002Fsolid-sdk\u002Fblob\u002Fmain\u002Fpackages\u002Fagent-executor\u002FREADME.md",{"path":58,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":61,"sourceHtmlUrl":62},"src\u002Faccounting.ts","SCRIPT","脚本",7491,"https:\u002F\u002Fgithub.com\u002Fjeswr\u002Fsolid-sdk\u002Fblob\u002Fmain\u002Fpackages\u002Fagent-executor\u002Fsrc\u002Faccounting.ts",{"path":64,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":65,"sourceHtmlUrl":66},"src\u002Fexecutor.ts",27790,"https:\u002F\u002Fgithub.com\u002Fjeswr\u002Fsolid-sdk\u002Fblob\u002Fmain\u002Fpackages\u002Fagent-executor\u002Fsrc\u002Fexecutor.ts",{"path":68,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":69,"sourceHtmlUrl":70},"src\u002Ffiles.ts",3617,"https:\u002F\u002Fgithub.com\u002Fjeswr\u002Fsolid-sdk\u002Fblob\u002Fmain\u002Fpackages\u002Fagent-executor\u002Fsrc\u002Ffiles.ts",{"path":72,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":73,"sourceHtmlUrl":74},"src\u002Findex.ts",352,"https:\u002F\u002Fgithub.com\u002Fjeswr\u002Fsolid-sdk\u002Fblob\u002Fmain\u002Fpackages\u002Fagent-executor\u002Fsrc\u002Findex.ts",{"path":76,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":77,"sourceHtmlUrl":78},"src\u002Ftesting.ts",2931,"https:\u002F\u002Fgithub.com\u002Fjeswr\u002Fsolid-sdk\u002Fblob\u002Fmain\u002Fpackages\u002Fagent-executor\u002Fsrc\u002Ftesting.ts",{"path":80,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":81,"sourceHtmlUrl":82},"src\u002Ftransmission.ts",1888,"https:\u002F\u002Fgithub.com\u002Fjeswr\u002Fsolid-sdk\u002Fblob\u002Fmain\u002Fpackages\u002Fagent-executor\u002Fsrc\u002Ftransmission.ts",{"path":84,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":85,"sourceHtmlUrl":86},"src\u002Ftypes.ts",7588,"https:\u002F\u002Fgithub.com\u002Fjeswr\u002Fsolid-sdk\u002Fblob\u002Fmain\u002Fpackages\u002Fagent-executor\u002Fsrc\u002Ftypes.ts",{"path":88,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":89,"sourceHtmlUrl":90},"test\u002Faccounting.test.ts",21001,"https:\u002F\u002Fgithub.com\u002Fjeswr\u002Fsolid-sdk\u002Fblob\u002Fmain\u002Fpackages\u002Fagent-executor\u002Ftest\u002Faccounting.test.ts",{"path":92,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":93,"sourceHtmlUrl":94},"test\u002Fauthority.test.ts",27462,"https:\u002F\u002Fgithub.com\u002Fjeswr\u002Fsolid-sdk\u002Fblob\u002Fmain\u002Fpackages\u002Fagent-executor\u002Ftest\u002Fauthority.test.ts",{"path":96,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":97,"sourceHtmlUrl":98},"test\u002Fchannels.test.ts",15903,"https:\u002F\u002Fgithub.com\u002Fjeswr\u002Fsolid-sdk\u002Fblob\u002Fmain\u002Fpackages\u002Fagent-executor\u002Ftest\u002Fchannels.test.ts",{"path":100,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":101,"sourceHtmlUrl":102},"test\u002Fconversation.test.ts",5463,"https:\u002F\u002Fgithub.com\u002Fjeswr\u002Fsolid-sdk\u002Fblob\u002Fmain\u002Fpackages\u002Fagent-executor\u002Ftest\u002Fconversation.test.ts",{"path":104,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":105,"sourceHtmlUrl":106},"test\u002Fdecision.test.ts",21982,"https:\u002F\u002Fgithub.com\u002Fjeswr\u002Fsolid-sdk\u002Fblob\u002Fmain\u002Fpackages\u002Fagent-executor\u002Ftest\u002Fdecision.test.ts",{"path":108,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":109,"sourceHtmlUrl":110},"test\u002Fexports.test.ts",1859,"https:\u002F\u002Fgithub.com\u002Fjeswr\u002Fsolid-sdk\u002Fblob\u002Fmain\u002Fpackages\u002Fagent-executor\u002Ftest\u002Fexports.test.ts",{"path":112,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":113,"sourceHtmlUrl":114},"test\u002Ffiles.test.ts",12072,"https:\u002F\u002Fgithub.com\u002Fjeswr\u002Fsolid-sdk\u002Fblob\u002Fmain\u002Fpackages\u002Fagent-executor\u002Ftest\u002Ffiles.test.ts",{"path":116,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":117,"sourceHtmlUrl":118},"test\u002Fhelpers.ts",6673,"https:\u002F\u002Fgithub.com\u002Fjeswr\u002Fsolid-sdk\u002Fblob\u002Fmain\u002Fpackages\u002Fagent-executor\u002Ftest\u002Fhelpers.ts",{"path":120,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":121,"sourceHtmlUrl":122},"test\u002Fpersistence.test.ts",7431,"https:\u002F\u002Fgithub.com\u002Fjeswr\u002Fsolid-sdk\u002Fblob\u002Fmain\u002Fpackages\u002Fagent-executor\u002Ftest\u002Fpersistence.test.ts",{"path":124,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":125,"sourceHtmlUrl":126},"test\u002Fprovider-outcomes.test.ts",9032,"https:\u002F\u002Fgithub.com\u002Fjeswr\u002Fsolid-sdk\u002Fblob\u002Fmain\u002Fpackages\u002Fagent-executor\u002Ftest\u002Fprovider-outcomes.test.ts",{"path":128,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":129,"sourceHtmlUrl":130},"test\u002Fstatus.test.ts",2743,"https:\u002F\u002Fgithub.com\u002Fjeswr\u002Fsolid-sdk\u002Fblob\u002Fmain\u002Fpackages\u002Fagent-executor\u002Ftest\u002Fstatus.test.ts",{"path":132,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":133,"sourceHtmlUrl":134},"test\u002Ftransmission.test.ts",43104,"https:\u002F\u002Fgithub.com\u002Fjeswr\u002Fsolid-sdk\u002Fblob\u002Fmain\u002Fpackages\u002Fagent-executor\u002Ftest\u002Ftransmission.test.ts",{"path":136,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":137,"sourceHtmlUrl":138},"tsconfig.json",212,"https:\u002F\u002Fgithub.com\u002Fjeswr\u002Fsolid-sdk\u002Fblob\u002Fmain\u002Fpackages\u002Fagent-executor\u002Ftsconfig.json",{"path":140,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":141,"sourceHtmlUrl":142},"tsconfig.test.json",202,"https:\u002F\u002Fgithub.com\u002Fjeswr\u002Fsolid-sdk\u002Fblob\u002Fmain\u002Fpackages\u002Fagent-executor\u002Ftsconfig.test.json",{"path":144,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":145,"sourceHtmlUrl":146},"vitest.config.ts",427,"https:\u002F\u002Fgithub.com\u002Fjeswr\u002Fsolid-sdk\u002Fblob\u002Fmain\u002Fpackages\u002Fagent-executor\u002Fvitest.config.ts",[148,155,162,169,176,183],{"skillNo":149,"name":150,"nameZh":6,"description":151,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":152,"categories":153,"keywords":154,"publishedAt":19},"01M78FNRF6EV6SKPEYRZ6JTTQ3","storage-conformance","Work on @jeswr\u002Fstorage-conformance, the shared storage conformance suite package in the Solid SDK workspace.","https:\u002F\u002Fgithub.com\u002Fjeswr\u002Fsolid-sdk\u002Fblob\u002Fmain\u002Ftools\u002Fstorage-conformance\u002FSKILL.md",[],[],{"skillNo":156,"name":157,"nameZh":6,"description":158,"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":161,"publishedAt":19},"01M78FNMS7HQGD9EE43WAFEW6A","fetch-rdf-engine-tests","Maintain fetch-rdf's real Node WASM parser integration tests without introducing a reverse engine dependency in fetch-rdf.","https:\u002F\u002Fgithub.com\u002Fjeswr\u002Fsolid-sdk\u002Fblob\u002Fmain\u002Ftools\u002Ffetch-rdf-engine-tests\u002FSKILL.md",[],[],{"skillNo":163,"name":164,"nameZh":6,"description":165,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":166,"categories":167,"keywords":168,"publishedAt":19},"01M78FNK5M6ASAR3909JT6BZV1","alpha","Use when checking fixtures, including folded YAML descriptions.","https:\u002F\u002Fgithub.com\u002Fjeswr\u002Fsolid-sdk\u002Fblob\u002Fmain\u002Ftest\u002Ffixtures\u002Fcheck-skills\u002Fvalid\u002Fskills\u002Falpha\u002FSKILL.md",[],[],{"skillNo":170,"name":171,"nameZh":6,"description":172,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":173,"categories":174,"keywords":175,"publishedAt":19},"01M78FNGATR8F4N09HWSFVWBAF","widget","Use when testing package skills: YAML quoting works.","https:\u002F\u002Fgithub.com\u002Fjeswr\u002Fsolid-sdk\u002Fblob\u002Fmain\u002Ftest\u002Ffixtures\u002Fcheck-skills\u002Fvalid\u002Fpackages\u002Fwidget\u002FSKILL.md",[],[],{"skillNo":177,"name":178,"nameZh":6,"description":179,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":180,"categories":181,"keywords":182,"publishedAt":19},"01M78FN9M05GCHYTK848SSMN9R","web-seo","Use when improving technical and entity SEO for a modern personal, portfolio, documentation, or marketing site, including crawlable HTML, canonical metadata, sitemap and robots, Person\u002FProfilePage JSON-LD, Core Web Vitals, and honest ranking expectations.","https:\u002F\u002Fgithub.com\u002Fjeswr\u002Fsolid-sdk\u002Fblob\u002Fmain\u002Fskills\u002Fweb-seo\u002FSKILL.md",[],[],{"skillNo":184,"name":185,"nameZh":6,"description":186,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":187,"categories":188,"keywords":189,"publishedAt":19},"01M78FN5ANETMSPMEFACSJ7JMC","solid-wac","Use when implementing or auditing Solid server WAC authorization, ACL creation and inheritance, auxiliary-resource escalation, method-to-mode mapping, 401 versus 403 challenges, WAC-Allow, or defensive typed ACL parsing with @solid\u002Fobject and @rdfjs\u002Fwrapper.","https:\u002F\u002Fgithub.com\u002Fjeswr\u002Fsolid-sdk\u002Fblob\u002Fmain\u002Fskills\u002Fsolid-wac\u002FSKILL.md",[],[]]