[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71P46E8VF5P1S30SGCGFAVC":3,"skill-same:01M71P46E8VF5P1S30SGCGFAVC":90},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":15,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":49,"commitSha":50,"skillDirectory":51,"forksCount":13,"repositoryHtmlUrl":52,"repositoryHomepageUrl":6,"ownerHtmlUrl":53,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":54,"install":55,"resources":68},"01M71P46E8VF5P1S30SGCGFAVC","netlify-config",null,"Reference for netlify.toml configuration. Use when configuring build settings, redirects, rewrites, headers, deploy contexts, environment variables, or any site-level configuration. Covers the complete netlify.toml syntax including redirects with splats\u002Fconditions, headers, deploy contexts, functions config, and edge functions config.","Thamielis\u002F.agents","Thamielis","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F52717133?v=4","01M71NG040Z4RAKTDW6JVQTZA0","01M71NG04N9WFE1H3RH0BF6VDY",0,"Apache-2.0","https:\u002F\u002Fgithub.com\u002FThamielis\u002F.agents\u002Fblob\u002Fmain\u002Fplugins\u002Fnetlify\u002Fskills\u002Fnetlify-config\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002FThamielis\u002F.agents\u002Fblob\u002Fmain\u002Fplugins\u002Fnetlify\u002Fskills\u002Fnetlify-config\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"netlify","config","netlify config","reference","edge functions","site","syntax","headers","settings","build","with","functions","Variables","when","use","edge","toml","complete","environment","for","2026-11-10 10:56:23",false,"---\nname: netlify-config\ndescription: Reference for netlify.toml configuration. Use when configuring build settings, redirects, rewrites, headers, deploy contexts, environment variables, or any site-level configuration. Covers the complete netlify.toml syntax including redirects with splats\u002Fconditions, headers, deploy contexts, functions config, and edge functions config.\n---\n\n# Netlify Configuration (netlify.toml)\n\nPlace `netlify.toml` at the repository root (or at the base directory for monorepos).\n\n## Build Settings\n\n```toml\n[build]\n  base = \"project\u002F\"          # Base directory (default: root)\n  command = \"npm run build\"  # Build command\n  publish = \"dist\u002F\"          # Output directory\n```\n\n## Redirects\n\n```toml\n# Basic redirect\n[[redirects]]\nfrom = \"\u002Fold\"\nto = \"\u002Fnew\"\nstatus = 301              # 301 (default), 302, 200 (rewrite), 404\n\n# SPA catch-all\n[[redirects]]\nfrom = \"\u002F*\"\nto = \"\u002Findex.html\"\nstatus = 200\n\n# Splat (wildcard)\n[[redirects]]\nfrom = \"\u002Fblog\u002F*\"\nto = \"\u002Fnews\u002F:splat\"\n\n# Path parameters\n[[redirects]]\nfrom = \"\u002Fusers\u002F:id\"\nto = \"\u002Fapi\u002Fusers\u002F:id\"\nstatus = 200\n\n# Force (override existing files)\n[[redirects]]\nfrom = \"\u002Fapp\u002F*\"\nto = \"\u002Findex.html\"\nstatus = 200\nforce = true\n\n# Proxy to external service\n[[redirects]]\nfrom = \"\u002Fapi\u002F*\"\nto = \"https:\u002F\u002Fapi.example.com\u002F:splat\"\nstatus = 200\n[redirects.headers]\n  X-Custom = \"value\"\n\n# Country\u002Flanguage conditions\n[[redirects]]\nfrom = \"\u002F*\"\nto = \"\u002Ffr\u002F:splat\"\nstatus = 200\nconditions = { Country = [\"FR\"], Language = [\"fr\"] }\n```\n\n**Rule order matters** — Netlify processes the first matching rule. Place specific rules before general ones.\n\n## Headers\n\n```toml\n[[headers]]\nfor = \"\u002F*\"\n[headers.values]\n  X-Frame-Options = \"DENY\"\n  X-Content-Type-Options = \"nosniff\"\n\n[[headers]]\nfor = \"\u002Fassets\u002F*\"\n[headers.values]\n  Cache-Control = \"public, max-age=31536000, immutable\"\n```\n\nHeaders apply only to files served from Netlify's CDN (not to function or edge function responses — set those in code).\n\n## Deploy Contexts\n\nOverride settings per deploy context:\n\n```toml\n[context.production]\ncommand = \"npm run build\"\nenvironment = { NODE_ENV = \"production\" }\n\n[context.deploy-preview]\ncommand = \"npm run build:preview\"\n\n[context.branch-deploy]\ncommand = \"npm run build:staging\"\n\n[context.dev]\nenvironment = { NODE_ENV = \"development\" }\n\n# Specific branch\n[context.\"staging\"]\ncommand = \"npm run build:staging\"\n```\n\n## Environment Variables\n\n```toml\n[build.environment]\nNODE_VERSION = \"20\"\n\n[context.production.environment]\nAPI_URL = \"https:\u002F\u002Fapi.prod.com\"\n\n[context.deploy-preview.environment]\nAPI_URL = \"https:\u002F\u002Fapi.staging.com\"\n```\n\n**Do not put secrets in netlify.toml** (it's committed to source control). Use the Netlify UI or CLI for sensitive values. See the **netlify-cli-and-deploy** skill for CLI environment variable management.\n\n## Functions Configuration\n\n```toml\n[functions]\ndirectory = \"netlify\u002Ffunctions\"   # Default\nnode_bundler = \"esbuild\"\n\n# Scheduled function\n[functions.\"cleanup\"]\nschedule = \"@daily\"\n```\n\n## Edge Functions Configuration\n\n```toml\n[[edge_functions]]\npath = \"\u002Fadmin\"\nfunction = \"auth\"\n\n# Import map for Deno URL imports\n[functions]\ndeno_import_map = \".\u002Fimport_map.json\"\n```\n\n## Dev Server\n\n```toml\n[dev]\ncommand = \"npm start\"       # Dev server command\nport = 8888                 # Netlify Dev port\ntargetPort = 3000           # Your app's dev server port\nframework = \"#auto\"         # \"#auto\", \"#static\", \"#custom\"\n```\n\n## Plugins\n\n```toml\n[[plugins]]\npackage = \"@netlify\u002Fplugin-lighthouse\"\n[plugins.inputs]\n  audits = [\"performance\", \"accessibility\"]\n```\n\n## Image CDN\n\n```toml\n[images]\nremote_images = [\"https:\u002F\u002Fexample\\\\.com\u002F.*\"]\n```\n\nSee the **netlify-image-cdn** skill for full Image CDN usage.\n","# Netlify Configuration (netlify.toml)\n\nPlace `netlify.toml` at the repository root (or at the base directory for monorepos).\n\n## Build Settings\n\n```toml\n[build]\n  base = \"project\u002F\"          # Base directory (default: root)\n  command = \"npm run build\"  # Build command\n  publish = \"dist\u002F\"          # Output directory\n```\n\n## Redirects\n\n```toml\n# Basic redirect\n[[redirects]]\nfrom = \"\u002Fold\"\nto = \"\u002Fnew\"\nstatus = 301              # 301 (default), 302, 200 (rewrite), 404\n\n# SPA catch-all\n[[redirects]]\nfrom = \"\u002F*\"\nto = \"\u002Findex.html\"\nstatus = 200\n\n# Splat (wildcard)\n[[redirects]]\nfrom = \"\u002Fblog\u002F*\"\nto = \"\u002Fnews\u002F:splat\"\n\n# Path parameters\n[[redirects]]\nfrom = \"\u002Fusers\u002F:id\"\nto = \"\u002Fapi\u002Fusers\u002F:id\"\nstatus = 200\n\n# Force (override existing files)\n[[redirects]]\nfrom = \"\u002Fapp\u002F*\"\nto = \"\u002Findex.html\"\nstatus = 200\nforce = true\n\n# Proxy to external service\n[[redirects]]\nfrom = \"\u002Fapi\u002F*\"\nto = \"https:\u002F\u002Fapi.example.com\u002F:splat\"\nstatus = 200\n[redirects.headers]\n  X-Custom = \"value\"\n\n# Country\u002Flanguage conditions\n[[redirects]]\nfrom = \"\u002F*\"\nto = \"\u002Ffr\u002F:splat\"\nstatus = 200\nconditions = { Country = [\"FR\"], Language = [\"fr\"] }\n```\n\n**Rule order matters** — Netlify processes the first matching rule. Place specific rules before general ones.\n\n## Headers\n\n```toml\n[[headers]]\nfor = \"\u002F*\"\n[headers.values]\n  X-Frame-Options = \"DENY\"\n  X-Content-Type-Options = \"nosniff\"\n\n[[headers]]\nfor = \"\u002Fassets\u002F*\"\n[headers.values]\n  Cache-Control = \"public, max-age=31536000, immutable\"\n```\n\nHeaders apply only to files served from Netlify's CDN (not to function or edge function responses — set those in code).\n\n## Deploy Contexts\n\nOverride settings per deploy context:\n\n```toml\n[context.production]\ncommand = \"npm run build\"\nenvironment = { NODE_ENV = \"production\" }\n\n[context.deploy-preview]\ncommand = \"npm run build:preview\"\n\n[context.branch-deploy]\ncommand = \"npm run build:staging\"\n\n[context.dev]\nenvironment = { NODE_ENV = \"development\" }\n\n# Specific branch\n[context.\"staging\"]\ncommand = \"npm run build:staging\"\n```\n\n## Environment Variables\n\n```toml\n[build.environment]\nNODE_VERSION = \"20\"\n\n[context.production.environment]\nAPI_URL = \"https:\u002F\u002Fapi.prod.com\"\n\n[context.deploy-preview.environment]\nAPI_URL = \"https:\u002F\u002Fapi.staging.com\"\n```\n\n**Do not put secrets in netlify.toml** (it's committed to source control). Use the Netlify UI or CLI for sensitive values. See the **netlify-cli-and-deploy** skill for CLI environment variable management.\n\n## Functions Configuration\n\n```toml\n[functions]\ndirectory = \"netlify\u002Ffunctions\"   # Default\nnode_bundler = \"esbuild\"\n\n# Scheduled function\n[functions.\"cleanup\"]\nschedule = \"@daily\"\n```\n\n## Edge Functions Configuration\n\n```toml\n[[edge_functions]]\npath = \"\u002Fadmin\"\nfunction = \"auth\"\n\n# Import map for Deno URL imports\n[functions]\ndeno_import_map = \".\u002Fimport_map.json\"\n```\n\n## Dev Server\n\n```toml\n[dev]\ncommand = \"npm start\"       # Dev server command\nport = 8888                 # Netlify Dev port\ntargetPort = 3000           # Your app's dev server port\nframework = \"#auto\"         # \"#auto\", \"#static\", \"#custom\"\n```\n\n## Plugins\n\n```toml\n[[plugins]]\npackage = \"@netlify\u002Fplugin-lighthouse\"\n[plugins.inputs]\n  audits = [\"performance\", \"accessibility\"]\n```\n\n## Image CDN\n\n```toml\n[images]\nremote_images = [\"https:\u002F\u002Fexample\\\\.com\u002F.*\"]\n```\n\nSee the **netlify-image-cdn** skill for full Image CDN usage.\n",{"name":5,"description":7},"main","dd673a28ba66191245f0e384c525b1dcff1c427a","plugins\u002Fnetlify\u002Fskills\u002Fnetlify-config","https:\u002F\u002Fgithub.com\u002FThamielis\u002F.agents","https:\u002F\u002Fgithub.com\u002FThamielis","2026-06-08 04:03:12",{"source":8,"skillName":5,"commands":56,"prompt":66,"zipAvailable":67},[57,60,63],{"tool":58,"command":59},"npx","npx skills add Thamielis\u002F.agents --skill netlify-config",{"tool":61,"command":62},"bunx","bunx skills add Thamielis\u002F.agents --skill netlify-config",{"tool":64,"command":65},"pnpm","pnpm dlx skills add Thamielis\u002F.agents --skill netlify-config","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FThamielis\u002F.agents\u002Fblob\u002Fmain\u002Fplugins\u002Fnetlify\u002Fskills\u002Fnetlify-config\u002FSKILL.md",true,[69,75,81,85],{"path":70,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":73,"sourceHtmlUrl":74},"agents\u002Fopenai.yaml","REFERENCE","参考文档",332,"https:\u002F\u002Fgithub.com\u002FThamielis\u002F.agents\u002Fblob\u002Fmain\u002Fplugins\u002Fnetlify\u002Fskills\u002Fnetlify-config\u002Fagents\u002Fopenai.yaml",{"path":76,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":79,"sourceHtmlUrl":80},"assets\u002Fnetlify-small.svg","ASSET","资产文件",1291,"https:\u002F\u002Fgithub.com\u002FThamielis\u002F.agents\u002Fblob\u002Fmain\u002Fplugins\u002Fnetlify\u002Fskills\u002Fnetlify-config\u002Fassets\u002Fnetlify-small.svg",{"path":82,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":83,"sourceHtmlUrl":84},"assets\u002Fnetlify.png",2686,"https:\u002F\u002Fgithub.com\u002FThamielis\u002F.agents\u002Fblob\u002Fmain\u002Fplugins\u002Fnetlify\u002Fskills\u002Fnetlify-config\u002Fassets\u002Fnetlify.png",{"path":86,"resourceType":87,"resourceTypeDesc":88,"sizeBytes":89,"sourceHtmlUrl":15},"LICENSE.txt","LICENSE","许可证",10776,[91,121,146,178,209,234],{"skillNo":92,"name":93,"nameZh":6,"description":94,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":95,"sourceHtmlUrl":96,"categories":97,"keywords":104,"publishedAt":120},"01M71QFD7835D0JG8MS43NRRVE","webapp-testing","Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.","https:\u002F\u002Fgithub.com\u002FThamielis\u002F.agents\u002Fblob\u002Fmain\u002Fskills\u002Fwebapp-testing\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002FThamielis\u002F.agents\u002Fblob\u002Fmain\u002Fskills\u002Fwebapp-testing\u002FSKILL.md",[98,101],{"categoryNo":99,"categoryName":100,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":102,"categoryName":103,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",[105,106,107,108,109,110,111,112,113,114,43,115,116,34,117,118,119],"webapp","testing","webapp testing","local","frontend","debugging","logs","browser","ui","screenshots","applications","toolkit","playwright","web","behavior","2026-11-10 13:02:02",{"skillNo":122,"name":123,"nameZh":6,"description":124,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":125,"sourceHtmlUrl":126,"categories":127,"keywords":129,"publishedAt":120},"01M71QF1RVYQPZ2HPHXYWBC27K","web-artifacts-builder","Suite of tools for creating elaborate, multi-component Codex.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn\u002Fui). Use for complex artifacts requiring state management, routing, or shadcn\u002Fui components - not for simple single-file HTML\u002FJSX artifacts.","https:\u002F\u002Fgithub.com\u002FThamielis\u002F.agents\u002Fblob\u002Fmain\u002Fskills\u002Fweb-artifacts-builder\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002FThamielis\u002F.agents\u002Fblob\u002Fmain\u002Fskills\u002Fweb-artifacts-builder\u002FSKILL.md",[128],{"categoryNo":102,"categoryName":103,"taxonomyType":21,"taxonomyTypeDesc":22},[130,131,132,118,133,134,135,43,136,137,109,138,38,139,140,141,142,143,144,145],"builder","artifacts builder","artifacts","web artifacts builder","single-file","css","Tailwind","ui components","single","file","components","react","multi","state","routing","state management",{"skillNo":147,"name":148,"nameZh":6,"description":149,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":150,"licenseFileUrl":6,"sourceHtmlUrl":151,"categories":152,"keywords":159,"publishedAt":120},"01M71QEMXGG7MTTMSRVE3YFCXC","visual-explainer","Generate beautiful, self-contained HTML pages that visually explain systems, code changes, plans, and data. Use when the user asks for a diagram, architecture overview, diff review, plan review, project recap, comparison table, or any visual explanation of technical concepts. Also use proactively when you are about to render a complex ASCII table (4+ rows or 3+ columns) — present it as a styled HTML page instead.","MIT","https:\u002F\u002Fgithub.com\u002FThamielis\u002F.agents\u002Fblob\u002Fmain\u002Fskills\u002Fvisual-explainer\u002FSKILL.md",[153,154],{"categoryNo":102,"categoryName":103,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":155,"categoryName":156,"taxonomyType":157,"taxonomyTypeDesc":158},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,43,175,176,177,38],"visual","visual explainer","explainer","project","files","image","you","architecture","plan","generate","present","concepts","table","as","view","ascii table","ascii","surf",{"skillNo":179,"name":180,"nameZh":6,"description":181,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":150,"licenseFileUrl":6,"sourceHtmlUrl":182,"categories":183,"keywords":190,"publishedAt":120},"01M71QDJVMVM82514TRK7VHXC5","transloadit-media-processing","Process media files (video, audio, images, documents) using Transloadit. Use when asked to encode video to HLS\u002FMP4, generate thumbnails, resize or watermark images, extract audio, concatenate clips, add subtitles, OCR documents, or run any media processing pipeline. Covers 86+ processing robots for file transformation at scale.","https:\u002F\u002Fgithub.com\u002FThamielis\u002F.agents\u002Fblob\u002Fmain\u002Fskills\u002Ftransloadit-media-processing\u002FSKILL.md",[184,187],{"categoryNo":185,"categoryName":186,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":188,"categoryName":189,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[191,192,193,194,195,196,197,198,199,200,164,201,202,203,37,204,205,206,207,208],"Media","processing","transloadit media processing","media processing","transloadit","images","Video","ocr","Audio","pipeline","MCP","free","documents","mcp server","thumbnails","server","mcp-server","cli",{"skillNo":210,"name":211,"nameZh":6,"description":212,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":213,"sourceHtmlUrl":214,"categories":215,"keywords":219,"publishedAt":120},"01M71QDEJ4M9TP6VZRNK3J9NKX","theme-factory","Toolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc. There are 10 pre-set themes with colors\u002Ffonts that you can apply to any artifact that has been creating, or can generate a new theme on-the-fly.","https:\u002F\u002Fgithub.com\u002FThamielis\u002F.agents\u002Fblob\u002Fmain\u002Fskills\u002Ftheme-factory\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002FThamielis\u002F.agents\u002Fblob\u002Fmain\u002Fskills\u002Ftheme-factory\u002FSKILL.md",[216],{"categoryNo":217,"categoryName":218,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",[220,221,222,223,224,43,225,226,227,228,166,132,229,116,230,231,34,232,169,233],"theme","theme factory","factory","SET","slides","landing","pages","new","themes","apply","can","fonts","artifact","fly",{"skillNo":235,"name":236,"nameZh":6,"description":237,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":150,"licenseFileUrl":6,"sourceHtmlUrl":238,"categories":239,"keywords":241,"publishedAt":120},"01M71QD9QXM9M9RWQX40E981D4","terraform-azurerm-set-diff-analyzer","Analyze Terraform plan JSON output for AzureRM Provider to distinguish between false-positive diffs (order-only changes in Set-type attributes) and actual resource changes. Use when reviewing terraform plan output for Azure resources like Application Gateway, Load Balancer, Firewall, Front Door, NSG, and other resources with Set-type attributes that cause spurious diffs due to internal ordering changes.","https:\u002F\u002Fgithub.com\u002FThamielis\u002F.agents\u002Fblob\u002Fmain\u002Fskills\u002Fterraform-azurerm-set-diff-analyzer\u002FSKILL.md",[240],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[223,242,243,244,245,246,247,248,249,43,250,251,252,253,254,255,256,257,38,258],"diff","terraform azurerm set diff analyzer","analyzer","terraform","gateway","firewall","resources","attributes","provider","resource changes","balancer","front","azure","diffs","load balancer","only","load"]