[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6ADREM1MMBFX7MMQ13MHWK6":3,"skill-same:01M6ADREM1MMBFX7MMQ13MHWK6":54},{"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":33,"repositoryHtmlUrl":34,"repositoryHomepageUrl":35,"ownerHtmlUrl":36,"ownerBlogUrl":37,"ownerDescription":38,"updatedAt":39,"install":40,"resources":53},"01M6ADREM1MMBFX7MMQ13MHWK6","java-refactoring-remove-parameter",null,"Refactoring using Remove Parameter in Java Language","github\u002Fawesome-copilot","github","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F9919?v=4","01M6AC83DS133TPXFSP1DHNCC6","GitHub","01M6AD3PBDYPK7NVFJNJ66Y8RS",41046,"MIT","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fjava-refactoring-remove-parameter\u002FSKILL.md",[],[19,20,21,22,23,24],"java","java refactoring remove parameter","refactoring","remove","language","java language","2026-11-10 10:12:30",false,"---\nname: java-refactoring-remove-parameter\ndescription: 'Refactoring using Remove Parameter in Java Language'\n---\n\n# Refactoring Java Methods with Remove Parameter\n\n## Role\n\nYou are an expert in refactoring Java methods.\n\nBelow are **2 examples** (with titles code before and code after refactoring) that represents **Remove Parameter**.\n\n## Code Before Refactoring 1:\n```java\npublic Backend selectBackendForGroupCommit(long tableId, ConnectContext context, boolean isCloud)\n        throws LoadException, DdlException {\n    if (!Env.getCurrentEnv().isMaster()) {\n        try {\n            long backendId = new MasterOpExecutor(context)\n                    .getGroupCommitLoadBeId(tableId, context.getCloudCluster(), isCloud);\n            return Env.getCurrentSystemInfo().getBackend(backendId);\n        } catch (Exception e) {\n            throw new LoadException(e.getMessage());\n        }\n    } else {\n        return Env.getCurrentSystemInfo()\n                .getBackend(selectBackendForGroupCommitInternal(tableId, context.getCloudCluster(), isCloud));\n    }\n}\n```\n\n## Code After Refactoring 1:\n```java\npublic Backend selectBackendForGroupCommit(long tableId, ConnectContext context)\n        throws LoadException, DdlException {\n    if (!Env.getCurrentEnv().isMaster()) {\n        try {\n            long backendId = new MasterOpExecutor(context)\n                    .getGroupCommitLoadBeId(tableId, context.getCloudCluster());\n            return Env.getCurrentSystemInfo().getBackend(backendId);\n        } catch (Exception e) {\n            throw new LoadException(e.getMessage());\n        }\n    } else {\n        return Env.getCurrentSystemInfo()\n                .getBackend(selectBackendForGroupCommitInternal(tableId, context.getCloudCluster()));\n    }\n}\n```\n\n## Code Before Refactoring 2:\n```java\nNodeImpl( long id, long firstRel, long firstProp )\n{\n     this( id, false );\n}\n```\n\n## Code After Refactoring 2:\n```java\nNodeImpl( long id)\n{\n     this( id, false );\n}\n```\n\n## Safety Rules\n\n- Behaviour-preserving only. Remove a parameter only if it is truly unused or derivable (field, constant, other parameter); never remove one that is read, even if \"redundant\" by convention.\n- Baseline first: run the narrowest green test command (`.\u002Fmvnw -q -Dtest=MyTest test`, `.\u002Fgradlew test --tests MyTest`) or `.\u002Fmvnw verify` \u002F `.\u002Fgradlew build`, and re-run after the change. If the baseline is red, stop and report.\n- If the affected code has no tests, stop and report; propose characterization tests first. Never delete or weaken tests.\n- Find every usage before changing a signature: use LSP find-references (`lsp-setup`\u002Fjdtls) and grep across all modules, including tests. Also check:\n  - overrides and interface implementors (`@Override`, abstract\u002Fdefault methods, functional interfaces, method references): the whole hierarchy must change together;\n  - reflection and string-based lookups (`getMethod`, `getDeclaredMethod`, `MethodHandle`, proxies), and Spring\u002FCDI\u002FQuarkus\u002FJakarta annotated methods (`@Bean`, `@EventListener`, `@Scheduled`, `@Inject`, `@Path`, `@Observes`, `@PostConstruct`), which a compiler will not flag;\n  - constructors used by serialization\u002Fdeserialization or JPA\u002FJackson (`@JsonCreator`, `@ConstructorBinding`, `readObject`), and `serialVersionUID` impact;\n  - XML\u002Fproperties\u002FYAML configuration and AOP pointcut expressions naming the method;\n  - public or protected API consumed by other modules or published artifacts.\n- Ask the user before changing public\u002Fprotected\u002Fpublished API (prefer deprecating and adding an overload) or touching generated code.\n- One parameter per step (one commit each when the user asks for commits). Prefer the jdtls Change Method Signature refactoring when available; otherwise update the declaration and all callers together.\n- Removing a parameter can make an overload collide with an existing signature or change overload resolution; check this. Evaluating the argument at the call site may have had side effects: keep them if they matter.\n\n## Task\n\nApply **Remove Parameter** to improve readability, coupling and consistency.\n\n1. Identify unused or derivable parameters.\n2. Remove each from the declaration and from all callers, then compile and run the tests.\n3. Add a one-line comment only where the removal is non-obvious; otherwise explain it in the report.\n4. Report parameters removed, callers updated, the commands run and their results, and anything left unverified (e.g. reflective or external callers).\n\n## Code to be Refactored:\n\nNow, assess all methods with unused parameters and refactor them using **Remove Parameter**\n","# Refactoring Java Methods with Remove Parameter\n\n## Role\n\nYou are an expert in refactoring Java methods.\n\nBelow are **2 examples** (with titles code before and code after refactoring) that represents **Remove Parameter**.\n\n## Code Before Refactoring 1:\n```java\npublic Backend selectBackendForGroupCommit(long tableId, ConnectContext context, boolean isCloud)\n        throws LoadException, DdlException {\n    if (!Env.getCurrentEnv().isMaster()) {\n        try {\n            long backendId = new MasterOpExecutor(context)\n                    .getGroupCommitLoadBeId(tableId, context.getCloudCluster(), isCloud);\n            return Env.getCurrentSystemInfo().getBackend(backendId);\n        } catch (Exception e) {\n            throw new LoadException(e.getMessage());\n        }\n    } else {\n        return Env.getCurrentSystemInfo()\n                .getBackend(selectBackendForGroupCommitInternal(tableId, context.getCloudCluster(), isCloud));\n    }\n}\n```\n\n## Code After Refactoring 1:\n```java\npublic Backend selectBackendForGroupCommit(long tableId, ConnectContext context)\n        throws LoadException, DdlException {\n    if (!Env.getCurrentEnv().isMaster()) {\n        try {\n            long backendId = new MasterOpExecutor(context)\n                    .getGroupCommitLoadBeId(tableId, context.getCloudCluster());\n            return Env.getCurrentSystemInfo().getBackend(backendId);\n        } catch (Exception e) {\n            throw new LoadException(e.getMessage());\n        }\n    } else {\n        return Env.getCurrentSystemInfo()\n                .getBackend(selectBackendForGroupCommitInternal(tableId, context.getCloudCluster()));\n    }\n}\n```\n\n## Code Before Refactoring 2:\n```java\nNodeImpl( long id, long firstRel, long firstProp )\n{\n     this( id, false );\n}\n```\n\n## Code After Refactoring 2:\n```java\nNodeImpl( long id)\n{\n     this( id, false );\n}\n```\n\n## Safety Rules\n\n- Behaviour-preserving only. Remove a parameter only if it is truly unused or derivable (field, constant, other parameter); never remove one that is read, even if \"redundant\" by convention.\n- Baseline first: run the narrowest green test command (`.\u002Fmvnw -q -Dtest=MyTest test`, `.\u002Fgradlew test --tests MyTest`) or `.\u002Fmvnw verify` \u002F `.\u002Fgradlew build`, and re-run after the change. If the baseline is red, stop and report.\n- If the affected code has no tests, stop and report; propose characterization tests first. Never delete or weaken tests.\n- Find every usage before changing a signature: use LSP find-references (`lsp-setup`\u002Fjdtls) and grep across all modules, including tests. Also check:\n  - overrides and interface implementors (`@Override`, abstract\u002Fdefault methods, functional interfaces, method references): the whole hierarchy must change together;\n  - reflection and string-based lookups (`getMethod`, `getDeclaredMethod`, `MethodHandle`, proxies), and Spring\u002FCDI\u002FQuarkus\u002FJakarta annotated methods (`@Bean`, `@EventListener`, `@Scheduled`, `@Inject`, `@Path`, `@Observes`, `@PostConstruct`), which a compiler will not flag;\n  - constructors used by serialization\u002Fdeserialization or JPA\u002FJackson (`@JsonCreator`, `@ConstructorBinding`, `readObject`), and `serialVersionUID` impact;\n  - XML\u002Fproperties\u002FYAML configuration and AOP pointcut expressions naming the method;\n  - public or protected API consumed by other modules or published artifacts.\n- Ask the user before changing public\u002Fprotected\u002Fpublished API (prefer deprecating and adding an overload) or touching generated code.\n- One parameter per step (one commit each when the user asks for commits). Prefer the jdtls Change Method Signature refactoring when available; otherwise update the declaration and all callers together.\n- Removing a parameter can make an overload collide with an existing signature or change overload resolution; check this. Evaluating the argument at the call site may have had side effects: keep them if they matter.\n\n## Task\n\nApply **Remove Parameter** to improve readability, coupling and consistency.\n\n1. Identify unused or derivable parameters.\n2. Remove each from the declaration and from all callers, then compile and run the tests.\n3. Add a one-line comment only where the removal is non-obvious; otherwise explain it in the report.\n4. Report parameters removed, callers updated, the commands run and their results, and anything left unverified (e.g. reflective or external callers).\n\n## Code to be Refactored:\n\nNow, assess all methods with unused parameters and refactor them using **Remove Parameter**\n",{"name":5,"description":7},"main","5269f7ea2d6c3a9bfda5ed878b6726cf509121fd","skills\u002Fjava-refactoring-remove-parameter",5340,"https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot","https:\u002F\u002Fawesome-copilot.github.com\u002F","https:\u002F\u002Fgithub.com\u002Fgithub","https:\u002F\u002Fgithub.com\u002Fabout","How people build software.","2026-11-11 13:41:32",{"source":8,"skillName":5,"commands":41,"prompt":51,"zipAvailable":52},[42,45,48],{"tool":43,"command":44},"npx","npx skills add github\u002Fawesome-copilot --skill java-refactoring-remove-parameter",{"tool":46,"command":47},"bunx","bunx skills add github\u002Fawesome-copilot --skill java-refactoring-remove-parameter",{"tool":49,"command":50},"pnpm","pnpm dlx skills add github\u002Fawesome-copilot --skill java-refactoring-remove-parameter","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fjava-refactoring-remove-parameter\u002FSKILL.md",true,[],[55,90,118,148,182,199],{"skillNo":56,"name":57,"nameZh":6,"description":58,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":59,"categories":60,"keywords":69,"publishedAt":25},"01M70KXZNX9ES38N2A8M58ZZMZ","supabase-rls-policies","Write, review, and test Supabase Row Level Security (RLS) policies so that one user cannot read or change another user's rows. Use when creating or changing tables, policies, views, or security definer functions in a Supabase project, when reviewing a migration that touches RLS, or when asked to prove user isolation with pgTAP tests that sign in as two users.","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fsupabase-rls-policies\u002FSKILL.md",[61,66],{"categoryNo":62,"categoryName":63,"taxonomyType":64,"taxonomyTypeDesc":65},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":67,"categoryName":68,"taxonomyType":64,"taxonomyTypeDesc":65},"01JBSEEDCAT000000000000023","Skill与智能体开发",[70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89],"supabase","rls","supabase rls","supabase rls policies","project","when","review","change","read","write","security","isolation","tables","as","tests","prove","use","users","functions","with",{"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":97,"publishedAt":25},"01M70KWA5YWXDV6V8DZ19E3T2Y","skill-distribution-audit","Audit a skill collection before release or investigate installer omissions, archived\u002Ftemplate leakage, duplicate identities, and manifest drift. Reconcile the intended public source set, distribution manifest, and actual discovery output for a specified consumer version. Includes a deterministic set-comparison helper.","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fskill-distribution-audit\u002FSKILL.md",[96],{"categoryNo":67,"categoryName":68,"taxonomyType":64,"taxonomyTypeDesc":65},[98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117],"distribution","skill distribution audit","audit","SET","deterministic","installer","for","discovery","comparison","helper","manifest","version","collection","drift","output","investigate","duplicate","template","release","reconcile",{"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":122,"sourceHtmlUrl":123,"categories":124,"keywords":130,"publishedAt":25},"01M70KCJPFVW7PPQ49CC5R8JGK","logicapps-custom-code-net10-migration","Migrate Azure Logic Apps Standard local-function custom-code projects from .NET 8 to .NET 10. Use for legacy Logic Apps custom-code workspace upgrades, project\u002Fpackage configuration, custom-worker settings, publication, and integrated VS Code debugging. Not for ordinary .NET applications, standalone Azure Functions, Consumption workflows, or cloud deployment.","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Flogicapps-custom-code-net10-migration\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Flogicapps-custom-code-net10-migration\u002FSKILL.md",[125],{"categoryNo":126,"categoryName":127,"taxonomyType":128,"taxonomyTypeDesc":129},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[131,132,133,134,135,136,104,74,137,138,139,140,141,142,143,86,144,145,146,147],"custom","code","logicapps custom code net10 migration","migration","projects","standalone","deployment","applications","local","azure","worker","upgrades","package","apps","Legacy","debugging","workflows",{"skillNo":149,"name":150,"nameZh":6,"description":151,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":152,"sourceHtmlUrl":153,"categories":154,"keywords":159,"publishedAt":25},"01M6AEBN37RQMXJ3298PEY7PG1","winmd-api-search","Find and explore Windows desktop APIs. Use when building features that need platform capabilities — camera, file access, notifications, UI controls, AI\u002FML, sensors, networking, etc. Discovers the right API for a task and retrieves full type details (methods, properties, events, enumeration values).","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fwinmd-api-search\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fwinmd-api-search\u002FSKILL.md",[155,158],{"categoryNo":156,"categoryName":157,"taxonomyType":64,"taxonomyTypeDesc":65},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":126,"categoryName":127,"taxonomyType":128,"taxonomyTypeDesc":129},[160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,75,175,176,177,178,179,104,180,181],"winmd api search","search","api","windows","desktop","file access","enumeration","ui","ml","file","networking","capabilities","notifications","explore","access","features","full","camera","events","platform","methods","controls",{"skillNo":183,"name":184,"nameZh":6,"description":185,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":186,"licenseFileUrl":187,"sourceHtmlUrl":188,"categories":189,"keywords":195,"publishedAt":25},"01M6AE571R3SC1ZGE202B3NB5S","resemble-detect","Deepfake detection and media safety — detect AI-generated audio, images, video, and text, trace synthesis sources, apply watermarks, verify speaker identity, and analyze media intelligence using Resemble AI","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fresemble-detect\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fresemble-detect\u002FSKILL.md",[190,191,194],{"categoryNo":156,"categoryName":157,"taxonomyType":64,"taxonomyTypeDesc":65},{"categoryNo":192,"categoryName":193,"taxonomyType":64,"taxonomyTypeDesc":65},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":67,"categoryName":68,"taxonomyType":64,"taxonomyTypeDesc":65},[196,101,169,197,198],"resemble detect","https","identity",{"skillNo":200,"name":201,"nameZh":6,"description":202,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":186,"licenseFileUrl":203,"sourceHtmlUrl":204,"categories":205,"keywords":210,"publishedAt":25},"01M6AE30BSK2HCY4TQQ22Z8JRD","quality-playbook","Run a complete quality engineering audit on any codebase. Derives behavioral requirements from the code, generates spec-traced functional tests, runs a three-pass code review with regression tests, executes a multi-model spec audit (Council of Three), and produces a consolidated bug report with TDD-verified patches. Finds the 35% of real defects that structural code review alone cannot catch. Works with any language. Trigger on 'quality playbook', 'spec audit', 'Council of Three', 'fitness-to-purpose', or 'coverage theater'.","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fquality-playbook\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fquality-playbook\u002FSKILL.md",[206,209],{"categoryNo":207,"categoryName":208,"taxonomyType":64,"taxonomyTypeDesc":65},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":67,"categoryName":68,"taxonomyType":64,"taxonomyTypeDesc":65},[211,212,213,214,132,76,9,100,215,216,197,217,218,219,220,221,222,223,224,225,226,227,84,228,229,230,231],"playbook","quality playbook","quality","code review","tdd","run","report","spec","bug report","council","engineering","functional","spec audit","bug","verified","multi-model","three","coverage","model","regression","structural"]