[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M70TYYZ7SPZ7PE6A6GQ5RXQ9":3,"skill-same:01M70TYYZ7SPZ7PE6A6GQ5RXQ9":74},{"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":33,"linkOnly":34,"markdownContent":35,"markdownBody":36,"frontMatter":37,"refName":40,"commitSha":41,"skillDirectory":42,"forksCount":43,"repositoryHtmlUrl":44,"repositoryHomepageUrl":45,"ownerHtmlUrl":46,"ownerBlogUrl":47,"ownerDescription":48,"updatedAt":49,"install":50,"resources":63},"01M70TYYZ7SPZ7PE6A6GQ5RXQ9","integrate-game-wallets",null,"Integrate explicit player-wallet connection, scoped SIWE authentication, authority invalidation and reviewed target-specific handoff without application-held player keys.","TimothyMeadows\u002FHephaera","TimothyMeadows","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F4072037?v=4","01M6ERVE3WV9X55S1NT4W5FDGA","Timothy D Meadows II","01M6ERVE8H7CBATH6KYFDKG5CJ",4,"MIT","https:\u002F\u002Fgithub.com\u002FTimothyMeadows\u002FHephaera\u002Fblob\u002Fmain\u002Fskills\u002Fintegrate-game-wallets\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32],"game","integrate game wallets","integrate","wallets","siwe","Wallet","keys","authentication","player","scoped","connection","authority","application","handoff","2026-11-10 10:12:30",false,"---\nname: integrate-game-wallets\ndescription: Integrate explicit player-wallet connection, scoped SIWE authentication, authority invalidation and reviewed target-specific handoff without application-held player keys.\nengines: [AGNOSTIC]\n---\n\n# Integrate Game Wallets\n\n## When to use\n\nConnect or authenticate player-controlled EVM wallets, review account\u002Fchain\u002Fdelegation lifecycle, inspect wallet batching capabilities, or prepare a narrow browser\u002Fnative wallet handoff. A wallet login establishes account control; chain ownership and game access have separate owners.\n\n## Workflow\n\n1. Resolve the host engine and this skill with `commands\u002Fresolve-skill.sh integrate-game-wallets`; require `compatible: true`. Read the host WEB3.md, validated web3-game.json, architecture, selected chains and exact locked SDK\u002Fclient identities. Preserve existing engine, style, media and Bubo authority. Unconfigured Web3 or missing compatible verification\u002Ftransport ports remains unavailable. Selecting this skill imports\u002Finstalls nothing and connects no account.\n2. Read `references\u002FINTEGRATION.md` and `.web3\u002FCONTRACT.md` from the shared baseline. Use the framework-independent `.web3\u002Fruntime\u002Fwallet-session.mjs` or a reviewed host implementation. Supply the provider explicitly after the player's wallet selection; never discover\u002Fselect an injected wallet silently or introduce a frontend framework solely for authentication. Keep key custody with the player and existing wallet.\n3. Separate connected account, server authentication, canonical ownership and current game eligibility in APIs and UI. Obtain a server-issued canonical SIWE challenge bound to a strong one-use nonce, trusted browser session, exact HTTPS origin\u002FURI, chain, address and short validity period. Have the server validate actual signature and all scope fields before issuing its session. The server's atomic durable nonce store and trusted chain-aware verifier are prerequisites, not JSON-configurable code.\n4. Require an explicit account-kind\u002Fauthority resolver and a tested verifier per selected profile. Handle undelegated EOA, ERC1271, ERC6492 and EIP7702 independently. Unknown or untested profiles return unavailable. Nonempty code cannot establish a conventional contract wallet, and an EOA key recovery alone cannot establish current delegation authority. Do not request raw delegation authorization, add a session key or enable sponsorship as part of login.\n5. Invalidate pending requests and dependent authentication on account\u002Fchain\u002Fdisconnect\u002Fdelegation or relevant authority changes. Use finite deadlines, cancellation, identity checks before\u002Fafter signing and teardown. Host watchers must report authority changes that EIP1193 does not standardize. Discard late results; local cancellation\u002Fdisconnection cannot cancel an already displayed wallet prompt, revoke approvals or reverse chain effects.\n6. Inspect selected-chain capabilities before planning wallet calls. EIP5792 `supported` means atomic batching is available; `ready` needs an upgrade and actual player approval; `unsupported` or unknown cannot promise atomic execution. Actual batching belongs to separately reviewed transaction integration and must require atomicity explicitly. Connection\u002Flogin is no transaction, approval, listing, custody or delegation authorization.\n7. For MAUI\u002Fnative, preserve current WebView navigation\u002Fpopup restrictions. An explicit native transport integration and real-device QA remain required. The optional native return guard only checks a fixed return URL, one-use state, S256 PKCE binding and expiry. It launches nothing and exposes no native methods. Verify OS app\u002Funiversal links, backend code exchange, suspend\u002Fcold return, duplicates, account switching and identity on each selected target; in-memory callback fixtures establish none of these target claims.\n8. Run the meaningful wallet tests with the explicitly provisioned pinned fixture. Preserve exact SDK\u002Fhelper\u002Fpolicy\u002Finput identities and actual results. Require independent review and real browser\u002Fwallet\u002Fchain\u002Fnative evidence for those deployment targets. Keep counterfactual\u002Fdelegated wallets and unavailable services explicitly unsupported until their selected paths have matching evidence.\n\n## Output\n\nDeliver scoped challenge\u002Fsession integration, the account-kind\u002Fcapability matrix, invalidation\u002Fteardown behavior and evidence separated into actual SDK\u002Flocal EVM, injected-port and real-target results. Never record player keys, signatures, nonce\u002Fsession\u002FPKCE material or wallet-linked personal data in public task artifacts. Delegate ownership and admission to `verify-onchain-game-assets`, trades to `integrate-game-asset-trading`, and independent lifecycle acceptance to `verify-web3-game-lifecycle`.\n","# Integrate Game Wallets\n\n## When to use\n\nConnect or authenticate player-controlled EVM wallets, review account\u002Fchain\u002Fdelegation lifecycle, inspect wallet batching capabilities, or prepare a narrow browser\u002Fnative wallet handoff. A wallet login establishes account control; chain ownership and game access have separate owners.\n\n## Workflow\n\n1. Resolve the host engine and this skill with `commands\u002Fresolve-skill.sh integrate-game-wallets`; require `compatible: true`. Read the host WEB3.md, validated web3-game.json, architecture, selected chains and exact locked SDK\u002Fclient identities. Preserve existing engine, style, media and Bubo authority. Unconfigured Web3 or missing compatible verification\u002Ftransport ports remains unavailable. Selecting this skill imports\u002Finstalls nothing and connects no account.\n2. Read `references\u002FINTEGRATION.md` and `.web3\u002FCONTRACT.md` from the shared baseline. Use the framework-independent `.web3\u002Fruntime\u002Fwallet-session.mjs` or a reviewed host implementation. Supply the provider explicitly after the player's wallet selection; never discover\u002Fselect an injected wallet silently or introduce a frontend framework solely for authentication. Keep key custody with the player and existing wallet.\n3. Separate connected account, server authentication, canonical ownership and current game eligibility in APIs and UI. Obtain a server-issued canonical SIWE challenge bound to a strong one-use nonce, trusted browser session, exact HTTPS origin\u002FURI, chain, address and short validity period. Have the server validate actual signature and all scope fields before issuing its session. The server's atomic durable nonce store and trusted chain-aware verifier are prerequisites, not JSON-configurable code.\n4. Require an explicit account-kind\u002Fauthority resolver and a tested verifier per selected profile. Handle undelegated EOA, ERC1271, ERC6492 and EIP7702 independently. Unknown or untested profiles return unavailable. Nonempty code cannot establish a conventional contract wallet, and an EOA key recovery alone cannot establish current delegation authority. Do not request raw delegation authorization, add a session key or enable sponsorship as part of login.\n5. Invalidate pending requests and dependent authentication on account\u002Fchain\u002Fdisconnect\u002Fdelegation or relevant authority changes. Use finite deadlines, cancellation, identity checks before\u002Fafter signing and teardown. Host watchers must report authority changes that EIP1193 does not standardize. Discard late results; local cancellation\u002Fdisconnection cannot cancel an already displayed wallet prompt, revoke approvals or reverse chain effects.\n6. Inspect selected-chain capabilities before planning wallet calls. EIP5792 `supported` means atomic batching is available; `ready` needs an upgrade and actual player approval; `unsupported` or unknown cannot promise atomic execution. Actual batching belongs to separately reviewed transaction integration and must require atomicity explicitly. Connection\u002Flogin is no transaction, approval, listing, custody or delegation authorization.\n7. For MAUI\u002Fnative, preserve current WebView navigation\u002Fpopup restrictions. An explicit native transport integration and real-device QA remain required. The optional native return guard only checks a fixed return URL, one-use state, S256 PKCE binding and expiry. It launches nothing and exposes no native methods. Verify OS app\u002Funiversal links, backend code exchange, suspend\u002Fcold return, duplicates, account switching and identity on each selected target; in-memory callback fixtures establish none of these target claims.\n8. Run the meaningful wallet tests with the explicitly provisioned pinned fixture. Preserve exact SDK\u002Fhelper\u002Fpolicy\u002Finput identities and actual results. Require independent review and real browser\u002Fwallet\u002Fchain\u002Fnative evidence for those deployment targets. Keep counterfactual\u002Fdelegated wallets and unavailable services explicitly unsupported until their selected paths have matching evidence.\n\n## Output\n\nDeliver scoped challenge\u002Fsession integration, the account-kind\u002Fcapability matrix, invalidation\u002Fteardown behavior and evidence separated into actual SDK\u002Flocal EVM, injected-port and real-target results. Never record player keys, signatures, nonce\u002Fsession\u002FPKCE material or wallet-linked personal data in public task artifacts. Delegate ownership and admission to `verify-onchain-game-assets`, trades to `integrate-game-asset-trading`, and independent lifecycle acceptance to `verify-web3-game-lifecycle`.\n",{"name":5,"engines":38,"description":7},[39],"AGNOSTIC","main","c88f4c5f7ece8057ad15e220a7020f8446e0ba80","skills\u002Fintegrate-game-wallets",3,"https:\u002F\u002Fgithub.com\u002FTimothyMeadows\u002FHephaera","https:\u002F\u002Fhephaera.com\u002F","https:\u002F\u002Fgithub.com\u002FTimothyMeadows","http:\u002F\u002Fwww.timothymeadows.com","Software & AI Systems Architect | Distributed Systems & Agentic Platforms","2026-11-13 12:12:19",{"source":8,"skillName":5,"commands":51,"prompt":61,"zipAvailable":62},[52,55,58],{"tool":53,"command":54},"npx","npx skills add TimothyMeadows\u002FHephaera --skill integrate-game-wallets",{"tool":56,"command":57},"bunx","bunx skills add TimothyMeadows\u002FHephaera --skill integrate-game-wallets",{"tool":59,"command":60},"pnpm","pnpm dlx skills add TimothyMeadows\u002FHephaera --skill integrate-game-wallets","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FTimothyMeadows\u002FHephaera\u002Fblob\u002Fmain\u002Fskills\u002Fintegrate-game-wallets\u002FSKILL.md",true,[64,70],{"path":65,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":68,"sourceHtmlUrl":69},"agents\u002Fopenai.yaml","REFERENCE","参考文档",296,"https:\u002F\u002Fgithub.com\u002FTimothyMeadows\u002FHephaera\u002Fblob\u002Fmain\u002Fskills\u002Fintegrate-game-wallets\u002Fagents\u002Fopenai.yaml",{"path":71,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":72,"sourceHtmlUrl":73},"references\u002FINTEGRATION.md",12562,"https:\u002F\u002Fgithub.com\u002FTimothyMeadows\u002FHephaera\u002Fblob\u002Fmain\u002Fskills\u002Fintegrate-game-wallets\u002Freferences\u002FINTEGRATION.md",[75,98,122,141,160,179],{"skillNo":76,"name":77,"nameZh":6,"description":78,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":79,"categories":80,"keywords":81,"publishedAt":33},"01M70V3EJ7JDFDFJ3XTKRGKRBP","verify-web3-game-lifecycle","Verify a game's selected Web3 asset, wallet, ownership and trading lifecycle with contract properties, canonical recovery, actual target evidence and separate release readiness.","https:\u002F\u002Fgithub.com\u002FTimothyMeadows\u002FHephaera\u002Fblob\u002Fmain\u002Fskills\u002Fverify-web3-game-lifecycle\u002FSKILL.md",[],[19,82,83,84,85,86,87,88,89,24,90,91,92,93,94,95,96,97],"verify","lifecycle","verify web3 game lifecycle","web3","with","evidence","readiness","release readiness","recovery","properties","release","contract","canonical","asset","ownership","trading",{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":104,"publishedAt":33},"01M70V3CS767H4M1FP4C2A7K51","verify-onchain-game-assets","Verify exact on-chain game collection ownership and quantities at canonical blocks, reconcile inventory events, and design honest match admission. Use for ERC721\u002FERC1155 inventory, reorg recovery, reservations, or transfer-during-match rules.","https:\u002F\u002Fgithub.com\u002FTimothyMeadows\u002FHephaera\u002Fblob\u002Fmain\u002Fskills\u002Fverify-onchain-game-assets\u002FSKILL.md",[],[19,105,82,106,107,108,109,110,111,112,113,114,115,116,117,118,90,119,120,121],"onchain","game assets","assets","verify onchain game assets","chain","for","inventory","reservations","design","erc721","use","Rules","collection","on-chain","at","blocks","reconcile",{"skillNo":123,"name":124,"nameZh":6,"description":125,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":126,"categories":127,"keywords":128,"publishedAt":33},"01M70TZYWE48MTM8CGGDMWSJDN","plan-web3-game-assets","Define an opt-in Ethereum, Base or Immutable game-asset lifecycle, including token identity, supply, rights, custody, game eligibility and chain-specific dependencies.","https:\u002F\u002Fgithub.com\u002FTimothyMeadows\u002FHephaera\u002Fblob\u002Fmain\u002Fskills\u002Fplan-web3-game-assets\u002FSKILL.md",[],[19,129,106,107,130,85,131,132,133,134,109,135,83,136,137,138,139,95,140],"plan","plan web3 game assets","supply","opt","immutable","rights","dependencies","token","base","define","ethereum","identity",{"skillNo":142,"name":143,"nameZh":6,"description":144,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":145,"categories":146,"keywords":147,"publishedAt":33},"01M70TYX656BP1R0KWMYRX437R","integrate-game-asset-trading","Integrate explicitly selected game asset settlement with exact unsigned intents, scoped approvals, idempotent operations and canonical receipt reconciliation. Use for NFT listing, buying, cancellation, retries or marketplace integration.","https:\u002F\u002Fgithub.com\u002FTimothyMeadows\u002FHephaera\u002Fblob\u002Fmain\u002Fskills\u002Fintegrate-game-asset-trading\u002FSKILL.md",[],[19,148,21,95,97,149,150,110,28,151,115,152,153,86,154,155,156,157,158,159],"integrate game asset trading","reconciliation","idempotent operations","retries","listing","idempotent","nft","approvals","operations","marketplace","integration","intents",{"skillNo":161,"name":162,"nameZh":6,"description":163,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":166,"publishedAt":33},"01M70TWV3J83RAJMA7BC62CPAH","build-evm-game-contracts","Author and verify host-owned EVM game collections and explicit mint, burn, craft or admin rules with pinned Solidity tooling. Use for contract source and deployment candidates; deployment and player signing require separate authorization.","https:\u002F\u002Fgithub.com\u002FTimothyMeadows\u002FHephaera\u002Fblob\u002Fmain\u002Fskills\u002Fbuild-evm-game-contracts\u002FSKILL.md",[],[19,167,168,169,170,110,171,27,172,93,173,115,116,174,86,175,176,82,177,178],"evm","build","build evm game contracts","contracts","deployment","collections","host","author","admin","signing","mint","tooling",{"skillNo":180,"name":181,"nameZh":6,"description":182,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":183,"categories":184,"keywords":190,"publishedAt":33},"01M6ES7KY8K93QWQ83R063FN6K","threejs-build-code-models","Author procedural Three.js TypeScript or JavaScript models from a text brief and optional authorized references using deterministic ordered review passes. Use when the selected art pipeline is CODE and the runtime model should be source code rather than a downloaded or generated mesh.","https:\u002F\u002Fgithub.com\u002FTimothyMeadows\u002FHephaera\u002Fblob\u002Fmain\u002Fskills\u002Fthreejs-build-code-models\u002FSKILL.md",[185],{"categoryNo":186,"categoryName":187,"taxonomyType":188,"taxonomyTypeDesc":189},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[191,168,192,193,194,195,196,197,198,199,200,201,202,203,204,115,205,206,207,208],"code","models","threejs build code models","Code Models","threejs","mesh","deterministic","brief","three","model","runtime","pipeline","Art","generated","review","text","javascript","references"]