[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6ES4NPCQMAYCK1KB8TYATMS":3,"skill-same:01M6ES4NPCQMAYCK1KB8TYATMS":113},{"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":32,"linkOnly":33,"markdownContent":34,"markdownBody":35,"frontMatter":36,"refName":39,"commitSha":40,"skillDirectory":41,"forksCount":42,"repositoryHtmlUrl":43,"repositoryHomepageUrl":44,"ownerHtmlUrl":45,"ownerBlogUrl":46,"ownerDescription":47,"updatedAt":48,"install":49,"resources":62},"01M6ES4NPCQMAYCK1KB8TYATMS","post-pr-qa",null,"Run mode-aware QA immediately after a confirmed task, Goal, or Gauntlet PR is available, then post pass\u002Ffail evidence to the PR with inline screenshot references.","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\u002Fpost-pr-qa\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31],"pr","qa","post","post pr qa","run","screenshot","evidence","goal","references","task","with","mode","inline","2026-11-10 10:12:30",false,"---\nname: post-pr-qa\ndescription: Run mode-aware QA immediately after a confirmed task, Goal, or Gauntlet PR is available, then post pass\u002Ffail evidence to the PR with inline screenshot references.\nengines: [AGNOSTIC]\n---\n\n## When to use\nUse after the applicable mode-aware readiness gate has authorized publication and the PR number or URL has been confirmed as available. This includes human-approved task and Gauntlet promotion PRs, automatic Goal task PRs, and approved Gauntlet progress PRs.\n\n## Output\n- QA commands run and pass\u002Ffail outcome\n- generated report paths\n- GitHub PR comment with QA evidence\n- inline screenshot URLs in the PR comment when screenshots are part of the evidence\n- mode-specific next state: task\u002FGoal review readiness, a recorded Gauntlet progress verdict awaiting human merge or another builder round, or a recorded promotion verdict\n\n## Notes\n- Confirm the PR exists first using this GitHub tool priority: `gh pr view`, then an available `github` CLI\u002Fwrapper, then GitHub MCP\u002Fapp connector metadata only when both CLI options are unavailable or unsuitable.\n- Start QA immediately after PR availability is confirmed; do not wait for another user prompt.\n- Choose the narrowest meaningful QA first, then broaden when risk or repository conventions require it.\n- For browser\u002FUI work, generate non-interactive evidence reports and include screenshot URLs in the PR comment.\n- Local screenshot file paths do not render inline on GitHub. Upload screenshots or use CI\u002Frepository-hosted URLs before posting inline evidence.\n- Mirror or link QA evidence to the task issue when a linked issue exists, but the PR comment is the primary post-PR signal.\n- Post the PR QA comment through the same GitHub tool priority: `gh` first, `github` CLI\u002Fwrapper second, GitHub MCP\u002Fapp connector last.\n- For Gauntlet QA, use the semantic comment form, capture its exact `COMMENT_URL`, then record the corresponding immutable event. A progress pass waits for human merge; a progress failure returns to the same PR with a changed builder strategy. A promotion failure must be recorded before affected-unit remediation may begin.\n- After QA is complete, report the verdict and the mode-specific next state. Do not describe a Gauntlet unit as integrated until its passing head is human-merged and the merge event is recorded.\n\n## Commands\n..\u002Fcommands\u002Fcomment-pr-qa-results.sh \"\u003Cpr_number_or_url>\" \"\u003Cresults_summary_file>\" [screenshot_or_artifact ...]\n..\u002Fcommands\u002Fcomment-pr-qa-results.sh \"\u003Cpr_url>\" \"\u003Cresults_summary_file>\" --gauntlet-verdict \"\u003Cpass|fail>\" --head-sha \"\u003Csha>\" --gauntlet-source \"\u003Cproject-relative-round-or-completion-event>\" [--gauntlet-affected-units \"\u003Cnone|comma-sorted-ids>\"] [screenshot_or_artifact ...]\n..\u002Fcommands\u002Frecord-gauntlet-pr-event.sh \"\u003Cgauntlet>\" \"\u003Citem-id>\" \"\u003Cqa-pass|qa-fail>\" \"\u003Cpr-url>\" \"\u003Chead-branch>\" \"\u003Ccomment-url>\" --head-sha \"\u003Csha>\"\n..\u002Fcommands\u002Frecord-gauntlet-promotion-qa.sh \"\u003Cgauntlet>\" \"\u003Cpass|fail>\" \"\u003Cpromotion-pr-url>\" \"\u003Ccomment-url>\" --head-sha \"\u003Csha>\" [--affected-unit \"\u003Citem-id>\"]...\n","## When to use\nUse after the applicable mode-aware readiness gate has authorized publication and the PR number or URL has been confirmed as available. This includes human-approved task and Gauntlet promotion PRs, automatic Goal task PRs, and approved Gauntlet progress PRs.\n\n## Output\n- QA commands run and pass\u002Ffail outcome\n- generated report paths\n- GitHub PR comment with QA evidence\n- inline screenshot URLs in the PR comment when screenshots are part of the evidence\n- mode-specific next state: task\u002FGoal review readiness, a recorded Gauntlet progress verdict awaiting human merge or another builder round, or a recorded promotion verdict\n\n## Notes\n- Confirm the PR exists first using this GitHub tool priority: `gh pr view`, then an available `github` CLI\u002Fwrapper, then GitHub MCP\u002Fapp connector metadata only when both CLI options are unavailable or unsuitable.\n- Start QA immediately after PR availability is confirmed; do not wait for another user prompt.\n- Choose the narrowest meaningful QA first, then broaden when risk or repository conventions require it.\n- For browser\u002FUI work, generate non-interactive evidence reports and include screenshot URLs in the PR comment.\n- Local screenshot file paths do not render inline on GitHub. Upload screenshots or use CI\u002Frepository-hosted URLs before posting inline evidence.\n- Mirror or link QA evidence to the task issue when a linked issue exists, but the PR comment is the primary post-PR signal.\n- Post the PR QA comment through the same GitHub tool priority: `gh` first, `github` CLI\u002Fwrapper second, GitHub MCP\u002Fapp connector last.\n- For Gauntlet QA, use the semantic comment form, capture its exact `COMMENT_URL`, then record the corresponding immutable event. A progress pass waits for human merge; a progress failure returns to the same PR with a changed builder strategy. A promotion failure must be recorded before affected-unit remediation may begin.\n- After QA is complete, report the verdict and the mode-specific next state. Do not describe a Gauntlet unit as integrated until its passing head is human-merged and the merge event is recorded.\n\n## Commands\n..\u002Fcommands\u002Fcomment-pr-qa-results.sh \"\u003Cpr_number_or_url>\" \"\u003Cresults_summary_file>\" [screenshot_or_artifact ...]\n..\u002Fcommands\u002Fcomment-pr-qa-results.sh \"\u003Cpr_url>\" \"\u003Cresults_summary_file>\" --gauntlet-verdict \"\u003Cpass|fail>\" --head-sha \"\u003Csha>\" --gauntlet-source \"\u003Cproject-relative-round-or-completion-event>\" [--gauntlet-affected-units \"\u003Cnone|comma-sorted-ids>\"] [screenshot_or_artifact ...]\n..\u002Fcommands\u002Frecord-gauntlet-pr-event.sh \"\u003Cgauntlet>\" \"\u003Citem-id>\" \"\u003Cqa-pass|qa-fail>\" \"\u003Cpr-url>\" \"\u003Chead-branch>\" \"\u003Ccomment-url>\" --head-sha \"\u003Csha>\"\n..\u002Fcommands\u002Frecord-gauntlet-promotion-qa.sh \"\u003Cgauntlet>\" \"\u003Cpass|fail>\" \"\u003Cpromotion-pr-url>\" \"\u003Ccomment-url>\" --head-sha \"\u003Csha>\" [--affected-unit \"\u003Citem-id>\"]...\n",{"name":5,"engines":37,"description":7},[38],"AGNOSTIC","main","f819d9a9c7d641d8c7e14b59560a4fd358ec4630","skills\u002Fpost-pr-qa",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":50,"prompt":60,"zipAvailable":61},[51,54,57],{"tool":52,"command":53},"npx","npx skills add TimothyMeadows\u002FHephaera --skill post-pr-qa",{"tool":55,"command":56},"bunx","bunx skills add TimothyMeadows\u002FHephaera --skill post-pr-qa",{"tool":58,"command":59},"pnpm","pnpm dlx skills add TimothyMeadows\u002FHephaera --skill post-pr-qa","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FTimothyMeadows\u002FHephaera\u002Fblob\u002Fmain\u002Fskills\u002Fpost-pr-qa\u002FSKILL.md",true,[63,69,73,79,83,87,93,97,101,105,109],{"path":64,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":67,"sourceHtmlUrl":68},"agents\u002Fgrader.md","REFERENCE","参考文档",5828,"https:\u002F\u002Fgithub.com\u002Fdeveloperworks\u002Frust-supervisor\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fbmad-eval-runner\u002Fagents\u002Fgrader.md",{"path":70,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":71,"sourceHtmlUrl":72},"agents\u002Fopenai.yaml",203,"https:\u002F\u002Fgithub.com\u002FTimothyMeadows\u002FHephaera\u002Fblob\u002Fmain\u002Fskills\u002Fpost-pr-qa\u002Fagents\u002Fopenai.yaml",{"path":74,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":77,"sourceHtmlUrl":78},"assets\u002FDockerfile","ASSET","资产文件",659,"https:\u002F\u002Fgithub.com\u002Fdeveloperworks\u002Frust-supervisor\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fbmad-eval-runner\u002Fassets\u002FDockerfile",{"path":80,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":81,"sourceHtmlUrl":82},"references\u002Feval-formats.md",8110,"https:\u002F\u002Fgithub.com\u002Fdeveloperworks\u002Frust-supervisor\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fbmad-eval-runner\u002Freferences\u002Feval-formats.md",{"path":84,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":85,"sourceHtmlUrl":86},"references\u002Fisolation.md",6260,"https:\u002F\u002Fgithub.com\u002Fdeveloperworks\u002Frust-supervisor\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fbmad-eval-runner\u002Freferences\u002Fisolation.md",{"path":88,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":91,"sourceHtmlUrl":92},"scripts\u002Fdocker_setup.py","SCRIPT","脚本",3685,"https:\u002F\u002Fgithub.com\u002Fdeveloperworks\u002Frust-supervisor\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fbmad-eval-runner\u002Fscripts\u002Fdocker_setup.py",{"path":94,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":95,"sourceHtmlUrl":96},"scripts\u002Fgenerate_report.py",7249,"https:\u002F\u002Fgithub.com\u002Fdeveloperworks\u002Frust-supervisor\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fbmad-eval-runner\u002Fscripts\u002Fgenerate_report.py",{"path":98,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":99,"sourceHtmlUrl":100},"scripts\u002Fpty_runner.py",5673,"https:\u002F\u002Fgithub.com\u002Fdeveloperworks\u002Frust-supervisor\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fbmad-eval-runner\u002Fscripts\u002Fpty_runner.py",{"path":102,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":103,"sourceHtmlUrl":104},"scripts\u002Frun_evals.py",16857,"https:\u002F\u002Fgithub.com\u002Fdeveloperworks\u002Frust-supervisor\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fbmad-eval-runner\u002Fscripts\u002Frun_evals.py",{"path":106,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":107,"sourceHtmlUrl":108},"scripts\u002Frun_triggers.py",13291,"https:\u002F\u002Fgithub.com\u002Fdeveloperworks\u002Frust-supervisor\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fbmad-eval-runner\u002Fscripts\u002Frun_triggers.py",{"path":110,"resourceType":89,"resourceTypeDesc":90,"sizeBytes":111,"sourceHtmlUrl":112},"scripts\u002Futils.py",8136,"https:\u002F\u002Fgithub.com\u002Fdeveloperworks\u002Frust-supervisor\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fbmad-eval-runner\u002Fscripts\u002Futils.py",[114,137,161,180,199,218],{"skillNo":115,"name":116,"nameZh":6,"description":117,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":120,"publishedAt":32},"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",[],[121,122,123,124,125,29,25,126,127,128,129,130,131,132,133,134,135,136],"game","verify","lifecycle","verify web3 game lifecycle","web3","readiness","release readiness","Wallet","recovery","properties","release","contract","canonical","asset","ownership","trading",{"skillNo":138,"name":139,"nameZh":6,"description":140,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":141,"categories":142,"keywords":143,"publishedAt":32},"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",[],[121,144,122,145,146,147,148,149,150,151,152,153,154,155,156,157,129,158,159,160],"onchain","game assets","assets","verify onchain game assets","chain","for","inventory","reservations","design","erc721","use","Rules","collection","on-chain","at","blocks","reconcile",{"skillNo":162,"name":163,"nameZh":6,"description":164,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":165,"categories":166,"keywords":167,"publishedAt":32},"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",[],[121,168,145,146,169,125,170,171,172,173,148,174,123,175,176,177,178,134,179],"plan","plan web3 game assets","supply","opt","immutable","rights","dependencies","token","base","define","ethereum","identity",{"skillNo":181,"name":182,"nameZh":6,"description":183,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":184,"categories":185,"keywords":186,"publishedAt":32},"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",[],[121,187,188,189,190,128,191,192,193,194,195,196,197,198],"integrate game wallets","integrate","wallets","siwe","keys","authentication","player","scoped","connection","authority","application","handoff",{"skillNo":200,"name":201,"nameZh":6,"description":202,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":203,"categories":204,"keywords":205,"publishedAt":32},"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",[],[121,206,188,134,136,207,208,149,194,209,154,210,211,29,212,213,214,215,216,217],"integrate game asset trading","reconciliation","idempotent operations","retries","listing","idempotent","nft","approvals","operations","marketplace","integration","intents",{"skillNo":219,"name":220,"nameZh":6,"description":221,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":222,"categories":223,"keywords":224,"publishedAt":32},"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",[],[121,225,226,227,228,149,229,193,230,132,231,154,155,232,29,233,234,122,235,236],"evm","build","build evm game contracts","contracts","deployment","collections","host","author","admin","signing","mint","tooling"]