[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C12NWCGZ83F0WCSQR8TBC0":3,"skill-same:01M6C12NWCGZ83F0WCSQR8TBC0":52},{"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":25,"linkOnly":26,"markdownContent":27,"markdownBody":28,"frontMatter":29,"refName":30,"commitSha":31,"skillDirectory":32,"forksCount":14,"repositoryHtmlUrl":33,"repositoryHomepageUrl":6,"ownerHtmlUrl":34,"ownerBlogUrl":35,"ownerDescription":36,"updatedAt":37,"install":38,"resources":51},"01M6C12NWCGZ83F0WCSQR8TBC0","typescript-conventions",null,"Enforces TypeScript and project-specific coding standards, including Bun usage and the zero-warning policy. Use this skill when creating or modifying any TypeScript or configuration files.","vorburger\u002Faifiles","vorburger","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F298598?v=4","01M6C11R5X69DM3ZRH19WVATJ5","Michael Vorburger","01M6C11RAG3NAQQZ7S3QNG7ER4",0,"CC-BY-4.0","https:\u002F\u002Fgithub.com\u002Fvorburger\u002Faifiles\u002Fblob\u002Fmain\u002Fskills\u002Ftypescript-conventions\u002FSKILL.md",[],[19,20,21,22,23,24],"typescript","typescript conventions","policy","coding standards","ZeRO","coding","2026-11-10 10:12:30",false,"---\nname: typescript-conventions\ndescription: Enforces TypeScript and project-specific coding standards, including Bun usage and the zero-warning policy. Use this skill when creating or modifying any TypeScript or configuration files.\n---\n\n# TypeScript & Code Conventions\n\nThis document outlines the coding standards and conventions used in Michael's TypeScript projects.\n\n## Bun over NPM\n\nIn Michael's TypeScript projects, we exclusively use **Bun** for all package management and script execution. **NEVER** use `npm` or `yarn` commands unless explicitly required by an external tool.\n\n- Install dependencies: `bun add \u003Cpackage>`\n- Run scripts: `bun run \u003Cscript>`\n- Execute one-off tools: `bun x --bun \u003Ccommand>`\n\n## Philosophy on Warnings\n\nWe follow a strict **Zero Warning Policy**. Warnings that do not fail the build are generally ignored and therefore useless.\n\nAll automated tools (TypeScript compiler, linting, etc.) **MUST** be configured to fail the build if any warning is detected. Problems should either be fixed properly or, if absolutely necessary, suppressed with an explicit reason; they should never be left as \"just warnings\".\n\n## Validation\n\nAfter making any changes, you **MUST** validate the project using the available tooling, typically:\n\n1. **Type Checking**: Run `bun x --bun tsc --noEmit` to ensure TypeScript types are correct.\n2. **Standard Checks**: Run `nix flake check` or `bun run check` (whichever is available in the specific project).\n3. **Testing**: Run tests based on the `testing` skill guidelines.\n4. **Hooks**: You can also run `lefthook run pre-commit` if applicable.\n","# TypeScript & Code Conventions\n\nThis document outlines the coding standards and conventions used in Michael's TypeScript projects.\n\n## Bun over NPM\n\nIn Michael's TypeScript projects, we exclusively use **Bun** for all package management and script execution. **NEVER** use `npm` or `yarn` commands unless explicitly required by an external tool.\n\n- Install dependencies: `bun add \u003Cpackage>`\n- Run scripts: `bun run \u003Cscript>`\n- Execute one-off tools: `bun x --bun \u003Ccommand>`\n\n## Philosophy on Warnings\n\nWe follow a strict **Zero Warning Policy**. Warnings that do not fail the build are generally ignored and therefore useless.\n\nAll automated tools (TypeScript compiler, linting, etc.) **MUST** be configured to fail the build if any warning is detected. Problems should either be fixed properly or, if absolutely necessary, suppressed with an explicit reason; they should never be left as \"just warnings\".\n\n## Validation\n\nAfter making any changes, you **MUST** validate the project using the available tooling, typically:\n\n1. **Type Checking**: Run `bun x --bun tsc --noEmit` to ensure TypeScript types are correct.\n2. **Standard Checks**: Run `nix flake check` or `bun run check` (whichever is available in the specific project).\n3. **Testing**: Run tests based on the `testing` skill guidelines.\n4. **Hooks**: You can also run `lefthook run pre-commit` if applicable.\n",{"name":5,"description":7},"main","6cfcb4ea30a31850a900583021f7ef2b5159538f","skills\u002Ftypescript-conventions","https:\u002F\u002Fgithub.com\u002Fvorburger\u002Faifiles","https:\u002F\u002Fgithub.com\u002Fvorburger","http:\u002F\u002Fwww.vorburger.ch"," 🇺🇦 #KyivNotKiev. Geek Father. EPFL alumni. Speaks Esperanto, Java, no Klingon, but a few other langs. Works at Google. Formerly at Red Hat. Repos personal.","2026-10-18 19:44:02",{"source":8,"skillName":5,"commands":39,"prompt":49,"zipAvailable":50},[40,43,46],{"tool":41,"command":42},"npx","npx skills add vorburger\u002Faifiles --skill typescript-conventions",{"tool":44,"command":45},"bunx","bunx skills add vorburger\u002Faifiles --skill typescript-conventions",{"tool":47,"command":48},"pnpm","pnpm dlx skills add vorburger\u002Faifiles --skill typescript-conventions","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fvorburger\u002Faifiles\u002Fblob\u002Fmain\u002Fskills\u002Ftypescript-conventions\u002FSKILL.md",true,[],[53,63,78,86,95,106],{"skillNo":54,"name":55,"nameZh":6,"description":56,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":57,"categories":58,"keywords":59,"publishedAt":25},"01M6C12QVGQB262AXE96P898W5","vorburger-profile","Provides personal and professional information about Michael Vorburger.","https:\u002F\u002Fgithub.com\u002Fvorburger\u002Faifiles\u002Fblob\u002Fmain\u002Fskills\u002Fvorburger-profile\u002FSKILL.md",[],[60,61,62],"vorburger profile","profile","personal",{"skillNo":64,"name":65,"nameZh":6,"description":66,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":67,"categories":68,"keywords":74,"publishedAt":25},"01M6C12KVA8A1HDX56XKJQF93K","testing","Guidelines for determining how to test a project based on its contents.","https:\u002F\u002Fgithub.com\u002Fvorburger\u002Faifiles\u002Fblob\u002Fmain\u002Fskills\u002Ftesting\u002FSKILL.md",[69],{"categoryNo":70,"categoryName":71,"taxonomyType":72,"taxonomyTypeDesc":73},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[65,75,76,77],"test","guidelines","how",{"skillNo":79,"name":80,"nameZh":6,"description":81,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":82,"categories":83,"keywords":84,"publishedAt":25},"01M6C12JK1GP5KP4AMKDY5AQJR","skills","Rules for Agent Skills files.","https:\u002F\u002Fgithub.com\u002Fvorburger\u002Faifiles\u002Fblob\u002Fmain\u002Fskills\u002Fskills\u002FSKILL.md",[],[85],"Rules",{"skillNo":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":92,"publishedAt":25},"01M6C12GTNMWM6NAB1ZAEJ20NE","scripting","Conventions for writing and executing scripts (TS, Bash, etc.).","https:\u002F\u002Fgithub.com\u002Fvorburger\u002Faifiles\u002Fblob\u002Fmain\u002Fskills\u002Fscripting\u002FSKILL.md",[],[88,93,94],"writing","Bash",{"skillNo":96,"name":97,"nameZh":6,"description":98,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":101,"publishedAt":25},"01M6C12F45S1D29YM5HMEAE10S","preferred-tools","Preferred tools for common tasks like linting and link checking.","https:\u002F\u002Fgithub.com\u002Fvorburger\u002Faifiles\u002Fblob\u002Fmain\u002Fskills\u002Fpreferred-tools\u002FSKILL.md",[],[102,103,104,105],"preferred tools","Tools","common","tasks",{"skillNo":107,"name":108,"nameZh":6,"description":109,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":112,"publishedAt":25},"01M6C12DVMJZF8VYPH4AQ0KNP7","nix","Use Nix Flakes and flake-parts for software package management.","https:\u002F\u002Fgithub.com\u002Fvorburger\u002Faifiles\u002Fblob\u002Fmain\u002Fskills\u002Fnix\u002FSKILL.md",[],[108,113,114,115],"management","package management","package"]