[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6GX2RKQQ4XND9A9XWM86AYD":3,"skill-same:01M6GX2RKQQ4XND9A9XWM86AYD":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":26,"publishedAt":47,"linkOnly":48,"markdownContent":49,"markdownBody":50,"frontMatter":51,"refName":52,"commitSha":53,"skillDirectory":54,"forksCount":55,"repositoryHtmlUrl":56,"repositoryHomepageUrl":6,"ownerHtmlUrl":57,"ownerBlogUrl":6,"ownerDescription":58,"updatedAt":59,"install":60,"resources":73},"01M6GX2RKQQ4XND9A9XWM86AYD","buoyient-mock-mode",null,"How to set up local mock mode for manual testing of apps that use buoyient, so the app runs against fake server responses without a real backend. Use this skill when the user wants to run their app with mock data, set up a developer toggle for fake\u002Freal server, create a local testing mode, build a demo mode, configure mock responses at runtime, or test the app manually without a backend. Also trigger when the user mentions mock mode, fake server, demo mode, local testing mode, or developer toggle in the context of buoyient or SyncableObjectService.","lauren2020\u002Fbuoyient","lauren2020","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F35083101?v=4","01M6GX2FWQ3T19A6C5ADSPTP9A","Lauren Shultz","01M6GX2G53X7P3VN6P2HY2GSJZ",4,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Flauren2020\u002Fbuoyient\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fbuoyient-mock-mode\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",[27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],"buoyient mock mode","mode","mock","app","mock data","manual","with","how to","apps","trigger","testing","manual testing","runtime","local","up","use","configure","SET","demo","create","2026-11-10 10:12:30",false,"---\nname: buoyient-mock-mode\ndescription: \"How to set up local mock mode for manual testing of apps that use buoyient, so the app runs against fake server responses without a real backend. Use this skill when the user wants to run their app with mock data, set up a developer toggle for fake\u002Freal server, create a local testing mode, build a demo mode, configure mock responses at runtime, or test the app manually without a backend. Also trigger when the user mentions mock mode, fake server, demo mode, local testing mode, or developer toggle in the context of buoyient or SyncableObjectService.\"\n---\n\nUse `docs\u002Fmock-mode.md` as the authoritative guide, and the project-level context file (`CLAUDE.md` \u002F `CODEX.md`) for shared project conventions.\n\nKey points to remember:\n- Mock mode works by setting `Buoyient.httpClient` (in `com.elvdev.buoyient.globalconfigs`) to a mock-backed HTTP client before creating any services — no changes to service classes needed.\n- Use `MockEndpointRouter` from the `:mock-mode` module to register mock HTTP handlers.\n- Use `MockServerStore` for stateful mock mode with realistic CRUD behavior.\n- `TestConnectivityChecker` should be set to `online = true` in mock mode.\n- Conflict simulation uses `SyncableObjectRebaseHandler` (not `SyncableObjectMergeHandler`).\n- Include all fields that `SyncUpConfig.fromResponseBody()` expects in mock responses — missing fields will cause it to return `SyncUpResult.Failed.RemovePendingRequest`.\n- Scope the `:mock-mode` dependency to debug builds with `debugImplementation`.\n","Use `docs\u002Fmock-mode.md` as the authoritative guide, and the project-level context file (`CLAUDE.md` \u002F `CODEX.md`) for shared project conventions.\n\nKey points to remember:\n- Mock mode works by setting `Buoyient.httpClient` (in `com.elvdev.buoyient.globalconfigs`) to a mock-backed HTTP client before creating any services — no changes to service classes needed.\n- Use `MockEndpointRouter` from the `:mock-mode` module to register mock HTTP handlers.\n- Use `MockServerStore` for stateful mock mode with realistic CRUD behavior.\n- `TestConnectivityChecker` should be set to `online = true` in mock mode.\n- Conflict simulation uses `SyncableObjectRebaseHandler` (not `SyncableObjectMergeHandler`).\n- Include all fields that `SyncUpConfig.fromResponseBody()` expects in mock responses — missing fields will cause it to return `SyncUpResult.Failed.RemovePendingRequest`.\n- Scope the `:mock-mode` dependency to debug builds with `debugImplementation`.\n",{"name":5,"description":7},"main","150fbe9838a4d935d5186bcc79693450ac39fa1d",".agents\u002Fskills\u002Fbuoyient-mock-mode",0,"https:\u002F\u002Fgithub.com\u002Flauren2020\u002Fbuoyient","https:\u002F\u002Fgithub.com\u002Flauren2020","Software Engineer","2026-05-23 04:54:56",{"source":8,"skillName":5,"commands":61,"prompt":71,"zipAvailable":72},[62,65,68],{"tool":63,"command":64},"npx","npx skills add lauren2020\u002Fbuoyient --skill buoyient-mock-mode",{"tool":66,"command":67},"bunx","bunx skills add lauren2020\u002Fbuoyient --skill buoyient-mock-mode",{"tool":69,"command":70},"pnpm","pnpm dlx skills add lauren2020\u002Fbuoyient --skill buoyient-mock-mode","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Flauren2020\u002Fbuoyient\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fbuoyient-mock-mode\u002FSKILL.md",true,[],[75,83,91,96,106,123],{"skillNo":76,"name":77,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":78,"categories":79,"keywords":80,"publishedAt":47},"01M6GX3N5F8AEHJ2G9HZ5ZWEYK","buoyient-setup","https:\u002F\u002Fgithub.com\u002Flauren2020\u002Fbuoyient\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fbuoyient-setup\u002FSKILL.md",[],[81,82],"buoyient setup","setup",{"skillNo":84,"name":85,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":88,"publishedAt":47},"01M6GX3HV8YFC2288WPYK1FBBZ","buoyient-service","https:\u002F\u002Fgithub.com\u002Flauren2020\u002Fbuoyient\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fbuoyient-service\u002FSKILL.md",[],[89,90],"service","buoyient service",{"skillNo":92,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":93,"categories":94,"keywords":95,"publishedAt":47},"01M6GX3EBVGAFF5T36CANR5EP0","https:\u002F\u002Fgithub.com\u002Flauren2020\u002Fbuoyient\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fbuoyient-mock-mode\u002FSKILL.md",[],[29,28,27],{"skillNo":97,"name":98,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":102,"publishedAt":47},"01M6GX3AXYYEZZRTGMA556NK8S","buoyient-integration-testing","https:\u002F\u002Fgithub.com\u002Flauren2020\u002Fbuoyient\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fbuoyient-integration-testing\u002FSKILL.md",[101],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[37,103,104,105],"integration","integration testing","buoyient integration testing",{"skillNo":107,"name":77,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":111,"publishedAt":47},"01M6GX35RD900ZKFX7TD5Z3007","How to set up and install the buoyient offline-first sync library in an Android app. Use this skill when the user wants to add buoyient to their project, configure dependencies, set up initialization, register services for background sync, or integrate buoyient into an existing Android app. Also trigger when the user mentions adding buoyient as a dependency, setting up offline sync, configuring WorkManager for sync, or asks about BuoyientInitializer, Buoyient.registerServices, or SyncWorker setup.","https:\u002F\u002Fgithub.com\u002Flauren2020\u002Fbuoyient\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fbuoyient-setup\u002FSKILL.md",[],[82,81,42,112,41,113,114,115,116,30,36,117,34,118,43,119,120,121,44,122],"dependency","dependencies","first","project","as","register","about","android","sync","services","how",{"skillNo":124,"name":85,"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":47},"01M6GX2ZPXKBPTA1E0J4B9KGK0","How to create and register new SyncableObjectService implementations using the buoyient offline-first sync library. Use this skill whenever the user wants to add a new data type or service to an app that uses buoyient, create a syncable model, build CRUD operations with offline support, set up background sync for a new entity, or integrate a new API endpoint with buoyient's sync engine. Also trigger when the user mentions SyncableObject, SyncableObjectService, ServerProcessingConfig, or asks about offline-first data patterns in a Kotlin\u002FAndroid context.","https:\u002F\u002Fgithub.com\u002Flauren2020\u002Fbuoyient\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fbuoyient-service\u002FSKILL.md",[],[90,89,30,46,44,114,129,130,131,132,133,42,41,134,135,36,117,34,33,119],"api","crud","engine","model","kotlin","api endpoint","type"]