[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71T6W6NANEWEDNSG9FVTFB6":3,"skill-same:01M71T6W6NANEWEDNSG9FVTFB6":149},{"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":46,"commitSha":47,"skillDirectory":48,"forksCount":49,"repositoryHtmlUrl":50,"repositoryHomepageUrl":6,"ownerHtmlUrl":51,"ownerBlogUrl":6,"ownerDescription":52,"updatedAt":53,"install":54,"resources":67},"01M71T6W6NANEWEDNSG9FVTFB6","web-frameworks",null,"Build with Next.js (App Router, RSC, SSR, ISR), Turborepo monorepos. Use for React apps, server rendering, build optimization, caching strategies, shared dependencies.","mantrandev\u002Fmydotbot","mantrandev","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F120156244?v=4","01M71SZTTYS2EQQWXVKD3N63XF","maybe","01M71SZTVY4J7DYNEST4Q4DEV9",2,"MIT","https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Fweb-frameworks\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"web frameworks","web","frameworks","Optimization","for","feature","framework","turborepo","rendering","ssr","next","rsc","server","strategies","router","react","caching","apps","app","shared","2026-11-10 13:02:02",false,"---\nname: web-frameworks\ndescription: Build with Next.js (App Router, RSC, SSR, ISR), Turborepo monorepos. Use for React apps, server rendering, build optimization, caching strategies, shared dependencies.\nlicense: MIT\nversion: 1.0.0\nargument-hint: \"[framework] [feature]\"\n---\n\n# Web Frameworks Skill Group\n\nComprehensive guide for building modern full-stack web applications using Next.js, Turborepo, and RemixIcon.\n\n## Overview\n\nThis skill group combines three powerful tools for web development:\n\n**Next.js** - React framework with SSR, SSG, RSC, and optimization features\n**Turborepo** - High-performance monorepo build system for JavaScript\u002FTypeScript\n**RemixIcon** - Icon library with 3,100+ outlined and filled style icons\n\n## When to Use This Skill Group\n\n- Building new full-stack web applications with modern React\n- Setting up monorepos with multiple apps and shared packages\n- Implementing server-side rendering and static generation\n- Optimizing build performance with intelligent caching\n- Creating consistent UI with professional iconography\n- Managing workspace dependencies across multiple projects\n- Deploying production-ready applications with proper optimization\n\n## Stack Selection Guide\n\n### Single Application: Next.js + RemixIcon\n\nUse when building a standalone application:\n- E-commerce sites\n- Marketing websites\n- SaaS applications\n- Documentation sites\n- Blogs and content platforms\n\n**Setup:**\n```bash\nnpx create-next-app@latest my-app\ncd my-app\nnpm install remixicon\n```\n\n### Monorepo: Next.js + Turborepo + RemixIcon\n\nUse when building multiple applications with shared code:\n- Microfrontends\n- Multi-tenant platforms\n- Internal tools with shared component library\n- Multiple apps (web, admin, mobile-web) sharing logic\n- Design system with documentation site\n\n**Setup:**\n```bash\nnpx create-turbo@latest my-monorepo\n# Then configure Next.js apps in apps\u002F directory\n# Install remixicon in shared UI packages\n```\n\n### Framework Features Comparison\n\n| Feature | Next.js | Turborepo | RemixIcon |\n|---------|---------|-----------|-----------|\n| Primary Use | Web framework | Build system | UI icons |\n| Best For | SSR\u002FSSG apps | Monorepos | Consistent iconography |\n| Performance | Built-in optimization | Caching & parallel tasks | Lightweight fonts\u002FSVG |\n| TypeScript | Full support | Full support | Type definitions available |\n\n## Quick Start\n\n### Next.js Application\n\n```bash\n# Create new project\nnpx create-next-app@latest my-app\ncd my-app\n\n# Install RemixIcon\nnpm install remixicon\n\n# Import in layout\n# app\u002Flayout.tsx\nimport 'remixicon\u002Ffonts\u002Fremixicon.css'\n\n# Start development\nnpm run dev\n```\n\n### Turborepo Monorepo\n\n```bash\n# Create monorepo\nnpx create-turbo@latest my-monorepo\ncd my-monorepo\n\n# Structure:\n# apps\u002Fweb\u002F          - Next.js application\n# apps\u002Fdocs\u002F         - Documentation site\n# packages\u002Fui\u002F       - Shared components with RemixIcon\n# packages\u002Fconfig\u002F   - Shared configs\n# turbo.json         - Pipeline configuration\n\n# Run all apps\nnpm run dev\n\n# Build all packages\nnpm run build\n```\n\n### RemixIcon Integration\n\n```tsx\n\u002F\u002F Webfont (HTML\u002FCSS)\n\u003Ci className=\"ri-home-line\">\u003C\u002Fi>\n\u003Ci className=\"ri-search-fill ri-2x\">\u003C\u002Fi>\n\n\u002F\u002F React component\nimport { RiHomeLine, RiSearchFill } from \"@remixicon\u002Freact\"\n\u003CRiHomeLine size={24} \u002F>\n\u003CRiSearchFill size={32} color=\"blue\" \u002F>\n```\n\n## Reference Navigation\n\n**Next.js References:**\n- [App Router Architecture](.\u002Freferences\u002Fnextjs-app-router.md) - Routing, layouts, pages, parallel routes\n- [Server Components](.\u002Freferences\u002Fnextjs-server-components.md) - RSC patterns, client vs server, streaming\n- [Data Fetching](.\u002Freferences\u002Fnextjs-data-fetching.md) - fetch API, caching, revalidation, loading states\n- [Optimization](.\u002Freferences\u002Fnextjs-optimization.md) - Images, fonts, scripts, bundle analysis, PPR\n\n**Turborepo References:**\n- [Setup & Configuration](.\u002Freferences\u002Fturborepo-setup.md) - Installation, workspace config, package structure\n- [Task Pipelines](.\u002Freferences\u002Fturborepo-pipelines.md) - Dependencies, parallel execution, task ordering\n- [Caching Strategies](.\u002Freferences\u002Fturborepo-caching.md) - Local cache, remote cache, cache invalidation\n\n**RemixIcon References:**\n- [Integration Guide](.\u002Freferences\u002Fremix-icon-integration.md) - Installation, usage, customization, accessibility\n\n## Common Patterns & Workflows\n\n### Pattern 1: Full-Stack Monorepo\n\n```\nmy-monorepo\u002F\n├── apps\u002F\n│   ├── web\u002F              # Customer-facing Next.js app\n│   ├── admin\u002F            # Admin dashboard Next.js app\n│   └── docs\u002F             # Documentation site\n├── packages\u002F\n│   ├── ui\u002F               # Shared UI with RemixIcon\n│   ├── api-client\u002F       # API client library\n│   ├── config\u002F           # ESLint, TypeScript configs\n│   └── types\u002F            # Shared TypeScript types\n└── turbo.json            # Build pipeline\n```\n\n**turbo.json:**\n```json\n{\n  \"$schema\": \"https:\u002F\u002Fturbo.build\u002Fschema.json\",\n  \"pipeline\": {\n    \"build\": {\n      \"dependsOn\": [\"^build\"],\n      \"outputs\": [\".next\u002F**\", \"!.next\u002Fcache\u002F**\", \"dist\u002F**\"]\n    },\n    \"dev\": {\n      \"cache\": false,\n      \"persistent\": true\n    },\n    \"lint\": {},\n    \"test\": {\n      \"dependsOn\": [\"build\"]\n    }\n  }\n}\n```\n\n### Pattern 2: Shared Component Library\n\n```tsx\n\u002F\u002F packages\u002Fui\u002Fsrc\u002Fbutton.tsx\nimport { RiLoader4Line } from \"@remixicon\u002Freact\"\n\nexport function Button({ children, loading, icon }) {\n  return (\n    \u003Cbutton>\n      {loading ? \u003CRiLoader4Line className=\"animate-spin\" \u002F> : icon}\n      {children}\n    \u003C\u002Fbutton>\n  )\n}\n\n\u002F\u002F apps\u002Fweb\u002Fapp\u002Fpage.tsx\nimport { Button } from \"@repo\u002Fui\u002Fbutton\"\nimport { RiHomeLine } from \"@remixicon\u002Freact\"\n\nexport default function Page() {\n  return \u003CButton icon={\u003CRiHomeLine \u002F>}>Home\u003C\u002FButton>\n}\n```\n\n### Pattern 3: Optimized Data Fetching\n\n```tsx\n\u002F\u002F app\u002Fposts\u002F[slug]\u002Fpage.tsx\nimport { notFound } from 'next\u002Fnavigation'\n\n\u002F\u002F Static generation at build time\nexport async function generateStaticParams() {\n  const posts = await getPosts()\n  return posts.map(post => ({ slug: post.slug }))\n}\n\n\u002F\u002F Revalidate every hour\nasync function getPost(slug: string) {\n  const res = await fetch(`https:\u002F\u002Fapi.example.com\u002Fposts\u002F${slug}`, {\n    next: { revalidate: 3600 }\n  })\n  if (!res.ok) return null\n  return res.json()\n}\n\nexport default async function Post({ params }: { params: { slug: string } }) {\n  const post = await getPost(params.slug)\n  if (!post) notFound()\n\n  return \u003Carticle>{post.content}\u003C\u002Farticle>\n}\n```\n\n### Pattern 4: Monorepo CI\u002FCD Pipeline\n\n```yaml\n# .github\u002Fworkflows\u002Fci.yml\nname: ck:CI\non: [push, pull_request]\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions\u002Fcheckout@v4\n      - uses: actions\u002Fsetup-node@v4\n        with:\n          node-version: 18\n      - run: npm install\n      - run: npx turbo run build test lint\n        env:\n          TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}\n          TURBO_TEAM: ${{ secrets.TURBO_TEAM }}\n```\n\n## Utility Scripts\n\nPython utilities in `scripts\u002F` directory:\n\n**nextjs-init.py** - Initialize Next.js project with best practices\n**turborepo-migrate.py** - Convert existing monorepo to Turborepo\n\nUsage examples:\n```bash\n# Initialize new Next.js app with TypeScript and recommended setup\npython scripts\u002Fnextjs-init.py --name my-app --typescript --app-router\n\n# Migrate existing monorepo to Turborepo with dry-run\npython scripts\u002Fturborepo-migrate.py --path .\u002Fmy-monorepo --dry-run\n\n# Run tests\ncd scripts\u002Ftests\npytest\n```\n\n## Best Practices\n\n**Next.js:**\n- Default to Server Components, use Client Components only when needed\n- Implement proper loading and error states\n- Use Image component for automatic optimization\n- Set proper metadata for SEO\n- Leverage caching strategies (force-cache, revalidate, no-store)\n\n**Turborepo:**\n- Structure monorepo with clear separation (apps\u002F, packages\u002F)\n- Define task dependencies correctly (^build for topological)\n- Configure outputs for proper caching\n- Enable remote caching for team collaboration\n- Use filters to run tasks on changed packages only\n\n**RemixIcon:**\n- Use line style for minimal interfaces, fill for emphasis\n- Maintain 24x24 grid alignment for crisp rendering\n- Provide aria-labels for accessibility\n- Use currentColor for flexible theming\n- Prefer webfonts for multiple icons, SVG for single icons\n\n## Resources\n\n- Next.js: https:\u002F\u002Fnextjs.org\u002Fdocs\u002Fllms.txt\n- Turborepo: https:\u002F\u002Fturbo.build\u002Frepo\u002Fdocs\n- RemixIcon: https:\u002F\u002Fremixicon.com\n\n## Implementation Checklist\n\nBuilding with this stack:\n\n- [ ] Create project structure (single app or monorepo)\n- [ ] Configure TypeScript and ESLint\n- [ ] Set up Next.js with App Router\n- [ ] Configure Turborepo pipeline (if monorepo)\n- [ ] Install and configure RemixIcon\n- [ ] Implement routing and layouts\n- [ ] Add loading and error states\n- [ ] Configure image and font optimization\n- [ ] Set up data fetching patterns\n- [ ] Configure caching strategies\n- [ ] Add API routes as needed\n- [ ] Implement shared component library (if monorepo)\n- [ ] Configure remote caching (if monorepo)\n- [ ] Set up CI\u002FCD pipeline\n- [ ] Configure deployment platform\n","# Web Frameworks Skill Group\n\nComprehensive guide for building modern full-stack web applications using Next.js, Turborepo, and RemixIcon.\n\n## Overview\n\nThis skill group combines three powerful tools for web development:\n\n**Next.js** - React framework with SSR, SSG, RSC, and optimization features\n**Turborepo** - High-performance monorepo build system for JavaScript\u002FTypeScript\n**RemixIcon** - Icon library with 3,100+ outlined and filled style icons\n\n## When to Use This Skill Group\n\n- Building new full-stack web applications with modern React\n- Setting up monorepos with multiple apps and shared packages\n- Implementing server-side rendering and static generation\n- Optimizing build performance with intelligent caching\n- Creating consistent UI with professional iconography\n- Managing workspace dependencies across multiple projects\n- Deploying production-ready applications with proper optimization\n\n## Stack Selection Guide\n\n### Single Application: Next.js + RemixIcon\n\nUse when building a standalone application:\n- E-commerce sites\n- Marketing websites\n- SaaS applications\n- Documentation sites\n- Blogs and content platforms\n\n**Setup:**\n```bash\nnpx create-next-app@latest my-app\ncd my-app\nnpm install remixicon\n```\n\n### Monorepo: Next.js + Turborepo + RemixIcon\n\nUse when building multiple applications with shared code:\n- Microfrontends\n- Multi-tenant platforms\n- Internal tools with shared component library\n- Multiple apps (web, admin, mobile-web) sharing logic\n- Design system with documentation site\n\n**Setup:**\n```bash\nnpx create-turbo@latest my-monorepo\n# Then configure Next.js apps in apps\u002F directory\n# Install remixicon in shared UI packages\n```\n\n### Framework Features Comparison\n\n| Feature | Next.js | Turborepo | RemixIcon |\n|---------|---------|-----------|-----------|\n| Primary Use | Web framework | Build system | UI icons |\n| Best For | SSR\u002FSSG apps | Monorepos | Consistent iconography |\n| Performance | Built-in optimization | Caching & parallel tasks | Lightweight fonts\u002FSVG |\n| TypeScript | Full support | Full support | Type definitions available |\n\n## Quick Start\n\n### Next.js Application\n\n```bash\n# Create new project\nnpx create-next-app@latest my-app\ncd my-app\n\n# Install RemixIcon\nnpm install remixicon\n\n# Import in layout\n# app\u002Flayout.tsx\nimport 'remixicon\u002Ffonts\u002Fremixicon.css'\n\n# Start development\nnpm run dev\n```\n\n### Turborepo Monorepo\n\n```bash\n# Create monorepo\nnpx create-turbo@latest my-monorepo\ncd my-monorepo\n\n# Structure:\n# apps\u002Fweb\u002F          - Next.js application\n# apps\u002Fdocs\u002F         - Documentation site\n# packages\u002Fui\u002F       - Shared components with RemixIcon\n# packages\u002Fconfig\u002F   - Shared configs\n# turbo.json         - Pipeline configuration\n\n# Run all apps\nnpm run dev\n\n# Build all packages\nnpm run build\n```\n\n### RemixIcon Integration\n\n```tsx\n\u002F\u002F Webfont (HTML\u002FCSS)\n\u003Ci className=\"ri-home-line\">\u003C\u002Fi>\n\u003Ci className=\"ri-search-fill ri-2x\">\u003C\u002Fi>\n\n\u002F\u002F React component\nimport { RiHomeLine, RiSearchFill } from \"@remixicon\u002Freact\"\n\u003CRiHomeLine size={24} \u002F>\n\u003CRiSearchFill size={32} color=\"blue\" \u002F>\n```\n\n## Reference Navigation\n\n**Next.js References:**\n- [App Router Architecture](.\u002Freferences\u002Fnextjs-app-router.md) - Routing, layouts, pages, parallel routes\n- [Server Components](.\u002Freferences\u002Fnextjs-server-components.md) - RSC patterns, client vs server, streaming\n- [Data Fetching](.\u002Freferences\u002Fnextjs-data-fetching.md) - fetch API, caching, revalidation, loading states\n- [Optimization](.\u002Freferences\u002Fnextjs-optimization.md) - Images, fonts, scripts, bundle analysis, PPR\n\n**Turborepo References:**\n- [Setup & Configuration](.\u002Freferences\u002Fturborepo-setup.md) - Installation, workspace config, package structure\n- [Task Pipelines](.\u002Freferences\u002Fturborepo-pipelines.md) - Dependencies, parallel execution, task ordering\n- [Caching Strategies](.\u002Freferences\u002Fturborepo-caching.md) - Local cache, remote cache, cache invalidation\n\n**RemixIcon References:**\n- [Integration Guide](.\u002Freferences\u002Fremix-icon-integration.md) - Installation, usage, customization, accessibility\n\n## Common Patterns & Workflows\n\n### Pattern 1: Full-Stack Monorepo\n\n```\nmy-monorepo\u002F\n├── apps\u002F\n│   ├── web\u002F              # Customer-facing Next.js app\n│   ├── admin\u002F            # Admin dashboard Next.js app\n│   └── docs\u002F             # Documentation site\n├── packages\u002F\n│   ├── ui\u002F               # Shared UI with RemixIcon\n│   ├── api-client\u002F       # API client library\n│   ├── config\u002F           # ESLint, TypeScript configs\n│   └── types\u002F            # Shared TypeScript types\n└── turbo.json            # Build pipeline\n```\n\n**turbo.json:**\n```json\n{\n  \"$schema\": \"https:\u002F\u002Fturbo.build\u002Fschema.json\",\n  \"pipeline\": {\n    \"build\": {\n      \"dependsOn\": [\"^build\"],\n      \"outputs\": [\".next\u002F**\", \"!.next\u002Fcache\u002F**\", \"dist\u002F**\"]\n    },\n    \"dev\": {\n      \"cache\": false,\n      \"persistent\": true\n    },\n    \"lint\": {},\n    \"test\": {\n      \"dependsOn\": [\"build\"]\n    }\n  }\n}\n```\n\n### Pattern 2: Shared Component Library\n\n```tsx\n\u002F\u002F packages\u002Fui\u002Fsrc\u002Fbutton.tsx\nimport { RiLoader4Line } from \"@remixicon\u002Freact\"\n\nexport function Button({ children, loading, icon }) {\n  return (\n    \u003Cbutton>\n      {loading ? \u003CRiLoader4Line className=\"animate-spin\" \u002F> : icon}\n      {children}\n    \u003C\u002Fbutton>\n  )\n}\n\n\u002F\u002F apps\u002Fweb\u002Fapp\u002Fpage.tsx\nimport { Button } from \"@repo\u002Fui\u002Fbutton\"\nimport { RiHomeLine } from \"@remixicon\u002Freact\"\n\nexport default function Page() {\n  return \u003CButton icon={\u003CRiHomeLine \u002F>}>Home\u003C\u002FButton>\n}\n```\n\n### Pattern 3: Optimized Data Fetching\n\n```tsx\n\u002F\u002F app\u002Fposts\u002F[slug]\u002Fpage.tsx\nimport { notFound } from 'next\u002Fnavigation'\n\n\u002F\u002F Static generation at build time\nexport async function generateStaticParams() {\n  const posts = await getPosts()\n  return posts.map(post => ({ slug: post.slug }))\n}\n\n\u002F\u002F Revalidate every hour\nasync function getPost(slug: string) {\n  const res = await fetch(`https:\u002F\u002Fapi.example.com\u002Fposts\u002F${slug}`, {\n    next: { revalidate: 3600 }\n  })\n  if (!res.ok) return null\n  return res.json()\n}\n\nexport default async function Post({ params }: { params: { slug: string } }) {\n  const post = await getPost(params.slug)\n  if (!post) notFound()\n\n  return \u003Carticle>{post.content}\u003C\u002Farticle>\n}\n```\n\n### Pattern 4: Monorepo CI\u002FCD Pipeline\n\n```yaml\n# .github\u002Fworkflows\u002Fci.yml\nname: ck:CI\non: [push, pull_request]\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions\u002Fcheckout@v4\n      - uses: actions\u002Fsetup-node@v4\n        with:\n          node-version: 18\n      - run: npm install\n      - run: npx turbo run build test lint\n        env:\n          TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}\n          TURBO_TEAM: ${{ secrets.TURBO_TEAM }}\n```\n\n## Utility Scripts\n\nPython utilities in `scripts\u002F` directory:\n\n**nextjs-init.py** - Initialize Next.js project with best practices\n**turborepo-migrate.py** - Convert existing monorepo to Turborepo\n\nUsage examples:\n```bash\n# Initialize new Next.js app with TypeScript and recommended setup\npython scripts\u002Fnextjs-init.py --name my-app --typescript --app-router\n\n# Migrate existing monorepo to Turborepo with dry-run\npython scripts\u002Fturborepo-migrate.py --path .\u002Fmy-monorepo --dry-run\n\n# Run tests\ncd scripts\u002Ftests\npytest\n```\n\n## Best Practices\n\n**Next.js:**\n- Default to Server Components, use Client Components only when needed\n- Implement proper loading and error states\n- Use Image component for automatic optimization\n- Set proper metadata for SEO\n- Leverage caching strategies (force-cache, revalidate, no-store)\n\n**Turborepo:**\n- Structure monorepo with clear separation (apps\u002F, packages\u002F)\n- Define task dependencies correctly (^build for topological)\n- Configure outputs for proper caching\n- Enable remote caching for team collaboration\n- Use filters to run tasks on changed packages only\n\n**RemixIcon:**\n- Use line style for minimal interfaces, fill for emphasis\n- Maintain 24x24 grid alignment for crisp rendering\n- Provide aria-labels for accessibility\n- Use currentColor for flexible theming\n- Prefer webfonts for multiple icons, SVG for single icons\n\n## Resources\n\n- Next.js: https:\u002F\u002Fnextjs.org\u002Fdocs\u002Fllms.txt\n- Turborepo: https:\u002F\u002Fturbo.build\u002Frepo\u002Fdocs\n- RemixIcon: https:\u002F\u002Fremixicon.com\n\n## Implementation Checklist\n\nBuilding with this stack:\n\n- [ ] Create project structure (single app or monorepo)\n- [ ] Configure TypeScript and ESLint\n- [ ] Set up Next.js with App Router\n- [ ] Configure Turborepo pipeline (if monorepo)\n- [ ] Install and configure RemixIcon\n- [ ] Implement routing and layouts\n- [ ] Add loading and error states\n- [ ] Configure image and font optimization\n- [ ] Set up data fetching patterns\n- [ ] Configure caching strategies\n- [ ] Add API routes as needed\n- [ ] Implement shared component library (if monorepo)\n- [ ] Configure remote caching (if monorepo)\n- [ ] Set up CI\u002FCD pipeline\n- [ ] Configure deployment platform\n",{"name":5,"license":15,"version":44,"description":7,"argument-hint":45},"1.0.0","[framework] [feature]","main","eef4c392da382583063c3d53246bc0e899c6fdaa","ai\u002Fweb\u002Fweb-frameworks",1,"https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot","https:\u002F\u002Fgithub.com\u002Fmantrandev","Promt monkey ","2026-11-11 14:16:51",{"source":8,"skillName":5,"commands":55,"prompt":65,"zipAvailable":66},[56,59,62],{"tool":57,"command":58},"npx","npx skills add mantrandev\u002Fmydotbot --skill web-frameworks",{"tool":60,"command":61},"bunx","bunx skills add mantrandev\u002Fmydotbot --skill web-frameworks",{"tool":63,"command":64},"pnpm","pnpm dlx skills add mantrandev\u002Fmydotbot --skill web-frameworks","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Fweb-frameworks\u002FSKILL.md",true,[68,74,80,84,88,92,96,100,104,108,114,118,121,125,129,133,137,141,145],{"path":69,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":72,"sourceHtmlUrl":73},".DS_Store","OTHER","其他",6148,"https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Fweb-frameworks\u002F.DS_Store",{"path":75,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":78,"sourceHtmlUrl":79},"references\u002Fnextjs-app-router.md","REFERENCE","参考文档",9366,"https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Fweb-frameworks\u002Freferences\u002Fnextjs-app-router.md",{"path":81,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":82,"sourceHtmlUrl":83},"references\u002Fnextjs-data-fetching.md",10229,"https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Fweb-frameworks\u002Freferences\u002Fnextjs-data-fetching.md",{"path":85,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":86,"sourceHtmlUrl":87},"references\u002Fnextjs-optimization.md",11210,"https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Fweb-frameworks\u002Freferences\u002Fnextjs-optimization.md",{"path":89,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":90,"sourceHtmlUrl":91},"references\u002Fnextjs-server-components.md",10792,"https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Fweb-frameworks\u002Freferences\u002Fnextjs-server-components.md",{"path":93,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":94,"sourceHtmlUrl":95},"references\u002Fremix-icon-integration.md",10810,"https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Fweb-frameworks\u002Freferences\u002Fremix-icon-integration.md",{"path":97,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":98,"sourceHtmlUrl":99},"references\u002Fturborepo-caching.md",9714,"https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Fweb-frameworks\u002Freferences\u002Fturborepo-caching.md",{"path":101,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":102,"sourceHtmlUrl":103},"references\u002Fturborepo-pipelines.md",8510,"https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Fweb-frameworks\u002Freferences\u002Fturborepo-pipelines.md",{"path":105,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":106,"sourceHtmlUrl":107},"references\u002Fturborepo-setup.md",9696,"https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Fweb-frameworks\u002Freferences\u002Fturborepo-setup.md",{"path":109,"resourceType":110,"resourceTypeDesc":111,"sizeBytes":112,"sourceHtmlUrl":113},"scripts\u002F__init__.py","SCRIPT","脚本",0,"https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Fweb-frameworks\u002Fscripts\u002F__init__.py",{"path":115,"resourceType":110,"resourceTypeDesc":111,"sizeBytes":116,"sourceHtmlUrl":117},"scripts\u002F.coverage",53248,"https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Fweb-frameworks\u002Fscripts\u002F.coverage",{"path":119,"resourceType":110,"resourceTypeDesc":111,"sizeBytes":72,"sourceHtmlUrl":120},"scripts\u002F.DS_Store","https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Fweb-frameworks\u002Fscripts\u002F.DS_Store",{"path":122,"resourceType":110,"resourceTypeDesc":111,"sizeBytes":123,"sourceHtmlUrl":124},"scripts\u002Fnextjs_init.py",15114,"https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Fweb-frameworks\u002Fscripts\u002Fnextjs_init.py",{"path":126,"resourceType":110,"resourceTypeDesc":111,"sizeBytes":127,"sourceHtmlUrl":128},"scripts\u002Frequirements.txt",430,"https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Fweb-frameworks\u002Fscripts\u002Frequirements.txt",{"path":130,"resourceType":110,"resourceTypeDesc":111,"sizeBytes":131,"sourceHtmlUrl":132},"scripts\u002Ftests\u002Fcoverage-web.json",34849,"https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Fweb-frameworks\u002Fscripts\u002Ftests\u002Fcoverage-web.json",{"path":134,"resourceType":110,"resourceTypeDesc":111,"sizeBytes":135,"sourceHtmlUrl":136},"scripts\u002Ftests\u002Frequirements.txt",52,"https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Fweb-frameworks\u002Fscripts\u002Ftests\u002Frequirements.txt",{"path":138,"resourceType":110,"resourceTypeDesc":111,"sizeBytes":139,"sourceHtmlUrl":140},"scripts\u002Ftests\u002Ftest_nextjs_init.py",10735,"https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Fweb-frameworks\u002Fscripts\u002Ftests\u002Ftest_nextjs_init.py",{"path":142,"resourceType":110,"resourceTypeDesc":111,"sizeBytes":143,"sourceHtmlUrl":144},"scripts\u002Ftests\u002Ftest_turborepo_migrate.py",12861,"https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Fweb-frameworks\u002Fscripts\u002Ftests\u002Ftest_turborepo_migrate.py",{"path":146,"resourceType":110,"resourceTypeDesc":111,"sizeBytes":147,"sourceHtmlUrl":148},"scripts\u002Fturborepo_migrate.py",13231,"https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Fweb-frameworks\u002Fscripts\u002Fturborepo_migrate.py",[150,181,215,242,266,287],{"skillNo":151,"name":152,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":154,"licenseFileUrl":6,"sourceHtmlUrl":155,"categories":156,"keywords":162,"publishedAt":39},"01M71T6Z4TTFZYG03A4J74K3J5","web-testing","Web testing with Playwright, Vitest, k6. E2E\u002Funit\u002Fintegration\u002Fload\u002Fsecurity\u002Fvisual\u002Fa11y testing. Use for test automation, flakiness, Core Web Vitals, mobile gestures, cross-browser.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Fweb-testing\u002FSKILL.md",[157],{"categoryNo":158,"categoryName":159,"taxonomyType":160,"taxonomyTypeDesc":161},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[163,20,164,165,166,167,168,169,170,171,172,173,174,175,23,176,177,178,179,180],"testing","web testing","unit","vitals","browser","a11y","mobile","security","k6","target","gestures","vitest","core","e2e","cross-browser","use","load","automation",{"skillNo":182,"name":183,"nameZh":6,"description":184,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":185,"sourceHtmlUrl":186,"categories":187,"keywords":196,"publishedAt":39},"01M71T6HRD7RKWKDKBP0TN5VPG","ui-styling","Style UIs with shadcn\u002Fui components (Radix UI + Tailwind CSS). Use for accessible components, themes, dark mode, responsive layouts, design systems, color customization.","https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Fui-styling\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Fui-styling\u002FSKILL.md",[188,191],{"categoryNo":189,"categoryName":190,"taxonomyType":160,"taxonomyTypeDesc":161},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":192,"categoryName":193,"taxonomyType":194,"taxonomyTypeDesc":195},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,23,213,178,214],"ui styling","styling","ui","css","Tailwind","mode","design","themes","design systems","components","component","layout","responsive","shadcn","color","dark","ui components","dark mode",{"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":15,"licenseFileUrl":6,"sourceHtmlUrl":219,"categories":220,"keywords":224,"publishedAt":39},"01M71T6DR4C0XPDXG3S81VJS3Y","threejs","Build 3D web apps with Three.js (WebGL\u002FWebGPU). 556 searchable examples, 60 API classes, 20 use cases. Actions: create 3D scene, load model, add animation, implement physics, build VR\u002FXR. Topics: GLTF loader, PBR materials, particle effects, shadows, post-processing, compute shaders, TSL. Integrations: WebGPU, physics engines, spatial audio.","https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Fthreejs\u002FSKILL.md",[221],{"categoryNo":222,"categoryName":223,"taxonomyType":160,"taxonomyTypeDesc":161},"01JBSEEDCAT000000000000010","后端与接口",[217,225,226,227,228,229,230,231,232,233,36,234,235,236,237,238,239,240,241,24],"Animation","3D","processing","Audio","physics","model","actions","webgpu","effects","api","create","3d scene","shaders","post-processing","vr","add","integrations",{"skillNo":243,"name":244,"nameZh":6,"description":245,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":246,"categories":247,"keywords":248,"publishedAt":39},"01M71T5W9JNWPGRJX943MMRC20","sequential-thinking","Apply step-by-step analysis for complex problems with revision capability. Use for multi-step reasoning, hypothesis verification, adaptive planning, problem decomposition, course correction.","https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Fsequential-thinking\u002FSKILL.md",[],[249,250,251,252,253,254,23,178,255,256,257,258,259,260,261,262,263,264,265],"thinking","sequential thinking","adaptive","course","problem","planning","apply","analysis","analyze","with","multi","verification","decomposition","reasoning","revision","hypothesis","capability",{"skillNo":267,"name":268,"nameZh":6,"description":269,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":270,"categories":271,"keywords":275,"publishedAt":39},"01M71T5QPEKZ5ETRQQ3HYT2KDW","research","Research technical solutions, analyze architectures, gather requirements thoroughly. Use for technology evaluation, best practices research, solution design, scalability\u002Fsecurity\u002Fmaintainability analysis.","https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Fresearch\u002FSKILL.md",[272],{"categoryNo":273,"categoryName":274,"taxonomyType":160,"taxonomyTypeDesc":161},"01JBSEEDCAT000000000000021","资料检索与研究",[268,276,23,277,203,278,279,178,280,281,256,282,257,283,284,285,286,170],"architectures","gather","technology","technical","best practices","requirements","scalability","solutions","solution","maintainability","Evaluation",{"skillNo":288,"name":289,"nameZh":6,"description":290,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":291,"categories":292,"keywords":295,"publishedAt":39},"01M71T4X4BBB8ZQCQK5ZHZ81AM","plan","Plan implementations, design architectures, create technical roadmaps with detailed phases. Use for feature planning, system design, solution architecture, implementation strategy, phase documentation.","https:\u002F\u002Fgithub.com\u002Fmantrandev\u002Fmydotbot\u002Fblob\u002Fmain\u002Fai\u002Fweb\u002Fplan\u002FSKILL.md",[293,294],{"categoryNo":189,"categoryName":190,"taxonomyType":160,"taxonomyTypeDesc":161},{"categoryNo":192,"categoryName":193,"taxonomyType":194,"taxonomyTypeDesc":195},[289,296,203,297,298,299,300,235,284,301,302,276,24,254,23,303,304,305,306,307],"system design","team","architecture","phase","documentation","phases","red-team","system","feature planning","archive","implementation strategy","strategy"]