[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6EJKCB75JCAA8MSNCRR7EBZ":3,"skill-same:01M6EJKCB75JCAA8MSNCRR7EBZ":89},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":27,"linkOnly":28,"markdownContent":29,"markdownBody":30,"frontMatter":31,"refName":32,"commitSha":33,"skillDirectory":34,"forksCount":35,"repositoryHtmlUrl":36,"repositoryHomepageUrl":37,"ownerHtmlUrl":38,"ownerBlogUrl":6,"ownerDescription":39,"updatedAt":40,"install":41,"resources":54},"01M6EJKCB75JCAA8MSNCRR7EBZ","env-handler",null,"Manage environment variables securely. Handles distinction between .env (template) and .env.local (secrets).","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\u002Faiskillstore\u002Fmarketplace\u002Faayushbaniya2006\u002Fenv-handler\u002FSKILL.md",[],[19,20,21,22,23,24,25,26],"env","env handler","secrets","template","environment","manage","local","environment variables","2026-11-10 10:12:30",false,"---\nname: env-handler\ndescription: Manage environment variables securely. Handles distinction between .env (template) and .env.local (secrets).\n---\n\n# Environment Variable Handler\n\n## Core Rules\n1.  **NO `.env.example`**: Do not create this file. Use `.env` as the template.\n2.  **Secrets in `.env.local`**: Actual sensitive values must live in `.env.local` (git-ignored).\n3.  **Placeholders**: Every variable in `.env.local` MUST have a corresponding entry in `.env`.\n    -   If sensitive: `KEY=\"\"`\n    -   If public\u002Fcommon: `KEY=\"default_value\"`\n\n## Instructions\n\n### 1. Adding a New Sensitive Variable\nWhen you need to add a secret (e.g., `REPLICATE_API_TOKEN`):\n\n1.  **Update `.env`**:\n    Add the variable with an empty string value.\n    ```bash\n    # .env\n    REPLICATE_API_TOKEN=\"\"\n    ```\n\n2.  **Ask the User**:\n    Explicitly request the user to add the actual value to their local secrets file.\n    > \"I have added `REPLICATE_API_TOKEN` to your `.env` file. Please open `.env.local` and add the actual token: `REPLICATE_API_TOKEN=your_token_here`\"\n\n### 2. Adding a Non-Sensitive Variable\nWhen adding a public or configuration variable (e.g., `NEXT_PUBLIC_APP_URL`):\n\n1.  **Update `.env`**:\n    Add the variable with its default or development value.\n    ```bash\n    # .env\n    NEXT_PUBLIC_APP_URL=\"http:\u002F\u002Flocalhost:3000\"\n    ```\n\n### 3. Reading Variables\n-   Server-side: `process.env.KEY`\n-   Client-side: `process.env.NEXT_PUBLIC_KEY`\n\n## Checklist\n- [ ] Is the variable in `.env`?\n- [ ] If sensitive, is the value in `.env` empty?\n- [ ] Did I ask the user to update `.env.local`?\n\n","# Environment Variable Handler\n\n## Core Rules\n1.  **NO `.env.example`**: Do not create this file. Use `.env` as the template.\n2.  **Secrets in `.env.local`**: Actual sensitive values must live in `.env.local` (git-ignored).\n3.  **Placeholders**: Every variable in `.env.local` MUST have a corresponding entry in `.env`.\n    -   If sensitive: `KEY=\"\"`\n    -   If public\u002Fcommon: `KEY=\"default_value\"`\n\n## Instructions\n\n### 1. Adding a New Sensitive Variable\nWhen you need to add a secret (e.g., `REPLICATE_API_TOKEN`):\n\n1.  **Update `.env`**:\n    Add the variable with an empty string value.\n    ```bash\n    # .env\n    REPLICATE_API_TOKEN=\"\"\n    ```\n\n2.  **Ask the User**:\n    Explicitly request the user to add the actual value to their local secrets file.\n    > \"I have added `REPLICATE_API_TOKEN` to your `.env` file. Please open `.env.local` and add the actual token: `REPLICATE_API_TOKEN=your_token_here`\"\n\n### 2. Adding a Non-Sensitive Variable\nWhen adding a public or configuration variable (e.g., `NEXT_PUBLIC_APP_URL`):\n\n1.  **Update `.env`**:\n    Add the variable with its default or development value.\n    ```bash\n    # .env\n    NEXT_PUBLIC_APP_URL=\"http:\u002F\u002Flocalhost:3000\"\n    ```\n\n### 3. Reading Variables\n-   Server-side: `process.env.KEY`\n-   Client-side: `process.env.NEXT_PUBLIC_KEY`\n\n## Checklist\n- [ ] Is the variable in `.env`?\n- [ ] If sensitive, is the value in `.env` empty?\n- [ ] Did I ask the user to update `.env.local`?\n\n",{"name":5,"description":7},"main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Faiskillstore\u002Fmarketplace\u002Faayushbaniya2006\u002Fenv-handler",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":42,"prompt":52,"zipAvailable":53},[43,46,49],{"tool":44,"command":45},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill env-handler",{"tool":47,"command":48},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill env-handler",{"tool":50,"command":51},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill env-handler","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Faayushbaniya2006\u002Fenv-handler\u002FSKILL.md",true,[55,61,65,69,73,77,81,85],{"path":56,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":59,"sourceHtmlUrl":60},"reference.md","REFERENCE","参考文档",1338,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Faayushbaniya2006\u002Fenv-handler\u002Freference.md",{"path":62,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":63,"sourceHtmlUrl":64},"references\u002Fcomments-as-design.md",16736,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Mobile-Dev\u002Ffrom-article-18-ui-ux\u002Fwondelai-skills\u002Fsoftware-design-philosophy\u002Freferences\u002Fcomments-as-design.md",{"path":66,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":67,"sourceHtmlUrl":68},"references\u002Fcomplexity-symptoms.md",11995,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Mobile-Dev\u002Ffrom-article-18-ui-ux\u002Fwondelai-skills\u002Fsoftware-design-philosophy\u002Freferences\u002Fcomplexity-symptoms.md",{"path":70,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":71,"sourceHtmlUrl":72},"references\u002Fdeep-modules.md",13635,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Mobile-Dev\u002Ffrom-article-18-ui-ux\u002Fwondelai-skills\u002Fsoftware-design-philosophy\u002Freferences\u002Fdeep-modules.md",{"path":74,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":75,"sourceHtmlUrl":76},"references\u002Fgeneral-vs-special.md",13534,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Mobile-Dev\u002Ffrom-article-18-ui-ux\u002Fwondelai-skills\u002Fsoftware-design-philosophy\u002Freferences\u002Fgeneral-vs-special.md",{"path":78,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":79,"sourceHtmlUrl":80},"references\u002Finformation-hiding.md",12271,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Mobile-Dev\u002Ffrom-article-18-ui-ux\u002Fwondelai-skills\u002Fsoftware-design-philosophy\u002Freferences\u002Finformation-hiding.md",{"path":82,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":83,"sourceHtmlUrl":84},"references\u002Fstrategic-programming.md",13681,"https:\u002F\u002Fgithub.com\u002Fvitalikpestov\u002FSkills-Catalog\u002Fblob\u002Fmain\u002F_Mobile-Dev\u002Ffrom-article-18-ui-ux\u002Fwondelai-skills\u002Fsoftware-design-philosophy\u002Freferences\u002Fstrategic-programming.md",{"path":86,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":87,"sourceHtmlUrl":88},"skill-report.json",15426,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Faayushbaniya2006\u002Fenv-handler\u002Fskill-report.json",[90,104,114,123,129,136],{"skillNo":91,"name":92,"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":93,"categories":94,"keywords":100,"publishedAt":27},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[95],{"categoryNo":96,"categoryName":97,"taxonomyType":98,"taxonomyTypeDesc":99},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[101,102,103],"model","model hierarchy","model hierarchy skill",{"skillNo":105,"name":106,"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":107,"categories":108,"keywords":110,"publishedAt":27},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[109],{"categoryNo":96,"categoryName":97,"taxonomyType":98,"taxonomyTypeDesc":99},[111,112,113],"MCP","zoom","zoom mcp",{"skillNo":115,"name":116,"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":117,"categories":118,"keywords":119,"publishedAt":27},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[120,121,122,112],"sdk","zoom apps sdk","apps",{"skillNo":124,"name":125,"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":126,"categories":127,"keywords":128,"publishedAt":27},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[125],{"skillNo":130,"name":131,"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":132,"categories":133,"keywords":135,"publishedAt":27},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[134],{"categoryNo":96,"categoryName":97,"taxonomyType":98,"taxonomyTypeDesc":99},[131],{"skillNo":137,"name":138,"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":139,"categories":140,"keywords":141,"publishedAt":27},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[138]]