[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6P3FZ3BWZ76Q0HSFCXFAS32":3,"skill-same:01M6P3FZ3BWZ76Q0HSFCXFAS32":47},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":14,"categories":15,"keywords":16,"publishedAt":22,"linkOnly":23,"markdownContent":24,"markdownBody":24,"frontMatter":25,"refName":26,"commitSha":27,"skillDirectory":28,"forksCount":12,"repositoryHtmlUrl":29,"repositoryHomepageUrl":6,"ownerHtmlUrl":30,"ownerBlogUrl":31,"ownerDescription":6,"updatedAt":32,"install":33,"resources":46},"01M6P3FZ3BWZ76Q0HSFCXFAS32","flutter-firebase-auth-state",null,"dexter-cnx\u002Fagent-engineering-toolkit","dexter-cnx","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F73522389?v=4","01M6K09WYAAXJXMR26H00WJ2AT","01M6P370Z0XCZ7NC67MJ2MRW94",0,"MIT","https:\u002F\u002Fgithub.com\u002Fdexter-cnx\u002Fagent-engineering-toolkit\u002Fblob\u002Fmain\u002Foverlays\u002Fmobile-flutter\u002Fskills\u002Ffirebase\u002Fflutter-firebase-auth-state\u002FSKILL.md",[],[17,18,19,20,21],"auth","state","firebase","flutter","flutter firebase auth state","2026-11-10 10:12:30",false,"# flutter-firebase-auth-state\n\n## Purpose\n\nCreate the auth session state layer that consumes a Firebase Auth adapter.\n\n## Use when\n\n- You need session state, not SDK wrapping\n- Route guards depend on auth status\n- A controller or provider must react to sign-in state\n\n## Do NOT use when\n\n- You need the Firebase SDK wrapper itself\n- The feature does not affect auth state\n- You need route declarations in the same pass\n\n## Inputs required\n\n- Auth state source\n- Signed-in and signed-out states\n- Consumer type: Riverpod, GetX, or router guard\n\n## Constraints\n\n- Keep session state typed\n- Do not call Firebase SDKs directly\n- Do not create routes here\n\n## Step-by-step workflow\n\n1. Define the session state model.\n2. Consume the auth adapter stream or methods.\n3. Expose sign-in, sign-out, and session data.\n4. Document the consumer surface.\n5. Return the state file list.\n\n## Output contract\n\n- Session state file\n- Optional provider or controller file\n- Auth state summary\n\n## Validation checklist\n\n- Session state is typed\n- SDK access remains behind the adapter\n- Route guard consumers are documented\n- No router tree was created\n\n## Related skills\n\n- `flutter-firebase-auth-adapter`\n- `flutter-go-router-redirect-guard`\n- `flutter-riverpod-state-skeleton`\n\n## References\n\n- [`..\u002F..\u002F..\u002Fexamples\u002Ffirebase-integration-example.md`](..\u002F..\u002F..\u002Fexamples\u002Ffirebase-integration-example.md)\n\n## Real example\n\n`authStateProvider` exposes `AsyncValue\u003CUser?>` to the router guard.\n\n## Real file output sample\n\n```text\nlib\u002Ffeatures\u002Fauth\u002Fpresentation\u002Fcontrollers\u002Fauth_controller.dart\nlib\u002Ffeatures\u002Fauth\u002Fpresentation\u002Fproviders\u002Fauth_providers.dart\n```\n",{},"main","3035171e2986d5fdb445e694b9013fbdf58b3ff6","overlays\u002Fmobile-flutter\u002Fskills\u002Ffirebase\u002Fflutter-firebase-auth-state","https:\u002F\u002Fgithub.com\u002Fdexter-cnx\u002Fagent-engineering-toolkit","https:\u002F\u002Fgithub.com\u002Fdexter-cnx","https:\u002F\u002Fdexter-cnx.github.io\u002Fportfolio\u002F","2026-05-26 14:24:27",{"source":7,"skillName":5,"commands":34,"prompt":44,"zipAvailable":45},[35,38,41],{"tool":36,"command":37},"npx","npx skills add dexter-cnx\u002Fagent-engineering-toolkit --skill flutter-firebase-auth-state",{"tool":39,"command":40},"bunx","bunx skills add dexter-cnx\u002Fagent-engineering-toolkit --skill flutter-firebase-auth-state",{"tool":42,"command":43},"pnpm","pnpm dlx skills add dexter-cnx\u002Fagent-engineering-toolkit --skill flutter-firebase-auth-state","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fdexter-cnx\u002Fagent-engineering-toolkit\u002Fblob\u002Fmain\u002Foverlays\u002Fmobile-flutter\u002Fskills\u002Ffirebase\u002Fflutter-firebase-auth-state\u002FSKILL.md",true,[],[48,74,94,103,115,127],{"skillNo":49,"name":50,"nameZh":6,"description":51,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":52,"categories":53,"keywords":54,"publishedAt":22},"01M6P4P9S9017DTSFMRKGA7XW2","toolkit-i18n-operator","Use the toolkit-i18n CLI for repeated Flutter localization workflows with compact outputs, CSV validation, key coverage reporting, generated JSON exports, and safe non-mutating behavior.","https:\u002F\u002Fgithub.com\u002Fdexter-cnx\u002Fagent-engineering-toolkit\u002Fblob\u002Fmain\u002Ftools\u002Ftoolkit-i18n\u002Fskills\u002Ftoolkit-i18n-operator\u002FSKILL.md",[],[55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,20,70,71,72,73],"toolkit i18n operator","i18n","operator","toolkit","flutter localization","cli","safe","workflows","for","validation","with","csv","compact","reporting","json","behavior","coverage","generated","use",{"skillNo":75,"name":76,"nameZh":6,"description":77,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":78,"categories":79,"keywords":90,"publishedAt":22},"01M6P4NREKE3P0XYV3RBBWC987","toolkit-design-operator","Use the toolkit-design CLI for repeated repository workflows.","https:\u002F\u002Fgithub.com\u002Fdexter-cnx\u002Fagent-engineering-toolkit\u002Fblob\u002Fmain\u002Ftools\u002Ftoolkit-design\u002Fskills\u002Ftoolkit-design-operator\u002FSKILL.md",[80,85],{"categoryNo":81,"categoryName":82,"taxonomyType":83,"taxonomyTypeDesc":84},"01JBSEEDCAT000000000000015","视觉设计","SCENARIO","使用场景",{"categoryNo":86,"categoryName":87,"taxonomyType":88,"taxonomyTypeDesc":89},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[91,57,58,92,63,60,62,93,73],"toolkit design operator","design","repository",{"skillNo":95,"name":96,"nameZh":6,"description":97,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":100,"publishedAt":22},"01M6P4NNSQ09QFPYG2PMPWEA94","toolkit-ci-operator","Use the toolkit-ci CLI for repeated repository workflows.","https:\u002F\u002Fgithub.com\u002Fdexter-cnx\u002Fagent-engineering-toolkit\u002Fblob\u002Fmain\u002Ftools\u002Ftoolkit-ci\u002Fskills\u002Ftoolkit-ci-operator\u002FSKILL.md",[],[101,102,57,58,93,60,62,73,63],"toolkit ci operator","ci",{"skillNo":104,"name":105,"nameZh":6,"description":106,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":109,"publishedAt":22},"01M6P4NK636991P6WWQ6X8HDYX","toolkit-arch-operator","Use the toolkit-arch CLI for repeated repository workflows, including Flutter i18n usage scans, layer checks, and localization coverage.","https:\u002F\u002Fgithub.com\u002Fdexter-cnx\u002Fagent-engineering-toolkit\u002Fblob\u002Fmain\u002Ftools\u002Ftoolkit-arch\u002Fskills\u002Ftoolkit-arch-operator\u002FSKILL.md",[],[110,111,58,57,56,112,113,63,73,71,20,114,93,62,60],"toolkit arch operator","arch","usage","layer","localization",{"skillNo":116,"name":117,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":123,"publishedAt":22},"01M6P4NF18XGVSG2NR01E1DX0R","web-testing","https:\u002F\u002Fgithub.com\u002Fdexter-cnx\u002Fagent-engineering-toolkit\u002Fblob\u002Fmain\u002Foverlays\u002Fweb-frontend\u002Fskills\u002Fweb-testing\u002Fskill.md",[120],{"categoryNo":121,"categoryName":122,"taxonomyType":83,"taxonomyTypeDesc":84},"01JBSEEDCAT000000000000008","测试与质量",[124,125,126],"web testing","web","testing",{"skillNo":128,"name":129,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":130,"categories":131,"keywords":132,"publishedAt":22},"01M6P4MVK07EJ75FQTFN54AGPM","web-state","https:\u002F\u002Fgithub.com\u002Fdexter-cnx\u002Fagent-engineering-toolkit\u002Fblob\u002Fmain\u002Foverlays\u002Fweb-frontend\u002Fskills\u002Fweb-state\u002Fskill.md",[],[125,18,133],"web state"]