[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M78CY1WVDF5G1T4JEA4CWCGG":3,"skill-same:01M78CY1WVDF5G1T4JEA4CWCGG":71},{"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":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":29,"commitSha":30,"skillDirectory":31,"forksCount":14,"repositoryHtmlUrl":32,"repositoryHomepageUrl":33,"ownerHtmlUrl":34,"ownerBlogUrl":35,"ownerDescription":36,"updatedAt":37,"install":38,"resources":50},"01M78CY1WVDF5G1T4JEA4CWCGG","mcore-split-pr",null,"Split a PR into multiple PRs to reduce the number of required CODEOWNERS reviewer groups.","Solizardking\u002Fskillhub-main","Solizardking","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F108096810?v=4","01M786KDB10AYV042N0F9BD5B5","Clawd","01M786NYYXSZK1D05WM8JQPC48",0,"Apache-2.0","https:\u002F\u002Fgithub.com\u002FSolizardking\u002Fskillhub-main\u002Fblob\u002Fmain\u002Fskills\u002Fnvidia\u002Fmcore-split-pr\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: mcore-split-pr\ndescription: Split a PR into multiple PRs to reduce the number of required CODEOWNERS reviewer groups.\nlicense: Apache-2.0\nwhen_to_use: User asks to split a PR, reduce reviewer groups, or break up a large PR; 'too many CODEOWNERS', 'split this PR', 'break up PR', 'reduce reviewers needed'.\nuser_invocable: true\nargument: \"PR URL or number\"\nmetadata:\n  author: Philip Petrakian \u003Cppetrakian@nvidia.com>\n---\n\n# Split PR by CODEOWNERS Groups\n\nSplit a large pull request into multiple smaller PRs, where each PR touches\nthe fewest possible CODEOWNERS reviewer groups. The goal is to reduce review\nburden: a PR that only touches `megatron\u002Fcore\u002F` needs only the core reviewers,\nwhile a PR that also touches `examples\u002F`, `tools\u002F`, and `megatron\u002Ftraining\u002F`\npulls in many additional groups.\n\n## Answer-First Constraints\n\nFor split-planning questions, lead with these constraints before the full\nworkflow:\n\n- Minimize CODEOWNERS reviewer groups per PR, but each resulting PR must still\n  be independently mergeable and reviewable.\n- Tests travel with the production code they validate; do not split tests into a\n  separate PR just to reduce reviewer groups.\n- If PR B depends on symbols renamed in PR A, call out the dependency and put\n  backward-compatible aliases, re-exports, or shims in PR A when needed.\n- Wait for user approval before execution.\n- Execution creates draft PRs from the right base, applies file-scoped diffs\n  with `git diff upstream\u002Fmain..\u003Csource-branch> -- \u003Cpaths> | git apply`, pushes\n  to the user's fork, and never pushes directly to upstream.\n\n## Workflow\n\n### 1. Analyze the PR\n\n1. Fetch the PR details: `gh pr view \u003Cnumber> --repo NVIDIA\u002FMegatron-LM --json title,body,headRefName,author` and `gh pr diff \u003Cnumber> --repo NVIDIA\u002FMegatron-LM --stat`. Also determine the current GitHub user with `gh api user --jq .login`.\n2. Parse `.github\u002FCODEOWNERS` to build a mapping from file path patterns to owner groups.\n3. For each changed file in the PR, determine which CODEOWNERS groups would be required to review it.\n4. Build a summary table grouped by CODEOWNERS group, showing which files pull in which groups.\n5. Count the total number of distinct reviewer groups the PR currently requires.\n\n### 2. Propose a split that minimizes reviewer groups per PR\n\nThe primary optimization goal: **minimize the number of CODEOWNERS reviewer groups required for each resulting PR**.\n\nStrategy:\n1. Cluster files by their CODEOWNERS groups. Files owned by the same set of groups naturally belong together.\n2. Identify the largest cluster — this becomes the first (and usually largest) PR.\n3. Remaining files form one or more additional PRs, each ideally requiring only one or two reviewer groups.\n4. If a split creates a dependency (e.g., PR B uses symbols renamed in PR A), the dependent PR must be merged after the first. Note this explicitly.\n5. Each PR must be independently mergeable to main — no broken imports, no missing symbols. Backward-compatible aliases and re-export stubs in the first PR can make this possible.\n\nPresent the proposed split as a table:\n- PR name\u002Fdescription\n- Files included\n- CODEOWNERS groups required\n- Dependencies on other PRs (if any)\n\nWait for user approval before proceeding.\n\n### 3. Execute the split (after user approval)\n\nFor each new PR:\n1. Create a new branch from the appropriate base (`main`, or a dependency PR's branch).\n2. Extract the relevant changes: `git diff upstream\u002Fmain..\u003Csource-branch> -- \u003Cfile paths> | git apply`.\n3. Stage, commit with a clear message, and push to the user's fork.\n4. Create the PR as a **draft** (per repo contributing guidelines).\n5. If the original PR needs to be narrowed in scope, confirm with the user before force-pushing.\n6. Report all PR URLs when done.\n\n## Important guidelines\n\n- Always create PRs as **drafts** and push to the user's fork, never directly to upstream.\n- Backward-compatible changes (aliases, re-exports, deprecation shims) should go in the first PR so subsequent PRs can depend on them.\n- Test files should go with the production code they test, not in a separate PR.\n- Prefer a single clean commit per split PR over replaying the original commit history.\n- If a file is hard to categorize (e.g., it touches two groups), ask the user which PR it should go in.\n- If the current GitHub user is not the author of the original PR, each new PR's description must explicitly credit the original author (e.g., \"Original changes by @\u003Cauthor> in #\u003Cnumber>\").\n","# Split PR by CODEOWNERS Groups\n\nSplit a large pull request into multiple smaller PRs, where each PR touches\nthe fewest possible CODEOWNERS reviewer groups. The goal is to reduce review\nburden: a PR that only touches `megatron\u002Fcore\u002F` needs only the core reviewers,\nwhile a PR that also touches `examples\u002F`, `tools\u002F`, and `megatron\u002Ftraining\u002F`\npulls in many additional groups.\n\n## Answer-First Constraints\n\nFor split-planning questions, lead with these constraints before the full\nworkflow:\n\n- Minimize CODEOWNERS reviewer groups per PR, but each resulting PR must still\n  be independently mergeable and reviewable.\n- Tests travel with the production code they validate; do not split tests into a\n  separate PR just to reduce reviewer groups.\n- If PR B depends on symbols renamed in PR A, call out the dependency and put\n  backward-compatible aliases, re-exports, or shims in PR A when needed.\n- Wait for user approval before execution.\n- Execution creates draft PRs from the right base, applies file-scoped diffs\n  with `git diff upstream\u002Fmain..\u003Csource-branch> -- \u003Cpaths> | git apply`, pushes\n  to the user's fork, and never pushes directly to upstream.\n\n## Workflow\n\n### 1. Analyze the PR\n\n1. Fetch the PR details: `gh pr view \u003Cnumber> --repo NVIDIA\u002FMegatron-LM --json title,body,headRefName,author` and `gh pr diff \u003Cnumber> --repo NVIDIA\u002FMegatron-LM --stat`. Also determine the current GitHub user with `gh api user --jq .login`.\n2. Parse `.github\u002FCODEOWNERS` to build a mapping from file path patterns to owner groups.\n3. For each changed file in the PR, determine which CODEOWNERS groups would be required to review it.\n4. Build a summary table grouped by CODEOWNERS group, showing which files pull in which groups.\n5. Count the total number of distinct reviewer groups the PR currently requires.\n\n### 2. Propose a split that minimizes reviewer groups per PR\n\nThe primary optimization goal: **minimize the number of CODEOWNERS reviewer groups required for each resulting PR**.\n\nStrategy:\n1. Cluster files by their CODEOWNERS groups. Files owned by the same set of groups naturally belong together.\n2. Identify the largest cluster — this becomes the first (and usually largest) PR.\n3. Remaining files form one or more additional PRs, each ideally requiring only one or two reviewer groups.\n4. If a split creates a dependency (e.g., PR B uses symbols renamed in PR A), the dependent PR must be merged after the first. Note this explicitly.\n5. Each PR must be independently mergeable to main — no broken imports, no missing symbols. Backward-compatible aliases and re-export stubs in the first PR can make this possible.\n\nPresent the proposed split as a table:\n- PR name\u002Fdescription\n- Files included\n- CODEOWNERS groups required\n- Dependencies on other PRs (if any)\n\nWait for user approval before proceeding.\n\n### 3. Execute the split (after user approval)\n\nFor each new PR:\n1. Create a new branch from the appropriate base (`main`, or a dependency PR's branch).\n2. Extract the relevant changes: `git diff upstream\u002Fmain..\u003Csource-branch> -- \u003Cfile paths> | git apply`.\n3. Stage, commit with a clear message, and push to the user's fork.\n4. Create the PR as a **draft** (per repo contributing guidelines).\n5. If the original PR needs to be narrowed in scope, confirm with the user before force-pushing.\n6. Report all PR URLs when done.\n\n## Important guidelines\n\n- Always create PRs as **drafts** and push to the user's fork, never directly to upstream.\n- Backward-compatible changes (aliases, re-exports, deprecation shims) should go in the first PR so subsequent PRs can depend on them.\n- Test files should go with the production code they test, not in a separate PR.\n- Prefer a single clean commit per split PR over replaying the original commit history.\n- If a file is hard to categorize (e.g., it touches two groups), ask the user which PR it should go in.\n- If the current GitHub user is not the author of the original PR, each new PR's description must explicitly credit the original author (e.g., \"Original changes by @\u003Cauthor> in #\u003Cnumber>\").\n",{"name":5,"license":15,"argument":24,"metadata":25,"description":7,"when_to_use":27,"user_invocable":28},"PR URL or number",{"author":26},"Philip Petrakian \u003Cppetrakian@nvidia.com>","User asks to split a PR, reduce reviewer groups, or break up a large PR; 'too many CODEOWNERS', 'split this PR', 'break up PR', 'reduce reviewers needed'.",true,"main","be3de0244dc1a57e323d8160787ebb40fb64930e","skills\u002Fnvidia\u002Fmcore-split-pr","https:\u002F\u002Fgithub.com\u002FSolizardking\u002Fskillhub-main","https:\u002F\u002Fskills.x402.wtf","https:\u002F\u002Fgithub.com\u002FSolizardking","https:\u002F\u002Fmusebook.trade","Got a mile high and never came down","2026-10-08 23:20:13",{"source":8,"skillName":5,"commands":39,"prompt":49,"zipAvailable":28},[40,43,46],{"tool":41,"command":42},"npx","npx skills add Solizardking\u002Fskillhub-main --skill mcore-split-pr",{"tool":44,"command":45},"bunx","bunx skills add Solizardking\u002Fskillhub-main --skill mcore-split-pr",{"tool":47,"command":48},"pnpm","pnpm dlx skills add Solizardking\u002Fskillhub-main --skill mcore-split-pr","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FSolizardking\u002Fskillhub-main\u002Fblob\u002Fmain\u002Fskills\u002Fnvidia\u002Fmcore-split-pr\u002FSKILL.md",[51,57,61,65],{"path":52,"resourceType":53,"resourceTypeDesc":54,"sizeBytes":55,"sourceHtmlUrl":56},"BENCHMARK.md","REFERENCE","参考文档",2762,"https:\u002F\u002Fgithub.com\u002FSolizardking\u002Fskillhub-main\u002Fblob\u002Fmain\u002Fskills\u002Fnvidia\u002Fmcore-split-pr\u002FBENCHMARK.md",{"path":58,"resourceType":53,"resourceTypeDesc":54,"sizeBytes":59,"sourceHtmlUrl":60},"evals\u002Fevals.json",3,"https:\u002F\u002Fgithub.com\u002FSolizardking\u002Fskillhub-main\u002Fblob\u002Fmain\u002Fskills\u002Fnvidia\u002Fmcore-split-pr\u002Fevals\u002Fevals.json",{"path":62,"resourceType":53,"resourceTypeDesc":54,"sizeBytes":63,"sourceHtmlUrl":64},"skill-card.md",2463,"https:\u002F\u002Fgithub.com\u002FSolizardking\u002Fskillhub-main\u002Fblob\u002Fmain\u002Fskills\u002Fnvidia\u002Fmcore-split-pr\u002Fskill-card.md",{"path":66,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":69,"sourceHtmlUrl":70},"skill.oms.sig","OTHER","其他",4581,"https:\u002F\u002Fgithub.com\u002FSolizardking\u002Fskillhub-main\u002Fblob\u002Fmain\u002Fskills\u002Fnvidia\u002Fmcore-split-pr\u002Fskill.oms.sig",[72,80,87,94,101,109],{"skillNo":73,"name":74,"nameZh":6,"description":75,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":76,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":79,"publishedAt":19},"01M78E0TGCAMNPS207BA3G07S7","zkrouter","Self-hosted OpenAI-compatible LLM router — smart tier-based routing, ZK-stamped routing decisions, mode overrides, free OpenRouter at install via the Birth bot. Save 60-80% on inference costs by routing to the cheapest capable model across 12+ OpenRouter models.","MIT","https:\u002F\u002Fgithub.com\u002FSolizardking\u002Fskillhub-main\u002Fblob\u002Fmain\u002Fskills\u002Fzkrouter\u002FSKILL.md",[],[],{"skillNo":81,"name":82,"nameZh":6,"description":83,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":76,"licenseFileUrl":6,"sourceHtmlUrl":84,"categories":85,"keywords":86,"publishedAt":19},"01M78E0R1Z8BDT6EDTHY17MTNB","zk","For custom ZK Solana programs and privacy-preserving applications to prevent double spending. Guide to integrate rent-free nullifier PDAs for double-spend prevention.","https:\u002F\u002Fgithub.com\u002FSolizardking\u002Fskillhub-main\u002Fblob\u002Fmain\u002Fskills\u002Fzk\u002FSKILL.md",[],[],{"skillNo":88,"name":89,"nameZh":6,"description":90,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":76,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":93,"publishedAt":19},"01M78E0P3ZTZ1YWF8MD5MM23QE","zk-omni-messaging","Zero-knowledge omnichain messaging between Robinhood Chain and Solana using CheshireZkOmniMessenger (msgType 4) with nullifier anti-replay and the zk-omni-relayer service.","https:\u002F\u002Fgithub.com\u002FSolizardking\u002Fskillhub-main\u002Fblob\u002Fmain\u002Fskills\u002Fzk-omni-messaging\u002FSKILL.md",[],[],{"skillNo":95,"name":96,"nameZh":6,"description":97,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":76,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":100,"publishedAt":19},"01M78E0JXZ2PNB1896VXAGDBWD","zerion-wallet-data","Use when the user asks to check a wallet's portfolio, token balances, DeFi positions, PnL, transaction history, or NFTs. Provides interpreted on-chain data across 40+ EVM chains and Solana via x402 pay-per-request or API key — no raw RPC decoding needed.","https:\u002F\u002Fgithub.com\u002FSolizardking\u002Fskillhub-main\u002Fblob\u002Fmain\u002Fskills\u002Fzerion-wallet-data\u002FSKILL.md",[],[],{"skillNo":102,"name":103,"nameZh":6,"description":104,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":76,"licenseFileUrl":105,"sourceHtmlUrl":106,"categories":107,"keywords":108,"publishedAt":19},"01M78E0G14FH9GRRTQYMKD5E59","youtube-clipper","YouTube 视频智能剪辑工具。下载视频和字幕，AI 分析生成精细章节（几分钟级别）， 用户选择片段后自动剪辑、翻译字幕为中英双语、烧录字幕到视频，并生成总结文案。 使用场景：当用户需要剪辑 YouTube 视频、生成短视频片段、制作双语字幕版本时。 关键词：视频剪辑、YouTube、字幕翻译、双语字幕、视频下载、clip video","https:\u002F\u002Fgithub.com\u002FSolizardking\u002Fskillhub-main\u002Fblob\u002Fmain\u002Fskills\u002Fyoutube-clipper\u002FLICENSE","https:\u002F\u002Fgithub.com\u002FSolizardking\u002Fskillhub-main\u002Fblob\u002Fmain\u002Fskills\u002Fyoutube-clipper\u002FSKILL.md",[],[],{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":76,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":115,"publishedAt":19},"01M78E0C2ZYA99CFFDNB7ZMK5S","yield-optimization","Multi-chain yield optimization via yield.xyz (StakeKit). Discover 2,988+ yield opportunities across 75+ blockchains, build deposit\u002Fwithdrawal transactions with shell scripts, and sign them with a MoonPay wallet. Use when the user wants to earn yield, find the best lending or staking rate, enter\u002Fexit a position, or check portfolio balances.","https:\u002F\u002Fgithub.com\u002FSolizardking\u002Fskillhub-main\u002Fblob\u002Fmain\u002Fskills\u002Fyield-optimization\u002FSKILL.md",[],[]]