[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6BXVM9KDEWYJ7WWJSTA22GR":3,"skill-same:01M6BXVM9KDEWYJ7WWJSTA22GR":72},{"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":21,"linkOnly":22,"markdownContent":23,"markdownBody":24,"frontMatter":25,"refName":26,"commitSha":27,"skillDirectory":28,"forksCount":29,"repositoryHtmlUrl":30,"repositoryHomepageUrl":31,"ownerHtmlUrl":32,"ownerBlogUrl":33,"ownerDescription":34,"updatedAt":35,"install":36,"resources":49},"01M6BXVM9KDEWYJ7WWJSTA22GR","Scripts patterns",null,"Conventions for using sh, bash, bat, python scripts","jesperancinha\u002Fkotlin-mysteries","jesperancinha","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F11569930?v=4","01M6BXV038GJ2R8FQNEPT7AVZC","João Filipe Sabino Esperancinha","01M6BXV07CCQXNTGXREN86RZBR",2,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fjesperancinha\u002Fkotlin-mysteries\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fscripts\u002FSKILL.md",[],[5,19,20],"python","Bash","2026-11-10 10:12:30",false,"---\nname: Scripts patterns\ndescription: Conventions for using sh, bash, bat, python scripts\n---\n\n## 1. sdk installation scripts should be updated to use the latest sdk version using sdk-man\n\nIn the past, the `sdk{version}.sh` scripts were often used to install and use appropriate SDK versions for the projects.\nWithout updates, some of these scripts may not work as expected or may not install the latest SDK versions.\nThese scripts are usually found at the root of the project\n\nTo update, please follow these guidelines\n\n1. If multiples are found for different versions of the same sdk, plese keep the latest version and remove the others\n2. If they are Java SDK installation scripts please follow guidelines in 1.1\n\n### 1.1 SDK-MAN for Java SDK updates\n\n1. Please create a sdk.sh file to install the latest LTS java version. \n2. Please check if the version needed is CRAC or GraalVM. An update means using the same type.\n3. Choose the latest version by choosing in this order\n   * OpenSDK\n   * AdaptSDK\n   * LibreSDK\n   * Oracle\n4. Once the sdk.sh file is created, please remove all other sdk{version}.sh files\n","## 1. sdk installation scripts should be updated to use the latest sdk version using sdk-man\n\nIn the past, the `sdk{version}.sh` scripts were often used to install and use appropriate SDK versions for the projects.\nWithout updates, some of these scripts may not work as expected or may not install the latest SDK versions.\nThese scripts are usually found at the root of the project\n\nTo update, please follow these guidelines\n\n1. If multiples are found for different versions of the same sdk, plese keep the latest version and remove the others\n2. If they are Java SDK installation scripts please follow guidelines in 1.1\n\n### 1.1 SDK-MAN for Java SDK updates\n\n1. Please create a sdk.sh file to install the latest LTS java version. \n2. Please check if the version needed is CRAC or GraalVM. An update means using the same type.\n3. Choose the latest version by choosing in this order\n   * OpenSDK\n   * AdaptSDK\n   * LibreSDK\n   * Oracle\n4. Once the sdk.sh file is created, please remove all other sdk{version}.sh files\n",{"name":5,"description":7},"main","697d8147950c43487405f9593abb95dc5dc7aabe",".claude\u002Fskills\u002Fscripts",0,"https:\u002F\u002Fgithub.com\u002Fjesperancinha\u002Fkotlin-mysteries","https:\u002F\u002Fjesperancinha.github.io\u002Fkotlin-mysteries\u002F","https:\u002F\u002Fgithub.com\u002Fjesperancinha","http:\u002F\u002Fjoaofilipesabinoesperancinha.nl\u002F","IT Engineer","2026-07-20 17:47:29",{"source":8,"skillName":5,"commands":37,"prompt":47,"zipAvailable":48},[38,41,44],{"tool":39,"command":40},"npx","npx skills add jesperancinha\u002Fkotlin-mysteries --skill \"Scripts patterns\"",{"tool":42,"command":43},"bunx","bunx skills add jesperancinha\u002Fkotlin-mysteries --skill \"Scripts patterns\"",{"tool":45,"command":46},"pnpm","pnpm dlx skills add jesperancinha\u002Fkotlin-mysteries --skill \"Scripts patterns\"","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjesperancinha\u002Fkotlin-mysteries\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fscripts\u002FSKILL.md",true,[50,56,62,68],{"path":51,"resourceType":52,"resourceTypeDesc":53,"sizeBytes":54,"sourceHtmlUrl":55},"assets\u002FREADME.md","ASSET","资产文件",309,"https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Fplugins-community\u002Fplugins\u002Fdatabase\u002Fdatabase-index-advisor\u002Fskills\u002Fanalyzing-database-indexes\u002Fassets\u002FREADME.md",{"path":57,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":60,"sourceHtmlUrl":61},"references\u002FREADME.md","REFERENCE","参考文档",384,"https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Fplugins-community\u002Fplugins\u002Fdatabase\u002Fdatabase-index-advisor\u002Fskills\u002Fanalyzing-database-indexes\u002Freferences\u002FREADME.md",{"path":63,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":66,"sourceHtmlUrl":67},"scripts\u002Fanalyze_indexes.py","SCRIPT","脚本",4804,"https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Fplugins-community\u002Fplugins\u002Fdatabase\u002Fdatabase-index-advisor\u002Fskills\u002Fanalyzing-database-indexes\u002Fscripts\u002Fanalyze_indexes.py",{"path":69,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":70,"sourceHtmlUrl":71},"scripts\u002FREADME.md",339,"https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Fplugins-community\u002Fplugins\u002Fdatabase\u002Fdatabase-index-advisor\u002Fskills\u002Fanalyzing-database-indexes\u002Fscripts\u002FREADME.md",[73,90,104,111,118,127],{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":79,"publishedAt":21},"01M6BXVS2Q1EJRCHG37A671S8K","spring","Conventions for dependency injection and mocking in Spring Boot in this project. Use this whenever writing, reviewing, or refactoring integration test classes (anything annotated @SpringBootTest, or under src\u002Ftest that talks to a real Spring context), especially when deciding how to wire dependencies or mock collaborators. Also consult this before adding @Autowired, @MockBean, @MockitoBean, or field injection in any test class.","https:\u002F\u002Fgithub.com\u002Fjesperancinha\u002Fkotlin-mysteries\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fspring\u002FSKILL.md",[],[75,80,81,82,83,84,85,86,87,88,89],"src","refactoring","consult","how","injection","integration","spring boot","boot","test","writing",{"skillNo":91,"name":92,"nameZh":6,"description":93,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":94,"categories":95,"keywords":101,"publishedAt":21},"01M6BXVP5QBEYCNWG56FFBBHZK","spring-integration-test-wiring","Conventions for dependency injection and mocking in Spring Boot integration tests in this project. Use this whenever writing, reviewing, or refactoring integration test classes (anything annotated @SpringBootTest, or under src\u002Ftest that talks to a real Spring context), especially when deciding how to wire dependencies or mock collaborators. Also consult this before adding @Autowired, @MockBean, @MockitoBean, or field injection in any test class.","https:\u002F\u002Fgithub.com\u002Fjesperancinha\u002Fkotlin-mysteries\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fspring-test\u002FSKILL.md",[96],{"categoryNo":97,"categoryName":98,"taxonomyType":99,"taxonomyTypeDesc":100},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[102,85,88,80,81,82,83,84,86,87,103,89],"spring integration test wiring","integration tests",{"skillNo":105,"name":106,"nameZh":6,"description":107,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":108,"categories":109,"keywords":110,"publishedAt":21},"01M6BXVJETCKANCGG2ZVJJVWYN","Readme standards","Conventions to use in Readme files","https:\u002F\u002Fgithub.com\u002Fjesperancinha\u002Fkotlin-mysteries\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Freadme\u002FSKILL.md",[],[106],{"skillNo":112,"name":113,"nameZh":6,"description":114,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":115,"categories":116,"keywords":117,"publishedAt":21},"01M6BXVGR52RYGR5R2A4N4C3SE","parallelization","Conventions for using parallelization in all tests using Jupiter","https:\u002F\u002Fgithub.com\u002Fjesperancinha\u002Fkotlin-mysteries\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fparallel\u002FSKILL.md",[],[113],{"skillNo":119,"name":120,"nameZh":6,"description":121,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":122,"categories":123,"keywords":124,"publishedAt":21},"01M6BXVEP33NG1YREVBDF5R3TN","Maven standards","Conventions to use in Maven files, mostly the `pom.xml` files","https:\u002F\u002Fgithub.com\u002Fjesperancinha\u002Fkotlin-mysteries\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fmaven\u002FSKILL.md",[],[120,125,126],"maven","xml",{"skillNo":128,"name":129,"nameZh":6,"description":130,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":131,"categories":132,"keywords":133,"publishedAt":21},"01M6BXVCG904KP6JBVVXVR01CN","kotlin patterns","Conventions for using Kotlin","https:\u002F\u002Fgithub.com\u002Fjesperancinha\u002Fkotlin-mysteries\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fkotlin\u002FSKILL.md",[],[134,129],"kotlin"]