[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6ES3W4D6GVTC7WD22F7XFR7":3,"skill-same:01M6ES3W4D6GVTC7WD22F7XFR7":67},{"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":30,"linkOnly":31,"markdownContent":32,"markdownBody":33,"frontMatter":34,"refName":37,"commitSha":38,"skillDirectory":39,"forksCount":40,"repositoryHtmlUrl":41,"repositoryHomepageUrl":42,"ownerHtmlUrl":43,"ownerBlogUrl":44,"ownerDescription":45,"updatedAt":46,"install":47,"resources":60},"01M6ES3W4D6GVTC7WD22F7XFR7","phaserjs-build-tilemaps",null,"Integrate Phaser tilemaps, tilesets, layers and authored object data with validated coordinates, collisions and level identity.","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\u002Fphaserjs-build-tilemaps\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29],"build","phaserjs build tilemaps","phaserjs","identity","data","integrate","coordinates","phaser","with","object","layers","2026-11-10 10:12:30",false,"---\nname: phaserjs-build-tilemaps\ndescription: Integrate Phaser tilemaps, tilesets, layers and authored object data with validated coordinates, collisions and level identity.\nengines: [PHASERJS]\n---\n\n# Build Phaser Tilemaps\n\n## When to use\n\nLoad or author tile-based levels, convert editor objects to gameplay entities, or diagnose tile collision and alignment.\n\n## Engine and dependencies\n\nBefore edits or tool launches, run `resolve-engine.sh` and `resolve-skill.sh phaserjs-build-tilemaps`; require compatibility and honor task override scope. Inspect the locked Phaser major, exporter\u002Fschema version, map orientation, selected physics plugin and world contract. Tiled or other editors are optional selected tools; no editor\u002Fplugin installation or map download is implied.\n\n## Workflow\n\n1. Validate map schema, dimensions, tile size, tileset image dependencies, margin\u002Fspacing and layer names before runtime construction. Reject unsupported external tilesets, chunking, orientation or export features explicitly rather than dropping content silently.\n2. Use the installed version's loader (`tilemapTiledJSON` where applicable), `this.make.tilemap`, `addTilesetImage` and `createLayer`. Match the authored tileset name to the runtime texture key; validate failed returns instead of continuing with blank layers.\n3. Specify layer origin, scale, camera\u002Fparallax behavior and world\u002Ftile coordinate conversion. Preserve flip\u002Frotation flags and tileset GID ranges. Object layers require explicit shape, anchor and rotation conversion; image origins do not automatically match authored object positions.\n4. For Arcade, select collision indices\u002Fproperties and validate body contacts with layer collision faces. For Matter, use the supported tile conversion path and authored shapes; never assume Arcade layer colliders operate in a Matter world.\n5. Convert spawn, trigger and navigation markers into validated content records with stable IDs. Keep mutable level state and save migrations separate from tile graphics. Dynamic tile edits must refresh relevant collision\u002Fnavigation data and preserve no-loss persistence rules.\n6. Bound layer\u002Fchunk creation, visible work and memory. Phaser 3 custom pipelines and Phaser 4 render-node\u002FGPU-layer behavior need version-specific review. Teardown owned objects\u002Flisteners without removing shared tileset textures still used by another scene.\n\n## Output and verification\n\nDeliver import validation, layer\u002Ftileset mapping and coordinate\u002Fcollision evidence. Test map edges, flipped tiles, scaled maps, object rotations, missing tilesets, triggers, save\u002Freload and supported chunk boundaries. Inspect rendered alignment and physical contacts in the runtime. Read the [Tilemap API](https:\u002F\u002Fdocs.phaser.io\u002Fapi-documentation\u002F3.88.2\u002Fclass\u002Ftilemaps-tilemap) as a versioned reference and select the host's matching version before implementation.\n","# Build Phaser Tilemaps\n\n## When to use\n\nLoad or author tile-based levels, convert editor objects to gameplay entities, or diagnose tile collision and alignment.\n\n## Engine and dependencies\n\nBefore edits or tool launches, run `resolve-engine.sh` and `resolve-skill.sh phaserjs-build-tilemaps`; require compatibility and honor task override scope. Inspect the locked Phaser major, exporter\u002Fschema version, map orientation, selected physics plugin and world contract. Tiled or other editors are optional selected tools; no editor\u002Fplugin installation or map download is implied.\n\n## Workflow\n\n1. Validate map schema, dimensions, tile size, tileset image dependencies, margin\u002Fspacing and layer names before runtime construction. Reject unsupported external tilesets, chunking, orientation or export features explicitly rather than dropping content silently.\n2. Use the installed version's loader (`tilemapTiledJSON` where applicable), `this.make.tilemap`, `addTilesetImage` and `createLayer`. Match the authored tileset name to the runtime texture key; validate failed returns instead of continuing with blank layers.\n3. Specify layer origin, scale, camera\u002Fparallax behavior and world\u002Ftile coordinate conversion. Preserve flip\u002Frotation flags and tileset GID ranges. Object layers require explicit shape, anchor and rotation conversion; image origins do not automatically match authored object positions.\n4. For Arcade, select collision indices\u002Fproperties and validate body contacts with layer collision faces. For Matter, use the supported tile conversion path and authored shapes; never assume Arcade layer colliders operate in a Matter world.\n5. Convert spawn, trigger and navigation markers into validated content records with stable IDs. Keep mutable level state and save migrations separate from tile graphics. Dynamic tile edits must refresh relevant collision\u002Fnavigation data and preserve no-loss persistence rules.\n6. Bound layer\u002Fchunk creation, visible work and memory. Phaser 3 custom pipelines and Phaser 4 render-node\u002FGPU-layer behavior need version-specific review. Teardown owned objects\u002Flisteners without removing shared tileset textures still used by another scene.\n\n## Output and verification\n\nDeliver import validation, layer\u002Ftileset mapping and coordinate\u002Fcollision evidence. Test map edges, flipped tiles, scaled maps, object rotations, missing tilesets, triggers, save\u002Freload and supported chunk boundaries. Inspect rendered alignment and physical contacts in the runtime. Read the [Tilemap API](https:\u002F\u002Fdocs.phaser.io\u002Fapi-documentation\u002F3.88.2\u002Fclass\u002Ftilemaps-tilemap) as a versioned reference and select the host's matching version before implementation.\n",{"name":5,"engines":35,"description":7},[36],"PHASERJS","main","f819d9a9c7d641d8c7e14b59560a4fd358ec4630","skills\u002Fphaserjs-build-tilemaps",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-08 22:51:22",{"source":8,"skillName":5,"commands":48,"prompt":58,"zipAvailable":59},[49,52,55],{"tool":50,"command":51},"npx","npx skills add TimothyMeadows\u002FHephaera --skill phaserjs-build-tilemaps",{"tool":53,"command":54},"bunx","bunx skills add TimothyMeadows\u002FHephaera --skill phaserjs-build-tilemaps",{"tool":56,"command":57},"pnpm","pnpm dlx skills add TimothyMeadows\u002FHephaera --skill phaserjs-build-tilemaps","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FTimothyMeadows\u002FHephaera\u002Fblob\u002Fmain\u002Fskills\u002Fphaserjs-build-tilemaps\u002FSKILL.md",true,[61],{"path":62,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":65,"sourceHtmlUrl":66},"agents\u002Fopenai.yaml","REFERENCE","参考文档",256,"https:\u002F\u002Fgithub.com\u002FTimothyMeadows\u002FHephaera\u002Fblob\u002Fmain\u002Fskills\u002Fphaserjs-build-tilemaps\u002Fagents\u002Fopenai.yaml",[68,92,116,134,152,171],{"skillNo":69,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":74,"publishedAt":30},"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",[],[75,76,77,78,79,27,80,81,82,83,84,85,86,87,88,89,90,91],"game","verify","lifecycle","verify web3 game lifecycle","web3","evidence","readiness","release readiness","Wallet","recovery","properties","release","contract","canonical","asset","ownership","trading",{"skillNo":93,"name":94,"nameZh":6,"description":95,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":98,"publishedAt":30},"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",[],[75,99,76,100,101,102,103,104,105,106,107,108,109,110,111,112,84,113,114,115],"onchain","game assets","assets","verify onchain game assets","chain","for","inventory","reservations","design","erc721","use","Rules","collection","on-chain","at","blocks","reconcile",{"skillNo":117,"name":118,"nameZh":6,"description":119,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":120,"categories":121,"keywords":122,"publishedAt":30},"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",[],[75,123,100,101,124,79,125,126,127,128,103,129,77,130,131,132,133,89,22],"plan","plan web3 game assets","supply","opt","immutable","rights","dependencies","token","base","define","ethereum",{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":140,"publishedAt":30},"01M70TYYZ7SPZ7PE6A6GQ5RXQ9","integrate-game-wallets","Integrate explicit player-wallet connection, scoped SIWE authentication, authority invalidation and reviewed target-specific handoff without application-held player keys.","https:\u002F\u002Fgithub.com\u002FTimothyMeadows\u002FHephaera\u002Fblob\u002Fmain\u002Fskills\u002Fintegrate-game-wallets\u002FSKILL.md",[],[75,141,24,142,143,83,144,145,146,147,148,149,150,151],"integrate game wallets","wallets","siwe","keys","authentication","player","scoped","connection","authority","application","handoff",{"skillNo":153,"name":154,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":158,"publishedAt":30},"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",[],[75,159,24,89,91,160,161,104,147,162,109,163,164,27,165,166,167,168,169,170],"integrate game asset trading","reconciliation","idempotent operations","retries","listing","idempotent","nft","approvals","operations","marketplace","integration","intents",{"skillNo":172,"name":173,"nameZh":6,"description":174,"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":177,"publishedAt":30},"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",[],[75,178,19,179,180,104,181,146,182,87,183,109,110,184,27,185,186,76,187,188],"evm","build evm game contracts","contracts","deployment","collections","host","author","admin","signing","mint","tooling"]