[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-nvidia-write-git-messages":3,"mdc-2eoyjp-key":39,"related-repo-nvidia-write-git-messages":829,"related-org-nvidia-write-git-messages":902},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":22,"repoUrl":23,"updatedAt":24,"license":25,"forks":26,"topics":27,"repo":34,"sourceUrl":37,"mdContent":38},"write-git-messages","draft and review Git commit messages","Draft, revise, or review Git commit messages, PR titles, PR descriptions, and squash or rebase merge messages. Use when Codex needs to summarize a diff for reviewers, convert rough notes into a commit or PR message, check a message against Git and Conventional Commits style, or prepare repository contribution text before pushing\u002Fopening a PR.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},"nvidia","NVIDIA","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fnvidia.png",[12,16,19],{"name":13,"slug":14,"type":15},"Git","git","tag",{"name":17,"slug":18,"type":15},"Technical Writing","technical-writing",{"name":20,"slug":21,"type":15},"Pull Requests","pull-requests",190,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FTensorRT-Model-Connect","2026-08-31T09:18:59.866567",null,35,[28,29,30,31,32,33],"ai-agents","ai-native","cpp","huggingface","inference","pytorch",{"repoUrl":23,"stars":22,"forks":26,"topics":35,"description":36},[28,29,30,31,32,33],"From PyTorch model to end-to-end TensorRT inference experience in two commands—AI-native, cross-platform, and built for the best possible user experience.","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FTensorRT-Model-Connect\u002Ftree\u002FHEAD\u002Fplugins\u002Ftrtmc-agent-skills\u002Fskills\u002Fwrite-git-messages","---\nname: write-git-messages\ndescription: Draft, revise, or review Git commit messages, PR titles, PR descriptions, and squash or rebase merge messages. Use when Codex needs to summarize a diff for reviewers, convert rough notes into a commit or PR message, check a message against Git and Conventional Commits style, or prepare repository contribution text before pushing\u002Fopening a PR.\n---\n\n# Write Git Messages\n\n## Workflow\n\n1. Identify the artifact and exact comparison: commit, PR, squash\u002Frebase\n   message, or review response; base ref\u002FSHA; head ref\u002FSHA; and intended target.\n2. Inspect the actual change with `git status --short`, `git diff --stat\n   \u003Cbase>...\u003Chead>`, `git diff --name-status \u003Cbase>...\u003Chead>`, and focused\n   diffs. Include staged and untracked scope when drafting a new commit. If only\n   a user summary is available, state that limitation.\n3. Follow the repository's existing convention first. If it has no clear\n   convention, default to Conventional Commits for commit and PR titles.\n4. Separate implemented behavior, static\u002FCPU validation, target-hardware proof,\n   model parity, package evidence, and performance\u002Fqualification. Do not promote\n   one tier into another.\n5. Keep claims evidence-based. Do not invent issue numbers, benchmark results,\n   tests, generated artifacts, reviewer decisions, or CI state.\n6. Return ready-to-use text followed by notes only when a limitation or choice\n   matters.\n\nFor source rationale, read `references\u002Fsource-notes.md` only when you need to explain or adjust the standard.\n\n## Commit Messages\n\nUse this default shape:\n\n```text\ntype(scope): imperative summary\n\nWhy this change is needed and what behavior changes.\nMention important constraints, migrations, or risk.\n\nRefs: #123\nBREAKING CHANGE: explain incompatible behavior\n```\n\nGuidelines:\n\n- Keep the first line short and self-contained; aim for 50 characters when practical.\n- Separate the title from the body with a blank line.\n- Use imperative mood in the summary: `add`, `fix`, `document`, `remove`.\n- Use a meaningful type: `feat`, `fix`, `docs`, `test`, `refactor`, `perf`, `build`, `ci`, `chore`, or `revert`.\n- Add a scope only when it helps route ownership or understand impact.\n- Put the \"why\" and user-visible behavior in the body; do not restate every file changed.\n- Use footers for issue links, co-authors, and breaking changes.\n- Do not add a co-author unless that person or tool actually authored part of\n  the change and the user wants the attribution.\n- Split unrelated work into separate commits when possible. If not possible, choose the dominant type and explain the combined scope in the body.\n- Avoid vague titles such as `update files`, `misc fixes`, `work in progress`, or `fix stuff`.\n- In this repo, never include `Claude` in commit messages because the GitHub ruleset rejects it.\n\n## PR Messages\n\nWrite PR bodies as a one-minute review brief in plain English. A reviewer should be able to understand why the PR exists, what done means, how it works, how it was validated, and what future readers should know without reconstructing the task from the diff.\n\nUse this default PR body:\n\n```markdown\n## Background\n\u003CWhy this task exists. Include the problem, prior failure, user request, policy,\nor workflow gap that motivated the change.>\n\n## Exit Criteria\n- \u003Cobjective condition that means this task is done>\n- \u003Cany explicit non-goal or boundary if useful>\n\n## Implementation\n- \u003Cwhat changed, grouped by behavior or component rather than every file>\n- \u003Chow the design works and why this approach was chosen>\n\n## Validation\n- `\u003Ccommand>`: \u003Cresult>\n- `\u003Ccommand>`: \u003Cresult>\n\n## Notes For Future Readers\n- \u003Cfollow-up, limitation, reviewer order, operational note, or reason a future\n  maintainer should not remove or duplicate this change>\n```\n\nFor tiny PRs, keep all sections but make each one one or two sentences. For larger PRs, use bullets inside sections. Omit only sections that are truly inapplicable, not just inconvenient to fill.\n\nWhen reporting validation:\n\n- Include exact commands and whether they passed, failed, or were not run.\n- Include the result in plain English, not only the command.\n- If validation was not run, say why and describe the residual risk.\n- Tie remote CI claims to the exact head SHA. A check on an older head is not\n  evidence for the current diff.\n- Distinguish a skipped check from a passing check and a dry run from execution.\n- In this repository, say premerge passed only when the current head has\n  `TRTMC Internal CI \u002F Automated premerge gate=PASS`. A successful Internal CI Bridge dispatch or\n  Source workflow is not the premerge result.\n- Do not quote or link private Internal CI logs, artifacts, runner details,\n  package coordinates, or internal URLs in Source PR text. Use the sanitized\n  exact-head status and separately reproducible public evidence.\n\nGuidelines:\n\n- Make the PR title mirror the expected squash or merge commit title.\n- Check the final title and squash\u002Frebase message for the repository's banned\n  terms; in this repo that includes `Claude`.\n- Keep the PR focused on one purpose. If the diff is broad, say why it could not be split.\n- In the body, include purpose, done criteria, change overview, relevant issue links or prior discussions, and any requested feedback.\n- For multi-file or multi-layer changes, tell reviewers where to start and what order to review in the future-reader notes.\n- Call out security, dependency, migration, compatibility, and rollback concerns when present.\n- Omit empty sections rather than leaving placeholders.\n\nWhen the PR depends on another PR, names a merge order, or changes ownership,\nput that relationship in `Notes For Future Readers`. When a branch was rebased\nor force-pushed, do not claim current CI is green until the checks on the new\nhead complete.\n\n## Review Checklist\n\nBefore returning a message, verify:\n\n- The title says what changed without relying on the body.\n- The body explains why the change exists when the reason is not obvious.\n- The body defines exit criteria clearly enough that a reviewer can tell whether the task is complete.\n- The implementation section explains the approach in human terms, not just filenames.\n- The type and scope match the diff.\n- Test claims match commands actually run or user-provided evidence.\n- Validation includes both commands and pass\u002Ffail results.\n- Base\u002Fhead and changed-file scope match the artifact being described.\n- CI and model-proof claims refer to the current head SHA.\n- Source\u002FInternal CI wording respects the public evidence boundary and does\n  not call a bridge dispatch a test pass.\n- Failures, skips, unrun checks, and residual risks are explicit.\n- The PR title and expected squash\u002Frebase title are aligned and contain no\n  repository-banned terms.\n- Future-reader notes capture any review order, limitation, or maintenance warning that is not obvious from the diff.\n\n\u003C!-- Collaborative review anchor: batch 2. -->\n",{"data":40,"body":41},{"name":4,"description":6},{"type":42,"children":43},"root",[44,52,59,114,128,134,139,151,156,351,357,362,367,627,632,637,683,687,731,744,750,755,823],{"type":45,"tag":46,"props":47,"children":48},"element","h1",{"id":4},[49],{"type":50,"value":51},"text","Write Git Messages",{"type":45,"tag":53,"props":54,"children":56},"h2",{"id":55},"workflow",[57],{"type":50,"value":58},"Workflow",{"type":45,"tag":60,"props":61,"children":62},"ol",{},[63,69,94,99,104,109],{"type":45,"tag":64,"props":65,"children":66},"li",{},[67],{"type":50,"value":68},"Identify the artifact and exact comparison: commit, PR, squash\u002Frebase\nmessage, or review response; base ref\u002FSHA; head ref\u002FSHA; and intended target.",{"type":45,"tag":64,"props":70,"children":71},{},[72,74,81,83,87,89,92],{"type":50,"value":73},"Inspect the actual change with ",{"type":45,"tag":75,"props":76,"children":78},"code",{"className":77},[],[79],{"type":50,"value":80},"git status --short",{"type":50,"value":82},", `git diff --stat\n",{"type":45,"tag":84,"props":85,"children":86},"base",{},[],{"type":50,"value":88},"...`, `git diff --name-status ",{"type":45,"tag":84,"props":90,"children":91},{},[],{"type":50,"value":93},"...`, and focused\ndiffs. Include staged and untracked scope when drafting a new commit. If only\na user summary is available, state that limitation.\n",{"type":45,"tag":64,"props":95,"children":96},{},[97],{"type":50,"value":98},"Follow the repository's existing convention first. If it has no clear\nconvention, default to Conventional Commits for commit and PR titles.",{"type":45,"tag":64,"props":100,"children":101},{},[102],{"type":50,"value":103},"Separate implemented behavior, static\u002FCPU validation, target-hardware proof,\nmodel parity, package evidence, and performance\u002Fqualification. Do not promote\none tier into another.",{"type":45,"tag":64,"props":105,"children":106},{},[107],{"type":50,"value":108},"Keep claims evidence-based. Do not invent issue numbers, benchmark results,\ntests, generated artifacts, reviewer decisions, or CI state.",{"type":45,"tag":64,"props":110,"children":111},{},[112],{"type":50,"value":113},"Return ready-to-use text followed by notes only when a limitation or choice\nmatters.",{"type":45,"tag":115,"props":116,"children":117},"p",{},[118,120,126],{"type":50,"value":119},"For source rationale, read ",{"type":45,"tag":75,"props":121,"children":123},{"className":122},[],[124],{"type":50,"value":125},"references\u002Fsource-notes.md",{"type":50,"value":127}," only when you need to explain or adjust the standard.",{"type":45,"tag":53,"props":129,"children":131},{"id":130},"commit-messages",[132],{"type":50,"value":133},"Commit Messages",{"type":45,"tag":115,"props":135,"children":136},{},[137],{"type":50,"value":138},"Use this default shape:",{"type":45,"tag":140,"props":141,"children":146},"pre",{"className":142,"code":144,"language":50,"meta":145},[143],"language-text","type(scope): imperative summary\n\nWhy this change is needed and what behavior changes.\nMention important constraints, migrations, or risk.\n\nRefs: #123\nBREAKING CHANGE: explain incompatible behavior\n","",[147],{"type":45,"tag":75,"props":148,"children":149},{"__ignoreMap":145},[150],{"type":50,"value":144},{"type":45,"tag":115,"props":152,"children":153},{},[154],{"type":50,"value":155},"Guidelines:",{"type":45,"tag":157,"props":158,"children":159},"ul",{},[160,165,170,205,280,285,290,295,300,305,338],{"type":45,"tag":64,"props":161,"children":162},{},[163],{"type":50,"value":164},"Keep the first line short and self-contained; aim for 50 characters when practical.",{"type":45,"tag":64,"props":166,"children":167},{},[168],{"type":50,"value":169},"Separate the title from the body with a blank line.",{"type":45,"tag":64,"props":171,"children":172},{},[173,175,181,183,189,190,196,197,203],{"type":50,"value":174},"Use imperative mood in the summary: ",{"type":45,"tag":75,"props":176,"children":178},{"className":177},[],[179],{"type":50,"value":180},"add",{"type":50,"value":182},", ",{"type":45,"tag":75,"props":184,"children":186},{"className":185},[],[187],{"type":50,"value":188},"fix",{"type":50,"value":182},{"type":45,"tag":75,"props":191,"children":193},{"className":192},[],[194],{"type":50,"value":195},"document",{"type":50,"value":182},{"type":45,"tag":75,"props":198,"children":200},{"className":199},[],[201],{"type":50,"value":202},"remove",{"type":50,"value":204},".",{"type":45,"tag":64,"props":206,"children":207},{},[208,210,216,217,222,223,229,230,236,237,243,244,250,251,257,258,264,265,271,273,279],{"type":50,"value":209},"Use a meaningful type: ",{"type":45,"tag":75,"props":211,"children":213},{"className":212},[],[214],{"type":50,"value":215},"feat",{"type":50,"value":182},{"type":45,"tag":75,"props":218,"children":220},{"className":219},[],[221],{"type":50,"value":188},{"type":50,"value":182},{"type":45,"tag":75,"props":224,"children":226},{"className":225},[],[227],{"type":50,"value":228},"docs",{"type":50,"value":182},{"type":45,"tag":75,"props":231,"children":233},{"className":232},[],[234],{"type":50,"value":235},"test",{"type":50,"value":182},{"type":45,"tag":75,"props":238,"children":240},{"className":239},[],[241],{"type":50,"value":242},"refactor",{"type":50,"value":182},{"type":45,"tag":75,"props":245,"children":247},{"className":246},[],[248],{"type":50,"value":249},"perf",{"type":50,"value":182},{"type":45,"tag":75,"props":252,"children":254},{"className":253},[],[255],{"type":50,"value":256},"build",{"type":50,"value":182},{"type":45,"tag":75,"props":259,"children":261},{"className":260},[],[262],{"type":50,"value":263},"ci",{"type":50,"value":182},{"type":45,"tag":75,"props":266,"children":268},{"className":267},[],[269],{"type":50,"value":270},"chore",{"type":50,"value":272},", or ",{"type":45,"tag":75,"props":274,"children":276},{"className":275},[],[277],{"type":50,"value":278},"revert",{"type":50,"value":204},{"type":45,"tag":64,"props":281,"children":282},{},[283],{"type":50,"value":284},"Add a scope only when it helps route ownership or understand impact.",{"type":45,"tag":64,"props":286,"children":287},{},[288],{"type":50,"value":289},"Put the \"why\" and user-visible behavior in the body; do not restate every file changed.",{"type":45,"tag":64,"props":291,"children":292},{},[293],{"type":50,"value":294},"Use footers for issue links, co-authors, and breaking changes.",{"type":45,"tag":64,"props":296,"children":297},{},[298],{"type":50,"value":299},"Do not add a co-author unless that person or tool actually authored part of\nthe change and the user wants the attribution.",{"type":45,"tag":64,"props":301,"children":302},{},[303],{"type":50,"value":304},"Split unrelated work into separate commits when possible. If not possible, choose the dominant type and explain the combined scope in the body.",{"type":45,"tag":64,"props":306,"children":307},{},[308,310,316,317,323,324,330,331,337],{"type":50,"value":309},"Avoid vague titles such as ",{"type":45,"tag":75,"props":311,"children":313},{"className":312},[],[314],{"type":50,"value":315},"update files",{"type":50,"value":182},{"type":45,"tag":75,"props":318,"children":320},{"className":319},[],[321],{"type":50,"value":322},"misc fixes",{"type":50,"value":182},{"type":45,"tag":75,"props":325,"children":327},{"className":326},[],[328],{"type":50,"value":329},"work in progress",{"type":50,"value":272},{"type":45,"tag":75,"props":332,"children":334},{"className":333},[],[335],{"type":50,"value":336},"fix stuff",{"type":50,"value":204},{"type":45,"tag":64,"props":339,"children":340},{},[341,343,349],{"type":50,"value":342},"In this repo, never include ",{"type":45,"tag":75,"props":344,"children":346},{"className":345},[],[347],{"type":50,"value":348},"Claude",{"type":50,"value":350}," in commit messages because the GitHub ruleset rejects it.",{"type":45,"tag":53,"props":352,"children":354},{"id":353},"pr-messages",[355],{"type":50,"value":356},"PR Messages",{"type":45,"tag":115,"props":358,"children":359},{},[360],{"type":50,"value":361},"Write PR bodies as a one-minute review brief in plain English. A reviewer should be able to understand why the PR exists, what done means, how it works, how it was validated, and what future readers should know without reconstructing the task from the diff.",{"type":45,"tag":115,"props":363,"children":364},{},[365],{"type":50,"value":366},"Use this default PR body:",{"type":45,"tag":140,"props":368,"children":372},{"className":369,"code":370,"language":371,"meta":145,"style":145},"language-markdown shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","## Background\n\u003CWhy this task exists. Include the problem, prior failure, user request, policy,\nor workflow gap that motivated the change.>\n\n## Exit Criteria\n- \u003Cobjective condition that means this task is done>\n- \u003Cany explicit non-goal or boundary if useful>\n\n## Implementation\n- \u003Cwhat changed, grouped by behavior or component rather than every file>\n- \u003Chow the design works and why this approach was chosen>\n\n## Validation\n- `\u003Ccommand>`: \u003Cresult>\n- `\u003Ccommand>`: \u003Cresult>\n\n## Notes For Future Readers\n- \u003Cfollow-up, limitation, reviewer order, operational note, or reason a future\n  maintainer should not remove or duplicate this change>\n","markdown",[373],{"type":45,"tag":75,"props":374,"children":375},{"__ignoreMap":145},[376,394,404,413,423,436,450,463,471,484,497,510,518,531,560,584,592,605,618],{"type":45,"tag":377,"props":378,"children":381},"span",{"class":379,"line":380},"line",1,[382,388],{"type":45,"tag":377,"props":383,"children":385},{"style":384},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[386],{"type":50,"value":387},"## ",{"type":45,"tag":377,"props":389,"children":391},{"style":390},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[392],{"type":50,"value":393},"Background\n",{"type":45,"tag":377,"props":395,"children":397},{"class":379,"line":396},2,[398],{"type":45,"tag":377,"props":399,"children":401},{"style":400},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[402],{"type":50,"value":403},"\u003CWhy this task exists. Include the problem, prior failure, user request, policy,\n",{"type":45,"tag":377,"props":405,"children":407},{"class":379,"line":406},3,[408],{"type":45,"tag":377,"props":409,"children":410},{"style":400},[411],{"type":50,"value":412},"or workflow gap that motivated the change.>\n",{"type":45,"tag":377,"props":414,"children":416},{"class":379,"line":415},4,[417],{"type":45,"tag":377,"props":418,"children":420},{"emptyLinePlaceholder":419},true,[421],{"type":50,"value":422},"\n",{"type":45,"tag":377,"props":424,"children":426},{"class":379,"line":425},5,[427,431],{"type":45,"tag":377,"props":428,"children":429},{"style":384},[430],{"type":50,"value":387},{"type":45,"tag":377,"props":432,"children":433},{"style":390},[434],{"type":50,"value":435},"Exit Criteria\n",{"type":45,"tag":377,"props":437,"children":439},{"class":379,"line":438},6,[440,445],{"type":45,"tag":377,"props":441,"children":442},{"style":384},[443],{"type":50,"value":444},"-",{"type":45,"tag":377,"props":446,"children":447},{"style":400},[448],{"type":50,"value":449}," \u003Cobjective condition that means this task is done>\n",{"type":45,"tag":377,"props":451,"children":453},{"class":379,"line":452},7,[454,458],{"type":45,"tag":377,"props":455,"children":456},{"style":384},[457],{"type":50,"value":444},{"type":45,"tag":377,"props":459,"children":460},{"style":400},[461],{"type":50,"value":462}," \u003Cany explicit non-goal or boundary if useful>\n",{"type":45,"tag":377,"props":464,"children":466},{"class":379,"line":465},8,[467],{"type":45,"tag":377,"props":468,"children":469},{"emptyLinePlaceholder":419},[470],{"type":50,"value":422},{"type":45,"tag":377,"props":472,"children":474},{"class":379,"line":473},9,[475,479],{"type":45,"tag":377,"props":476,"children":477},{"style":384},[478],{"type":50,"value":387},{"type":45,"tag":377,"props":480,"children":481},{"style":390},[482],{"type":50,"value":483},"Implementation\n",{"type":45,"tag":377,"props":485,"children":487},{"class":379,"line":486},10,[488,492],{"type":45,"tag":377,"props":489,"children":490},{"style":384},[491],{"type":50,"value":444},{"type":45,"tag":377,"props":493,"children":494},{"style":400},[495],{"type":50,"value":496}," \u003Cwhat changed, grouped by behavior or component rather than every file>\n",{"type":45,"tag":377,"props":498,"children":500},{"class":379,"line":499},11,[501,505],{"type":45,"tag":377,"props":502,"children":503},{"style":384},[504],{"type":50,"value":444},{"type":45,"tag":377,"props":506,"children":507},{"style":400},[508],{"type":50,"value":509}," \u003Chow the design works and why this approach was chosen>\n",{"type":45,"tag":377,"props":511,"children":513},{"class":379,"line":512},12,[514],{"type":45,"tag":377,"props":515,"children":516},{"emptyLinePlaceholder":419},[517],{"type":50,"value":422},{"type":45,"tag":377,"props":519,"children":521},{"class":379,"line":520},13,[522,526],{"type":45,"tag":377,"props":523,"children":524},{"style":384},[525],{"type":50,"value":387},{"type":45,"tag":377,"props":527,"children":528},{"style":390},[529],{"type":50,"value":530},"Validation\n",{"type":45,"tag":377,"props":532,"children":534},{"class":379,"line":533},14,[535,539,544,550,555],{"type":45,"tag":377,"props":536,"children":537},{"style":384},[538],{"type":50,"value":444},{"type":45,"tag":377,"props":540,"children":541},{"style":384},[542],{"type":50,"value":543}," `",{"type":45,"tag":377,"props":545,"children":547},{"style":546},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[548],{"type":50,"value":549},"\u003Ccommand>",{"type":45,"tag":377,"props":551,"children":552},{"style":384},[553],{"type":50,"value":554},"`",{"type":45,"tag":377,"props":556,"children":557},{"style":400},[558],{"type":50,"value":559},": \u003Cresult>\n",{"type":45,"tag":377,"props":561,"children":563},{"class":379,"line":562},15,[564,568,572,576,580],{"type":45,"tag":377,"props":565,"children":566},{"style":384},[567],{"type":50,"value":444},{"type":45,"tag":377,"props":569,"children":570},{"style":384},[571],{"type":50,"value":543},{"type":45,"tag":377,"props":573,"children":574},{"style":546},[575],{"type":50,"value":549},{"type":45,"tag":377,"props":577,"children":578},{"style":384},[579],{"type":50,"value":554},{"type":45,"tag":377,"props":581,"children":582},{"style":400},[583],{"type":50,"value":559},{"type":45,"tag":377,"props":585,"children":587},{"class":379,"line":586},16,[588],{"type":45,"tag":377,"props":589,"children":590},{"emptyLinePlaceholder":419},[591],{"type":50,"value":422},{"type":45,"tag":377,"props":593,"children":595},{"class":379,"line":594},17,[596,600],{"type":45,"tag":377,"props":597,"children":598},{"style":384},[599],{"type":50,"value":387},{"type":45,"tag":377,"props":601,"children":602},{"style":390},[603],{"type":50,"value":604},"Notes For Future Readers\n",{"type":45,"tag":377,"props":606,"children":608},{"class":379,"line":607},18,[609,613],{"type":45,"tag":377,"props":610,"children":611},{"style":384},[612],{"type":50,"value":444},{"type":45,"tag":377,"props":614,"children":615},{"style":400},[616],{"type":50,"value":617}," \u003Cfollow-up, limitation, reviewer order, operational note, or reason a future\n",{"type":45,"tag":377,"props":619,"children":621},{"class":379,"line":620},19,[622],{"type":45,"tag":377,"props":623,"children":624},{"style":400},[625],{"type":50,"value":626},"  maintainer should not remove or duplicate this change>\n",{"type":45,"tag":115,"props":628,"children":629},{},[630],{"type":50,"value":631},"For tiny PRs, keep all sections but make each one one or two sentences. For larger PRs, use bullets inside sections. Omit only sections that are truly inapplicable, not just inconvenient to fill.",{"type":45,"tag":115,"props":633,"children":634},{},[635],{"type":50,"value":636},"When reporting validation:",{"type":45,"tag":157,"props":638,"children":639},{},[640,645,650,655,660,665,678],{"type":45,"tag":64,"props":641,"children":642},{},[643],{"type":50,"value":644},"Include exact commands and whether they passed, failed, or were not run.",{"type":45,"tag":64,"props":646,"children":647},{},[648],{"type":50,"value":649},"Include the result in plain English, not only the command.",{"type":45,"tag":64,"props":651,"children":652},{},[653],{"type":50,"value":654},"If validation was not run, say why and describe the residual risk.",{"type":45,"tag":64,"props":656,"children":657},{},[658],{"type":50,"value":659},"Tie remote CI claims to the exact head SHA. A check on an older head is not\nevidence for the current diff.",{"type":45,"tag":64,"props":661,"children":662},{},[663],{"type":50,"value":664},"Distinguish a skipped check from a passing check and a dry run from execution.",{"type":45,"tag":64,"props":666,"children":667},{},[668,670,676],{"type":50,"value":669},"In this repository, say premerge passed only when the current head has\n",{"type":45,"tag":75,"props":671,"children":673},{"className":672},[],[674],{"type":50,"value":675},"TRTMC Internal CI \u002F Automated premerge gate=PASS",{"type":50,"value":677},". A successful Internal CI Bridge dispatch or\nSource workflow is not the premerge result.",{"type":45,"tag":64,"props":679,"children":680},{},[681],{"type":50,"value":682},"Do not quote or link private Internal CI logs, artifacts, runner details,\npackage coordinates, or internal URLs in Source PR text. Use the sanitized\nexact-head status and separately reproducible public evidence.",{"type":45,"tag":115,"props":684,"children":685},{},[686],{"type":50,"value":155},{"type":45,"tag":157,"props":688,"children":689},{},[690,695,706,711,716,721,726],{"type":45,"tag":64,"props":691,"children":692},{},[693],{"type":50,"value":694},"Make the PR title mirror the expected squash or merge commit title.",{"type":45,"tag":64,"props":696,"children":697},{},[698,700,705],{"type":50,"value":699},"Check the final title and squash\u002Frebase message for the repository's banned\nterms; in this repo that includes ",{"type":45,"tag":75,"props":701,"children":703},{"className":702},[],[704],{"type":50,"value":348},{"type":50,"value":204},{"type":45,"tag":64,"props":707,"children":708},{},[709],{"type":50,"value":710},"Keep the PR focused on one purpose. If the diff is broad, say why it could not be split.",{"type":45,"tag":64,"props":712,"children":713},{},[714],{"type":50,"value":715},"In the body, include purpose, done criteria, change overview, relevant issue links or prior discussions, and any requested feedback.",{"type":45,"tag":64,"props":717,"children":718},{},[719],{"type":50,"value":720},"For multi-file or multi-layer changes, tell reviewers where to start and what order to review in the future-reader notes.",{"type":45,"tag":64,"props":722,"children":723},{},[724],{"type":50,"value":725},"Call out security, dependency, migration, compatibility, and rollback concerns when present.",{"type":45,"tag":64,"props":727,"children":728},{},[729],{"type":50,"value":730},"Omit empty sections rather than leaving placeholders.",{"type":45,"tag":115,"props":732,"children":733},{},[734,736,742],{"type":50,"value":735},"When the PR depends on another PR, names a merge order, or changes ownership,\nput that relationship in ",{"type":45,"tag":75,"props":737,"children":739},{"className":738},[],[740],{"type":50,"value":741},"Notes For Future Readers",{"type":50,"value":743},". When a branch was rebased\nor force-pushed, do not claim current CI is green until the checks on the new\nhead complete.",{"type":45,"tag":53,"props":745,"children":747},{"id":746},"review-checklist",[748],{"type":50,"value":749},"Review Checklist",{"type":45,"tag":115,"props":751,"children":752},{},[753],{"type":50,"value":754},"Before returning a message, verify:",{"type":45,"tag":157,"props":756,"children":757},{},[758,763,768,773,778,783,788,793,798,803,808,813,818],{"type":45,"tag":64,"props":759,"children":760},{},[761],{"type":50,"value":762},"The title says what changed without relying on the body.",{"type":45,"tag":64,"props":764,"children":765},{},[766],{"type":50,"value":767},"The body explains why the change exists when the reason is not obvious.",{"type":45,"tag":64,"props":769,"children":770},{},[771],{"type":50,"value":772},"The body defines exit criteria clearly enough that a reviewer can tell whether the task is complete.",{"type":45,"tag":64,"props":774,"children":775},{},[776],{"type":50,"value":777},"The implementation section explains the approach in human terms, not just filenames.",{"type":45,"tag":64,"props":779,"children":780},{},[781],{"type":50,"value":782},"The type and scope match the diff.",{"type":45,"tag":64,"props":784,"children":785},{},[786],{"type":50,"value":787},"Test claims match commands actually run or user-provided evidence.",{"type":45,"tag":64,"props":789,"children":790},{},[791],{"type":50,"value":792},"Validation includes both commands and pass\u002Ffail results.",{"type":45,"tag":64,"props":794,"children":795},{},[796],{"type":50,"value":797},"Base\u002Fhead and changed-file scope match the artifact being described.",{"type":45,"tag":64,"props":799,"children":800},{},[801],{"type":50,"value":802},"CI and model-proof claims refer to the current head SHA.",{"type":45,"tag":64,"props":804,"children":805},{},[806],{"type":50,"value":807},"Source\u002FInternal CI wording respects the public evidence boundary and does\nnot call a bridge dispatch a test pass.",{"type":45,"tag":64,"props":809,"children":810},{},[811],{"type":50,"value":812},"Failures, skips, unrun checks, and residual risks are explicit.",{"type":45,"tag":64,"props":814,"children":815},{},[816],{"type":50,"value":817},"The PR title and expected squash\u002Frebase title are aligned and contain no\nrepository-banned terms.",{"type":45,"tag":64,"props":819,"children":820},{},[821],{"type":50,"value":822},"Future-reader notes capture any review order, limitation, or maintenance warning that is not obvious from the diff.",{"type":45,"tag":824,"props":825,"children":826},"style",{},[827],{"type":50,"value":828},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":830,"total":438},[831,845,859,874,886,896],{"slug":832,"name":832,"fn":833,"description":834,"org":835,"tags":836,"stars":22,"repoUrl":23,"updatedAt":844},"debug-trt-mismatch","debug TensorRT model output mismatches","Use when TensorRT output diverges from a model reference, model-first validation fails, generated text or media is wrong, or a family change introduces a numerical mismatch. Routes the investigation by model modality and escalates from the first divergent boundary to the smallest responsible family-owned operation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[837,840,841],{"name":838,"slug":839,"type":15},"Debugging","debugging",{"name":9,"slug":8,"type":15},{"name":842,"slug":843,"type":15},"Performance","performance","2026-08-31T09:19:00.563158",{"slug":846,"name":846,"fn":847,"description":848,"org":849,"tags":850,"stars":22,"repoUrl":23,"updatedAt":858},"doc-sync","synchronize project documentation and architecture","Use for documentation maintenance scans that keep the canonical website journey, repo-local skills, commands, API reference, architecture and design, extension guides, feature context, ADRs, and traceability status aligned with the current GitHub main branch. Covers the Source\u002FInternal CI boundary and model-owned validation without exposing private evidence.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[851,854,857],{"name":852,"slug":853,"type":15},"Architecture","architecture",{"name":855,"slug":856,"type":15},"Documentation","documentation",{"name":17,"slug":18,"type":15},"2026-08-31T09:19:06.452155",{"slug":860,"name":860,"fn":861,"description":862,"org":863,"tags":864,"stars":22,"repoUrl":23,"updatedAt":873},"pr-babysitter","monitor and maintain GitHub pull requests","Use when monitoring GitHub pull request CI, diagnosing failed checks, rebasing branches onto github\u002Fmain, applying narrowly scoped fixes, and updating PRs until their latest checks are green or a human blocker is identified.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[865,868,871,872],{"name":866,"slug":867,"type":15},"CI\u002FCD","ci-cd",{"name":869,"slug":870,"type":15},"GitHub","github",{"name":9,"slug":8,"type":15},{"name":20,"slug":21,"type":15},"2026-08-31T09:18:56.523999",{"slug":875,"name":875,"fn":876,"description":877,"org":878,"tags":879,"stars":22,"repoUrl":23,"updatedAt":885},"submit-github-bug-issue","submit GitHub bug issues","Use when converting QA findings, black-box failures, red-team reports, regression evidence, or local bug notes into GitHub Issues for NVIDIA\u002FTensorRT-Model-Connect. Standardizes checking issue templates, checking labels, de-duplicating existing issues, drafting a bug report, creating the issue on GitHub, applying the bug label, and verifying the created issue.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[880,881,882],{"name":869,"slug":870,"type":15},{"name":9,"slug":8,"type":15},{"name":883,"slug":884,"type":15},"Triage","triage","2026-08-31T09:19:07.142338",{"slug":887,"name":887,"fn":888,"description":889,"org":890,"tags":891,"stars":22,"repoUrl":23,"updatedAt":895},"submit-github-pr","submit TensorRT-Model-Connect pull requests","Use when publishing an existing TensorRT-Model-Connect change as a GitHub pull request. Verifies authenticated repository access, branch and diff scope, validation evidence, commit identity, reviewer-facing text, exact pushed head, and the created draft PR without merging it.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[892,893,894],{"name":869,"slug":870,"type":15},{"name":9,"slug":8,"type":15},{"name":20,"slug":21,"type":15},"2026-08-31T09:19:05.749614",{"slug":4,"name":4,"fn":5,"description":6,"org":897,"tags":898,"stars":22,"repoUrl":23,"updatedAt":24},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[899,900,901],{"name":13,"slug":14,"type":15},{"name":20,"slug":21,"type":15},{"name":17,"slug":18,"type":15},{"items":903,"total":1050},[904,920,938,947,957,967,980,994,1007,1018,1030,1039],{"slug":905,"name":905,"fn":906,"description":907,"org":908,"tags":909,"stars":917,"repoUrl":918,"updatedAt":919},"nemoclaw-user-guide","retrieve NemoClaw documentation and configuration","Guides human users' AI agents to the NemoClaw docs MCP server and canonical Fern documentation in Markdown form. Use when users ask how to install, configure, operate, troubleshoot, secure, or learn NemoClaw with an AI coding assistant. Trigger keywords - nemoclaw docs, use nemoclaw with ai agent, nemoclaw mcp docs, nemoclaw install help, nemoclaw quickstart, nemoclaw markdown docs, llms.txt, agent skills.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[910,911,914],{"name":855,"slug":856,"type":15},{"name":912,"slug":913,"type":15},"MCP","mcp",{"name":915,"slug":916,"type":15},"Search","search",21777,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FNemoClaw","2026-08-25T03:29:57.273192",{"slug":921,"name":921,"fn":922,"description":923,"org":924,"tags":925,"stars":935,"repoUrl":936,"updatedAt":937},"mcore-build-and-dependency","manage Megatron-LM development environments","Container-based dev environment setup and dependency management for Megatron-LM. Covers acquiring and launching the CI container, uv package management, and updating uv.lock.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[926,929,932],{"name":927,"slug":928,"type":15},"Containers","containers",{"name":930,"slug":931,"type":15},"Deployment","deployment",{"name":933,"slug":934,"type":15},"Python","python",17049,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FMegatron-LM","2026-07-27T06:06:11.249662",{"slug":939,"name":939,"fn":940,"description":941,"org":942,"tags":943,"stars":935,"repoUrl":936,"updatedAt":946},"mcore-bump-base-image","update NVIDIA PyTorch base images","Bump the NVIDIA PyTorch base image (`nvcr.io\u002Fnvidia\u002Fpytorch:YY.MM-py3`) used by Megatron-LM CI. Covers the two pin sites (GitHub CI in `docker\u002F.ngc_version.dev` and GitLab CI in `.gitlab\u002Fstages\u002F01.build.yml`), the post-bump CI loop (re-run functional tests, refresh golden values, mark broken tests), and the gotchas that bit PRs",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[944,945],{"name":866,"slug":867,"type":15},{"name":930,"slug":931,"type":15},"2026-07-14T05:25:59.97109",{"slug":948,"name":948,"fn":949,"description":950,"org":951,"tags":952,"stars":935,"repoUrl":936,"updatedAt":956},"mcore-cicd","manage CI\u002FCD pipelines for Megatron-LM","CI\u002FCD reference for Megatron-LM. Covers CI pipeline structure, PR scope labels, triggering internal GitLab CI (which force-pushes the current branch to a pull-request\u002FBRANCH ref — always dry-run and verify the destination first; never run against shared or protected branches), and CI failure investigation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[953,954,955],{"name":866,"slug":867,"type":15},{"name":930,"slug":931,"type":15},{"name":869,"slug":870,"type":15},"2026-08-28T14:38:16.959248",{"slug":958,"name":958,"fn":959,"description":960,"org":961,"tags":962,"stars":935,"repoUrl":936,"updatedAt":966},"mcore-create-issue","investigate CI failures and create issues","Investigate a failing GitHub Actions run or job and create a GitHub issue for the failure.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[963,964,965],{"name":838,"slug":839,"type":15},{"name":869,"slug":870,"type":15},{"name":883,"slug":884,"type":15},"2026-07-14T05:25:57.442089",{"slug":968,"name":968,"fn":969,"description":970,"org":971,"tags":972,"stars":935,"repoUrl":936,"updatedAt":979},"mcore-linting-and-formatting","lint and format Megatron-LM code","Linting and formatting for Megatron-LM. Covers running autoformat.sh, tools (ruff, black, isort, pylint, mypy), and code style rules.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[973,976],{"name":974,"slug":975,"type":15},"Best Practices","best-practices",{"name":977,"slug":978,"type":15},"Code Analysis","code-analysis","2026-07-14T05:25:56.18433",{"slug":981,"name":981,"fn":982,"description":983,"org":984,"tags":985,"stars":935,"repoUrl":936,"updatedAt":993},"mcore-migrate-gpt-to-hybrid","migrate Megatron-LM models to HybridModel","Migration guide for moving Megatron Core GPTModel checkpoints, model providers, training commands, and layer mappings to HybridModel, including the mechanical steps for transferring an existing pretrain_gpt.py launch script.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[986,989,992],{"name":987,"slug":988,"type":15},"Machine Learning","machine-learning",{"name":990,"slug":991,"type":15},"Migration","migration",{"name":9,"slug":8,"type":15},"2026-08-21T03:36:57.470256",{"slug":995,"name":995,"fn":996,"description":997,"org":998,"tags":999,"stars":935,"repoUrl":936,"updatedAt":1006},"mcore-onboard-gb200-1node-tests","onboard functional tests for GB200","Onboard 1-node GitHub MR functional tests for GB200 from existing mr-scoped 2-node tests.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1000,1003],{"name":1001,"slug":1002,"type":15},"QA","qa",{"name":1004,"slug":1005,"type":15},"Testing","testing","2026-07-14T05:25:53.673039",{"slug":1008,"name":1008,"fn":1009,"description":1010,"org":1011,"tags":1012,"stars":935,"repoUrl":936,"updatedAt":1017},"mcore-run-on-slurm","launch distributed training jobs on SLURM","How to launch distributed Megatron-LM training jobs on a SLURM cluster. Covers a minimal sbatch skeleton, environment-variable setup for torch.distributed.run, CUDA_DEVICE_MAX_CONNECTIONS rules across hardware and parallelism modes, container conventions, monitoring, and per-rank failure diagnosis.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1013,1014],{"name":930,"slug":931,"type":15},{"name":1015,"slug":1016,"type":15},"Infrastructure","infrastructure","2026-07-14T05:25:49.362534",{"slug":1019,"name":1019,"fn":1020,"description":1021,"org":1022,"tags":1023,"stars":935,"repoUrl":936,"updatedAt":1029},"mcore-split-pr","split pull requests to reduce review load","Split a PR into multiple PRs to reduce the number of required CODEOWNERS reviewer groups.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1024,1027,1028],{"name":1025,"slug":1026,"type":15},"Code Review","code-review",{"name":869,"slug":870,"type":15},{"name":20,"slug":21,"type":15},"2026-08-25T03:29:16.211287",{"slug":1031,"name":1031,"fn":1032,"description":1033,"org":1034,"tags":1035,"stars":935,"repoUrl":936,"updatedAt":1038},"mcore-testing","run and manage Megatron-LM tests","Test system for Megatron-LM. Covers test layout, recipe YAML structure, adding and running unit and functional tests, golden values, marker filters, and CI parity.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1036,1037],{"name":1001,"slug":1002,"type":15},{"name":1004,"slug":1005,"type":15},"2026-07-14T05:25:54.928983",{"slug":1040,"name":1040,"fn":1041,"description":1042,"org":1043,"tags":1044,"stars":935,"repoUrl":936,"updatedAt":1049},"nightly-sync","manage nightly main-to-dev sync workflows","Domain knowledge for the nightly main-to-dev sync workflow. Covers merge strategy, CI architecture, failure investigation, and known issues.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1045,1048],{"name":1046,"slug":1047,"type":15},"Automation","automation",{"name":866,"slug":867,"type":15},"2026-07-30T05:29:03.275638",563]