[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6EB45VWS9YZ46DZYEBTS197":3,"skill-same:01M6EB45VWS9YZ46DZYEBTS197":133},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":50,"commitSha":51,"skillDirectory":52,"forksCount":53,"repositoryHtmlUrl":54,"repositoryHomepageUrl":55,"ownerHtmlUrl":56,"ownerBlogUrl":6,"ownerDescription":57,"updatedAt":58,"install":59,"resources":72},"01M6EB45VWS9YZ46DZYEBTS197","JavaScript Best Practices",null,"Idiomatic JavaScript patterns and conventions for maintainable code.","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",66,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002FHoangNguyen0403\u002Fagent-skills-standard\u002Fbest-practices\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[24,25,5,26,27,28,29,30,31,32,33,34,35,36,37],"javascript","best practices","code","validation","code-quality","js","quality","export","best-practices","patterns","conventions","module","import","error","2026-11-10 10:12:30",false,"---\nname: JavaScript Best Practices\ndescription: Idiomatic JavaScript patterns and conventions for maintainable code.\nmetadata:\n  labels: [javascript, best-practices, conventions, code-quality]\n  triggers:\n    files: ['**\u002F*.js', '**\u002F*.mjs']\n    keywords: [module, import, export, error, validation]\n---\n\n# JavaScript Best Practices\n\n## **Priority: P1 (OPERATIONAL)**\n\nConventions and patterns for writing maintainable JavaScript.\n\n## Implementation Guidelines\n\n- **Naming**: `camelCase` (vars\u002Ffuncs), `PascalCase` (classes), `UPPER_SNAKE` (constants).\n- **Errors**: Throw `Error` objects only. Handle all async errors.\n- **Comments**: JSDoc for APIs. Explain \"why\" not \"what\".\n- **Files**: One entity per file. `index.js` for exports.\n- **Modules**: Named exports only. Order: Ext -> Int -> Rel.\n\n## Anti-Patterns\n\n- **No Globals**: Encapsulate state.\n- **No Magic Numbers**: Use `const`.\n- **No Nesting**: Guard clauses\u002Fearly returns.\n- **No Defaults**: Use named exports.\n- **No Side Effects**: Keep functions pure.\n\n## Code\n\n```javascript\n\u002F\u002F Constants\nconst STATUS = { OK: 200, ERROR: 500 };\n\n\u002F\u002F Errors\nclass APIError extends Error {\n  constructor(msg, code) {\n    super(msg);\n    this.code = code;\n  }\n}\n\n\u002F\u002F Async + JDoc\n\u002F** @throws {APIError} *\u002F\nexport async function getData(id) {\n  if (!id) throw new APIError('Missing ID', 400);\n  const res = await fetch(`\u002Fapi\u002F${id}`);\n  if (!res.ok) throw new APIError('Failed', res.status);\n  return res.json();\n}\n```\n\n## Reference & Examples\n\nFor module patterns and project structure:\nSee [references\u002FREFERENCE.md](references\u002FREFERENCE.md).\n\n## Related Topics\n\nlanguage | tooling\n\n","# JavaScript Best Practices\n\n## **Priority: P1 (OPERATIONAL)**\n\nConventions and patterns for writing maintainable JavaScript.\n\n## Implementation Guidelines\n\n- **Naming**: `camelCase` (vars\u002Ffuncs), `PascalCase` (classes), `UPPER_SNAKE` (constants).\n- **Errors**: Throw `Error` objects only. Handle all async errors.\n- **Comments**: JSDoc for APIs. Explain \"why\" not \"what\".\n- **Files**: One entity per file. `index.js` for exports.\n- **Modules**: Named exports only. Order: Ext -> Int -> Rel.\n\n## Anti-Patterns\n\n- **No Globals**: Encapsulate state.\n- **No Magic Numbers**: Use `const`.\n- **No Nesting**: Guard clauses\u002Fearly returns.\n- **No Defaults**: Use named exports.\n- **No Side Effects**: Keep functions pure.\n\n## Code\n\n```javascript\n\u002F\u002F Constants\nconst STATUS = { OK: 200, ERROR: 500 };\n\n\u002F\u002F Errors\nclass APIError extends Error {\n  constructor(msg, code) {\n    super(msg);\n    this.code = code;\n  }\n}\n\n\u002F\u002F Async + JDoc\n\u002F** @throws {APIError} *\u002F\nexport async function getData(id) {\n  if (!id) throw new APIError('Missing ID', 400);\n  const res = await fetch(`\u002Fapi\u002F${id}`);\n  if (!res.ok) throw new APIError('Failed', res.status);\n  return res.json();\n}\n```\n\n## Reference & Examples\n\nFor module patterns and project structure:\nSee [references\u002FREFERENCE.md](references\u002FREFERENCE.md).\n\n## Related Topics\n\nlanguage | tooling\n\n",{"name":5,"metadata":43,"description":7},{"labels":44,"triggers":45},[24,32,34,28],{"files":46,"keywords":49},[47,48],"**\u002F*.js","**\u002F*.mjs",[35,36,31,37,27],"main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002FHoangNguyen0403\u002Fagent-skills-standard\u002Fbest-practices",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":8,"skillName":5,"commands":60,"prompt":70,"zipAvailable":71},[61,64,67],{"tool":62,"command":63},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill \"JavaScript Best Practices\"",{"tool":65,"command":66},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill \"JavaScript Best Practices\"",{"tool":68,"command":69},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill \"JavaScript Best Practices\"","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002FHoangNguyen0403\u002Fagent-skills-standard\u002Fbest-practices\u002FSKILL.md",true,[73,79,85,89,93,97,101,105,109,113,117,121,125,129],{"path":74,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":77,"sourceHtmlUrl":78},"LICENSE.txt","LICENSE","许可证",1069,"https:\u002F\u002Fgithub.com\u002Fmonoes\u002Fmonomind\u002Fblob\u002Fmain\u002Fpackages\u002F@monomind\u002Fcli\u002Forg-skills\u002Fmarketing-council\u002FLICENSE.txt",{"path":80,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":83,"sourceHtmlUrl":84},"references\u002Fadvisor-template.md","REFERENCE","参考文档",2112,"https:\u002F\u002Fgithub.com\u002Fmonoes\u002Fmonomind\u002Fblob\u002Fmain\u002Fpackages\u002F@monomind\u002Fcli\u002Forg-skills\u002Fmarketing-council\u002Freferences\u002Fadvisor-template.md",{"path":86,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":87,"sourceHtmlUrl":88},"references\u002Fadvisors\u002Falex-hormozi.md",3987,"https:\u002F\u002Fgithub.com\u002Fmonoes\u002Fmonomind\u002Fblob\u002Fmain\u002Fpackages\u002F@monomind\u002Fcli\u002Forg-skills\u002Fmarketing-council\u002Freferences\u002Fadvisors\u002Falex-hormozi.md",{"path":90,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":91,"sourceHtmlUrl":92},"references\u002Fadvisors\u002Fann-handley.md",4064,"https:\u002F\u002Fgithub.com\u002Fmonoes\u002Fmonomind\u002Fblob\u002Fmain\u002Fpackages\u002F@monomind\u002Fcli\u002Forg-skills\u002Fmarketing-council\u002Freferences\u002Fadvisors\u002Fann-handley.md",{"path":94,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":95,"sourceHtmlUrl":96},"references\u002Fadvisors\u002Fapril-dunford.md",4410,"https:\u002F\u002Fgithub.com\u002Fmonoes\u002Fmonomind\u002Fblob\u002Fmain\u002Fpackages\u002F@monomind\u002Fcli\u002Forg-skills\u002Fmarketing-council\u002Freferences\u002Fadvisors\u002Fapril-dunford.md",{"path":98,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":99,"sourceHtmlUrl":100},"references\u002Fadvisors\u002Fbyron-sharp.md",4790,"https:\u002F\u002Fgithub.com\u002Fmonoes\u002Fmonomind\u002Fblob\u002Fmain\u002Fpackages\u002F@monomind\u002Fcli\u002Forg-skills\u002Fmarketing-council\u002Freferences\u002Fadvisors\u002Fbyron-sharp.md",{"path":102,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":103,"sourceHtmlUrl":104},"references\u002Fadvisors\u002Fclaude-hopkins.md",3789,"https:\u002F\u002Fgithub.com\u002Fmonoes\u002Fmonomind\u002Fblob\u002Fmain\u002Fpackages\u002F@monomind\u002Fcli\u002Forg-skills\u002Fmarketing-council\u002Freferences\u002Fadvisors\u002Fclaude-hopkins.md",{"path":106,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":107,"sourceHtmlUrl":108},"references\u002Fadvisors\u002Fdavid-ogilvy.md",4096,"https:\u002F\u002Fgithub.com\u002Fmonoes\u002Fmonomind\u002Fblob\u002Fmain\u002Fpackages\u002F@monomind\u002Fcli\u002Forg-skills\u002Fmarketing-council\u002Freferences\u002Fadvisors\u002Fdavid-ogilvy.md",{"path":110,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":111,"sourceHtmlUrl":112},"references\u002Fadvisors\u002Feugene-schwartz.md",4184,"https:\u002F\u002Fgithub.com\u002Fmonoes\u002Fmonomind\u002Fblob\u002Fmain\u002Fpackages\u002F@monomind\u002Fcli\u002Forg-skills\u002Fmarketing-council\u002Freferences\u002Fadvisors\u002Feugene-schwartz.md",{"path":114,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":115,"sourceHtmlUrl":116},"references\u002Fadvisors\u002Fgary-halbert.md",3968,"https:\u002F\u002Fgithub.com\u002Fmonoes\u002Fmonomind\u002Fblob\u002Fmain\u002Fpackages\u002F@monomind\u002Fcli\u002Forg-skills\u002Fmarketing-council\u002Freferences\u002Fadvisors\u002Fgary-halbert.md",{"path":118,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":119,"sourceHtmlUrl":120},"references\u002Fadvisors\u002Fgary-vaynerchuk.md",4399,"https:\u002F\u002Fgithub.com\u002Fmonoes\u002Fmonomind\u002Fblob\u002Fmain\u002Fpackages\u002F@monomind\u002Fcli\u002Forg-skills\u002Fmarketing-council\u002Freferences\u002Fadvisors\u002Fgary-vaynerchuk.md",{"path":122,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":123,"sourceHtmlUrl":124},"references\u002Fadvisors\u002Frory-sutherland.md",4732,"https:\u002F\u002Fgithub.com\u002Fmonoes\u002Fmonomind\u002Fblob\u002Fmain\u002Fpackages\u002F@monomind\u002Fcli\u002Forg-skills\u002Fmarketing-council\u002Freferences\u002Fadvisors\u002Frory-sutherland.md",{"path":126,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":127,"sourceHtmlUrl":128},"references\u002Fadvisors\u002Frussell-brunson.md",4331,"https:\u002F\u002Fgithub.com\u002Fmonoes\u002Fmonomind\u002Fblob\u002Fmain\u002Fpackages\u002F@monomind\u002Fcli\u002Forg-skills\u002Fmarketing-council\u002Freferences\u002Fadvisors\u002Frussell-brunson.md",{"path":130,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":131,"sourceHtmlUrl":132},"references\u002Fadvisors\u002Fseth-godin.md",4026,"https:\u002F\u002Fgithub.com\u002Fmonoes\u002Fmonomind\u002Fblob\u002Fmain\u002Fpackages\u002F@monomind\u002Fcli\u002Forg-skills\u002Fmarketing-council\u002Freferences\u002Fadvisors\u002Fseth-godin.md",[134,148,158,167,173,180],{"skillNo":135,"name":136,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":137,"categories":138,"keywords":144,"publishedAt":38},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[139],{"categoryNo":140,"categoryName":141,"taxonomyType":142,"taxonomyTypeDesc":143},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[145,146,147],"model","model hierarchy","model hierarchy skill",{"skillNo":149,"name":150,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":151,"categories":152,"keywords":154,"publishedAt":38},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[153],{"categoryNo":140,"categoryName":141,"taxonomyType":142,"taxonomyTypeDesc":143},[155,156,157],"MCP","zoom","zoom mcp",{"skillNo":159,"name":160,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":161,"categories":162,"keywords":163,"publishedAt":38},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[164,165,166,156],"sdk","zoom apps sdk","apps",{"skillNo":168,"name":169,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":170,"categories":171,"keywords":172,"publishedAt":38},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[169],{"skillNo":174,"name":175,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":176,"categories":177,"keywords":179,"publishedAt":38},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[178],{"categoryNo":140,"categoryName":141,"taxonomyType":142,"taxonomyTypeDesc":143},[175],{"skillNo":181,"name":182,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":183,"categories":184,"keywords":185,"publishedAt":38},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[182]]