[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71B2AWQ3632HJJGNJM68D30":3,"skill-same:01M71B2AWQ3632HJJGNJM68D30":153},{"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":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":14,"repositoryHtmlUrl":47,"repositoryHomepageUrl":48,"ownerHtmlUrl":49,"ownerBlogUrl":50,"ownerDescription":51,"updatedAt":52,"install":53,"resources":66},"01M71B2AWQ3632HJJGNJM68D30","tanstack-query-best-practices",null,"TanStack Query (React Query) best practices for data fetching, caching, mutations, and server state management. Activate when building data-driven React applications with server state.","escwxyz\u002Fskills-re","escwxyz","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F124119483?v=4","01M71B1P3M16B4SZRCEAA6JD69","Jie Wang","01M71B1P47632T1KJ3RQJF6ME2",0,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fescwxyz\u002Fskills-re\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ftanstack-query-best-practices\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"tanstack query best practices","query","best practices","tanstack","tanstack query","data","data-driven","state management","server","mutations","state","with","react","data fetching","activate","caching","when","applications","for","react query","2026-11-10 10:12:30",false,"---\nname: tanstack-query-best-practices\ndescription: TanStack Query (React Query) best practices for data fetching, caching, mutations, and server state management. Activate when building data-driven React applications with server state.\n---\n\n# TanStack Query Best Practices\n\nComprehensive guidelines for implementing TanStack Query (React Query) patterns in React applications. These rules optimize data fetching, caching, mutations, and server state synchronization.\n\n## When to Apply\n\n- Creating new data fetching logic\n- Setting up query configurations\n- Implementing mutations and optimistic updates\n- Configuring caching strategies\n- Integrating with SSR\u002FSSG\n- Refactoring existing data fetching code\n\n## Rule Categories by Priority\n\n| Priority | Category | Rules | Impact |\n|----------|----------|-------|--------|\n| CRITICAL | Query Keys | 5 rules | Prevents cache bugs and data inconsistencies |\n| CRITICAL | Caching | 5 rules | Optimizes performance and data freshness |\n| HIGH | Mutations | 6 rules | Ensures data integrity and UI consistency |\n| HIGH | Error Handling | 3 rules | Prevents poor user experiences |\n| MEDIUM | Prefetching | 4 rules | Improves perceived performance |\n| MEDIUM | Parallel Queries | 2 rules | Enables dynamic parallel fetching |\n| MEDIUM | Infinite Queries | 3 rules | Prevents pagination bugs |\n| MEDIUM | SSR Integration | 4 rules | Enables proper hydration |\n| LOW | Performance | 4 rules | Reduces unnecessary re-renders |\n| LOW | Offline Support | 2 rules | Enables offline-first patterns |\n\n## Quick Reference\n\n### Query Keys (Prefix: `qk-`)\n\n- `qk-array-structure` — Always use arrays for query keys\n- `qk-include-dependencies` — Include all variables the query depends on\n- `qk-hierarchical-organization` — Organize keys hierarchically (entity → id → filters)\n- `qk-factory-pattern` — Use query key factories for complex applications\n- `qk-serializable` — Ensure all key parts are JSON-serializable\n\n### Caching (Prefix: `cache-`)\n\n- `cache-stale-time` — Set appropriate staleTime based on data volatility\n- `cache-gc-time` — Configure gcTime for inactive query retention\n- `cache-defaults` — Set sensible defaults at QueryClient level\n- `cache-invalidation` — Use targeted invalidation over broad patterns\n- `cache-placeholder-vs-initial` — Understand placeholder vs initial data differences\n\n### Mutations (Prefix: `mut-`)\n\n- `mut-invalidate-queries` — Always invalidate related queries after mutations\n- `mut-optimistic-updates` — Implement optimistic updates for responsive UI\n- `mut-rollback-context` — Provide rollback context from onMutate\n- `mut-error-handling` — Handle mutation errors gracefully\n- `mut-loading-states` — Use isPending for mutation loading states\n- `mut-mutation-state` — Use useMutationState for cross-component tracking\n\n### Error Handling (Prefix: `err-`)\n\n- `err-error-boundaries` — Use error boundaries with useQueryErrorResetBoundary\n- `err-retry-config` — Configure retry logic appropriately\n- `err-fallback-data` — Provide fallback data when appropriate\n\n### Prefetching (Prefix: `pf-`)\n\n- `pf-intent-prefetch` — Prefetch on user intent (hover, focus)\n- `pf-route-prefetch` — Prefetch data during route transitions\n- `pf-stale-time-config` — Set staleTime when prefetching\n- `pf-ensure-query-data` — Use ensureQueryData for conditional prefetching\n\n### Infinite Queries (Prefix: `inf-`)\n\n- `inf-page-params` — Always provide getNextPageParam\n- `inf-loading-guards` — Check isFetchingNextPage before fetching more\n- `inf-max-pages` — Consider maxPages for large datasets\n\n### SSR Integration (Prefix: `ssr-`)\n\n- `ssr-dehydration` — Use dehydrate\u002Fhydrate pattern for SSR\n- `ssr-client-per-request` — Create QueryClient per request\n- `ssr-stale-time-server` — Set higher staleTime on server\n- `ssr-hydration-boundary` — Wrap with HydrationBoundary\n\n### Parallel Queries (Prefix: `parallel-`)\n\n- `parallel-use-queries` — Use useQueries for dynamic parallel queries\n- `query-cancellation` — Implement query cancellation properly\n\n### Performance (Prefix: `perf-`)\n\n- `perf-select-transform` — Use select to transform\u002Ffilter data\n- `perf-structural-sharing` — Leverage structural sharing\n- `perf-notify-change-props` — Limit re-renders with notifyOnChangeProps\n- `perf-placeholder-data` — Use placeholderData for instant UI\n\n### Offline Support (Prefix: `offline-`)\n\n- `network-mode` — Configure network mode for offline support\n- `persist-queries` — Configure query persistence for offline support\n\n## How to Use\n\nEach rule file in the `rules\u002F` directory contains:\n1. **Explanation** — Why this pattern matters\n2. **Bad Example** — Anti-pattern to avoid\n3. **Good Example** — Recommended implementation\n4. **Context** — When to apply or skip this rule\n\n## Full Reference\n\nSee individual rule files in `rules\u002F` directory for detailed guidance and code examples.\n","# TanStack Query Best Practices\n\nComprehensive guidelines for implementing TanStack Query (React Query) patterns in React applications. These rules optimize data fetching, caching, mutations, and server state synchronization.\n\n## When to Apply\n\n- Creating new data fetching logic\n- Setting up query configurations\n- Implementing mutations and optimistic updates\n- Configuring caching strategies\n- Integrating with SSR\u002FSSG\n- Refactoring existing data fetching code\n\n## Rule Categories by Priority\n\n| Priority | Category | Rules | Impact |\n|----------|----------|-------|--------|\n| CRITICAL | Query Keys | 5 rules | Prevents cache bugs and data inconsistencies |\n| CRITICAL | Caching | 5 rules | Optimizes performance and data freshness |\n| HIGH | Mutations | 6 rules | Ensures data integrity and UI consistency |\n| HIGH | Error Handling | 3 rules | Prevents poor user experiences |\n| MEDIUM | Prefetching | 4 rules | Improves perceived performance |\n| MEDIUM | Parallel Queries | 2 rules | Enables dynamic parallel fetching |\n| MEDIUM | Infinite Queries | 3 rules | Prevents pagination bugs |\n| MEDIUM | SSR Integration | 4 rules | Enables proper hydration |\n| LOW | Performance | 4 rules | Reduces unnecessary re-renders |\n| LOW | Offline Support | 2 rules | Enables offline-first patterns |\n\n## Quick Reference\n\n### Query Keys (Prefix: `qk-`)\n\n- `qk-array-structure` — Always use arrays for query keys\n- `qk-include-dependencies` — Include all variables the query depends on\n- `qk-hierarchical-organization` — Organize keys hierarchically (entity → id → filters)\n- `qk-factory-pattern` — Use query key factories for complex applications\n- `qk-serializable` — Ensure all key parts are JSON-serializable\n\n### Caching (Prefix: `cache-`)\n\n- `cache-stale-time` — Set appropriate staleTime based on data volatility\n- `cache-gc-time` — Configure gcTime for inactive query retention\n- `cache-defaults` — Set sensible defaults at QueryClient level\n- `cache-invalidation` — Use targeted invalidation over broad patterns\n- `cache-placeholder-vs-initial` — Understand placeholder vs initial data differences\n\n### Mutations (Prefix: `mut-`)\n\n- `mut-invalidate-queries` — Always invalidate related queries after mutations\n- `mut-optimistic-updates` — Implement optimistic updates for responsive UI\n- `mut-rollback-context` — Provide rollback context from onMutate\n- `mut-error-handling` — Handle mutation errors gracefully\n- `mut-loading-states` — Use isPending for mutation loading states\n- `mut-mutation-state` — Use useMutationState for cross-component tracking\n\n### Error Handling (Prefix: `err-`)\n\n- `err-error-boundaries` — Use error boundaries with useQueryErrorResetBoundary\n- `err-retry-config` — Configure retry logic appropriately\n- `err-fallback-data` — Provide fallback data when appropriate\n\n### Prefetching (Prefix: `pf-`)\n\n- `pf-intent-prefetch` — Prefetch on user intent (hover, focus)\n- `pf-route-prefetch` — Prefetch data during route transitions\n- `pf-stale-time-config` — Set staleTime when prefetching\n- `pf-ensure-query-data` — Use ensureQueryData for conditional prefetching\n\n### Infinite Queries (Prefix: `inf-`)\n\n- `inf-page-params` — Always provide getNextPageParam\n- `inf-loading-guards` — Check isFetchingNextPage before fetching more\n- `inf-max-pages` — Consider maxPages for large datasets\n\n### SSR Integration (Prefix: `ssr-`)\n\n- `ssr-dehydration` — Use dehydrate\u002Fhydrate pattern for SSR\n- `ssr-client-per-request` — Create QueryClient per request\n- `ssr-stale-time-server` — Set higher staleTime on server\n- `ssr-hydration-boundary` — Wrap with HydrationBoundary\n\n### Parallel Queries (Prefix: `parallel-`)\n\n- `parallel-use-queries` — Use useQueries for dynamic parallel queries\n- `query-cancellation` — Implement query cancellation properly\n\n### Performance (Prefix: `perf-`)\n\n- `perf-select-transform` — Use select to transform\u002Ffilter data\n- `perf-structural-sharing` — Leverage structural sharing\n- `perf-notify-change-props` — Limit re-renders with notifyOnChangeProps\n- `perf-placeholder-data` — Use placeholderData for instant UI\n\n### Offline Support (Prefix: `offline-`)\n\n- `network-mode` — Configure network mode for offline support\n- `persist-queries` — Configure query persistence for offline support\n\n## How to Use\n\nEach rule file in the `rules\u002F` directory contains:\n1. **Explanation** — Why this pattern matters\n2. **Bad Example** — Anti-pattern to avoid\n3. **Good Example** — Recommended implementation\n4. **Context** — When to apply or skip this rule\n\n## Full Reference\n\nSee individual rule files in `rules\u002F` directory for detailed guidance and code examples.\n",{"name":5,"description":7},"main","a9b682706866a1a8a44c4621910184c29456acff",".agents\u002Fskills\u002Ftanstack-query-best-practices","https:\u002F\u002Fgithub.com\u002Fescwxyz\u002Fskills-re","https:\u002F\u002Fskills.re","https:\u002F\u002Fgithub.com\u002Fescwxyz","https:\u002F\u002Fjiewa.ng","No Ads please","2026-09-25 02:54:36",{"source":8,"skillName":5,"commands":54,"prompt":64,"zipAvailable":65},[55,58,61],{"tool":56,"command":57},"npx","npx skills add escwxyz\u002Fskills-re --skill tanstack-query-best-practices",{"tool":59,"command":60},"bunx","bunx skills add escwxyz\u002Fskills-re --skill tanstack-query-best-practices",{"tool":62,"command":63},"pnpm","pnpm dlx skills add escwxyz\u002Fskills-re --skill tanstack-query-best-practices","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fescwxyz\u002Fskills-re\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ftanstack-query-best-practices\u002FSKILL.md",true,[67,73,77,81,85,89,93,97,101,105,109,113,117,121,125,129,133,137,141,145,149],{"path":68,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":71,"sourceHtmlUrl":72},"rules\u002Fcache-gc-time.md","REFERENCE","参考文档",2892,"https:\u002F\u002Fgithub.com\u002Fescwxyz\u002Fskills-re\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ftanstack-query-best-practices\u002Frules\u002Fcache-gc-time.md",{"path":74,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":75,"sourceHtmlUrl":76},"rules\u002Fcache-invalidation.md",3686,"https:\u002F\u002Fgithub.com\u002Fescwxyz\u002Fskills-re\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ftanstack-query-best-practices\u002Frules\u002Fcache-invalidation.md",{"path":78,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":79,"sourceHtmlUrl":80},"rules\u002Fcache-placeholder-vs-initial.md",4749,"https:\u002F\u002Fgithub.com\u002Fescwxyz\u002Fskills-re\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ftanstack-query-best-practices\u002Frules\u002Fcache-placeholder-vs-initial.md",{"path":82,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":83,"sourceHtmlUrl":84},"rules\u002Fcache-stale-time.md",2551,"https:\u002F\u002Fgithub.com\u002Fescwxyz\u002Fskills-re\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ftanstack-query-best-practices\u002Frules\u002Fcache-stale-time.md",{"path":86,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":87,"sourceHtmlUrl":88},"rules\u002Ferr-error-boundaries.md",3640,"https:\u002F\u002Fgithub.com\u002Fescwxyz\u002Fskills-re\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ftanstack-query-best-practices\u002Frules\u002Ferr-error-boundaries.md",{"path":90,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":91,"sourceHtmlUrl":92},"rules\u002Finf-page-params.md",3584,"https:\u002F\u002Fgithub.com\u002Fescwxyz\u002Fskills-re\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ftanstack-query-best-practices\u002Frules\u002Finf-page-params.md",{"path":94,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":95,"sourceHtmlUrl":96},"rules\u002Fmut-invalidate-queries.md",3820,"https:\u002F\u002Fgithub.com\u002Fescwxyz\u002Fskills-re\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ftanstack-query-best-practices\u002Frules\u002Fmut-invalidate-queries.md",{"path":98,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":99,"sourceHtmlUrl":100},"rules\u002Fmut-mutation-state.md",4204,"https:\u002F\u002Fgithub.com\u002Fescwxyz\u002Fskills-re\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ftanstack-query-best-practices\u002Frules\u002Fmut-mutation-state.md",{"path":102,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":103,"sourceHtmlUrl":104},"rules\u002Fmut-optimistic-updates.md",4004,"https:\u002F\u002Fgithub.com\u002Fescwxyz\u002Fskills-re\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ftanstack-query-best-practices\u002Frules\u002Fmut-optimistic-updates.md",{"path":106,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":107,"sourceHtmlUrl":108},"rules\u002Fnetwork-mode.md",4582,"https:\u002F\u002Fgithub.com\u002Fescwxyz\u002Fskills-re\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ftanstack-query-best-practices\u002Frules\u002Fnetwork-mode.md",{"path":110,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":111,"sourceHtmlUrl":112},"rules\u002Fparallel-use-queries.md",3922,"https:\u002F\u002Fgithub.com\u002Fescwxyz\u002Fskills-re\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ftanstack-query-best-practices\u002Frules\u002Fparallel-use-queries.md",{"path":114,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":115,"sourceHtmlUrl":116},"rules\u002Fperf-select-transform.md",3823,"https:\u002F\u002Fgithub.com\u002Fescwxyz\u002Fskills-re\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ftanstack-query-best-practices\u002Frules\u002Fperf-select-transform.md",{"path":118,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":119,"sourceHtmlUrl":120},"rules\u002Fpersist-queries.md",4960,"https:\u002F\u002Fgithub.com\u002Fescwxyz\u002Fskills-re\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ftanstack-query-best-practices\u002Frules\u002Fpersist-queries.md",{"path":122,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":123,"sourceHtmlUrl":124},"rules\u002Fpf-intent-prefetch.md",3361,"https:\u002F\u002Fgithub.com\u002Fescwxyz\u002Fskills-re\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ftanstack-query-best-practices\u002Frules\u002Fpf-intent-prefetch.md",{"path":126,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":127,"sourceHtmlUrl":128},"rules\u002Fqk-array-structure.md",1377,"https:\u002F\u002Fgithub.com\u002Fescwxyz\u002Fskills-re\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ftanstack-query-best-practices\u002Frules\u002Fqk-array-structure.md",{"path":130,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":131,"sourceHtmlUrl":132},"rules\u002Fqk-factory-pattern.md",3070,"https:\u002F\u002Fgithub.com\u002Fescwxyz\u002Fskills-re\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ftanstack-query-best-practices\u002Frules\u002Fqk-factory-pattern.md",{"path":134,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":135,"sourceHtmlUrl":136},"rules\u002Fqk-hierarchical-organization.md",2117,"https:\u002F\u002Fgithub.com\u002Fescwxyz\u002Fskills-re\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ftanstack-query-best-practices\u002Frules\u002Fqk-hierarchical-organization.md",{"path":138,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":139,"sourceHtmlUrl":140},"rules\u002Fqk-include-dependencies.md",1847,"https:\u002F\u002Fgithub.com\u002Fescwxyz\u002Fskills-re\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ftanstack-query-best-practices\u002Frules\u002Fqk-include-dependencies.md",{"path":142,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":143,"sourceHtmlUrl":144},"rules\u002Fqk-serializable.md",2598,"https:\u002F\u002Fgithub.com\u002Fescwxyz\u002Fskills-re\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ftanstack-query-best-practices\u002Frules\u002Fqk-serializable.md",{"path":146,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":147,"sourceHtmlUrl":148},"rules\u002Fquery-cancellation.md",4650,"https:\u002F\u002Fgithub.com\u002Fescwxyz\u002Fskills-re\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ftanstack-query-best-practices\u002Frules\u002Fquery-cancellation.md",{"path":150,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":151,"sourceHtmlUrl":152},"rules\u002Fssr-dehydration.md",3857,"https:\u002F\u002Fgithub.com\u002Fescwxyz\u002Fskills-re\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ftanstack-query-best-practices\u002Frules\u002Fssr-dehydration.md",[154,173,198,215,226,241],{"skillNo":155,"name":156,"nameZh":6,"description":157,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":158,"categories":159,"keywords":165,"publishedAt":39},"01M71B3BPYHEEQJYA6QV653HC0","demo-skill","Demonstrates a minimal Skills.re sandbox eval fixture.","https:\u002F\u002Fgithub.com\u002Fescwxyz\u002Fskills-re\u002Fblob\u002Fmain\u002Fapps\u002Fserver\u002Fsrc\u002Fskill-eval-sandbox\u002Ffixtures\u002Fdemo-skill\u002FSKILL.md",[160],{"categoryNo":161,"categoryName":162,"taxonomyType":163,"taxonomyTypeDesc":164},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[166,167,168,169,170,171,172],"demo skill","demo","re","sandbox","eval","minimal","fixture",{"skillNo":174,"name":175,"nameZh":6,"description":176,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":177,"licenseFileUrl":6,"sourceHtmlUrl":178,"categories":179,"keywords":180,"publishedAt":39},"01M71B3A4941E8D6VHFE4FTDMQ","openspec-propose","Propose a new change with all artifacts generated in one step. Use when the user wants to quickly describe what they want to build and get a complete proposal with design, specs, and tasks ready for implementation.","MIT","https:\u002F\u002Fgithub.com\u002Fescwxyz\u002Fskills-re\u002Fblob\u002Fmain\u002F.codex\u002Fskills\u002Fopenspec-propose\u002FSKILL.md",[],[181,182,183,184,185,186,187,188,30,189,190,191,35,192,193,194,195,196,37,197],"openspec","openspec propose","ready","tasks","implementation","build","cli","change","one","proposal","artifacts","use","generated","new","design","complete","get",{"skillNo":199,"name":200,"nameZh":6,"description":201,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":177,"licenseFileUrl":6,"sourceHtmlUrl":202,"categories":203,"keywords":204,"publishedAt":39},"01M71B38FC73TG0F7BM5582Y8V","openspec-explore","Enter explore mode - a thinking partner for exploring ideas, investigating problems, and clarifying requirements. Use when the user wants to think through something before or during a change.","https:\u002F\u002Fgithub.com\u002Fescwxyz\u002Fskills-re\u002Fblob\u002Fmain\u002F.codex\u002Fskills\u002Fopenspec-explore\u002FSKILL.md",[],[181,205,206,207,208,209,210,187,188,211,35,192,212,37,213,214],"explore","openspec explore","user","think","thinking partner","partner","requirements","mode","thinking","ideas",{"skillNo":216,"name":217,"nameZh":6,"description":218,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":177,"licenseFileUrl":6,"sourceHtmlUrl":219,"categories":220,"keywords":221,"publishedAt":39},"01M71B36MP2EPJ15XAZNAWBN3P","openspec-archive-change","Archive a completed change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete.","https:\u002F\u002Fgithub.com\u002Fescwxyz\u002Fskills-re\u002Fblob\u002Fmain\u002F.codex\u002Fskills\u002Fopenspec-archive-change\u002FSKILL.md",[],[222,181,223,188,207,224,35,192,185,225,196,187],"openspec archive change","archive","workflow","finalize",{"skillNo":227,"name":228,"nameZh":6,"description":229,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":177,"licenseFileUrl":6,"sourceHtmlUrl":230,"categories":231,"keywords":232,"publishedAt":39},"01M71B34X135R0FZXKKYB8K8TP","openspec-apply-change","Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks.","https:\u002F\u002Fgithub.com\u002Fescwxyz\u002Fskills-re\u002Fblob\u002Fmain\u002F.codex\u002Fskills\u002Fopenspec-apply-change\u002FSKILL.md",[],[233,188,181,234,235,236,187,237,207,184,35,192,185,238,239,240],"openspec apply change","openspec apply","apply","work","implement","start","implementing","continue",{"skillNo":242,"name":175,"nameZh":6,"description":176,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":177,"licenseFileUrl":6,"sourceHtmlUrl":243,"categories":244,"keywords":245,"publishedAt":39},"01M71B33BXWGK230VKH621N147","https:\u002F\u002Fgithub.com\u002Fescwxyz\u002Fskills-re\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fopenspec-propose\u002FSKILL.md",[],[182,181,35,185,186,187,188,30,189,184,191,192,193,194,195,196,37,197,190,183]]