[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6HPY8FTPEPTPKFGTTDMD59P":3,"skill-same:01M6HPY8FTPEPTPKFGTTDMD59P":152},{"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":26,"linkOnly":27,"markdownContent":28,"markdownBody":29,"frontMatter":30,"refName":33,"commitSha":34,"skillDirectory":35,"forksCount":36,"repositoryHtmlUrl":37,"repositoryHomepageUrl":6,"ownerHtmlUrl":38,"ownerBlogUrl":39,"ownerDescription":6,"updatedAt":40,"install":41,"resources":54},"01M6HPY8FTPEPTPKFGTTDMD59P","kbp",null,"Backport commits in reference linux worktree to target worktree","black-desk\u002Fskill-kbp","black-desk","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F29726878?v=4","01M6HPY6PN7VNTPVCJA2XB51J1","Chen Linxuan","01M6HPY6VD584A4K4V5HSE4M91",2,"GPL-3.0","https:\u002F\u002Fgithub.com\u002Fblack-desk\u002Fskill-kbp\u002Fblob\u002Fmaster\u002FSKILL.md",[],[5,19,20,21,22,23,24,25],"linux","commit","backport","worktree","commits","reference","upstream","2026-11-10 10:12:30",false,"---\nname: kbp\ndescription: Backport commits in reference linux worktree to target worktree\ncontext: fork\nargument-hint: \u003Cupstream-worktree> \u003Ccommit> \u003Ctarget-worktree>\n---\n\n# Kernel Backport Task\n\nBackport Linux kernel commits (from $ARGUMENTS[1] to HEAD) from an upstream\nworktree $ARGUMENTS[0] to target worktree $ARGUMENTS[2].\n\n## Preparation\n\nBefore starting the backport, verify that both the reference branch and the\ntarget branch compile successfully:\n\n0. **Verify reference branch compilation**: Start a subagent in the upstream\n   worktree to verify that the reference branch (at the commit specified by\n   $ARGUMENTS[1]) compiles successfully. If it fails, report the issue to the\n   user and stop.\n\n1. **Verify target branch compilation**: Start a subagent in the target\n   worktree to verify that the current target branch compiles successfully.\n   If it fails, report the issue to the user and stop.\n\nOnly proceed to the analysis phase after both branches compile successfully.\n\n## Analysis and Planning\n\n2. **Analyze the commits**: Start a subagent in the upstream worktree to\n   understand what changes are in the commits. Identify all files modified and\n   the nature of each change.\n\n3. **Identify compilation configuration**: Analyze the upstream commits to\n   determine what kernel configuration options (Kconfig symbols) are required\n   to enable the feature being backported. This includes:\n   - Identify all `CONFIG_*` symbols that control the feature\n   - Determine the dependencies between these configuration options\n   - Document the minimal configuration needed to compile and enable the feature\n\n4. **Identify dependencies**: For each commit, start a subagent in the upstream\n   worktree to determine what kernel APIs, structures, or features it depends\n   on.\n\n5. **Check target kernel version**: Start a subagent to determine the target\n   kernel version by examining the Makefile or version files in the target\n   worktree.\n\n6. **Decide how to backport the changes**: Start a subagent to analyze how to\n   backport these changes. This analysis must:\n\n   - **Thoroughly read the upstream commits**: Carefully read the source code\n     changes in each commit to understand the implementation details and how the\n     feature works\n   - **Identify all dependencies**: Based on reading the actual code changes,\n     determine what kernel APIs, structures, or features each commit depends on\n     and whether these dependencies exist in the target kernel version\n   - **Decide the backport strategy**: Generally, decide whether to backport all\n     dependencies or just adapt these commits to the target kernel\n\n   After completing the dependency analysis, present possible backport plans and\n   let the user decide which plan to follow. The plan must:\n\n   - List all commits to backport in order, including dependency commits first\n     (if any), followed by the target commits\n   - For each commit, describe the changes and list the corresponding upstream\n     commit hash and title for traceability\n   - Explicitly mark which commits are dependencies and which are the target\n     commits to backport\n\n7. **Execute the backport plan**: Execute the plan **commit by commit** in the\n   order specified in the plan (dependencies first, then target commits). For\n   each commit:\n\n   - Start a subagent to perform the initial backport (cherry-pick or manual\n     adaptation)\n   - After the initial backport, start a **separate subagent** to fix any\n     compilation issues and ensure the code compiles successfully\n   - **Verify the feature is actually compiled**: The compilation verification\n     must ensure that the backported feature is actually being compiled, not\n     just that the kernel compiles without errors. This requires:\n     - Enable the necessary configuration options identified in step 3\n     - Verify that the relevant source files are being compiled by checking\n       the build output or object file generation\n     - Confirm that the feature's code paths are reachable with the current\n       configuration\n   - Only proceed to the next commit after the current commit compiles and is\n     committed\n\n   Requirements for each backport subagent:\n\n   - Prefer cherry-pick when possible: If a target commit can be achieved by\n     cherry-picking an upstream commit, use `git cherry-pick -x` to preserve\n     the original commit hash in the message for traceability\n   - Allow finer commit splitting: The agent may split the planned work into\n     smaller commits if it better matches the upstream commit structure, but\n     should strive to maintain correspondence with upstream commits\n   - Commit with proper traceability: Every commit must reference its upstream\n     source. If cherry-pick is not applicable, manually include the original\n     upstream commit hash in the commit message for traceability\n   - Do NOT skip committing or leave changes uncommitted\n","# Kernel Backport Task\n\nBackport Linux kernel commits (from $ARGUMENTS[1] to HEAD) from an upstream\nworktree $ARGUMENTS[0] to target worktree $ARGUMENTS[2].\n\n## Preparation\n\nBefore starting the backport, verify that both the reference branch and the\ntarget branch compile successfully:\n\n0. **Verify reference branch compilation**: Start a subagent in the upstream\n   worktree to verify that the reference branch (at the commit specified by\n   $ARGUMENTS[1]) compiles successfully. If it fails, report the issue to the\n   user and stop.\n\n1. **Verify target branch compilation**: Start a subagent in the target\n   worktree to verify that the current target branch compiles successfully.\n   If it fails, report the issue to the user and stop.\n\nOnly proceed to the analysis phase after both branches compile successfully.\n\n## Analysis and Planning\n\n2. **Analyze the commits**: Start a subagent in the upstream worktree to\n   understand what changes are in the commits. Identify all files modified and\n   the nature of each change.\n\n3. **Identify compilation configuration**: Analyze the upstream commits to\n   determine what kernel configuration options (Kconfig symbols) are required\n   to enable the feature being backported. This includes:\n   - Identify all `CONFIG_*` symbols that control the feature\n   - Determine the dependencies between these configuration options\n   - Document the minimal configuration needed to compile and enable the feature\n\n4. **Identify dependencies**: For each commit, start a subagent in the upstream\n   worktree to determine what kernel APIs, structures, or features it depends\n   on.\n\n5. **Check target kernel version**: Start a subagent to determine the target\n   kernel version by examining the Makefile or version files in the target\n   worktree.\n\n6. **Decide how to backport the changes**: Start a subagent to analyze how to\n   backport these changes. This analysis must:\n\n   - **Thoroughly read the upstream commits**: Carefully read the source code\n     changes in each commit to understand the implementation details and how the\n     feature works\n   - **Identify all dependencies**: Based on reading the actual code changes,\n     determine what kernel APIs, structures, or features each commit depends on\n     and whether these dependencies exist in the target kernel version\n   - **Decide the backport strategy**: Generally, decide whether to backport all\n     dependencies or just adapt these commits to the target kernel\n\n   After completing the dependency analysis, present possible backport plans and\n   let the user decide which plan to follow. The plan must:\n\n   - List all commits to backport in order, including dependency commits first\n     (if any), followed by the target commits\n   - For each commit, describe the changes and list the corresponding upstream\n     commit hash and title for traceability\n   - Explicitly mark which commits are dependencies and which are the target\n     commits to backport\n\n7. **Execute the backport plan**: Execute the plan **commit by commit** in the\n   order specified in the plan (dependencies first, then target commits). For\n   each commit:\n\n   - Start a subagent to perform the initial backport (cherry-pick or manual\n     adaptation)\n   - After the initial backport, start a **separate subagent** to fix any\n     compilation issues and ensure the code compiles successfully\n   - **Verify the feature is actually compiled**: The compilation verification\n     must ensure that the backported feature is actually being compiled, not\n     just that the kernel compiles without errors. This requires:\n     - Enable the necessary configuration options identified in step 3\n     - Verify that the relevant source files are being compiled by checking\n       the build output or object file generation\n     - Confirm that the feature's code paths are reachable with the current\n       configuration\n   - Only proceed to the next commit after the current commit compiles and is\n     committed\n\n   Requirements for each backport subagent:\n\n   - Prefer cherry-pick when possible: If a target commit can be achieved by\n     cherry-picking an upstream commit, use `git cherry-pick -x` to preserve\n     the original commit hash in the message for traceability\n   - Allow finer commit splitting: The agent may split the planned work into\n     smaller commits if it better matches the upstream commit structure, but\n     should strive to maintain correspondence with upstream commits\n   - Commit with proper traceability: Every commit must reference its upstream\n     source. If cherry-pick is not applicable, manually include the original\n     upstream commit hash in the commit message for traceability\n   - Do NOT skip committing or leave changes uncommitted\n",{"name":5,"context":31,"description":7,"argument-hint":32},"fork","\u003Cupstream-worktree> \u003Ccommit> \u003Ctarget-worktree>","master","aea149ada4576ccc04589e63441ae09b75467ab5","",0,"https:\u002F\u002Fgithub.com\u002Fblack-desk\u002Fskill-kbp","https:\u002F\u002Fgithub.com\u002Fblack-desk","black-desk.cn","2026-04-08 03:56:24",{"source":8,"skillName":5,"commands":42,"prompt":52,"zipAvailable":53},[43,46,49],{"tool":44,"command":45},"npx","npx skills add black-desk\u002Fskill-kbp --skill kbp",{"tool":47,"command":48},"bunx","bunx skills add black-desk\u002Fskill-kbp --skill kbp",{"tool":50,"command":51},"pnpm","pnpm dlx skills add black-desk\u002Fskill-kbp --skill kbp","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fblack-desk\u002Fskill-kbp\u002Fblob\u002Fmaster\u002FSKILL.md",true,[55,61,65,69,72,76,80,86,90,94,98,102,106,110,114,118,123,126,130,134,138,142,148],{"path":56,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":59,"sourceHtmlUrl":60},".cursor\u002Frules\u002FcommitChanges.mdc","OTHER","其他",39,"https:\u002F\u002Fgithub.com\u002Fblack-desk\u002Fskill-kbp\u002Fblob\u002Fmaster\u002F.cursor\u002Frules\u002FcommitChanges.mdc",{"path":62,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":63,"sourceHtmlUrl":64},".cursor\u002Frules\u002FcreateNewRepositoryFromTemplate.mdc",57,"https:\u002F\u002Fgithub.com\u002Fblack-desk\u002Fskill-kbp\u002Fblob\u002Fmaster\u002F.cursor\u002Frules\u002FcreateNewRepositoryFromTemplate.mdc",{"path":66,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":67,"sourceHtmlUrl":68},".cursor\u002Frules\u002FfixReuseLint.mdc",38,"https:\u002F\u002Fgithub.com\u002Fblack-desk\u002Fskill-kbp\u002Fblob\u002Fmaster\u002F.cursor\u002Frules\u002FfixReuseLint.mdc",{"path":70,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":67,"sourceHtmlUrl":71},".cursor\u002Frules\u002Finstructions.mdc","https:\u002F\u002Fgithub.com\u002Fblack-desk\u002Fskill-kbp\u002Fblob\u002Fmaster\u002F.cursor\u002Frules\u002Finstructions.mdc",{"path":73,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":74,"sourceHtmlUrl":75},".cursor\u002Frules\u002FProject instructions.mdc",46,"https:\u002F\u002Fgithub.com\u002Fblack-desk\u002Fskill-kbp\u002Fblob\u002Fmaster\u002F.cursor\u002Frules\u002FProject instructions.mdc",{"path":77,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":78,"sourceHtmlUrl":79},".editorconfig",21,"https:\u002F\u002Fgithub.com\u002Fblack-desk\u002Fskill-kbp\u002Fblob\u002Fmaster\u002F.editorconfig",{"path":81,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":84,"sourceHtmlUrl":85},".github\u002Fcopilot-instructions.md","REFERENCE","参考文档",50,"https:\u002F\u002Fgithub.com\u002Fblack-desk\u002Fskill-kbp\u002Fblob\u002Fmaster\u002F.github\u002Fcopilot-instructions.md",{"path":87,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":88,"sourceHtmlUrl":89},".github\u002Fdependabot.yaml",297,"https:\u002F\u002Fgithub.com\u002Fblack-desk\u002Fskill-kbp\u002Fblob\u002Fmaster\u002F.github\u002Fdependabot.yaml",{"path":91,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":92,"sourceHtmlUrl":93},".github\u002Fprompts\u002FcommitChanges.prompt.md",53,"https:\u002F\u002Fgithub.com\u002Fblack-desk\u002Fskill-kbp\u002Fblob\u002Fmaster\u002F.github\u002Fprompts\u002FcommitChanges.prompt.md",{"path":95,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":96,"sourceHtmlUrl":97},".github\u002Fprompts\u002FcreateNewRepositoryFromTemplate.prompt.md",71,"https:\u002F\u002Fgithub.com\u002Fblack-desk\u002Fskill-kbp\u002Fblob\u002Fmaster\u002F.github\u002Fprompts\u002FcreateNewRepositoryFromTemplate.prompt.md",{"path":99,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":100,"sourceHtmlUrl":101},".github\u002Fprompts\u002FfixReuseLint.prompt.md",52,"https:\u002F\u002Fgithub.com\u002Fblack-desk\u002Fskill-kbp\u002Fblob\u002Fmaster\u002F.github\u002Fprompts\u002FfixReuseLint.prompt.md",{"path":103,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":104,"sourceHtmlUrl":105},".github\u002Fworkflows\u002Fcd.yaml",560,"https:\u002F\u002Fgithub.com\u002Fblack-desk\u002Fskill-kbp\u002Fblob\u002Fmaster\u002F.github\u002Fworkflows\u002Fcd.yaml",{"path":107,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":108,"sourceHtmlUrl":109},".github\u002Fworkflows\u002Fci.yaml",1909,"https:\u002F\u002Fgithub.com\u002Fblack-desk\u002Fskill-kbp\u002Fblob\u002Fmaster\u002F.github\u002Fworkflows\u002Fci.yaml",{"path":111,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":112,"sourceHtmlUrl":113},".gitmodules",266,"https:\u002F\u002Fgithub.com\u002Fblack-desk\u002Fskill-kbp\u002Fblob\u002Fmaster\u002F.gitmodules",{"path":115,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":116,"sourceHtmlUrl":117},".prettierrc",19,"https:\u002F\u002Fgithub.com\u002Fblack-desk\u002Fskill-kbp\u002Fblob\u002Fmaster\u002F.prettierrc",{"path":119,"resourceType":119,"resourceTypeDesc":120,"sizeBytes":121,"sourceHtmlUrl":122},"LICENSE","许可证",34674,"https:\u002F\u002Fgithub.com\u002Fblack-desk\u002Fskill-kbp\u002Fblob\u002Fmaster\u002FLICENSE",{"path":124,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":121,"sourceHtmlUrl":125},"LICENSES\u002FGPL-3.0-or-later.txt","https:\u002F\u002Fgithub.com\u002Fblack-desk\u002Fskill-kbp\u002Fblob\u002Fmaster\u002FLICENSES\u002FGPL-3.0-or-later.txt",{"path":127,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":128,"sourceHtmlUrl":129},"LICENSES\u002FMIT.txt",1088,"https:\u002F\u002Fgithub.com\u002Fblack-desk\u002Fskill-kbp\u002Fblob\u002Fmaster\u002FLICENSES\u002FMIT.txt",{"path":131,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":132,"sourceHtmlUrl":133},"README.md",2874,"https:\u002F\u002Fgithub.com\u002Fblack-desk\u002Fskill-kbp\u002Fblob\u002Fmaster\u002FREADME.md",{"path":135,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":136,"sourceHtmlUrl":137},"README.zh_CN.md",2607,"https:\u002F\u002Fgithub.com\u002Fblack-desk\u002Fskill-kbp\u002Fblob\u002Fmaster\u002FREADME.zh_CN.md",{"path":139,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":140,"sourceHtmlUrl":141},"SKILL.md.license",90,"https:\u002F\u002Fgithub.com\u002Fblack-desk\u002Fskill-kbp\u002Fblob\u002Fmaster\u002FSKILL.md.license",{"path":143,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":146,"sourceHtmlUrl":147},"tools\u002Finstall.sh","SCRIPT","脚本",3472,"https:\u002F\u002Fgithub.com\u002Fblack-desk\u002Fskill-kbp\u002Fblob\u002Fmaster\u002Ftools\u002Finstall.sh",{"path":149,"resourceType":144,"resourceTypeDesc":145,"sizeBytes":150,"sourceHtmlUrl":151},"tools\u002Fls-todo.sh",1538,"https:\u002F\u002Fgithub.com\u002Fblack-desk\u002Fskill-kbp\u002Fblob\u002Fmaster\u002Ftools\u002Fls-todo.sh",[]]