sparkecoder 0.1.78 → 0.1.80
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent/index.d.ts +2 -2
- package/dist/agent/index.js +19 -3
- package/dist/agent/index.js.map +1 -1
- package/dist/cli.js +73 -15
- package/dist/cli.js.map +1 -1
- package/dist/db/index.d.ts +2 -2
- package/dist/{index-DT1l57s0.d.ts → index-OhuTM4a0.d.ts} +6 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.js +71 -14
- package/dist/index.js.map +1 -1
- package/dist/{schema-XcP0dedO.d.ts → schema-CohdIL13.d.ts} +1 -0
- package/dist/server/index.js +71 -14
- package/dist/server/index.js.map +1 -1
- package/dist/tools/index.js +2 -1
- package/dist/tools/index.js.map +1 -1
- package/package.json +1 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/standalone/web/.next/BUILD_ID +1 -1
- package/web/.next/standalone/web/.next/build-manifest.json +2 -2
- package/web/.next/standalone/web/.next/prerender-manifest.json +3 -3
- package/web/.next/standalone/web/.next/server/app/_global-error.html +2 -2
- package/web/.next/standalone/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_not-found.html +1 -1
- package/web/.next/standalone/web/.next/server/app/_not-found.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/installation.html +2 -2
- package/web/.next/standalone/web/.next/server/app/docs/installation.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/installation.segments/_full.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/installation.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/installation.segments/_index.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/installation.segments/_tree.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/installation.segments/docs/installation/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/installation.segments/docs/installation.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/installation.segments/docs.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/skills.html +2 -2
- package/web/.next/standalone/web/.next/server/app/docs/skills.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/skills.segments/_full.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/skills.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/skills.segments/_index.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/skills.segments/_tree.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/skills.segments/docs/skills/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/skills.segments/docs/skills.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/skills.segments/docs.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/tools.html +2 -2
- package/web/.next/standalone/web/.next/server/app/docs/tools.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/tools.segments/_full.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/tools.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/tools.segments/_index.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/tools.segments/_tree.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/tools.segments/docs/tools/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/tools.segments/docs/tools.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/tools.segments/docs.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs.html +2 -2
- package/web/.next/standalone/web/.next/server/app/docs.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs.segments/_full.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs.segments/_index.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs.segments/_tree.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs.segments/docs.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/index.html +1 -1
- package/web/.next/standalone/web/.next/server/app/index.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/index.segments/!KG1haW4p/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/index.segments/!KG1haW4p.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/index.segments/_full.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/index.segments/_index.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/pages/404.html +1 -1
- package/web/.next/standalone/web/.next/server/pages/500.html +2 -2
- package/web/.next/standalone/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/standalone/web/.next/server/server-reference-manifest.json +1 -1
- package/web/.next/standalone/web/package-lock.json +3 -3
- package/web/.next/standalone/web/src/lib/api.ts +1 -0
- /package/web/.next/standalone/web/.next/static/{q5xKLVzzjdkOykOwVu4eK → 439i-2Qg2oTm0bHSvJXp-}/_buildManifest.js +0 -0
- /package/web/.next/standalone/web/.next/static/{q5xKLVzzjdkOykOwVu4eK → 439i-2Qg2oTm0bHSvJXp-}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/standalone/web/.next/static/{q5xKLVzzjdkOykOwVu4eK → 439i-2Qg2oTm0bHSvJXp-}/_ssgManifest.js +0 -0
- /package/web/.next/standalone/web/.next/static/static/{q5xKLVzzjdkOykOwVu4eK → 439i-2Qg2oTm0bHSvJXp-}/_buildManifest.js +0 -0
- /package/web/.next/standalone/web/.next/static/static/{q5xKLVzzjdkOykOwVu4eK → 439i-2Qg2oTm0bHSvJXp-}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/standalone/web/.next/static/static/{q5xKLVzzjdkOykOwVu4eK → 439i-2Qg2oTm0bHSvJXp-}/_ssgManifest.js +0 -0
- /package/web/.next/static/{q5xKLVzzjdkOykOwVu4eK → 439i-2Qg2oTm0bHSvJXp-}/_buildManifest.js +0 -0
- /package/web/.next/static/{q5xKLVzzjdkOykOwVu4eK → 439i-2Qg2oTm0bHSvJXp-}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{q5xKLVzzjdkOykOwVu4eK → 439i-2Qg2oTm0bHSvJXp-}/_ssgManifest.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!DOCTYPE html><!--
|
|
1
|
+
<!DOCTYPE html><!--439i_2Qg2oTm0bHSvJXp_--><html lang="en" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=5"/><link rel="stylesheet" href="/_next/static/chunks/2473c16c0c2f6b5f.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/chunks/41a5c049931b2c77.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/651e187cc15d66de.js"/><script src="/_next/static/chunks/b9ad1584d4e11d12.js" async=""></script><script src="/_next/static/chunks/a14243261b055626.js" async=""></script><script src="/_next/static/chunks/186e0c1b3ff43c9c.js" async=""></script><script src="/_next/static/chunks/862ced58ce21a270.js" async=""></script><script src="/_next/static/chunks/turbopack-597558bb7b6982f6.js" async=""></script><script src="/_next/static/chunks/b31b0765abe0c427.js" async=""></script><script src="/_next/static/chunks/9b5512fb633ef95d.js" async=""></script><script src="/_next/static/chunks/0f1cf11540868e42.js" async=""></script><script src="/_next/static/chunks/0fda34e553582102.js" async=""></script><meta name="next-size-adjust" content=""/><meta name="theme-color" media="(prefers-color-scheme: light)" content="#ffffff"/><meta name="theme-color" media="(prefers-color-scheme: dark)" content="#0a0a0a"/><title>SparkeCoder - AI-Powered Coding Agent</title><meta name="description" content="SparkeCoder is your AI-powered coding assistant. Build, debug, and ship code faster with intelligent automation and natural language programming."/><meta name="author" content="SparkeCoder Team"/><link rel="manifest" href="/manifest.json"/><meta name="keywords" content="AI coding assistant,code automation,AI programming,developer tools,coding agent,SparkeCoder,AI pair programming"/><meta name="creator" content="SparkeCoder"/><meta name="publisher" content="SparkeCoder"/><meta name="robots" content="index, follow"/><meta name="googlebot" content="index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"/><meta name="category" content="technology"/><meta name="format-detection" content="telephone=no"/><meta name="mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="SparkeCoder"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/><meta property="og:title" content="SparkeCoder - AI-Powered Coding Agent"/><meta property="og:description" content="Build, debug, and ship code faster with intelligent AI automation and natural language programming."/><meta property="og:site_name" content="SparkeCoder"/><meta property="og:locale" content="en_US"/><meta property="og:image" content="http://localhost:3001/opengraph-image.png?opengraph-image.ce342317.png"/><meta property="og:image:width" content="512"/><meta property="og:image:height" content="512"/><meta property="og:image:type" content="image/png"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="SparkeCoder - AI-Powered Coding Agent"/><meta name="twitter:description" content="Build, debug, and ship code faster with intelligent AI automation and natural language programming."/><meta name="twitter:image" content="http://localhost:3001/twitter-image.png?twitter-image.ce342317.png"/><meta name="twitter:image:width" content="512"/><meta name="twitter:image:height" content="512"/><meta name="twitter:image:type" content="image/png"/><link rel="icon" href="/favicon.ico?favicon.e3cbed1b.ico" sizes="256x256" type="image/x-icon"/><link rel="icon" href="/icon.png?icon.fdefec0f.png" sizes="32x32" type="image/png"/><link rel="apple-touch-icon" href="/apple-icon.png?apple-icon.d6d14cbd.png" sizes="180x180" type="image/png"/><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable antialiased"><div hidden=""><!--$--><!--/$--></div><div class="min-h-screen bg-background"><header class="sticky top-0 z-50 border-b border-border bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60"><div class="container flex h-14 items-center px-4"><a class="flex items-center space-x-2" href="/"><span class="text-xl">🐶</span><span class="font-bold">SparkECoder</span></a><nav class="ml-6 flex items-center space-x-4 text-sm"><a class="text-muted-foreground hover:text-foreground transition-colors" href="/docs">Docs</a><a class="text-muted-foreground hover:text-foreground transition-colors" href="/docs/skills">Skills</a></nav></div></header><div class="container flex gap-8 px-4 py-8"><aside class="hidden md:block w-64 shrink-0"><nav class="sticky top-20 space-y-1"><h4 class="font-semibold mb-2 text-sm">Getting Started</h4><a class="block py-1.5 px-2 text-sm text-muted-foreground hover:text-foreground hover:bg-muted rounded-md transition-colors" href="/docs">Introduction</a><a class="block py-1.5 px-2 text-sm text-muted-foreground hover:text-foreground hover:bg-muted rounded-md transition-colors" href="/docs/installation">Installation</a><h4 class="font-semibold mb-2 mt-6 text-sm">Features</h4><a class="block py-1.5 px-2 text-sm text-muted-foreground hover:text-foreground hover:bg-muted rounded-md transition-colors" href="/docs/skills">Agent Skills</a><a class="block py-1.5 px-2 text-sm text-muted-foreground hover:text-foreground hover:bg-muted rounded-md transition-colors" href="/docs/tools">Tools</a></nav></aside><main class="flex-1 min-w-0 max-w-3xl"><h1 class="text-4xl font-bold mt-8 mb-4 text-foreground">Agent Skills</h1>
|
|
2
2
|
<p class="my-4 text-muted-foreground leading-7">Agent Skills are modular capabilities that extend SparkECoder's functionality. Each skill packages instructions, best practices, and domain-specific knowledge that the agent uses automatically when relevant.</p>
|
|
3
3
|
<h2 class="text-3xl font-semibold mt-8 mb-3 text-foreground border-b border-border pb-2">Why Use Skills?</h2>
|
|
4
4
|
<p class="my-4 text-muted-foreground leading-7">Skills are reusable, filesystem-based resources that provide the agent with specialized expertise:</p>
|
|
@@ -265,4 +265,4 @@ git commit -m "Add team coding standards skill"
|
|
|
265
265
|
| <code class="bg-muted px-1.5 py-0.5 rounded text-sm font-mono">.cursor/rules/</code> | Parse frontmatter | <code class="bg-muted px-1.5 py-0.5 rounded text-sm font-mono">alwaysApply</code> field |
|
|
266
266
|
| <code class="bg-muted px-1.5 py-0.5 rounded text-sm font-mono">.claude/skills/</code> | On-demand | <code class="bg-muted px-1.5 py-0.5 rounded text-sm font-mono">alwaysApply: true</code> |
|
|
267
267
|
| <code class="bg-muted px-1.5 py-0.5 rounded text-sm font-mono">skills/</code> | On-demand | <code class="bg-muted px-1.5 py-0.5 rounded text-sm font-mono">alwaysApply: true</code> |
|
|
268
|
-
| <code class="bg-muted px-1.5 py-0.5 rounded text-sm font-mono">AGENTS.md</code> | Always loaded | — |</p><!--$--><!--/$--></main></div></div><script src="/_next/static/chunks/651e187cc15d66de.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[760800,[\"/_next/static/chunks/b31b0765abe0c427.js\"],\"ApiInit\"]\n3:I[488287,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"default\"]\n4:I[174895,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"default\"]\n5:I[504561,[\"/_next/static/chunks/b31b0765abe0c427.js\",\"/_next/static/chunks/0fda34e553582102.js\"],\"\"]\na:I[552576,[],\"default\"]\n:HL[\"/_next/static/chunks/2473c16c0c2f6b5f.css\",\"style\"]\n:HL[\"/_next/static/chunks/41a5c049931b2c77.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"q5xKLVzzjdkOykOwVu4eK\",\"c\":[\"\",\"docs\",\"skills\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"docs\",{\"children\":[\"skills\",{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/2473c16c0c2f6b5f.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/41a5c049931b2c77.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/b31b0765abe0c427.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark\",\"children\":[\"$\",\"body\",null,{\"className\":\"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable antialiased\",\"children\":[[\"$\",\"$L2\",null,{}],[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0fda34e553582102.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"div\",null,{\"className\":\"min-h-screen bg-background\",\"children\":[[\"$\",\"header\",null,{\"className\":\"sticky top-0 z-50 border-b border-border bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60\",\"children\":[\"$\",\"div\",null,{\"className\":\"container flex h-14 items-center px-4\",\"children\":[[\"$\",\"$L5\",null,{\"href\":\"/\",\"className\":\"flex items-center space-x-2\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-xl\",\"children\":\"🐶\"}],[\"$\",\"span\",null,{\"className\":\"font-bold\",\"children\":\"SparkECoder\"}]]}],[\"$\",\"nav\",null,{\"className\":\"ml-6 flex items-center space-x-4 text-sm\",\"children\":[[\"$\",\"$L5\",null,{\"href\":\"/docs\",\"className\":\"text-muted-foreground hover:text-foreground transition-colors\",\"children\":\"Docs\"}],[\"$\",\"$L5\",null,{\"href\":\"/docs/skills\",\"className\":\"text-muted-foreground hover:text-foreground transition-colors\",\"children\":\"Skills\"}]]}]]}]}],[\"$\",\"div\",null,{\"className\":\"container flex gap-8 px-4 py-8\",\"children\":[[\"$\",\"aside\",null,{\"className\":\"hidden md:block w-64 shrink-0\",\"children\":[\"$\",\"nav\",null,{\"className\":\"sticky top-20 space-y-1\",\"children\":[[\"$\",\"h4\",null,{\"className\":\"font-semibold mb-2 text-sm\",\"children\":\"Getting Started\"}],[\"$\",\"$L5\",null,{\"href\":\"/docs\",\"className\":\"block py-1.5 px-2 text-sm text-muted-foreground hover:text-foreground hover:bg-muted rounded-md transition-colors\",\"children\":\"Introduction\"}],[\"$\",\"$L5\",null,{\"href\":\"/docs/installation\",\"className\":\"block py-1.5 px-2 text-sm text-muted-foreground hover:text-foreground hover:bg-muted rounded-md transition-colors\",\"children\":\"Installation\"}],[\"$\",\"h4\",null,{\"className\":\"font-semibold mb-2 mt-6 text-sm\",\"children\":\"Features\"}],[\"$\",\"$L5\",null,{\"href\":\"/docs/skills\",\"className\":\"block py-1.5 px-2 text-sm text-muted-foreground hover:text-foreground hover:bg-muted rounded-md transition-colors\",\"children\":\"Agent Skills\"}],[\"$\",\"$L5\",null,{\"href\":\"/docs/tools\",\"className\":\"block py-1.5 px-2 text-sm text-muted-foreground hover:text-foreground hover:bg-muted rounded-md transition-colors\",\"children\":\"Tools\"}]]}]}],[\"$\",\"main\",null,{\"className\":\"flex-1 min-w-0 max-w-3xl\",\"children\":\"$L6\"}]]}]]}]]}],{\"children\":[\"$L7\",{\"children\":[\"$L8\",{},null,false,false]},null,false,false]},null,false,false]},null,false,false],\"$L9\",false]],\"m\":\"$undefined\",\"G\":[\"$a\",[]],\"S\":true}\n"])</script><script>self.__next_f.push([1,"48:I[151858,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"ViewportBoundary\"]\n4a:I[151858,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"MetadataBoundary\"]\n4b:\"$Sreact.suspense\"\n6:[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]\n7:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n"])</script><script>self.__next_f.push([1,"8:[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"h1\",null,{\"className\":\"text-4xl font-bold mt-8 mb-4 text-foreground\",\"children\":\"Agent Skills\"}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":\"Agent Skills are modular capabilities that extend SparkECoder's functionality. Each skill packages instructions, best practices, and domain-specific knowledge that the agent uses automatically when relevant.\"}],\"\\n\",[\"$\",\"h2\",null,{\"className\":\"text-3xl font-semibold mt-8 mb-3 text-foreground border-b border-border pb-2\",\"children\":\"Why Use Skills?\"}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":\"Skills are reusable, filesystem-based resources that provide the agent with specialized expertise:\"}],\"\\n\",[\"$\",\"ul\",null,{\"className\":\"list-disc list-inside my-4 space-y-2 text-muted-foreground\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":[[\"$\",\"strong\",null,{\"className\":\"font-semibold text-foreground\",\"children\":\"Specialize the agent\"}],\" - Tailor capabilities for domain-specific tasks\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":[[\"$\",\"strong\",null,{\"className\":\"font-semibold text-foreground\",\"children\":\"Reduce repetition\"}],\" - Create once, use automatically across conversations\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":[[\"$\",\"strong\",null,{\"className\":\"font-semibold text-foreground\",\"children\":\"Compose capabilities\"}],\" - Combine skills to build complex workflows\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":[[\"$\",\"strong\",null,{\"className\":\"font-semibold text-foreground\",\"children\":\"Team consistency\"}],\" - Share skills via version control\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"h2\",null,{\"className\":\"text-3xl font-semibold mt-8 mb-3 text-foreground border-b border-border pb-2\",\"children\":\"Skill Types\"}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":\"SparkECoder supports two types of skills:\"}],\"\\n\",[\"$\",\"h3\",null,{\"className\":\"text-2xl font-semibold mt-6 mb-2 text-foreground\",\"children\":\"Always-Loaded Skills\"}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":\"These skills are automatically injected into every conversation. Use them for:\"}],\"\\n\",[\"$\",\"ul\",null,{\"className\":\"list-disc list-inside my-4 space-y-2 text-muted-foreground\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":\"Project coding standards\"}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":\"Team conventions\"}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":\"Architecture guidelines\"}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":\"Common patterns\"}],\"\\n\"]}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":[\"$\",\"strong\",null,{\"className\":\"font-semibold text-foreground\",\"children\":\"Where to put them:\"}]}],\"\\n\",[\"$\",\"ul\",null,{\"className\":\"list-disc list-inside my-4 space-y-2 text-muted-foreground\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":[[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\".sparkecoder/rules/\"}],\" - Everything in this folder is always loaded\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":[\"Any skill file with \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"alwaysApply: true\"}],\" in frontmatter\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"h3\",null,{\"className\":\"text-2xl font-semibold mt-6 mb-2 text-foreground\",\"children\":\"On-Demand Skills\"}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":[\"These skills are available but only loaded when needed. The agent can load them via the \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"load_skill\"}],\" tool, or they can be auto-loaded based on glob patterns.\"]}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":[\"$\",\"strong\",null,{\"className\":\"font-semibold text-foreground\",\"children\":\"Where to put them:\"}]}],\"\\n\",\"$Lb\",\"\\n\",\"$Lc\",\"\\n\",\"$Ld\",\"\\n\",\"$Le\",\"\\n\",\"$Lf\",\"\\n\",\"$L10\",\"\\n\",\"$L11\",\"\\n\",\"$L12\",\"\\n\",\"$L13\",\"\\n\",\"$L14\",\"\\n\",\"$L15\",\"\\n\",\"$L16\",\"\\n\",\"$L17\",\"\\n\",\"$L18\",\"\\n\",\"$L19\",\"\\n\",\"$L1a\",\"\\n\",\"$L1b\",\"\\n\",\"$L1c\",\"\\n\",\"$L1d\",\"\\n\",\"$L1e\",\"\\n\",\"$L1f\",\"\\n\",\"$L20\",\"\\n\",\"$L21\",\"\\n\",\"$L22\",\"\\n\",\"$L23\",\"\\n\",\"$L24\",\"\\n\",\"$L25\",\"\\n\",\"$L26\",\"\\n\",\"$L27\",\"\\n\",\"$L28\",\"\\n\",\"$L29\",\"\\n\",\"$L2a\",\"\\n\",\"$L2b\",\"\\n\",\"$L2c\",\"\\n\",\"$L2d\",\"\\n\",\"$L2e\",\"\\n\",\"$L2f\",\"\\n\",\"$L30\",\"\\n\",\"$L31\",\"\\n\",\"$L32\",\"\\n\",\"$L33\",\"\\n\",\"$L34\",\"\\n\",\"$L35\",\"\\n\",\"$L36\",\"\\n\",\"$L37\",\"\\n\",\"$L38\",\"\\n\",\"$L39\",\"\\n\",\"$L3a\",\"\\n\",\"$L3b\",\"\\n\",\"$L3c\",\"\\n\",\"$L3d\",\"\\n\",\"$L3e\",\"\\n\",\"$L3f\",\"\\n\",\"$L40\",\"\\n\",\"$L41\",\"\\n\",\"$L42\",\"\\n\",\"$L43\",\"\\n\",\"$L44\",\"\\n\",\"$L45\",\"\\n\",\"$L46\"],null,\"$L47\"]}]\n"])</script><script>self.__next_f.push([1,"9:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L48\",null,{\"children\":\"$L49\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L4a\",null,{\"children\":[\"$\",\"$4b\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L4c\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n"])</script><script>self.__next_f.push([1,"4d:I[151858,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"OutletBoundary\"]\nb:[\"$\",\"ul\",null,{\"className\":\"list-disc list-inside my-4 space-y-2 text-muted-foreground\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":[[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\".sparkecoder/skills/\"}],\" - Default location for on-demand skills\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":[[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"skills/\"}],\" - Legacy location (still supported)\"]}],\"\\n\"]}]\nc:[\"$\",\"h2\",null,{\"className\":\"text-3xl font-semibold mt-8 mb-3 text-foreground border-b border-border pb-2\",\"children\":\"Directory Structure\"}]\nd:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":\"SparkECoder discovers skills from multiple locations, supporting both native format and compatibility with Claude Code and Cursor:\"}]\ne:[\"$\",\"pre\",null,{\"className\":\"bg-muted rounded-lg p-4 overflow-x-auto my-4 text-sm\",\"children\":[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"your-project/\\n├── .sparkecoder/\\n│ ├── rules/ # Always loaded (priority 1)\\n│ │ ├── coding-standards.md\\n│ │ └── project-conventions.md\\n│ └── skills/ # On-demand (priority 2)\\n│ ├── api-patterns.md\\n│ └── testing-guide.md\\n├── .cursor/rules/ # Cursor rules (priority 3)\\n│ └── react-patterns.mdc\\n├── .claude/skills/ # Claude skills (priority 4)\\n│ └── debugging/\\n│ └── SKILL.md\\n├── skills/ # Legacy location (priority 5)\\n│ └── react-performance.mdc\\n└── AGENTS.md # Always loaded (Cursor convention)\\n\"}]}]\nf:[\"$\",\"h3\",null,{\"className\":\"text-2xl font-semibold mt-6 mb-2 text-foreground\",\"children\":\"Priority Order\"}]\n10:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":\"When the same skill name appears in multiple locations, the first one wins:\"}]\n11:[\"$\",\"ol\",null,{\"className\":\"list-decimal list-inside my-4 space-y-2 text-muted-foreground\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":[[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\".sparkecoder/rules/\"}],\" - Highest priority\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\".sparkecoder/skills/\"}]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\".cursor/rules/\"}]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\".claude/skills/\"}]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":[[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"skills/\"}],\" - Lowest priority\"]}],\"\\n\"]}]\n12:[\"$\",\"h2\",null,{\"className\":\"text-3xl font-semibold mt-8 mb-3 text-foreground border-b border-border pb-2\",\"children\":\"Skill File Format\"}]\n13:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":[\"Skills are Markdown files (\",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\".md\"}],\" or \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\".mdc\"}],\") with optional YAML frontmatter:\"]}]\n14:[\"$\",\"pre\",null,{\"className\":\"bg-muted rounded-lg p-4 overflow-x-auto my-4 text-sm\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-md\",\"children\":\"---\\nname: React Performance\\ndescription: Optimization patterns for React components\\nalwaysApply: false\\nglobs:\\n - \\\"*.tsx\\\"\\n - \\\"*.jsx\\\"\\n - \\\"src/components/**\\\"\\n---\\n\\n# React Performance\\n\\n## Core Principles\\n\\"])</script><script>self.__next_f.push([1,"n1. **Minimize re-renders** - Use React.memo() for expensive components\\n2. **Stable references** - Use useMemo/useCallback for objects and functions\\n3. **Colocate state** - Keep state as close as possible to where it's used\\n\\n## Common Patterns\\n\\n### Memoizing Expensive Computations\\n\\n```tsx\\nconst sortedItems = useMemo(() =\u003e {\\n return [...items].sort((a, b) =\u003e a.name.localeCompare(b.name));\\n}, [items]);\\n\"}]}]\n15:[\"$\",\"h3\",null,{\"className\":\"text-2xl font-semibold mt-6 mb-2 text-foreground\",\"children\":\"Stable Callbacks\"}]\n16:[\"$\",\"pre\",null,{\"className\":\"bg-muted rounded-lg p-4 overflow-x-auto my-4 text-sm\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-tsx\",\"children\":\"const handleClick = useCallback((id: string) =\u003e {\\n onDelete(id);\\n}, [onDelete]);\\n\"}]}]\n17:[\"$\",\"pre\",null,{\"className\":\"bg-muted rounded-lg p-4 overflow-x-auto my-4 text-sm\",\"children\":[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"\\n### Frontmatter Fields\\n\\n| Field | Type | Default | Description |\\n|-------|------|---------|-------------|\\n| `name` | string | filename | Display name for the skill |\\n| `description` | string | first paragraph | Brief description of what the skill does |\\n| `alwaysApply` | boolean | `false` | If `true`, always inject into context |\\n| `globs` | string[] | `[]` | Auto-load when working with matching files |\\n\\n## Glob-Based Auto-Loading\\n\\nSkills can specify glob patterns to automatically load when you're working with matching files:\\n\\n```yaml\\n---\\nname: TypeScript Patterns\\ndescription: TypeScript best practices\\nglobs:\\n - \\\"*.ts\\\"\\n - \\\"*.tsx\\\"\\n - \\\"!*.test.ts\\\"\\n---\\n\"}]}]\n18:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":[\"When you open or edit a \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\".ts\"}],\" or \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\".tsx\"}],\" file, this skill is automatically injected into the context.\"]}]\n19:[\"$\",\"h3\",null,{\"className\":\"text-2xl font-semibold mt-6 mb-2 text-foreground\",\"children\":\"Glob Syntax\"}]\n1a:[\"$\",\"ul\",null,{\"className\":\"list-disc list-inside my-4 space-y-2 text-muted-foreground\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":[[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"*.tsx\"}],\" - Match files with .tsx extension\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":[[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"src/components/**\"}],\" - Match all files under src/components\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":[[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"!*.test.ts\"}],\" - Exclude test files (negation)\"]}],\"\\n\"]}]\n1b:[\"$\",\"h2\",null,{\"className\":\"text-3xl font-semibold mt-8 mb-3 text-foreground border-b border-border pb-2\",\"children\":\"AGENTS.md\"}]\n1c:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":[\"SparkECoder supports the \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"AGENTS.md\"}],\" convention (used by Cursor). Place an \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"AGENTS.md\"}],\" file in your project root for simple, always-loaded instructions:\"]}]\n1d:[\"$\",\"pre\",null,{\"className\":\"bg-muted rounded-lg p-4 overflow-x-auto my-4 text-sm\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-md\",\"children\":\"# Project Instructions\\n\\n## Code Style\\n- Use TypeScript for all new files\\n- Prefer functional components in React\\n- Use snake_case for database columns\\n\\n## Architecture\\n- Follow the repository pattern\\n- Keep business logic in service layers\\n\"}]}]\n1e:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":\"No frontmatter is required - the entire file is injected as project instructions.\"}]\n1f:[\"$\",\"h2\",null,{\"className\":\"text-3xl font-semibold mt-"])</script><script>self.__next_f.push([1,"8 mb-3 text-foreground border-b border-border pb-2\",\"children\":\"Claude-Style Skills\"}]\n20:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":[\"SparkECoder also supports Claude Code's skill format. Create a folder with a \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"SKILL.md\"}],\" file inside:\"]}]\n21:[\"$\",\"pre\",null,{\"className\":\"bg-muted rounded-lg p-4 overflow-x-auto my-4 text-sm\",\"children\":[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\".claude/skills/\\n└── my-skill/\\n ├── SKILL.md # Main instructions\\n ├── examples/ # Optional examples\\n └── scripts/ # Optional scripts\\n\"}]}]\n22:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":[\"The \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"SKILL.md\"}],\" file uses the same frontmatter format:\"]}]\n23:[\"$\",\"pre\",null,{\"className\":\"bg-muted rounded-lg p-4 overflow-x-auto my-4 text-sm\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-md\",\"children\":\"---\\nname: my-skill\\ndescription: What this skill does and when to use it\\n---\\n\\n# My Skill\\n\\nInstructions here...\\n\"}]}]\n24:[\"$\",\"h2\",null,{\"className\":\"text-3xl font-semibold mt-8 mb-3 text-foreground border-b border-border pb-2\",\"children\":\"Creating Your First Skill\"}]\n25:[\"$\",\"h3\",null,{\"className\":\"text-2xl font-semibold mt-6 mb-2 text-foreground\",\"children\":\"Step 1: Create the Directory\"}]\n26:[\"$\",\"pre\",null,{\"className\":\"bg-muted rounded-lg p-4 overflow-x-auto my-4 text-sm\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-bash\",\"children\":\"mkdir -p .sparkecoder/skills\\n\"}]}]\n27:[\"$\",\"h3\",null,{\"className\":\"text-2xl font-semibold mt-6 mb-2 text-foreground\",\"children\":\"Step 2: Create a Skill File\"}]\n28:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":[\"Create \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\".sparkecoder/skills/coding-standards.md\"}],\":\"]}]\n29:[\"$\",\"pre\",null,{\"className\":\"bg-muted rounded-lg p-4 overflow-x-auto my-4 text-sm\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-md\",\"children\":\"---\\nname: Coding Standards\\ndescription: Team coding standards and conventions\\nalwaysApply: true\\n---\\n\\n# Coding Standards\\n\\n## Naming Conventions\\n\\n- **Variables**: camelCase\\n- **Constants**: SCREAMING_SNAKE_CASE\\n- **Classes**: PascalCase\\n- **Files**: kebab-case\\n\\n## Code Organization\\n\\n- Keep functions under 50 lines\\n- One component per file\\n- Group imports: external, internal, relative\\n\\n## Error Handling\\n\\n- Always use try/catch for async operations\\n- Log errors with context\\n- Provide user-friendly error messages\\n\"}]}]\n2a:[\"$\",\"h3\",null,{\"className\":\"text-2xl font-semibold mt-6 mb-2 text-foreground\",\"children\":\"Step 3: Test It\"}]\n2b:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":\"Start SparkECoder and ask: \\\"What are the coding standards?\\\"\"}]\n2c:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":\"The agent will reference your skill automatically.\"}]\n2d:[\"$\",\"h2\",null,{\"className\":\"text-3xl font-semibold mt-8 mb-3 text-foreground border-b border-border pb-2\",\"children\":\"Best Practices\"}]\n2e:[\"$\",\"h3\",null,{\"className\":\"text-2xl font-semibold mt-6 mb-2 text-foreground\",\"children\":\"Keep Skills Focused\"}]\n2f:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":\"Each skill should cover one topic. Instead of one massive \\\"everything\\\" skill, create:\"}]\n30:[\"$\",\"ul\",null,{\"className\":\"list-disc list-inside my-4 space-y-2 text-muted-foreground\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"coding-standards.md\"}]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"testing-guide.md\"}]}],\"\\n\",[\"$\",\"li\","])</script><script>self.__next_f.push([1,"null,{\"className\":\"leading-7\",\"children\":[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"api-patterns.md\"}]}],\"\\n\"]}]\n31:[\"$\",\"h3\",null,{\"className\":\"text-2xl font-semibold mt-6 mb-2 text-foreground\",\"children\":\"Use Descriptive Names\"}]\n32:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":[\"The \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"description\"}],\" field helps the agent decide when to use the skill:\"]}]\n33:[\"$\",\"pre\",null,{\"className\":\"bg-muted rounded-lg p-4 overflow-x-auto my-4 text-sm\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-yaml\",\"children\":\"# Good\\ndescription: React performance optimization patterns to prevent unnecessary re-renders\\n\\n# Bad\\ndescription: React stuff\\n\"}]}]\n34:[\"$\",\"h3\",null,{\"className\":\"text-2xl font-semibold mt-6 mb-2 text-foreground\",\"children\":\"Include Examples\"}]\n35:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":\"Concrete examples are more useful than abstract rules:\"}]\n36:[\"$\",\"pre\",null,{\"className\":\"bg-muted rounded-lg p-4 overflow-x-auto my-4 text-sm\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-md\",\"children\":\"### Bad\\nDon't create new objects in render\\n\\n### Good\\n❌ Bad: New object created every render\\n```tsx\\nfunction UserProfile({ user }) {\\n return \u003cCard style={{ padding: 20 }} /\u003e // New object!\\n}\\n\"}]}]\n37:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":\"✅ Good: Stable reference\"}]\n38:[\"$\",\"pre\",null,{\"className\":\"bg-muted rounded-lg p-4 overflow-x-auto my-4 text-sm\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-tsx\",\"children\":\"const cardStyle = { padding: 20 };\\nfunction UserProfile({ user }) {\\n return \u003cCard style={cardStyle} /\u003e\\n}\\n\"}]}]\n39:[\"$\",\"pre\",null,{\"className\":\"bg-muted rounded-lg p-4 overflow-x-auto my-4 text-sm\",\"children\":[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"\\n### Version Control Your Skills\\n\\nCommit skills to git so your whole team benefits:\\n\\n```bash\\ngit add .sparkecoder/\\ngit commit -m \\\"Add team coding standards skill\\\"\\n\"}]}]\n3a:[\"$\",\"h2\",null,{\"className\":\"text-3xl font-semibold mt-8 mb-3 text-foreground border-b border-border pb-2\",\"children\":\"Viewing Available Skills\"}]\n3b:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":\"In the chat, ask: \\\"What skills are available?\\\"\"}]\n3c:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":[\"Or use the \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"load_skill\"}],\" tool with \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"action: list\"}],\":\"]}]\n3d:[\"$\",\"pre\",null,{\"className\":\"bg-muted rounded-lg p-4 overflow-x-auto my-4 text-sm\",\"children\":[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"The agent will show all available skills with their descriptions.\\n\"}]}]\n3e:[\"$\",\"h2\",null,{\"className\":\"text-3xl font-semibold mt-8 mb-3 text-foreground border-b border-border pb-2\",\"children\":\"Loading a Skill\"}]\n3f:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":\"Ask the agent to load a skill:\"}]\n40:[\"$\",\"blockquote\",null,{\"className\":\"border-l-4 border-primary pl-4 my-4 italic text-muted-foreground\",\"children\":[\"\\n\",[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":\"\\\"Load the React performance skill\\\"\"}],\"\\n\"]}]\n41:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":\"Or the agent will automatically load relevant skills based on what you're working on.\"}]\n42:[\"$\",\"h2\",null,{\"className\":\"text-3xl font-semibold mt-8 mb-3 text-foreground border-b border-border pb-2\",\"children\":\"Configuration\"}]\n43:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":[\"Configure skill directories in \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\""])</script><script>self.__next_f.push([1,":\"sparkecoder.config.json\"}],\":\"]}]\n44:[\"$\",\"pre\",null,{\"className\":\"bg-muted rounded-lg p-4 overflow-x-auto my-4 text-sm\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-json\",\"children\":\"{\\n \\\"skills\\\": {\\n \\\"directory\\\": \\\"./skills\\\",\\n \\\"additionalDirectories\\\": [\\n \\\"./team-skills\\\",\\n \\\"../shared-skills\\\"\\n ]\\n }\\n}\\n\"}]}]\n45:[\"$\",\"h2\",null,{\"className\":\"text-3xl font-semibold mt-8 mb-3 text-foreground border-b border-border pb-2\",\"children\":\"Summary\"}]\n"])</script><script>self.__next_f.push([1,"46:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":[\"| Location | Default Behavior | Override |\\n|----------|------------------|----------|\\n| \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\".sparkecoder/rules/\"}],\" | Always loaded | — |\\n| \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\".sparkecoder/skills/\"}],\" | On-demand | \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"alwaysApply: true\"}],\" |\\n| \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\".cursor/rules/\"}],\" | Parse frontmatter | \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"alwaysApply\"}],\" field |\\n| \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\".claude/skills/\"}],\" | On-demand | \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"alwaysApply: true\"}],\" |\\n| \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"skills/\"}],\" | On-demand | \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"alwaysApply: true\"}],\" |\\n| \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"AGENTS.md\"}],\" | Always loaded | — |\"]}]\n"])</script><script>self.__next_f.push([1,"47:[\"$\",\"$L4d\",null,{\"children\":[\"$\",\"$4b\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@4e\"}]}]\n"])</script><script>self.__next_f.push([1,"49:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=5\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"media\":\"(prefers-color-scheme: light)\",\"content\":\"#ffffff\"}],[\"$\",\"meta\",\"3\",{\"name\":\"theme-color\",\"media\":\"(prefers-color-scheme: dark)\",\"content\":\"#0a0a0a\"}]]\n"])</script><script>self.__next_f.push([1,"4f:I[349310,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"IconMark\"]\n"])</script><script>self.__next_f.push([1,"4c:[[\"$\",\"title\",\"0\",{\"children\":\"SparkeCoder - AI-Powered Coding Agent\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"SparkeCoder is your AI-powered coding assistant. Build, debug, and ship code faster with intelligent automation and natural language programming.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"author\",\"content\":\"SparkeCoder Team\"}],[\"$\",\"link\",\"3\",{\"rel\":\"manifest\",\"href\":\"/manifest.json\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"meta\",\"4\",{\"name\":\"keywords\",\"content\":\"AI coding assistant,code automation,AI programming,developer tools,coding agent,SparkeCoder,AI pair programming\"}],[\"$\",\"meta\",\"5\",{\"name\":\"creator\",\"content\":\"SparkeCoder\"}],[\"$\",\"meta\",\"6\",{\"name\":\"publisher\",\"content\":\"SparkeCoder\"}],[\"$\",\"meta\",\"7\",{\"name\":\"robots\",\"content\":\"index, follow\"}],[\"$\",\"meta\",\"8\",{\"name\":\"googlebot\",\"content\":\"index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1\"}],[\"$\",\"meta\",\"9\",{\"name\":\"category\",\"content\":\"technology\"}],[\"$\",\"meta\",\"10\",{\"name\":\"format-detection\",\"content\":\"telephone=no\"}],[\"$\",\"meta\",\"11\",{\"name\":\"mobile-web-app-capable\",\"content\":\"yes\"}],[\"$\",\"meta\",\"12\",{\"name\":\"apple-mobile-web-app-title\",\"content\":\"SparkeCoder\"}],[\"$\",\"meta\",\"13\",{\"name\":\"apple-mobile-web-app-status-bar-style\",\"content\":\"black-translucent\"}],[\"$\",\"meta\",\"14\",{\"property\":\"og:title\",\"content\":\"SparkeCoder - AI-Powered Coding Agent\"}],[\"$\",\"meta\",\"15\",{\"property\":\"og:description\",\"content\":\"Build, debug, and ship code faster with intelligent AI automation and natural language programming.\"}],[\"$\",\"meta\",\"16\",{\"property\":\"og:site_name\",\"content\":\"SparkeCoder\"}],[\"$\",\"meta\",\"17\",{\"property\":\"og:locale\",\"content\":\"en_US\"}],[\"$\",\"meta\",\"18\",{\"property\":\"og:image\",\"content\":\"http://localhost:3001/opengraph-image.png?opengraph-image.ce342317.png\"}],[\"$\",\"meta\",\"19\",{\"property\":\"og:image:width\",\"content\":\"512\"}],[\"$\",\"meta\",\"20\",{\"property\":\"og:image:height\",\"content\":\"512\"}],[\"$\",\"meta\",\"21\",{\"property\":\"og:image:type\",\"content\":\"image/png\"}],[\"$\",\"meta\",\"22\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"23\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"24\",{\"name\":\"twitter:title\",\"content\":\"SparkeCoder - AI-Powered Coding Agent\"}],[\"$\",\"meta\",\"25\",{\"name\":\"twitter:description\",\"content\":\"Build, debug, and ship code faster with intelligent AI automation and natural language programming.\"}],[\"$\",\"meta\",\"26\",{\"name\":\"twitter:image\",\"content\":\"http://localhost:3001/twitter-image.png?twitter-image.ce342317.png\"}],[\"$\",\"meta\",\"27\",{\"name\":\"twitter:image:width\",\"content\":\"512\"}],[\"$\",\"meta\",\"28\",{\"name\":\"twitter:image:height\",\"content\":\"512\"}],[\"$\",\"meta\",\"29\",{\"name\":\"twitter:image:type\",\"content\":\"image/png\"}],[\"$\",\"link\",\"30\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.e3cbed1b.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"link\",\"31\",{\"rel\":\"icon\",\"href\":\"/icon.png?icon.fdefec0f.png\",\"sizes\":\"32x32\",\"type\":\"image/png\"}],[\"$\",\"link\",\"32\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-icon.png?apple-icon.d6d14cbd.png\",\"sizes\":\"180x180\",\"type\":\"image/png\"}],[\"$\",\"$L4f\",\"33\",{}]]\n"])</script><script>self.__next_f.push([1,"4e:null\n"])</script></body></html>
|
|
268
|
+
| <code class="bg-muted px-1.5 py-0.5 rounded text-sm font-mono">AGENTS.md</code> | Always loaded | — |</p><!--$--><!--/$--></main></div></div><script src="/_next/static/chunks/651e187cc15d66de.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[760800,[\"/_next/static/chunks/b31b0765abe0c427.js\"],\"ApiInit\"]\n3:I[488287,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"default\"]\n4:I[174895,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"default\"]\n5:I[504561,[\"/_next/static/chunks/b31b0765abe0c427.js\",\"/_next/static/chunks/0fda34e553582102.js\"],\"\"]\na:I[552576,[],\"default\"]\n:HL[\"/_next/static/chunks/2473c16c0c2f6b5f.css\",\"style\"]\n:HL[\"/_next/static/chunks/41a5c049931b2c77.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"439i-2Qg2oTm0bHSvJXp-\",\"c\":[\"\",\"docs\",\"skills\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"docs\",{\"children\":[\"skills\",{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/2473c16c0c2f6b5f.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/41a5c049931b2c77.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/b31b0765abe0c427.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark\",\"children\":[\"$\",\"body\",null,{\"className\":\"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable antialiased\",\"children\":[[\"$\",\"$L2\",null,{}],[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0fda34e553582102.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"div\",null,{\"className\":\"min-h-screen bg-background\",\"children\":[[\"$\",\"header\",null,{\"className\":\"sticky top-0 z-50 border-b border-border bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60\",\"children\":[\"$\",\"div\",null,{\"className\":\"container flex h-14 items-center px-4\",\"children\":[[\"$\",\"$L5\",null,{\"href\":\"/\",\"className\":\"flex items-center space-x-2\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-xl\",\"children\":\"🐶\"}],[\"$\",\"span\",null,{\"className\":\"font-bold\",\"children\":\"SparkECoder\"}]]}],[\"$\",\"nav\",null,{\"className\":\"ml-6 flex items-center space-x-4 text-sm\",\"children\":[[\"$\",\"$L5\",null,{\"href\":\"/docs\",\"className\":\"text-muted-foreground hover:text-foreground transition-colors\",\"children\":\"Docs\"}],[\"$\",\"$L5\",null,{\"href\":\"/docs/skills\",\"className\":\"text-muted-foreground hover:text-foreground transition-colors\",\"children\":\"Skills\"}]]}]]}]}],[\"$\",\"div\",null,{\"className\":\"container flex gap-8 px-4 py-8\",\"children\":[[\"$\",\"aside\",null,{\"className\":\"hidden md:block w-64 shrink-0\",\"children\":[\"$\",\"nav\",null,{\"className\":\"sticky top-20 space-y-1\",\"children\":[[\"$\",\"h4\",null,{\"className\":\"font-semibold mb-2 text-sm\",\"children\":\"Getting Started\"}],[\"$\",\"$L5\",null,{\"href\":\"/docs\",\"className\":\"block py-1.5 px-2 text-sm text-muted-foreground hover:text-foreground hover:bg-muted rounded-md transition-colors\",\"children\":\"Introduction\"}],[\"$\",\"$L5\",null,{\"href\":\"/docs/installation\",\"className\":\"block py-1.5 px-2 text-sm text-muted-foreground hover:text-foreground hover:bg-muted rounded-md transition-colors\",\"children\":\"Installation\"}],[\"$\",\"h4\",null,{\"className\":\"font-semibold mb-2 mt-6 text-sm\",\"children\":\"Features\"}],[\"$\",\"$L5\",null,{\"href\":\"/docs/skills\",\"className\":\"block py-1.5 px-2 text-sm text-muted-foreground hover:text-foreground hover:bg-muted rounded-md transition-colors\",\"children\":\"Agent Skills\"}],[\"$\",\"$L5\",null,{\"href\":\"/docs/tools\",\"className\":\"block py-1.5 px-2 text-sm text-muted-foreground hover:text-foreground hover:bg-muted rounded-md transition-colors\",\"children\":\"Tools\"}]]}]}],[\"$\",\"main\",null,{\"className\":\"flex-1 min-w-0 max-w-3xl\",\"children\":\"$L6\"}]]}]]}]]}],{\"children\":[\"$L7\",{\"children\":[\"$L8\",{},null,false,false]},null,false,false]},null,false,false]},null,false,false],\"$L9\",false]],\"m\":\"$undefined\",\"G\":[\"$a\",[]],\"S\":true}\n"])</script><script>self.__next_f.push([1,"48:I[151858,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"ViewportBoundary\"]\n4a:I[151858,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"MetadataBoundary\"]\n4b:\"$Sreact.suspense\"\n6:[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]\n7:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n"])</script><script>self.__next_f.push([1,"8:[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"h1\",null,{\"className\":\"text-4xl font-bold mt-8 mb-4 text-foreground\",\"children\":\"Agent Skills\"}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":\"Agent Skills are modular capabilities that extend SparkECoder's functionality. Each skill packages instructions, best practices, and domain-specific knowledge that the agent uses automatically when relevant.\"}],\"\\n\",[\"$\",\"h2\",null,{\"className\":\"text-3xl font-semibold mt-8 mb-3 text-foreground border-b border-border pb-2\",\"children\":\"Why Use Skills?\"}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":\"Skills are reusable, filesystem-based resources that provide the agent with specialized expertise:\"}],\"\\n\",[\"$\",\"ul\",null,{\"className\":\"list-disc list-inside my-4 space-y-2 text-muted-foreground\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":[[\"$\",\"strong\",null,{\"className\":\"font-semibold text-foreground\",\"children\":\"Specialize the agent\"}],\" - Tailor capabilities for domain-specific tasks\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":[[\"$\",\"strong\",null,{\"className\":\"font-semibold text-foreground\",\"children\":\"Reduce repetition\"}],\" - Create once, use automatically across conversations\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":[[\"$\",\"strong\",null,{\"className\":\"font-semibold text-foreground\",\"children\":\"Compose capabilities\"}],\" - Combine skills to build complex workflows\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":[[\"$\",\"strong\",null,{\"className\":\"font-semibold text-foreground\",\"children\":\"Team consistency\"}],\" - Share skills via version control\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"h2\",null,{\"className\":\"text-3xl font-semibold mt-8 mb-3 text-foreground border-b border-border pb-2\",\"children\":\"Skill Types\"}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":\"SparkECoder supports two types of skills:\"}],\"\\n\",[\"$\",\"h3\",null,{\"className\":\"text-2xl font-semibold mt-6 mb-2 text-foreground\",\"children\":\"Always-Loaded Skills\"}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":\"These skills are automatically injected into every conversation. Use them for:\"}],\"\\n\",[\"$\",\"ul\",null,{\"className\":\"list-disc list-inside my-4 space-y-2 text-muted-foreground\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":\"Project coding standards\"}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":\"Team conventions\"}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":\"Architecture guidelines\"}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":\"Common patterns\"}],\"\\n\"]}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":[\"$\",\"strong\",null,{\"className\":\"font-semibold text-foreground\",\"children\":\"Where to put them:\"}]}],\"\\n\",[\"$\",\"ul\",null,{\"className\":\"list-disc list-inside my-4 space-y-2 text-muted-foreground\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":[[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\".sparkecoder/rules/\"}],\" - Everything in this folder is always loaded\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":[\"Any skill file with \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"alwaysApply: true\"}],\" in frontmatter\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"h3\",null,{\"className\":\"text-2xl font-semibold mt-6 mb-2 text-foreground\",\"children\":\"On-Demand Skills\"}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":[\"These skills are available but only loaded when needed. The agent can load them via the \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"load_skill\"}],\" tool, or they can be auto-loaded based on glob patterns.\"]}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":[\"$\",\"strong\",null,{\"className\":\"font-semibold text-foreground\",\"children\":\"Where to put them:\"}]}],\"\\n\",\"$Lb\",\"\\n\",\"$Lc\",\"\\n\",\"$Ld\",\"\\n\",\"$Le\",\"\\n\",\"$Lf\",\"\\n\",\"$L10\",\"\\n\",\"$L11\",\"\\n\",\"$L12\",\"\\n\",\"$L13\",\"\\n\",\"$L14\",\"\\n\",\"$L15\",\"\\n\",\"$L16\",\"\\n\",\"$L17\",\"\\n\",\"$L18\",\"\\n\",\"$L19\",\"\\n\",\"$L1a\",\"\\n\",\"$L1b\",\"\\n\",\"$L1c\",\"\\n\",\"$L1d\",\"\\n\",\"$L1e\",\"\\n\",\"$L1f\",\"\\n\",\"$L20\",\"\\n\",\"$L21\",\"\\n\",\"$L22\",\"\\n\",\"$L23\",\"\\n\",\"$L24\",\"\\n\",\"$L25\",\"\\n\",\"$L26\",\"\\n\",\"$L27\",\"\\n\",\"$L28\",\"\\n\",\"$L29\",\"\\n\",\"$L2a\",\"\\n\",\"$L2b\",\"\\n\",\"$L2c\",\"\\n\",\"$L2d\",\"\\n\",\"$L2e\",\"\\n\",\"$L2f\",\"\\n\",\"$L30\",\"\\n\",\"$L31\",\"\\n\",\"$L32\",\"\\n\",\"$L33\",\"\\n\",\"$L34\",\"\\n\",\"$L35\",\"\\n\",\"$L36\",\"\\n\",\"$L37\",\"\\n\",\"$L38\",\"\\n\",\"$L39\",\"\\n\",\"$L3a\",\"\\n\",\"$L3b\",\"\\n\",\"$L3c\",\"\\n\",\"$L3d\",\"\\n\",\"$L3e\",\"\\n\",\"$L3f\",\"\\n\",\"$L40\",\"\\n\",\"$L41\",\"\\n\",\"$L42\",\"\\n\",\"$L43\",\"\\n\",\"$L44\",\"\\n\",\"$L45\",\"\\n\",\"$L46\"],null,\"$L47\"]}]\n"])</script><script>self.__next_f.push([1,"9:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L48\",null,{\"children\":\"$L49\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L4a\",null,{\"children\":[\"$\",\"$4b\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L4c\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n"])</script><script>self.__next_f.push([1,"4d:I[151858,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"OutletBoundary\"]\nb:[\"$\",\"ul\",null,{\"className\":\"list-disc list-inside my-4 space-y-2 text-muted-foreground\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":[[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\".sparkecoder/skills/\"}],\" - Default location for on-demand skills\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":[[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"skills/\"}],\" - Legacy location (still supported)\"]}],\"\\n\"]}]\nc:[\"$\",\"h2\",null,{\"className\":\"text-3xl font-semibold mt-8 mb-3 text-foreground border-b border-border pb-2\",\"children\":\"Directory Structure\"}]\nd:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":\"SparkECoder discovers skills from multiple locations, supporting both native format and compatibility with Claude Code and Cursor:\"}]\ne:[\"$\",\"pre\",null,{\"className\":\"bg-muted rounded-lg p-4 overflow-x-auto my-4 text-sm\",\"children\":[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"your-project/\\n├── .sparkecoder/\\n│ ├── rules/ # Always loaded (priority 1)\\n│ │ ├── coding-standards.md\\n│ │ └── project-conventions.md\\n│ └── skills/ # On-demand (priority 2)\\n│ ├── api-patterns.md\\n│ └── testing-guide.md\\n├── .cursor/rules/ # Cursor rules (priority 3)\\n│ └── react-patterns.mdc\\n├── .claude/skills/ # Claude skills (priority 4)\\n│ └── debugging/\\n│ └── SKILL.md\\n├── skills/ # Legacy location (priority 5)\\n│ └── react-performance.mdc\\n└── AGENTS.md # Always loaded (Cursor convention)\\n\"}]}]\nf:[\"$\",\"h3\",null,{\"className\":\"text-2xl font-semibold mt-6 mb-2 text-foreground\",\"children\":\"Priority Order\"}]\n10:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":\"When the same skill name appears in multiple locations, the first one wins:\"}]\n11:[\"$\",\"ol\",null,{\"className\":\"list-decimal list-inside my-4 space-y-2 text-muted-foreground\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":[[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\".sparkecoder/rules/\"}],\" - Highest priority\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\".sparkecoder/skills/\"}]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\".cursor/rules/\"}]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\".claude/skills/\"}]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":[[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"skills/\"}],\" - Lowest priority\"]}],\"\\n\"]}]\n12:[\"$\",\"h2\",null,{\"className\":\"text-3xl font-semibold mt-8 mb-3 text-foreground border-b border-border pb-2\",\"children\":\"Skill File Format\"}]\n13:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":[\"Skills are Markdown files (\",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\".md\"}],\" or \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\".mdc\"}],\") with optional YAML frontmatter:\"]}]\n14:[\"$\",\"pre\",null,{\"className\":\"bg-muted rounded-lg p-4 overflow-x-auto my-4 text-sm\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-md\",\"children\":\"---\\nname: React Performance\\ndescription: Optimization patterns for React components\\nalwaysApply: false\\nglobs:\\n - \\\"*.tsx\\\"\\n - \\\"*.jsx\\\"\\n - \\\"src/components/**\\\"\\n---\\n\\n# React Performance\\n\\n## Core Principles\\n\\"])</script><script>self.__next_f.push([1,"n1. **Minimize re-renders** - Use React.memo() for expensive components\\n2. **Stable references** - Use useMemo/useCallback for objects and functions\\n3. **Colocate state** - Keep state as close as possible to where it's used\\n\\n## Common Patterns\\n\\n### Memoizing Expensive Computations\\n\\n```tsx\\nconst sortedItems = useMemo(() =\u003e {\\n return [...items].sort((a, b) =\u003e a.name.localeCompare(b.name));\\n}, [items]);\\n\"}]}]\n15:[\"$\",\"h3\",null,{\"className\":\"text-2xl font-semibold mt-6 mb-2 text-foreground\",\"children\":\"Stable Callbacks\"}]\n16:[\"$\",\"pre\",null,{\"className\":\"bg-muted rounded-lg p-4 overflow-x-auto my-4 text-sm\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-tsx\",\"children\":\"const handleClick = useCallback((id: string) =\u003e {\\n onDelete(id);\\n}, [onDelete]);\\n\"}]}]\n17:[\"$\",\"pre\",null,{\"className\":\"bg-muted rounded-lg p-4 overflow-x-auto my-4 text-sm\",\"children\":[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"\\n### Frontmatter Fields\\n\\n| Field | Type | Default | Description |\\n|-------|------|---------|-------------|\\n| `name` | string | filename | Display name for the skill |\\n| `description` | string | first paragraph | Brief description of what the skill does |\\n| `alwaysApply` | boolean | `false` | If `true`, always inject into context |\\n| `globs` | string[] | `[]` | Auto-load when working with matching files |\\n\\n## Glob-Based Auto-Loading\\n\\nSkills can specify glob patterns to automatically load when you're working with matching files:\\n\\n```yaml\\n---\\nname: TypeScript Patterns\\ndescription: TypeScript best practices\\nglobs:\\n - \\\"*.ts\\\"\\n - \\\"*.tsx\\\"\\n - \\\"!*.test.ts\\\"\\n---\\n\"}]}]\n18:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":[\"When you open or edit a \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\".ts\"}],\" or \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\".tsx\"}],\" file, this skill is automatically injected into the context.\"]}]\n19:[\"$\",\"h3\",null,{\"className\":\"text-2xl font-semibold mt-6 mb-2 text-foreground\",\"children\":\"Glob Syntax\"}]\n1a:[\"$\",\"ul\",null,{\"className\":\"list-disc list-inside my-4 space-y-2 text-muted-foreground\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":[[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"*.tsx\"}],\" - Match files with .tsx extension\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":[[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"src/components/**\"}],\" - Match all files under src/components\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":[[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"!*.test.ts\"}],\" - Exclude test files (negation)\"]}],\"\\n\"]}]\n1b:[\"$\",\"h2\",null,{\"className\":\"text-3xl font-semibold mt-8 mb-3 text-foreground border-b border-border pb-2\",\"children\":\"AGENTS.md\"}]\n1c:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":[\"SparkECoder supports the \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"AGENTS.md\"}],\" convention (used by Cursor). Place an \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"AGENTS.md\"}],\" file in your project root for simple, always-loaded instructions:\"]}]\n1d:[\"$\",\"pre\",null,{\"className\":\"bg-muted rounded-lg p-4 overflow-x-auto my-4 text-sm\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-md\",\"children\":\"# Project Instructions\\n\\n## Code Style\\n- Use TypeScript for all new files\\n- Prefer functional components in React\\n- Use snake_case for database columns\\n\\n## Architecture\\n- Follow the repository pattern\\n- Keep business logic in service layers\\n\"}]}]\n1e:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":\"No frontmatter is required - the entire file is injected as project instructions.\"}]\n1f:[\"$\",\"h2\",null,{\"className\":\"text-3xl font-semibold mt-"])</script><script>self.__next_f.push([1,"8 mb-3 text-foreground border-b border-border pb-2\",\"children\":\"Claude-Style Skills\"}]\n20:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":[\"SparkECoder also supports Claude Code's skill format. Create a folder with a \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"SKILL.md\"}],\" file inside:\"]}]\n21:[\"$\",\"pre\",null,{\"className\":\"bg-muted rounded-lg p-4 overflow-x-auto my-4 text-sm\",\"children\":[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\".claude/skills/\\n└── my-skill/\\n ├── SKILL.md # Main instructions\\n ├── examples/ # Optional examples\\n └── scripts/ # Optional scripts\\n\"}]}]\n22:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":[\"The \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"SKILL.md\"}],\" file uses the same frontmatter format:\"]}]\n23:[\"$\",\"pre\",null,{\"className\":\"bg-muted rounded-lg p-4 overflow-x-auto my-4 text-sm\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-md\",\"children\":\"---\\nname: my-skill\\ndescription: What this skill does and when to use it\\n---\\n\\n# My Skill\\n\\nInstructions here...\\n\"}]}]\n24:[\"$\",\"h2\",null,{\"className\":\"text-3xl font-semibold mt-8 mb-3 text-foreground border-b border-border pb-2\",\"children\":\"Creating Your First Skill\"}]\n25:[\"$\",\"h3\",null,{\"className\":\"text-2xl font-semibold mt-6 mb-2 text-foreground\",\"children\":\"Step 1: Create the Directory\"}]\n26:[\"$\",\"pre\",null,{\"className\":\"bg-muted rounded-lg p-4 overflow-x-auto my-4 text-sm\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-bash\",\"children\":\"mkdir -p .sparkecoder/skills\\n\"}]}]\n27:[\"$\",\"h3\",null,{\"className\":\"text-2xl font-semibold mt-6 mb-2 text-foreground\",\"children\":\"Step 2: Create a Skill File\"}]\n28:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":[\"Create \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\".sparkecoder/skills/coding-standards.md\"}],\":\"]}]\n29:[\"$\",\"pre\",null,{\"className\":\"bg-muted rounded-lg p-4 overflow-x-auto my-4 text-sm\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-md\",\"children\":\"---\\nname: Coding Standards\\ndescription: Team coding standards and conventions\\nalwaysApply: true\\n---\\n\\n# Coding Standards\\n\\n## Naming Conventions\\n\\n- **Variables**: camelCase\\n- **Constants**: SCREAMING_SNAKE_CASE\\n- **Classes**: PascalCase\\n- **Files**: kebab-case\\n\\n## Code Organization\\n\\n- Keep functions under 50 lines\\n- One component per file\\n- Group imports: external, internal, relative\\n\\n## Error Handling\\n\\n- Always use try/catch for async operations\\n- Log errors with context\\n- Provide user-friendly error messages\\n\"}]}]\n2a:[\"$\",\"h3\",null,{\"className\":\"text-2xl font-semibold mt-6 mb-2 text-foreground\",\"children\":\"Step 3: Test It\"}]\n2b:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":\"Start SparkECoder and ask: \\\"What are the coding standards?\\\"\"}]\n2c:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":\"The agent will reference your skill automatically.\"}]\n2d:[\"$\",\"h2\",null,{\"className\":\"text-3xl font-semibold mt-8 mb-3 text-foreground border-b border-border pb-2\",\"children\":\"Best Practices\"}]\n2e:[\"$\",\"h3\",null,{\"className\":\"text-2xl font-semibold mt-6 mb-2 text-foreground\",\"children\":\"Keep Skills Focused\"}]\n2f:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":\"Each skill should cover one topic. Instead of one massive \\\"everything\\\" skill, create:\"}]\n30:[\"$\",\"ul\",null,{\"className\":\"list-disc list-inside my-4 space-y-2 text-muted-foreground\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"coding-standards.md\"}]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"leading-7\",\"children\":[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"testing-guide.md\"}]}],\"\\n\",[\"$\",\"li\","])</script><script>self.__next_f.push([1,"null,{\"className\":\"leading-7\",\"children\":[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"api-patterns.md\"}]}],\"\\n\"]}]\n31:[\"$\",\"h3\",null,{\"className\":\"text-2xl font-semibold mt-6 mb-2 text-foreground\",\"children\":\"Use Descriptive Names\"}]\n32:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":[\"The \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"description\"}],\" field helps the agent decide when to use the skill:\"]}]\n33:[\"$\",\"pre\",null,{\"className\":\"bg-muted rounded-lg p-4 overflow-x-auto my-4 text-sm\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-yaml\",\"children\":\"# Good\\ndescription: React performance optimization patterns to prevent unnecessary re-renders\\n\\n# Bad\\ndescription: React stuff\\n\"}]}]\n34:[\"$\",\"h3\",null,{\"className\":\"text-2xl font-semibold mt-6 mb-2 text-foreground\",\"children\":\"Include Examples\"}]\n35:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":\"Concrete examples are more useful than abstract rules:\"}]\n36:[\"$\",\"pre\",null,{\"className\":\"bg-muted rounded-lg p-4 overflow-x-auto my-4 text-sm\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-md\",\"children\":\"### Bad\\nDon't create new objects in render\\n\\n### Good\\n❌ Bad: New object created every render\\n```tsx\\nfunction UserProfile({ user }) {\\n return \u003cCard style={{ padding: 20 }} /\u003e // New object!\\n}\\n\"}]}]\n37:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":\"✅ Good: Stable reference\"}]\n38:[\"$\",\"pre\",null,{\"className\":\"bg-muted rounded-lg p-4 overflow-x-auto my-4 text-sm\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-tsx\",\"children\":\"const cardStyle = { padding: 20 };\\nfunction UserProfile({ user }) {\\n return \u003cCard style={cardStyle} /\u003e\\n}\\n\"}]}]\n39:[\"$\",\"pre\",null,{\"className\":\"bg-muted rounded-lg p-4 overflow-x-auto my-4 text-sm\",\"children\":[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"\\n### Version Control Your Skills\\n\\nCommit skills to git so your whole team benefits:\\n\\n```bash\\ngit add .sparkecoder/\\ngit commit -m \\\"Add team coding standards skill\\\"\\n\"}]}]\n3a:[\"$\",\"h2\",null,{\"className\":\"text-3xl font-semibold mt-8 mb-3 text-foreground border-b border-border pb-2\",\"children\":\"Viewing Available Skills\"}]\n3b:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":\"In the chat, ask: \\\"What skills are available?\\\"\"}]\n3c:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":[\"Or use the \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"load_skill\"}],\" tool with \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"action: list\"}],\":\"]}]\n3d:[\"$\",\"pre\",null,{\"className\":\"bg-muted rounded-lg p-4 overflow-x-auto my-4 text-sm\",\"children\":[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"The agent will show all available skills with their descriptions.\\n\"}]}]\n3e:[\"$\",\"h2\",null,{\"className\":\"text-3xl font-semibold mt-8 mb-3 text-foreground border-b border-border pb-2\",\"children\":\"Loading a Skill\"}]\n3f:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":\"Ask the agent to load a skill:\"}]\n40:[\"$\",\"blockquote\",null,{\"className\":\"border-l-4 border-primary pl-4 my-4 italic text-muted-foreground\",\"children\":[\"\\n\",[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":\"\\\"Load the React performance skill\\\"\"}],\"\\n\"]}]\n41:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":\"Or the agent will automatically load relevant skills based on what you're working on.\"}]\n42:[\"$\",\"h2\",null,{\"className\":\"text-3xl font-semibold mt-8 mb-3 text-foreground border-b border-border pb-2\",\"children\":\"Configuration\"}]\n43:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":[\"Configure skill directories in \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\""])</script><script>self.__next_f.push([1,":\"sparkecoder.config.json\"}],\":\"]}]\n44:[\"$\",\"pre\",null,{\"className\":\"bg-muted rounded-lg p-4 overflow-x-auto my-4 text-sm\",\"children\":[\"$\",\"code\",null,{\"className\":\"language-json\",\"children\":\"{\\n \\\"skills\\\": {\\n \\\"directory\\\": \\\"./skills\\\",\\n \\\"additionalDirectories\\\": [\\n \\\"./team-skills\\\",\\n \\\"../shared-skills\\\"\\n ]\\n }\\n}\\n\"}]}]\n45:[\"$\",\"h2\",null,{\"className\":\"text-3xl font-semibold mt-8 mb-3 text-foreground border-b border-border pb-2\",\"children\":\"Summary\"}]\n"])</script><script>self.__next_f.push([1,"46:[\"$\",\"p\",null,{\"className\":\"my-4 text-muted-foreground leading-7\",\"children\":[\"| Location | Default Behavior | Override |\\n|----------|------------------|----------|\\n| \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\".sparkecoder/rules/\"}],\" | Always loaded | — |\\n| \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\".sparkecoder/skills/\"}],\" | On-demand | \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"alwaysApply: true\"}],\" |\\n| \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\".cursor/rules/\"}],\" | Parse frontmatter | \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"alwaysApply\"}],\" field |\\n| \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\".claude/skills/\"}],\" | On-demand | \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"alwaysApply: true\"}],\" |\\n| \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"skills/\"}],\" | On-demand | \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"alwaysApply: true\"}],\" |\\n| \",[\"$\",\"code\",null,{\"className\":\"bg-muted px-1.5 py-0.5 rounded text-sm font-mono\",\"children\":\"AGENTS.md\"}],\" | Always loaded | — |\"]}]\n"])</script><script>self.__next_f.push([1,"47:[\"$\",\"$L4d\",null,{\"children\":[\"$\",\"$4b\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@4e\"}]}]\n"])</script><script>self.__next_f.push([1,"49:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=5\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"media\":\"(prefers-color-scheme: light)\",\"content\":\"#ffffff\"}],[\"$\",\"meta\",\"3\",{\"name\":\"theme-color\",\"media\":\"(prefers-color-scheme: dark)\",\"content\":\"#0a0a0a\"}]]\n"])</script><script>self.__next_f.push([1,"4f:I[349310,[\"/_next/static/chunks/9b5512fb633ef95d.js\",\"/_next/static/chunks/0f1cf11540868e42.js\"],\"IconMark\"]\n"])</script><script>self.__next_f.push([1,"4c:[[\"$\",\"title\",\"0\",{\"children\":\"SparkeCoder - AI-Powered Coding Agent\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"SparkeCoder is your AI-powered coding assistant. Build, debug, and ship code faster with intelligent automation and natural language programming.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"author\",\"content\":\"SparkeCoder Team\"}],[\"$\",\"link\",\"3\",{\"rel\":\"manifest\",\"href\":\"/manifest.json\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"meta\",\"4\",{\"name\":\"keywords\",\"content\":\"AI coding assistant,code automation,AI programming,developer tools,coding agent,SparkeCoder,AI pair programming\"}],[\"$\",\"meta\",\"5\",{\"name\":\"creator\",\"content\":\"SparkeCoder\"}],[\"$\",\"meta\",\"6\",{\"name\":\"publisher\",\"content\":\"SparkeCoder\"}],[\"$\",\"meta\",\"7\",{\"name\":\"robots\",\"content\":\"index, follow\"}],[\"$\",\"meta\",\"8\",{\"name\":\"googlebot\",\"content\":\"index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1\"}],[\"$\",\"meta\",\"9\",{\"name\":\"category\",\"content\":\"technology\"}],[\"$\",\"meta\",\"10\",{\"name\":\"format-detection\",\"content\":\"telephone=no\"}],[\"$\",\"meta\",\"11\",{\"name\":\"mobile-web-app-capable\",\"content\":\"yes\"}],[\"$\",\"meta\",\"12\",{\"name\":\"apple-mobile-web-app-title\",\"content\":\"SparkeCoder\"}],[\"$\",\"meta\",\"13\",{\"name\":\"apple-mobile-web-app-status-bar-style\",\"content\":\"black-translucent\"}],[\"$\",\"meta\",\"14\",{\"property\":\"og:title\",\"content\":\"SparkeCoder - AI-Powered Coding Agent\"}],[\"$\",\"meta\",\"15\",{\"property\":\"og:description\",\"content\":\"Build, debug, and ship code faster with intelligent AI automation and natural language programming.\"}],[\"$\",\"meta\",\"16\",{\"property\":\"og:site_name\",\"content\":\"SparkeCoder\"}],[\"$\",\"meta\",\"17\",{\"property\":\"og:locale\",\"content\":\"en_US\"}],[\"$\",\"meta\",\"18\",{\"property\":\"og:image\",\"content\":\"http://localhost:3001/opengraph-image.png?opengraph-image.ce342317.png\"}],[\"$\",\"meta\",\"19\",{\"property\":\"og:image:width\",\"content\":\"512\"}],[\"$\",\"meta\",\"20\",{\"property\":\"og:image:height\",\"content\":\"512\"}],[\"$\",\"meta\",\"21\",{\"property\":\"og:image:type\",\"content\":\"image/png\"}],[\"$\",\"meta\",\"22\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"23\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"24\",{\"name\":\"twitter:title\",\"content\":\"SparkeCoder - AI-Powered Coding Agent\"}],[\"$\",\"meta\",\"25\",{\"name\":\"twitter:description\",\"content\":\"Build, debug, and ship code faster with intelligent AI automation and natural language programming.\"}],[\"$\",\"meta\",\"26\",{\"name\":\"twitter:image\",\"content\":\"http://localhost:3001/twitter-image.png?twitter-image.ce342317.png\"}],[\"$\",\"meta\",\"27\",{\"name\":\"twitter:image:width\",\"content\":\"512\"}],[\"$\",\"meta\",\"28\",{\"name\":\"twitter:image:height\",\"content\":\"512\"}],[\"$\",\"meta\",\"29\",{\"name\":\"twitter:image:type\",\"content\":\"image/png\"}],[\"$\",\"link\",\"30\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.e3cbed1b.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"link\",\"31\",{\"rel\":\"icon\",\"href\":\"/icon.png?icon.fdefec0f.png\",\"sizes\":\"32x32\",\"type\":\"image/png\"}],[\"$\",\"link\",\"32\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-icon.png?apple-icon.d6d14cbd.png\",\"sizes\":\"180x180\",\"type\":\"image/png\"}],[\"$\",\"$L4f\",\"33\",{}]]\n"])</script><script>self.__next_f.push([1,"4e:null\n"])</script></body></html>
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
a:I[552576,[],"default"]
|
|
7
7
|
:HL["/_next/static/chunks/2473c16c0c2f6b5f.css","style"]
|
|
8
8
|
:HL["/_next/static/chunks/41a5c049931b2c77.css","style"]
|
|
9
|
-
0:{"P":null,"b":"
|
|
9
|
+
0:{"P":null,"b":"439i-2Qg2oTm0bHSvJXp-","c":["","docs","skills"],"q":"","i":false,"f":[[["",{"children":["docs",{"children":["skills",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/2473c16c0c2f6b5f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/41a5c049931b2c77.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/b31b0765abe0c427.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"dark","children":["$","body",null,{"className":"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable antialiased","children":[["$","$L2",null,{}],["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]}]]}],{"children":[["$","$1","c",{"children":[[["$","script","script-0",{"src":"/_next/static/chunks/0fda34e553582102.js","async":true,"nonce":"$undefined"}]],["$","div",null,{"className":"min-h-screen bg-background","children":[["$","header",null,{"className":"sticky top-0 z-50 border-b border-border bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60","children":["$","div",null,{"className":"container flex h-14 items-center px-4","children":[["$","$L5",null,{"href":"/","className":"flex items-center space-x-2","children":[["$","span",null,{"className":"text-xl","children":"🐶"}],["$","span",null,{"className":"font-bold","children":"SparkECoder"}]]}],["$","nav",null,{"className":"ml-6 flex items-center space-x-4 text-sm","children":[["$","$L5",null,{"href":"/docs","className":"text-muted-foreground hover:text-foreground transition-colors","children":"Docs"}],["$","$L5",null,{"href":"/docs/skills","className":"text-muted-foreground hover:text-foreground transition-colors","children":"Skills"}]]}]]}]}],["$","div",null,{"className":"container flex gap-8 px-4 py-8","children":[["$","aside",null,{"className":"hidden md:block w-64 shrink-0","children":["$","nav",null,{"className":"sticky top-20 space-y-1","children":[["$","h4",null,{"className":"font-semibold mb-2 text-sm","children":"Getting Started"}],["$","$L5",null,{"href":"/docs","className":"block py-1.5 px-2 text-sm text-muted-foreground hover:text-foreground hover:bg-muted rounded-md transition-colors","children":"Introduction"}],["$","$L5",null,{"href":"/docs/installation","className":"block py-1.5 px-2 text-sm text-muted-foreground hover:text-foreground hover:bg-muted rounded-md transition-colors","children":"Installation"}],["$","h4",null,{"className":"font-semibold mb-2 mt-6 text-sm","children":"Features"}],["$","$L5",null,{"href":"/docs/skills","className":"block py-1.5 px-2 text-sm text-muted-foreground hover:text-foreground hover:bg-muted rounded-md transition-colors","children":"Agent Skills"}],["$","$L5",null,{"href":"/docs/tools","className":"block py-1.5 px-2 text-sm text-muted-foreground hover:text-foreground hover:bg-muted rounded-md transition-colors","children":"Tools"}]]}]}],["$","main",null,{"className":"flex-1 min-w-0 max-w-3xl","children":"$L6"}]]}]]}]]}],{"children":["$L7",{"children":["$L8",{},null,false,false]},null,false,false]},null,false,false]},null,false,false],"$L9",false]],"m":"$undefined","G":["$a",[]],"S":true}
|
|
10
10
|
48:I[151858,["/_next/static/chunks/9b5512fb633ef95d.js","/_next/static/chunks/0f1cf11540868e42.js"],"ViewportBoundary"]
|
|
11
11
|
4a:I[151858,["/_next/static/chunks/9b5512fb633ef95d.js","/_next/static/chunks/0f1cf11540868e42.js"],"MetadataBoundary"]
|
|
12
12
|
4b:"$Sreact.suspense"
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
a:I[552576,[],"default"]
|
|
7
7
|
:HL["/_next/static/chunks/2473c16c0c2f6b5f.css","style"]
|
|
8
8
|
:HL["/_next/static/chunks/41a5c049931b2c77.css","style"]
|
|
9
|
-
0:{"P":null,"b":"
|
|
9
|
+
0:{"P":null,"b":"439i-2Qg2oTm0bHSvJXp-","c":["","docs","skills"],"q":"","i":false,"f":[[["",{"children":["docs",{"children":["skills",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/2473c16c0c2f6b5f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/41a5c049931b2c77.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/b31b0765abe0c427.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"dark","children":["$","body",null,{"className":"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable antialiased","children":[["$","$L2",null,{}],["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]}]]}],{"children":[["$","$1","c",{"children":[[["$","script","script-0",{"src":"/_next/static/chunks/0fda34e553582102.js","async":true,"nonce":"$undefined"}]],["$","div",null,{"className":"min-h-screen bg-background","children":[["$","header",null,{"className":"sticky top-0 z-50 border-b border-border bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60","children":["$","div",null,{"className":"container flex h-14 items-center px-4","children":[["$","$L5",null,{"href":"/","className":"flex items-center space-x-2","children":[["$","span",null,{"className":"text-xl","children":"🐶"}],["$","span",null,{"className":"font-bold","children":"SparkECoder"}]]}],["$","nav",null,{"className":"ml-6 flex items-center space-x-4 text-sm","children":[["$","$L5",null,{"href":"/docs","className":"text-muted-foreground hover:text-foreground transition-colors","children":"Docs"}],["$","$L5",null,{"href":"/docs/skills","className":"text-muted-foreground hover:text-foreground transition-colors","children":"Skills"}]]}]]}]}],["$","div",null,{"className":"container flex gap-8 px-4 py-8","children":[["$","aside",null,{"className":"hidden md:block w-64 shrink-0","children":["$","nav",null,{"className":"sticky top-20 space-y-1","children":[["$","h4",null,{"className":"font-semibold mb-2 text-sm","children":"Getting Started"}],["$","$L5",null,{"href":"/docs","className":"block py-1.5 px-2 text-sm text-muted-foreground hover:text-foreground hover:bg-muted rounded-md transition-colors","children":"Introduction"}],["$","$L5",null,{"href":"/docs/installation","className":"block py-1.5 px-2 text-sm text-muted-foreground hover:text-foreground hover:bg-muted rounded-md transition-colors","children":"Installation"}],["$","h4",null,{"className":"font-semibold mb-2 mt-6 text-sm","children":"Features"}],["$","$L5",null,{"href":"/docs/skills","className":"block py-1.5 px-2 text-sm text-muted-foreground hover:text-foreground hover:bg-muted rounded-md transition-colors","children":"Agent Skills"}],["$","$L5",null,{"href":"/docs/tools","className":"block py-1.5 px-2 text-sm text-muted-foreground hover:text-foreground hover:bg-muted rounded-md transition-colors","children":"Tools"}]]}]}],["$","main",null,{"className":"flex-1 min-w-0 max-w-3xl","children":"$L6"}]]}]]}]]}],{"children":["$L7",{"children":["$L8",{},null,false,false]},null,false,false]},null,false,false]},null,false,false],"$L9",false]],"m":"$undefined","G":["$a",[]],"S":true}
|
|
10
10
|
48:I[151858,["/_next/static/chunks/9b5512fb633ef95d.js","/_next/static/chunks/0f1cf11540868e42.js"],"ViewportBoundary"]
|
|
11
11
|
4a:I[151858,["/_next/static/chunks/9b5512fb633ef95d.js","/_next/static/chunks/0f1cf11540868e42.js"],"MetadataBoundary"]
|
|
12
12
|
4b:"$Sreact.suspense"
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
3:I[151858,["/_next/static/chunks/9b5512fb633ef95d.js","/_next/static/chunks/0f1cf11540868e42.js"],"MetadataBoundary"]
|
|
4
4
|
4:"$Sreact.suspense"
|
|
5
5
|
5:I[349310,["/_next/static/chunks/9b5512fb633ef95d.js","/_next/static/chunks/0f1cf11540868e42.js"],"IconMark"]
|
|
6
|
-
0:{"buildId":"
|
|
6
|
+
0:{"buildId":"439i-2Qg2oTm0bHSvJXp-","rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=5"}],["$","meta","2",{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"#ffffff"}],["$","meta","3",{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"#0a0a0a"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"SparkeCoder - AI-Powered Coding Agent"}],["$","meta","1",{"name":"description","content":"SparkeCoder is your AI-powered coding assistant. Build, debug, and ship code faster with intelligent automation and natural language programming."}],["$","meta","2",{"name":"author","content":"SparkeCoder Team"}],["$","link","3",{"rel":"manifest","href":"/manifest.json"}],["$","meta","4",{"name":"keywords","content":"AI coding assistant,code automation,AI programming,developer tools,coding agent,SparkeCoder,AI pair programming"}],["$","meta","5",{"name":"creator","content":"SparkeCoder"}],["$","meta","6",{"name":"publisher","content":"SparkeCoder"}],["$","meta","7",{"name":"robots","content":"index, follow"}],["$","meta","8",{"name":"googlebot","content":"index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"}],["$","meta","9",{"name":"category","content":"technology"}],["$","meta","10",{"name":"format-detection","content":"telephone=no"}],["$","meta","11",{"name":"mobile-web-app-capable","content":"yes"}],["$","meta","12",{"name":"apple-mobile-web-app-title","content":"SparkeCoder"}],["$","meta","13",{"name":"apple-mobile-web-app-status-bar-style","content":"black-translucent"}],["$","meta","14",{"property":"og:title","content":"SparkeCoder - AI-Powered Coding Agent"}],["$","meta","15",{"property":"og:description","content":"Build, debug, and ship code faster with intelligent AI automation and natural language programming."}],["$","meta","16",{"property":"og:site_name","content":"SparkeCoder"}],["$","meta","17",{"property":"og:locale","content":"en_US"}],["$","meta","18",{"property":"og:image","content":"http://localhost:3001/opengraph-image.png?opengraph-image.ce342317.png"}],["$","meta","19",{"property":"og:image:width","content":"512"}],["$","meta","20",{"property":"og:image:height","content":"512"}],["$","meta","21",{"property":"og:image:type","content":"image/png"}],["$","meta","22",{"property":"og:type","content":"website"}],["$","meta","23",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","24",{"name":"twitter:title","content":"SparkeCoder - AI-Powered Coding Agent"}],["$","meta","25",{"name":"twitter:description","content":"Build, debug, and ship code faster with intelligent AI automation and natural language programming."}],["$","meta","26",{"name":"twitter:image","content":"http://localhost:3001/twitter-image.png?twitter-image.ce342317.png"}],["$","meta","27",{"name":"twitter:image:width","content":"512"}],["$","meta","28",{"name":"twitter:image:height","content":"512"}],["$","meta","29",{"name":"twitter:image:type","content":"image/png"}],["$","link","30",{"rel":"icon","href":"/favicon.ico?favicon.e3cbed1b.ico","sizes":"256x256","type":"image/x-icon"}],["$","link","31",{"rel":"icon","href":"/icon.png?icon.fdefec0f.png","sizes":"32x32","type":"image/png"}],["$","link","32",{"rel":"apple-touch-icon","href":"/apple-icon.png?apple-icon.d6d14cbd.png","sizes":"180x180","type":"image/png"}],["$","$L5","33",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"loading":null,"isPartial":false}
|
|
@@ -4,4 +4,4 @@
|
|
|
4
4
|
4:I[174895,["/_next/static/chunks/9b5512fb633ef95d.js","/_next/static/chunks/0f1cf11540868e42.js"],"default"]
|
|
5
5
|
:HL["/_next/static/chunks/2473c16c0c2f6b5f.css","style"]
|
|
6
6
|
:HL["/_next/static/chunks/41a5c049931b2c77.css","style"]
|
|
7
|
-
0:{"buildId":"
|
|
7
|
+
0:{"buildId":"439i-2Qg2oTm0bHSvJXp-","rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/2473c16c0c2f6b5f.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/41a5c049931b2c77.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/b31b0765abe0c427.js","async":true}]],["$","html",null,{"lang":"en","className":"dark","children":["$","body",null,{"className":"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable antialiased","children":[["$","$L2",null,{}],["$","$L3",null,{"parallelRouterKey":"children","template":["$","$L4",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]]}]}]]}],"loading":null,"isPartial":false}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
:HL["/_next/static/chunks/2473c16c0c2f6b5f.css","style"]
|
|
2
2
|
:HL["/_next/static/chunks/41a5c049931b2c77.css","style"]
|
|
3
|
-
0:{"buildId":"
|
|
3
|
+
0:{"buildId":"439i-2Qg2oTm0bHSvJXp-","tree":{"name":"","paramType":null,"paramKey":"","hasRuntimePrefetch":false,"slots":{"children":{"name":"docs","paramType":null,"paramKey":"docs","hasRuntimePrefetch":false,"slots":{"children":{"name":"skills","paramType":null,"paramKey":"skills","hasRuntimePrefetch":false,"slots":{"children":{"name":"__PAGE__","paramType":null,"paramKey":"__PAGE__","hasRuntimePrefetch":false,"slots":null,"isRootLayout":false}},"isRootLayout":false}},"isRootLayout":false}},"isRootLayout":true},"staleTime":300}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
2
|
3f:I[151858,["/_next/static/chunks/9b5512fb633ef95d.js","/_next/static/chunks/0f1cf11540868e42.js"],"OutletBoundary"]
|
|
3
3
|
40:"$Sreact.suspense"
|
|
4
|
-
0:{"buildId":"
|
|
4
|
+
0:{"buildId":"439i-2Qg2oTm0bHSvJXp-","rsc":["$","$1","c",{"children":[[["$","h1",null,{"className":"text-4xl font-bold mt-8 mb-4 text-foreground","children":"Agent Skills"}],"\n",["$","p",null,{"className":"my-4 text-muted-foreground leading-7","children":"Agent Skills are modular capabilities that extend SparkECoder's functionality. Each skill packages instructions, best practices, and domain-specific knowledge that the agent uses automatically when relevant."}],"\n",["$","h2",null,{"className":"text-3xl font-semibold mt-8 mb-3 text-foreground border-b border-border pb-2","children":"Why Use Skills?"}],"\n",["$","p",null,{"className":"my-4 text-muted-foreground leading-7","children":"Skills are reusable, filesystem-based resources that provide the agent with specialized expertise:"}],"\n",["$","ul",null,{"className":"list-disc list-inside my-4 space-y-2 text-muted-foreground","children":["\n",["$","li",null,{"className":"leading-7","children":[["$","strong",null,{"className":"font-semibold text-foreground","children":"Specialize the agent"}]," - Tailor capabilities for domain-specific tasks"]}],"\n",["$","li",null,{"className":"leading-7","children":[["$","strong",null,{"className":"font-semibold text-foreground","children":"Reduce repetition"}]," - Create once, use automatically across conversations"]}],"\n",["$","li",null,{"className":"leading-7","children":[["$","strong",null,{"className":"font-semibold text-foreground","children":"Compose capabilities"}]," - Combine skills to build complex workflows"]}],"\n",["$","li",null,{"className":"leading-7","children":[["$","strong",null,{"className":"font-semibold text-foreground","children":"Team consistency"}]," - Share skills via version control"]}],"\n"]}],"\n",["$","h2",null,{"className":"text-3xl font-semibold mt-8 mb-3 text-foreground border-b border-border pb-2","children":"Skill Types"}],"\n",["$","p",null,{"className":"my-4 text-muted-foreground leading-7","children":"SparkECoder supports two types of skills:"}],"\n",["$","h3",null,{"className":"text-2xl font-semibold mt-6 mb-2 text-foreground","children":"Always-Loaded Skills"}],"\n",["$","p",null,{"className":"my-4 text-muted-foreground leading-7","children":"These skills are automatically injected into every conversation. Use them for:"}],"\n",["$","ul",null,{"className":"list-disc list-inside my-4 space-y-2 text-muted-foreground","children":["\n",["$","li",null,{"className":"leading-7","children":"Project coding standards"}],"\n",["$","li",null,{"className":"leading-7","children":"Team conventions"}],"\n",["$","li",null,{"className":"leading-7","children":"Architecture guidelines"}],"\n",["$","li",null,{"className":"leading-7","children":"Common patterns"}],"\n"]}],"\n",["$","p",null,{"className":"my-4 text-muted-foreground leading-7","children":["$","strong",null,{"className":"font-semibold text-foreground","children":"Where to put them:"}]}],"\n",["$","ul",null,{"className":"list-disc list-inside my-4 space-y-2 text-muted-foreground","children":["\n",["$","li",null,{"className":"leading-7","children":[["$","code",null,{"className":"bg-muted px-1.5 py-0.5 rounded text-sm font-mono","children":".sparkecoder/rules/"}]," - Everything in this folder is always loaded"]}],"\n",["$","li",null,{"className":"leading-7","children":["Any skill file with ",["$","code",null,{"className":"bg-muted px-1.5 py-0.5 rounded text-sm font-mono","children":"alwaysApply: true"}]," in frontmatter"]}],"\n"]}],"\n",["$","h3",null,{"className":"text-2xl font-semibold mt-6 mb-2 text-foreground","children":"On-Demand Skills"}],"\n",["$","p",null,{"className":"my-4 text-muted-foreground leading-7","children":["These skills are available but only loaded when needed. The agent can load them via the ",["$","code",null,{"className":"bg-muted px-1.5 py-0.5 rounded text-sm font-mono","children":"load_skill"}]," tool, or they can be auto-loaded based on glob patterns."]}],"\n",["$","p",null,{"className":"my-4 text-muted-foreground leading-7","children":["$","strong",null,{"className":"font-semibold text-foreground","children":"Where to put them:"}]}],"\n","$L2","\n","$L3","\n","$L4","\n","$L5","\n","$L6","\n","$L7","\n","$L8","\n","$L9","\n","$La","\n","$Lb","\n","$Lc","\n","$Ld","\n","$Le","\n","$Lf","\n","$L10","\n","$L11","\n","$L12","\n","$L13","\n","$L14","\n","$L15","\n","$L16","\n","$L17","\n","$L18","\n","$L19","\n","$L1a","\n","$L1b","\n","$L1c","\n","$L1d","\n","$L1e","\n","$L1f","\n","$L20","\n","$L21","\n","$L22","\n","$L23","\n","$L24","\n","$L25","\n","$L26","\n","$L27","\n","$L28","\n","$L29","\n","$L2a","\n","$L2b","\n","$L2c","\n","$L2d","\n","$L2e","\n","$L2f","\n","$L30","\n","$L31","\n","$L32","\n","$L33","\n","$L34","\n","$L35","\n","$L36","\n","$L37","\n","$L38","\n","$L39","\n","$L3a","\n","$L3b","\n","$L3c","\n","$L3d"],null,"$L3e"]}],"loading":null,"isPartial":false}
|
|
5
5
|
2:["$","ul",null,{"className":"list-disc list-inside my-4 space-y-2 text-muted-foreground","children":["\n",["$","li",null,{"className":"leading-7","children":[["$","code",null,{"className":"bg-muted px-1.5 py-0.5 rounded text-sm font-mono","children":".sparkecoder/skills/"}]," - Default location for on-demand skills"]}],"\n",["$","li",null,{"className":"leading-7","children":[["$","code",null,{"className":"bg-muted px-1.5 py-0.5 rounded text-sm font-mono","children":"skills/"}]," - Legacy location (still supported)"]}],"\n"]}]
|
|
6
6
|
3:["$","h2",null,{"className":"text-3xl font-semibold mt-8 mb-3 text-foreground border-b border-border pb-2","children":"Directory Structure"}]
|
|
7
7
|
4:["$","p",null,{"className":"my-4 text-muted-foreground leading-7","children":"SparkECoder discovers skills from multiple locations, supporting both native format and compatibility with Claude Code and Cursor:"}]
|
package/web/.next/standalone/web/.next/server/app/docs/skills.segments/docs/skills.segment.rsc
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
2
|
2:I[488287,["/_next/static/chunks/9b5512fb633ef95d.js","/_next/static/chunks/0f1cf11540868e42.js"],"default"]
|
|
3
3
|
3:I[174895,["/_next/static/chunks/9b5512fb633ef95d.js","/_next/static/chunks/0f1cf11540868e42.js"],"default"]
|
|
4
|
-
0:{"buildId":"
|
|
4
|
+
0:{"buildId":"439i-2Qg2oTm0bHSvJXp-","rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"loading":null,"isPartial":false}
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
2:I[504561,["/_next/static/chunks/b31b0765abe0c427.js","/_next/static/chunks/0fda34e553582102.js"],""]
|
|
3
3
|
3:I[488287,["/_next/static/chunks/9b5512fb633ef95d.js","/_next/static/chunks/0f1cf11540868e42.js"],"default"]
|
|
4
4
|
4:I[174895,["/_next/static/chunks/9b5512fb633ef95d.js","/_next/static/chunks/0f1cf11540868e42.js"],"default"]
|
|
5
|
-
0:{"buildId":"
|
|
5
|
+
0:{"buildId":"439i-2Qg2oTm0bHSvJXp-","rsc":["$","$1","c",{"children":[[["$","script","script-0",{"src":"/_next/static/chunks/0fda34e553582102.js","async":true}]],["$","div",null,{"className":"min-h-screen bg-background","children":[["$","header",null,{"className":"sticky top-0 z-50 border-b border-border bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60","children":["$","div",null,{"className":"container flex h-14 items-center px-4","children":[["$","$L2",null,{"href":"/","className":"flex items-center space-x-2","children":[["$","span",null,{"className":"text-xl","children":"🐶"}],["$","span",null,{"className":"font-bold","children":"SparkECoder"}]]}],["$","nav",null,{"className":"ml-6 flex items-center space-x-4 text-sm","children":[["$","$L2",null,{"href":"/docs","className":"text-muted-foreground hover:text-foreground transition-colors","children":"Docs"}],["$","$L2",null,{"href":"/docs/skills","className":"text-muted-foreground hover:text-foreground transition-colors","children":"Skills"}]]}]]}]}],["$","div",null,{"className":"container flex gap-8 px-4 py-8","children":[["$","aside",null,{"className":"hidden md:block w-64 shrink-0","children":["$","nav",null,{"className":"sticky top-20 space-y-1","children":[["$","h4",null,{"className":"font-semibold mb-2 text-sm","children":"Getting Started"}],["$","$L2",null,{"href":"/docs","className":"block py-1.5 px-2 text-sm text-muted-foreground hover:text-foreground hover:bg-muted rounded-md transition-colors","children":"Introduction"}],["$","$L2",null,{"href":"/docs/installation","className":"block py-1.5 px-2 text-sm text-muted-foreground hover:text-foreground hover:bg-muted rounded-md transition-colors","children":"Installation"}],["$","h4",null,{"className":"font-semibold mb-2 mt-6 text-sm","children":"Features"}],["$","$L2",null,{"href":"/docs/skills","className":"block py-1.5 px-2 text-sm text-muted-foreground hover:text-foreground hover:bg-muted rounded-md transition-colors","children":"Agent Skills"}],["$","$L2",null,{"href":"/docs/tools","className":"block py-1.5 px-2 text-sm text-muted-foreground hover:text-foreground hover:bg-muted rounded-md transition-colors","children":"Tools"}]]}]}],["$","main",null,{"className":"flex-1 min-w-0 max-w-3xl","children":["$","$L3",null,{"parallelRouterKey":"children","template":["$","$L4",null,{}]}]}]]}]]}]]}],"loading":null,"isPartial":false}
|