[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6BXV6N5VC5K6TVS07WCKQ7B":3,"skill-same:01M6BXV6N5VC5K6TVS07WCKQ7B":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":20,"linkOnly":21,"markdownContent":22,"markdownBody":23,"frontMatter":24,"refName":25,"commitSha":26,"skillDirectory":27,"forksCount":28,"repositoryHtmlUrl":29,"repositoryHomepageUrl":30,"ownerHtmlUrl":31,"ownerBlogUrl":32,"ownerDescription":33,"updatedAt":34,"install":35,"resources":48},"01M6BXV6N5VC5K6TVS07WCKQ7B","java language patterns",null,"Conventions for using Java","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\u002Fjava\u002FSKILL.md",[],[19,5],"java","2026-11-10 10:12:30",false,"---\nname: java language patterns\ndescription: Conventions for using Java\n---\n\n## 1. Use modern java conventions in the code and make necessary changes\n\nMake sure to make the code as strict as possible to follow code conventions.\nPlease use these sources:\n\n1. https:\u002F\u002Fwww.oracle.com\u002Fjava\u002Ftechnologies\u002Fjavase\u002Fcodeconventions-programmingpractices.html\n2. https:\u002F\u002Fblog.jetbrains.com\u002Fidea\u002F2024\u002F02\u002Fjava-best-practices\u002F\n3. https:\u002F\u002Fgoogle.github.io\u002Fstyleguide\u002Fjavaguide.html\n","## 1. Use modern java conventions in the code and make necessary changes\n\nMake sure to make the code as strict as possible to follow code conventions.\nPlease use these sources:\n\n1. https:\u002F\u002Fwww.oracle.com\u002Fjava\u002Ftechnologies\u002Fjavase\u002Fcodeconventions-programmingpractices.html\n2. https:\u002F\u002Fblog.jetbrains.com\u002Fidea\u002F2024\u002F02\u002Fjava-best-practices\u002F\n3. https:\u002F\u002Fgoogle.github.io\u002Fstyleguide\u002Fjavaguide.html\n",{"name":5,"description":7},"main","697d8147950c43487405f9593abb95dc5dc7aabe",".claude\u002Fskills\u002Fjava",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":36,"prompt":46,"zipAvailable":47},[37,40,43],{"tool":38,"command":39},"npx","npx skills add jesperancinha\u002Fkotlin-mysteries --skill \"java language patterns\"",{"tool":41,"command":42},"bunx","bunx skills add jesperancinha\u002Fkotlin-mysteries --skill \"java language patterns\"",{"tool":44,"command":45},"pnpm","pnpm dlx skills add jesperancinha\u002Fkotlin-mysteries --skill \"java language patterns\"","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjesperancinha\u002Fkotlin-mysteries\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fjava\u002FSKILL.md",true,[49,55,59,63,67,71,77,81,85],{"path":50,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":53,"sourceHtmlUrl":54},"references\u002Fdiscovery-protocol.md","REFERENCE","参考文档",1990,"https:\u002F\u002Fgithub.com\u002Fh0x91b\u002Fdev-3.0\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fux-create-manifest\u002Freferences\u002Fdiscovery-protocol.md",{"path":56,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":57,"sourceHtmlUrl":58},"references\u002Fheuristics-and-defaults.md",2160,"https:\u002F\u002Fgithub.com\u002Fh0x91b\u002Fdev-3.0\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fux-create-manifest\u002Freferences\u002Fheuristics-and-defaults.md",{"path":60,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":61,"sourceHtmlUrl":62},"references\u002Fmanifest-schema.md",2369,"https:\u002F\u002Fgithub.com\u002Fh0x91b\u002Fdev-3.0\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fux-create-manifest\u002Freferences\u002Fmanifest-schema.md",{"path":64,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":65,"sourceHtmlUrl":66},"references\u002Freport-format.md",989,"https:\u002F\u002Fgithub.com\u002Fh0x91b\u002Fdev-3.0\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fux-create-manifest\u002Freferences\u002Freport-format.md",{"path":68,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":69,"sourceHtmlUrl":70},"references\u002Fsubagent-briefs.md",2705,"https:\u002F\u002Fgithub.com\u002Fh0x91b\u002Fdev-3.0\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fux-create-manifest\u002Freferences\u002Fsubagent-briefs.md",{"path":72,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":75,"sourceHtmlUrl":76},"scripts\u002Fux_inventory.py","SCRIPT","脚本",8190,"https:\u002F\u002Fgithub.com\u002Fh0x91b\u002Fdev-3.0\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fux-create-manifest\u002Fscripts\u002Fux_inventory.py",{"path":78,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":79,"sourceHtmlUrl":80},"templates\u002FPRODUCT_UX_BIBLE.md",5705,"https:\u002F\u002Fgithub.com\u002Fh0x91b\u002Fdev-3.0\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fux-create-manifest\u002Ftemplates\u002FPRODUCT_UX_BIBLE.md",{"path":82,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":83,"sourceHtmlUrl":84},"templates\u002FUX_DECISIONS.md",347,"https:\u002F\u002Fgithub.com\u002Fh0x91b\u002Fdev-3.0\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fux-create-manifest\u002Ftemplates\u002FUX_DECISIONS.md",{"path":86,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":87,"sourceHtmlUrl":88},"templates\u002Fux-architecture.yaml",5620,"https:\u002F\u002Fgithub.com\u002Fh0x91b\u002Fdev-3.0\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fux-create-manifest\u002Ftemplates\u002Fux-architecture.yaml",[90,107,121,130,137,144],{"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":96,"publishedAt":20},"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",[],[92,97,98,99,100,101,102,103,104,105,106],"src","refactoring","consult","how","injection","integration","spring boot","boot","test","writing",{"skillNo":108,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":118,"publishedAt":20},"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",[113],{"categoryNo":114,"categoryName":115,"taxonomyType":116,"taxonomyTypeDesc":117},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[119,102,105,97,98,99,100,101,103,104,120,106],"spring integration test wiring","integration tests",{"skillNo":122,"name":123,"nameZh":6,"description":124,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":125,"categories":126,"keywords":127,"publishedAt":20},"01M6BXVM9KDEWYJ7WWJSTA22GR","Scripts patterns","Conventions for using sh, bash, bat, python scripts","https:\u002F\u002Fgithub.com\u002Fjesperancinha\u002Fkotlin-mysteries\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fscripts\u002FSKILL.md",[],[123,128,129],"Bash","python",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":136,"publishedAt":20},"01M6BXVJETCKANCGG2ZVJJVWYN","Readme standards","Conventions to use in Readme files","https:\u002F\u002Fgithub.com\u002Fjesperancinha\u002Fkotlin-mysteries\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Freadme\u002FSKILL.md",[],[132],{"skillNo":138,"name":139,"nameZh":6,"description":140,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":141,"categories":142,"keywords":143,"publishedAt":20},"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",[],[139],{"skillNo":145,"name":146,"nameZh":6,"description":147,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":148,"categories":149,"keywords":150,"publishedAt":20},"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",[],[151,146,152],"maven","xml"]