[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-skill-vercel-labs-next-cache-components-zh-CN":3,"guides-for-vercel-labs-next-cache-components":339,"similar-k172earne54eqhcgkf4h4dd4xn86mf0y-zh-CN":340},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":15,"identity":239,"isFallback":224,"parentExtension":244,"providers":245,"relations":251,"repo":254,"tags":335,"workflow":336},1778698519674.3237,"k172earne54eqhcgkf4h4dd4xn86mf0y",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":13,"sourceUrl":14},"Next.js 16 缓存组件 - PPR、use cache 指令、cacheLife、cacheTag、updateTag",{"claudeCode":12},"vercel-labs/next-skills","next-cache-components","https://github.com/vercel-labs/next-skills",{"_creationTime":16,"_id":17,"extensionId":5,"locale":18,"result":19,"trustSignals":222,"workflow":237},1778698519674.324,"kn7c39gsb8ydg4ccb4t8jwg32d86nkmk","zh-CN",{"checks":20,"evaluatedAt":192,"extensionSummary":193,"features":194,"nonGoals":200,"promptVersionExtension":204,"promptVersionScoring":205,"purpose":206,"rationale":207,"score":208,"summary":209,"tags":210,"tier":216,"useCases":217},[21,26,29,32,36,39,44,48,51,54,58,62,65,69,72,75,78,81,84,87,91,95,99,103,107,110,114,117,121,124,127,130,133,136,139,143,147,150,153,157,160,163,166,169,173,176,179,182,185,189],{"category":22,"check":23,"severity":24,"summary":25},"Practical Utility","Problem relevance","pass","描述清楚地说明了使用 Next.js 16 缓存组件启用部分预渲染 (PPR) 的问题，并命名了特定产物（Next.js 缓存组件）和用户意图（混合静态、缓存和动态内容）。",{"category":22,"check":27,"severity":24,"summary":28},"Unique selling proposition","该技能介绍了 Next.js 16 的 'use cache' 指令和相关 API，提供了超出标准 Next.js 缓存和 PPR 功能的特定功能。",{"category":22,"check":30,"severity":24,"summary":31},"Production readiness","该技能提供了使用 Next.js 缓存组件的配置、代码示例和迁移路径，涵盖了从启用到无效化的整个生命周期。",{"category":33,"check":34,"severity":24,"summary":35},"Scope","Single responsibility principle","该技能仅专注于 Next.js 16 缓存组件和部分预渲染，不扩展到无关领域。",{"category":33,"check":37,"severity":24,"summary":38},"Description quality","SKILL.md 描述准确反映了提供的 Next.js 缓存功能的内​​容和能力。",{"category":40,"check":41,"severity":42,"summary":43},"Invocation","Scoped tools","not_applicable","此技能不公开工具或命令；它提供 Next.js 功能的文档和代码示例。",{"category":45,"check":46,"severity":24,"summary":47},"Documentation","Configuration & parameter reference","SKILL.md 详细介绍了缓存指令和函数（如 cacheLife()、cacheTag() 和 updateTag()）的配置选项、缓存配置文件和参数。",{"category":33,"check":49,"severity":42,"summary":50},"Tool naming","此技能不公开工具或命令，因此工具命名不适用。",{"category":33,"check":52,"severity":42,"summary":53},"Minimal I/O surface","此技能不公开工具或命令，因此 I/O 表面不适用。",{"category":55,"check":56,"severity":24,"summary":57},"License","License usability","该存储库有一个 LICENSE 文件，是 MIT，一个宽松的开源许可证。",{"category":59,"check":60,"severity":24,"summary":61},"Maintenance","Commit recency","最后一次提交是在 2026-05-07，在过去 3 个月内。",{"category":59,"check":63,"severity":42,"summary":64},"Dependency Management","该技能本身似乎不直接在其自己的代码中管理第三方依赖项；它记录了 Next.js 功能。",{"category":66,"check":67,"severity":42,"summary":68},"Security","Secret Management","该技能不处理秘密。",{"category":66,"check":70,"severity":42,"summary":71},"Injection","该技能不加载或执行第三方数据或文件。",{"category":66,"check":73,"severity":42,"summary":74},"Transitive Supply-Chain Grenades","该技能在运行时不加载或包含外部文件。",{"category":66,"check":76,"severity":42,"summary":77},"Sandbox Isolation","该技能基于文档，不执行文件系统操作。",{"category":66,"check":79,"severity":42,"summary":80},"Sandbox escape primitives","该技能不包含可能导致沙箱逃逸的脚本或指令。",{"category":66,"check":82,"severity":42,"summary":83},"Data Exfiltration","该技能不涉及出站调用或处理机密数据。",{"category":66,"check":85,"severity":24,"summary":86},"Hidden Text Tricks","捆绑的内容没有隐藏的操纵技巧，描述也很清晰。",{"category":88,"check":89,"severity":42,"summary":90},"Hooks","Opaque code execution","该技能不使用不透明的代码执行方法，如 base64 或 eval。",{"category":92,"check":93,"severity":42,"summary":94},"Portability","Structural Assumption","该技能基于文档，不对用户项目结构做出假设。",{"category":96,"check":97,"severity":24,"summary":98},"Trust","Issues Attention","在过去 90 天内有 4 个打开和 5 个关闭的问题，关闭率超过 50%，表明维护者参与度高。",{"category":100,"check":101,"severity":24,"summary":102},"Versioning","Release Management","该存储库包含一个 LICENSE 文件，最后一次提交也很近，表明维护活跃，而对此类技能没有严格的正式版本控制方案。",{"category":104,"check":105,"severity":42,"summary":106},"Execution","Validation","此技能基于文档，没有可执行代码或需要验证的结构化输出。",{"category":66,"check":108,"severity":42,"summary":109},"Unguarded Destructive Operations","该技能基于文档，不执行破坏性操作。",{"category":111,"check":112,"severity":42,"summary":113},"Code Execution","Error Handling","此技能基于文档，没有需要错误路径的可执行代码。",{"category":111,"check":115,"severity":42,"summary":116},"Logging","此技能基于文档，不执行需要日志记录的操作。",{"category":118,"check":119,"severity":42,"summary":120},"Compliance","GDPR","该技能不处理个人数据。",{"category":118,"check":122,"severity":24,"summary":123},"Target market","该技能提供了 Next.js 功能的文档，这些功能具有全球适用性，未检测到区域限制。",{"category":92,"check":125,"severity":42,"summary":126},"Runtime stability","该技能基于文档，不假设特定的运行时或操作系统。",{"category":45,"check":128,"severity":24,"summary":129},"README","README 文件存在，并提供了 Next.js Agent Skills 的安装和使用说明，包括此特定技能。",{"category":33,"check":131,"severity":42,"summary":132},"Tool surface size","此技能不公开工具或命令；它是一个文档产物。",{"category":40,"check":134,"severity":42,"summary":135},"Overlapping near-synonym tools","此技能不公开工具或命令，因此重叠的近义词不适用。",{"category":45,"check":137,"severity":24,"summary":138},"Phantom features","README 和 SKILL.md 中提到的关于缓存组件的所有功能都在提供的文档中实现和演示。",{"category":140,"check":141,"severity":24,"summary":142},"Install","Installation instruction","README 提供了 Next.js Agent Skills 的清晰安装说明，包括如何添加特定技能，以及可复制粘贴的调用示例。",{"category":144,"check":145,"severity":42,"summary":146},"Errors","Actionable error messages","此技能基于文档，没有用户可见的错误路径。",{"category":104,"check":148,"severity":42,"summary":149},"Pinned dependencies","该技能本身是文档，不捆绑带依赖项的脚本。",{"category":33,"check":151,"severity":42,"summary":152},"Dry-run preview","此技能基于文档，没有改变状态的命令。",{"category":154,"check":155,"severity":42,"summary":156},"Protocol","Idempotent retry & timeouts","此技能基于文档，不涉及远程调用或改变状态的操作。",{"category":118,"check":158,"severity":42,"summary":159},"Telemetry opt-in","该技能不发出遥测数据。",{"category":40,"check":161,"severity":24,"summary":162},"Precise Purpose","描述清楚地说明了目的，即记录 Next.js 16 缓存组件和 PPR，并命名了产物（缓存组件）和用户意图（混合内容类型）。",{"category":40,"check":164,"severity":24,"summary":165},"Concise Frontmatter","Frontmatter 简洁明了，有效地总结了该技能的核心功能。",{"category":45,"check":167,"severity":24,"summary":168},"Concise Body","SKILL.md 的主体结构良好，并且在约 500 行的限制内，适当地将复杂性委托给其他地方。",{"category":170,"check":171,"severity":24,"summary":172},"Context","Progressive Disclosure","SKILL.md 简洁明了，并链接到外部文档以进行更深入的了解。",{"category":170,"check":174,"severity":42,"summary":175},"Forked exploration","此技能不涉及需要分叉上下文的大量探索或代码审查。",{"category":22,"check":177,"severity":24,"summary":178},"Usage examples","SKILL.md 提供了足够且可直接使用的示例，演示了缓存组件、缓存指令和无效化函数的使用。",{"category":22,"check":180,"severity":24,"summary":181},"Edge cases","SKILL.md 记录了限制，如缺乏 Edge 运行时支持、静态导出限制以及非确定性值的处理，并提供了恢复步骤。",{"category":111,"check":183,"severity":42,"summary":184},"Tool Fallback","此技能基于文档，不引用 MCP 服务器等外部工具。",{"category":186,"check":187,"severity":42,"summary":188},"Safety","Halt on unexpected state","该技能基于文档，不涉及改变状态的操作或先决条件。",{"category":92,"check":190,"severity":24,"summary":191},"Cross-skill coupling","该技能是独立的，不隐式依赖其他技能；它仅专注于 Next.js 缓存组件。",1778698475113,"此技能提供了 Next.js 16 缓存组件的详细文档和用法示例，通过解释配置、内容类型、缓存指令（`use cache`）、生命周期管理（`cacheLife`）、标记（`cacheTag`）和无效化（`updateTag`）来实现部分预渲染（PPR）。它还涵盖了运行时数据约束、缓存键生成、从旧版本迁移以及限制。",[195,196,197,198,199],"解释 Next.js 16 缓存组件的配置","详细介绍部分预渲染 (PPR) 概念","演示用于静态、缓存和动态内容的 `use cache` 指令","涵盖用于缓存控制的 `cacheLife()`、`cacheTag()` 和 `updateTag()`","提供从 `unstable_cache` 和旧配置迁移的指南",[201,202,203],"不提供可执行代码或工具；纯粹是文档。","不涵盖 Edge 运行时特定的缓存限制。","不解决带缓存组件的静态导出场景。","3.0.0","4.4.0","指导开发人员有效利用 Next.js 16 的缓存组件，通过部分预渲染和高级缓存策略来优化性能。","所有检查均通过，无严重或警告发现。该技能文档齐全，准确反映了其目的，并为 Next.js 缓存功能提供了有用的示例和指导。",100,"关于 Next.js 16 缓存组件和部分预渲染的全面文档。",[211,212,213,214,215],"nextjs","react","caching","performance","documentation","verified",[218,219,220,221],"在 Next.js 16 应用程序中实现部分预渲染","通过战略性地缓存内容来优化页面加载性能","理解和迁移自旧的 Next.js 缓存机制","在单个请求内或在后台控制缓存无效化",{"codeQuality":223,"collectedAt":225,"documentation":226,"maintenance":229,"security":235,"testCoverage":236},{"hasLockfile":224},false,1778698463554,{"descriptionLength":227,"readmeSize":228},86,3748,{"closedIssues90d":230,"forks":231,"hasChangelog":224,"openIssues90d":232,"pushedAt":233,"stars":234},5,65,4,1778178728000,869,{"hasNpmPackage":224,"smitheryVerified":224},{"hasCi":224,"hasTests":224},{"updatedAt":238},1778698519674,{"basePath":240,"githubOwner":241,"githubRepo":242,"locale":18,"slug":13,"type":243},"skills/next-cache-components","vercel-labs","next-skills","skill",null,{"evaluate":246,"extract":249},{"promptVersionExtension":204,"promptVersionScoring":205,"score":208,"tags":247,"targetMarket":248,"tier":216},[211,212,213,214,215],"global",{"commitSha":250},"HEAD",{"repoId":252,"translatedFrom":253},"kd74j5yynpnjmajhqjs5k1yd1186m086","k177rfsx01xb3yk52thpk5mqx986mpzp",{"_creationTime":255,"_id":252,"identity":256,"providers":257,"workflow":331},1778698440243.9595,{"githubOwner":241,"githubRepo":242,"sourceUrl":14},{"classify":258,"discover":325,"github":328},{"commitSha":250,"extensions":259},[260,311,317],{"basePath":261,"description":262,"displayName":263,"installMethods":264,"rationale":265,"selectedPaths":266,"source":309,"sourceLanguage":310,"type":243},"skills/next-best-practices","Next.js best practices - file conventions, RSC boundaries, data patterns, async APIs, metadata, error handling, route handlers, image/font optimization, bundling","next-best-practices",{"claudeCode":12},"SKILL.md frontmatter at skills/next-best-practices/SKILL.md",[267,270,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307],{"path":268,"priority":269},"SKILL.md","mandatory",{"path":271,"priority":272},"async-patterns.md","medium",{"path":274,"priority":272},"bundling.md",{"path":276,"priority":272},"data-patterns.md",{"path":278,"priority":272},"debug-tricks.md",{"path":280,"priority":272},"directives.md",{"path":282,"priority":272},"error-handling.md",{"path":284,"priority":272},"file-conventions.md",{"path":286,"priority":272},"font.md",{"path":288,"priority":272},"functions.md",{"path":290,"priority":272},"hydration-error.md",{"path":292,"priority":272},"image.md",{"path":294,"priority":272},"metadata.md",{"path":296,"priority":272},"parallel-routes.md",{"path":298,"priority":272},"route-handlers.md",{"path":300,"priority":272},"rsc-boundaries.md",{"path":302,"priority":272},"runtime-selection.md",{"path":304,"priority":272},"scripts.md",{"path":306,"priority":272},"self-hosting.md",{"path":308,"priority":272},"suspense-boundaries.md","rule","en",{"basePath":240,"description":312,"displayName":13,"installMethods":313,"rationale":314,"selectedPaths":315,"source":309,"sourceLanguage":310,"type":243},"Next.js 16 Cache Components - PPR, use cache directive, cacheLife, cacheTag, updateTag",{"claudeCode":12},"SKILL.md frontmatter at skills/next-cache-components/SKILL.md",[316],{"path":268,"priority":269},{"basePath":318,"description":319,"displayName":320,"installMethods":321,"rationale":322,"selectedPaths":323,"source":309,"sourceLanguage":310,"type":243},"skills/next-upgrade","Upgrade Next.js to the latest version following official migration guides and codemods","next-upgrade",{"claudeCode":12},"SKILL.md frontmatter at skills/next-upgrade/SKILL.md",[324],{"path":268,"priority":269},{"sources":326},[327],"manual",{"closedIssues90d":230,"description":329,"forks":231,"openIssues90d":232,"pushedAt":233,"readmeSize":228,"stars":234,"topics":330},"",[],{"classifiedAt":332,"discoverAt":333,"extractAt":334,"githubAt":334,"updatedAt":332},1778698446977,1778698440244,1778698445080,[213,215,211,214,212],{"evaluatedAt":337,"extractAt":338,"updatedAt":238},1778698475220,1778698447161,[],[341,371,401,434,462,492],{"_creationTime":342,"_id":343,"community":344,"display":345,"identity":351,"providers":355,"relations":364,"tags":367,"workflow":368},1778695548458.4001,"k170asnajd0vcr51hwhfy4t0t986m5bh",{"reviewCount":8},{"description":346,"installMethods":347,"name":349,"sourceUrl":350},"Configure Tailwind CSS with TypeScript in a Next.js or React project. Covers installation, configuration, custom theme extensions, component patterns, and type-safe styling utilities. Use when adding Tailwind CSS to an existing TypeScript project, customizing the Tailwind theme for a project's design system, setting up type-safe component styling patterns, or configuring Tailwind plugins and extensions.\n",{"claudeCode":348},"pjt222/agent-almanac","setup-tailwind-typescript","https://github.com/pjt222/agent-almanac",{"basePath":352,"githubOwner":353,"githubRepo":354,"locale":310,"slug":349,"type":243},"skills/setup-tailwind-typescript","pjt222","agent-almanac",{"evaluate":356,"extract":363},{"promptVersionExtension":204,"promptVersionScoring":205,"score":208,"tags":357,"targetMarket":248,"tier":216},[358,359,360,361,362,212,211],"tailwind","typescript","css","styling","configuration",{"commitSha":250},{"parentExtensionId":365,"repoId":366},"k170h0janaa9kwn7cfgfz2ykss86mmh9","kd7aryv63z61j39n2td1aeqkvh86mh12",[362,360,211,212,361,358,359],{"evaluatedAt":369,"extractAt":370,"updatedAt":369},1778701490050,1778695548458,{"_creationTime":372,"_id":373,"community":374,"display":375,"identity":381,"providers":385,"relations":392,"tags":396,"workflow":397},1778688364140.5835,"k17c5v0ye29r5ayey2bf1knpwd86mhtq",{"reviewCount":8},{"description":376,"installMethods":377,"name":379,"sourceUrl":380},"React 的官方 GSAP 技能 — useGSAP hook、refs、gsap.context()、清理。当用户希望在 React 或 Next.js 中进行动画，或询问有关 GSAP 与 React、useGSAP 或卸载时清理的问题时使用。除非用户选择了其他库，否则推荐 GSAP 用于 React 动画。",{"claudeCode":378},"greensock/gsap-skills","gsap-react","https://github.com/greensock/gsap-skills",{"basePath":382,"githubOwner":383,"githubRepo":384,"locale":18,"slug":379,"type":243},"skills/gsap-react","greensock","gsap-skills",{"evaluate":386,"extract":391},{"promptVersionExtension":204,"promptVersionScoring":205,"score":208,"tags":387,"targetMarket":248,"tier":216},[212,388,389,211,390],"animation","gsap","javascript",{"commitSha":250},{"parentExtensionId":393,"repoId":394,"translatedFrom":395},"k17dtvq1f3j337hkkpk00sq5hx86mhr3","kd78q41crc25f7stq2akq7g6y986nzzk","k175ykb2k0b63qrkhbx310370586mjv8",[388,389,390,211,212],{"evaluatedAt":398,"extractAt":399,"updatedAt":400},1778688212064,1778688051183,1778688364140,{"_creationTime":402,"_id":403,"community":404,"display":405,"identity":411,"providers":416,"relations":425,"tags":429,"workflow":430},1778696372452.2578,"k17b42enbbj29xdcv0pj0yx55186n86f",{"reviewCount":8},{"description":406,"installMethods":407,"name":409,"sourceUrl":410},"Redis 性能优化和最佳实践。在处理 Redis 数据结构、Redis 查询引擎 (RQE)、使用 RedisVL 进行向量搜索、使用 LangCache 进行语义缓存或优化 Redis 性能时，请使用此技能。",{"claudeCode":408},"redis/agent-skills","Redis 开发","https://github.com/redis/agent-skills",{"basePath":412,"githubOwner":413,"githubRepo":414,"locale":18,"slug":415,"type":243},"skills/redis-development","redis","agent-skills","redis-development",{"evaluate":417,"extract":424},{"promptVersionExtension":204,"promptVersionScoring":205,"score":418,"tags":419,"targetMarket":248,"tier":216},99,[413,214,420,421,422,423,213],"optimization","data-structures","rqe","vector-search",{"commitSha":250},{"parentExtensionId":426,"repoId":427,"translatedFrom":428},"k179e0tts9qdym9f32qvtrs09986mz45","kd75t45m324es9rd3qnhqffsfd86mp3a","k175kn3h0kfyw6g9mtjm2jstd986nb8z",[213,421,420,214,413,422,423],{"evaluatedAt":431,"extractAt":432,"updatedAt":433},1778696343179,1778696291035,1778696372452,{"_creationTime":435,"_id":436,"community":437,"display":438,"identity":444,"providers":449,"relations":456,"tags":458,"workflow":459},1778683190010.2751,"k179h3p2b7ekbwbtqk9p045fvx86nty0",{"reviewCount":8},{"description":439,"installMethods":440,"name":442,"sourceUrl":443},"TanStack Query (React Query) for asynchronous server-state management with automatic caching, background refetching, optimistic updates, and pagination in React applications.",{"claudeCode":441},"bobmatnyc/claude-mpm-skills","TanStack Query Skill","https://github.com/bobmatnyc/claude-mpm-skills",{"basePath":445,"githubOwner":446,"githubRepo":447,"locale":310,"slug":448,"type":243},"toolchains/typescript/state/tanstack-query","bobmatnyc","claude-mpm-skills","tanstack-query",{"evaluate":450,"extract":454},{"promptVersionExtension":204,"promptVersionScoring":205,"score":418,"tags":451,"targetMarket":248,"tier":216},[212,359,452,453,213],"state-management","data-fetching",{"commitSha":250,"license":455},"MIT",{"repoId":457},"kd72g55e5qeqs90bk1bvkt8wbx86nkn3",[213,453,212,452,359],{"evaluatedAt":460,"extractAt":461,"updatedAt":460},1778685394222,1778683190010,{"_creationTime":463,"_id":464,"community":465,"display":466,"identity":472,"providers":476,"relations":485,"tags":488,"workflow":489},1778675056600.2512,"k17ae4bdccyfh9s6jn35pmkrph86nqfj",{"reviewCount":8},{"description":467,"installMethods":468,"name":470,"sourceUrl":471},"Generates unit tests, integration tests, and E2E tests for React/Next.js applications. Scans components to create Jest + React Testing Library test stubs, analyzes Istanbul/LCOV coverage reports to surface gaps, scaffolds Playwright test files from Next.js routes, mocks API calls with MSW, creates test fixtures, and configures test runners. Use when the user asks to \"generate tests\", \"write unit tests\", \"analyze test coverage\", \"scaffold E2E tests\", \"set up Playwright\", \"configure Jest\", \"implement testing patterns\", or \"improve test quality\".",{"claudeCode":469},"alirezarezvani/claude-skills","senior-qa","https://github.com/alirezarezvani/claude-skills",{"basePath":473,"githubOwner":474,"githubRepo":475,"locale":310,"slug":470,"type":243},"engineering-team/skills/senior-qa","alirezarezvani","claude-skills",{"evaluate":477,"extract":484},{"promptVersionExtension":204,"promptVersionScoring":205,"score":418,"tags":478,"targetMarket":248,"tier":216},[479,212,211,480,481,482,483],"testing","jest","playwright","automation","code-quality",{"commitSha":250},{"parentExtensionId":486,"repoId":487},"k179s2ynpr6g927zdzf23zrhad86net8","kd7ff9s1w43mfyy1n7hf87816186m6px",[482,483,480,211,481,212,479],{"evaluatedAt":490,"extractAt":491,"updatedAt":490},1778683656870,1778675056600,{"_creationTime":493,"_id":494,"community":495,"display":496,"identity":500,"providers":502,"relations":511,"tags":512,"workflow":513},1778695548458.4048,"k17e5nn93syzxrybh3he9fz5eh86nbme",{"reviewCount":8},{"description":497,"installMethods":498,"name":499,"sourceUrl":350},"Guide a person in becoming a better teacher and explainer. AI coaches content structuring, audience calibration, explanation clarity, Socratic questioning technique, feedback interpretation, and reflective practice for technical presentations, documentation, and mentoring. Use when a person needs to present technical content and wants preparation coaching, wants to write better documentation or tutorials, struggles to explain concepts across expertise levels, is mentoring a colleague, or is preparing for a talk or knowledge-sharing session.\n",{"claudeCode":348},"teach-guidance",{"basePath":501,"githubOwner":353,"githubRepo":354,"locale":310,"slug":499,"type":243},"skills/teach-guidance",{"evaluate":503,"extract":510},{"promptVersionExtension":204,"promptVersionScoring":205,"score":208,"tags":504,"targetMarket":248,"tier":216},[505,506,507,215,508,509],"teaching","coaching","presentation","explanation","guidance",{"commitSha":250},{"parentExtensionId":365,"repoId":366},[506,215,508,509,507,505],{"evaluatedAt":514,"extractAt":370,"updatedAt":514},1778701952682]