[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-nvidia-autofl-nvflare-report":3,"mdc--qyk0p9-key":41,"related-repo-nvidia-autofl-nvflare-report":823,"related-org-nvidia-autofl-nvflare-report":914},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":36,"sourceUrl":39,"mdContent":40},"autofl-nvflare-report","generate NVFlare experiment reports","Generate and commit a markdown report after an Auto-FL NVFlare autoresearch experiment has been manually stopped. Use when the user asks to summarize a stopped campaign, report achieved improvements, explain implemented literature-derived ideas and sources, refresh progress plots, capture pasted agent model\u002Feffort\u002Fcost context when available, or commit the final report and progress plot to the current experiment branch.",{"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,20],{"name":13,"slug":14,"type":15},"Reporting","reporting","tag",{"name":17,"slug":18,"type":15},"Automation","automation",{"name":9,"slug":8,"type":15},{"name":21,"slug":22,"type":15},"Engineering","engineering",947,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FNVFlare","2026-07-14T05:36:00.281416",null,266,[29,30,31,32,33,34,35],"decentralized","federated-analytics","federated-computing","federated-learning","pet","privacy-protection","python",{"repoUrl":24,"stars":23,"forks":27,"topics":37,"description":38},[29,30,31,32,33,34,35],"NVIDIA Federated Learning Application Runtime Environment","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FNVFlare\u002Ftree\u002FHEAD\u002Fresearch\u002Fauto-fl-research\u002Fskills\u002Fautofl-nvflare-report","---\nname: autofl-nvflare-report\ndescription: Generate and commit a markdown report after an Auto-FL NVFlare autoresearch experiment has been manually stopped. Use when the user asks to summarize a stopped campaign, report achieved improvements, explain implemented literature-derived ideas and sources, refresh progress plots, capture pasted agent model\u002Feffort\u002Fcost context when available, or commit the final report and progress plot to the current experiment branch.\n---\n\n# Auto-FL NVFlare Report\n\nUse this skill after the human has manually stopped an autoresearch campaign.\n\nDo **not** launch new experiments. The job is to summarize the completed branch from `results.tsv`, existing artifacts, source notes, and any available pasted agent model\u002Feffort\u002Fcost context, then commit the report markdown and refreshed progress plot.\n\n## Workflow\n\n1. Verify context:\n   - Confirm the current branch with `git status -sb`.\n   - If the branch is `main`, do not auto-commit unless the user explicitly asked to commit to `main`.\n   - Confirm `results.tsv` exists and has rows.\n   - Use the human-provided `PYTHON` interpreter when one is specified; do not create virtual environments or install dependencies unless the user explicitly asks.\n   - Preserve unrelated dirty files; stage only the generated report and refreshed progress plot unless the user asks otherwise.\n\n2. Refresh the progress plot:\n\n   ```bash\n   \"${PYTHON:-python3}\" scripts\u002Fplot_progress.py results.tsv --output progress.png\n   ```\n\n   If plotting fails because of local font\u002Fcache paths, retry with writable cache env vars, for example:\n\n   ```bash\n   MPLCONFIGDIR=\u002Ftmp\u002Fmpl-cache XDG_CACHE_HOME=\u002Ftmp\u002Fxdg-cache \\\n     \"${PYTHON:-python3}\" scripts\u002Fplot_progress.py results.tsv --output progress.png\n   ```\n\n3. Capture agent model\u002Feffort\u002Fcost context when available:\n   - Claude Code: `\u002Fmodel`, `\u002Feffort`, and `\u002Fcost` are interactive slash commands and cannot be invoked from a shell or tool call. If the human pasted those outputs into the prompt or saved them to text files, pass the exact text via `--agent-settings`, `--agent-settings-file`, `--agent-cost`, or `--agent-cost-file`.\n   - Claude Code without pasted model\u002Feffort output: pass `--agent-settings \"Agent model\u002Feffort telemetry unavailable in this Claude Code runtime; \u002Fmodel and \u002Feffort are interactive and were not provided to the reporting agent.\"`\n   - Claude Code without pasted cost output: pass `--agent-cost \"Agent cost telemetry unavailable in this Claude Code runtime; \u002Fcost is interactive and was not provided to the reporting agent. Experiment runtime cost is reported from results.tsv.\"`\n   - Codex: if no runtime model\u002Feffort\u002Fcost command is exposed, pass explicit unavailable notes with `--agent-settings` and `--agent-cost`.\n   - Keep this separate from experiment runtime cost. Runtime cost comes from `results.tsv` and measures aggregate candidate execution time, not agent token spend.\n\n4. Generate the report:\n\n   ```bash\n   \"${PYTHON:-python3}\" skills\u002Fautofl-nvflare-report\u002Fscripts\u002Fgenerate_report.py \\\n     --results results.tsv \\\n     --plot progress.png \\\n     --agent-settings-file \u002Ftmp\u002Fautofl-agent-settings.txt \\\n     --agent-cost-file \u002Ftmp\u002Fautofl-agent-cost.txt\n   ```\n\n   If no context files exist, use `--agent-settings \"\u003Csummary>\"` and `--agent-cost \"\u003Csummary>\"` instead.\n   The script prints the report path. By default it writes to `reports\u002F\u003Cbranch>-autoresearch-report.md`.\n\n5. Review the generated report for obvious parsing issues:\n   - best score and baseline are present;\n   - progress plot is embedded as a markdown image and points to the refreshed plot path;\n   - final recommended stack includes exact budget\u002Fargs;\n   - runtime section includes total aggregate runtime and average runtime per candidate;\n   - agent\u002Ftooling context section is present and either contains pasted model\u002Feffort\u002Fcost output or explains why it was unavailable;\n   - literature-derived ideas include source refs from `[src: ...]` markers when present;\n   - the report explicitly distinguishes candidates from reproduced\u002Fkept results.\n\n6. Commit the report and progress plot automatically to the current experiment branch:\n\n   ```bash\n   git add \u003Creport-path> progress.png\n   git commit -m \"Add autoresearch campaign report\"\n   ```\n\n   If a non-default plot path was used, stage that plot path instead of `progress.png`.\n   Do not stage `run_logs\u002F`, NVFlare result directories, generated local caches, or unrelated edits.\n\n## Report Expectations\n\nThe report should lead with an executive summary, then include a technical appendix. It must cover:\n\n- baseline score, best score, absolute and relative lift;\n- embedded progress plot image;\n- best run index, description, commit, budget, runtime, status, and artifact path;\n- major running-best milestones and likely improvement mechanisms;\n- final recommended stack and whether it preserves the current contract or uses an explicit protocol mode such as SCAFFOLD;\n- total aggregate candidate runtime, average runtime per candidate, crash count, and failure notes;\n- agent model\u002Feffort settings and agent\u002Ftooling cost if provided by the human, or explicit unavailable notes;\n- literature-derived ideas, source refs, and whether each helped;\n- null\u002Fworse\u002Funstable ideas that should not be retried;\n- recommended reproduction and next experiment directions.\n",{"data":42,"body":43},{"name":4,"description":6},{"type":44,"children":45},"root",[46,55,61,83,90,753,759,764,817],{"type":47,"tag":48,"props":49,"children":51},"element","h1",{"id":50},"auto-fl-nvflare-report",[52],{"type":53,"value":54},"text","Auto-FL NVFlare Report",{"type":47,"tag":56,"props":57,"children":58},"p",{},[59],{"type":53,"value":60},"Use this skill after the human has manually stopped an autoresearch campaign.",{"type":47,"tag":56,"props":62,"children":63},{},[64,66,72,74,81],{"type":53,"value":65},"Do ",{"type":47,"tag":67,"props":68,"children":69},"strong",{},[70],{"type":53,"value":71},"not",{"type":53,"value":73}," launch new experiments. The job is to summarize the completed branch from ",{"type":47,"tag":75,"props":76,"children":78},"code",{"className":77},[],[79],{"type":53,"value":80},"results.tsv",{"type":53,"value":82},", existing artifacts, source notes, and any available pasted agent model\u002Feffort\u002Fcost context, then commit the report markdown and refreshed progress plot.",{"type":47,"tag":84,"props":85,"children":87},"h2",{"id":86},"workflow",[88],{"type":53,"value":89},"Workflow",{"type":47,"tag":91,"props":92,"children":93},"ol",{},[94,166,337,455,600,651],{"type":47,"tag":95,"props":96,"children":97},"li",{},[98,100],{"type":53,"value":99},"Verify context:",{"type":47,"tag":101,"props":102,"children":103},"ul",{},[104,117,136,148,161],{"type":47,"tag":95,"props":105,"children":106},{},[107,109,115],{"type":53,"value":108},"Confirm the current branch with ",{"type":47,"tag":75,"props":110,"children":112},{"className":111},[],[113],{"type":53,"value":114},"git status -sb",{"type":53,"value":116},".",{"type":47,"tag":95,"props":118,"children":119},{},[120,122,128,130,135],{"type":53,"value":121},"If the branch is ",{"type":47,"tag":75,"props":123,"children":125},{"className":124},[],[126],{"type":53,"value":127},"main",{"type":53,"value":129},", do not auto-commit unless the user explicitly asked to commit to ",{"type":47,"tag":75,"props":131,"children":133},{"className":132},[],[134],{"type":53,"value":127},{"type":53,"value":116},{"type":47,"tag":95,"props":137,"children":138},{},[139,141,146],{"type":53,"value":140},"Confirm ",{"type":47,"tag":75,"props":142,"children":144},{"className":143},[],[145],{"type":53,"value":80},{"type":53,"value":147}," exists and has rows.",{"type":47,"tag":95,"props":149,"children":150},{},[151,153,159],{"type":53,"value":152},"Use the human-provided ",{"type":47,"tag":75,"props":154,"children":156},{"className":155},[],[157],{"type":53,"value":158},"PYTHON",{"type":53,"value":160}," interpreter when one is specified; do not create virtual environments or install dependencies unless the user explicitly asks.",{"type":47,"tag":95,"props":162,"children":163},{},[164],{"type":53,"value":165},"Preserve unrelated dirty files; stage only the generated report and refreshed progress plot unless the user asks otherwise.",{"type":47,"tag":95,"props":167,"children":168},{},[169,171,245,249,251],{"type":53,"value":170},"Refresh the progress plot:",{"type":47,"tag":172,"props":173,"children":178},"pre",{"className":174,"code":175,"language":176,"meta":177,"style":177},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\"${PYTHON:-python3}\" scripts\u002Fplot_progress.py results.tsv --output progress.png\n","bash","",[179],{"type":47,"tag":75,"props":180,"children":181},{"__ignoreMap":177},[182],{"type":47,"tag":183,"props":184,"children":187},"span",{"class":185,"line":186},"line",1,[188,194,200,205,210,215,220,224,230,235,240],{"type":47,"tag":183,"props":189,"children":191},{"style":190},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[192],{"type":53,"value":193},"\"",{"type":47,"tag":183,"props":195,"children":197},{"style":196},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[198],{"type":53,"value":199},"${",{"type":47,"tag":183,"props":201,"children":203},{"style":202},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[204],{"type":53,"value":158},{"type":47,"tag":183,"props":206,"children":207},{"style":196},[208],{"type":53,"value":209},":-",{"type":47,"tag":183,"props":211,"children":212},{"style":202},[213],{"type":53,"value":214},"python3",{"type":47,"tag":183,"props":216,"children":217},{"style":196},[218],{"type":53,"value":219},"}",{"type":47,"tag":183,"props":221,"children":222},{"style":190},[223],{"type":53,"value":193},{"type":47,"tag":183,"props":225,"children":227},{"style":226},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[228],{"type":53,"value":229}," scripts\u002Fplot_progress.py",{"type":47,"tag":183,"props":231,"children":232},{"style":226},[233],{"type":53,"value":234}," results.tsv",{"type":47,"tag":183,"props":236,"children":237},{"style":226},[238],{"type":53,"value":239}," --output",{"type":47,"tag":183,"props":241,"children":242},{"style":226},[243],{"type":53,"value":244}," progress.png\n",{"type":47,"tag":246,"props":247,"children":248},"br",{},[],{"type":53,"value":250},"If plotting fails because of local font\u002Fcache paths, retry with writable cache env vars, for example:",{"type":47,"tag":172,"props":252,"children":254},{"className":174,"code":253,"language":176,"meta":177,"style":177},"MPLCONFIGDIR=\u002Ftmp\u002Fmpl-cache XDG_CACHE_HOME=\u002Ftmp\u002Fxdg-cache \\\n  \"${PYTHON:-python3}\" scripts\u002Fplot_progress.py results.tsv --output progress.png\n",[255],{"type":47,"tag":75,"props":256,"children":257},{"__ignoreMap":177},[258,295],{"type":47,"tag":183,"props":259,"children":260},{"class":185,"line":186},[261,266,271,276,281,285,290],{"type":47,"tag":183,"props":262,"children":263},{"style":202},[264],{"type":53,"value":265},"MPLCONFIGDIR",{"type":47,"tag":183,"props":267,"children":268},{"style":196},[269],{"type":53,"value":270},"=",{"type":47,"tag":183,"props":272,"children":273},{"style":226},[274],{"type":53,"value":275},"\u002Ftmp\u002Fmpl-cache",{"type":47,"tag":183,"props":277,"children":278},{"style":202},[279],{"type":53,"value":280}," XDG_CACHE_HOME",{"type":47,"tag":183,"props":282,"children":283},{"style":196},[284],{"type":53,"value":270},{"type":47,"tag":183,"props":286,"children":287},{"style":226},[288],{"type":53,"value":289},"\u002Ftmp\u002Fxdg-cache",{"type":47,"tag":183,"props":291,"children":292},{"style":190},[293],{"type":53,"value":294}," \\\n",{"type":47,"tag":183,"props":296,"children":298},{"class":185,"line":297},2,[299,304,308,312,316,321,325,329,333],{"type":47,"tag":183,"props":300,"children":301},{"style":196},[302],{"type":53,"value":303},"  \"${",{"type":47,"tag":183,"props":305,"children":306},{"style":202},[307],{"type":53,"value":158},{"type":47,"tag":183,"props":309,"children":310},{"style":196},[311],{"type":53,"value":209},{"type":47,"tag":183,"props":313,"children":314},{"style":202},[315],{"type":53,"value":214},{"type":47,"tag":183,"props":317,"children":318},{"style":196},[319],{"type":53,"value":320},"}\"",{"type":47,"tag":183,"props":322,"children":323},{"style":226},[324],{"type":53,"value":229},{"type":47,"tag":183,"props":326,"children":327},{"style":226},[328],{"type":53,"value":234},{"type":47,"tag":183,"props":330,"children":331},{"style":226},[332],{"type":53,"value":239},{"type":47,"tag":183,"props":334,"children":335},{"style":226},[336],{"type":53,"value":244},{"type":47,"tag":95,"props":338,"children":339},{},[340,342],{"type":53,"value":341},"Capture agent model\u002Feffort\u002Fcost context when available:",{"type":47,"tag":101,"props":343,"children":344},{},[345,403,414,425,443],{"type":47,"tag":95,"props":346,"children":347},{},[348,350,356,358,364,366,372,374,380,381,387,388,394,396,402],{"type":53,"value":349},"Claude Code: ",{"type":47,"tag":75,"props":351,"children":353},{"className":352},[],[354],{"type":53,"value":355},"\u002Fmodel",{"type":53,"value":357},", ",{"type":47,"tag":75,"props":359,"children":361},{"className":360},[],[362],{"type":53,"value":363},"\u002Feffort",{"type":53,"value":365},", and ",{"type":47,"tag":75,"props":367,"children":369},{"className":368},[],[370],{"type":53,"value":371},"\u002Fcost",{"type":53,"value":373}," are interactive slash commands and cannot be invoked from a shell or tool call. If the human pasted those outputs into the prompt or saved them to text files, pass the exact text via ",{"type":47,"tag":75,"props":375,"children":377},{"className":376},[],[378],{"type":53,"value":379},"--agent-settings",{"type":53,"value":357},{"type":47,"tag":75,"props":382,"children":384},{"className":383},[],[385],{"type":53,"value":386},"--agent-settings-file",{"type":53,"value":357},{"type":47,"tag":75,"props":389,"children":391},{"className":390},[],[392],{"type":53,"value":393},"--agent-cost",{"type":53,"value":395},", or ",{"type":47,"tag":75,"props":397,"children":399},{"className":398},[],[400],{"type":53,"value":401},"--agent-cost-file",{"type":53,"value":116},{"type":47,"tag":95,"props":404,"children":405},{},[406,408],{"type":53,"value":407},"Claude Code without pasted model\u002Feffort output: pass ",{"type":47,"tag":75,"props":409,"children":411},{"className":410},[],[412],{"type":53,"value":413},"--agent-settings \"Agent model\u002Feffort telemetry unavailable in this Claude Code runtime; \u002Fmodel and \u002Feffort are interactive and were not provided to the reporting agent.\"",{"type":47,"tag":95,"props":415,"children":416},{},[417,419],{"type":53,"value":418},"Claude Code without pasted cost output: pass ",{"type":47,"tag":75,"props":420,"children":422},{"className":421},[],[423],{"type":53,"value":424},"--agent-cost \"Agent cost telemetry unavailable in this Claude Code runtime; \u002Fcost is interactive and was not provided to the reporting agent. Experiment runtime cost is reported from results.tsv.\"",{"type":47,"tag":95,"props":426,"children":427},{},[428,430,435,437,442],{"type":53,"value":429},"Codex: if no runtime model\u002Feffort\u002Fcost command is exposed, pass explicit unavailable notes with ",{"type":47,"tag":75,"props":431,"children":433},{"className":432},[],[434],{"type":53,"value":379},{"type":53,"value":436}," and ",{"type":47,"tag":75,"props":438,"children":440},{"className":439},[],[441],{"type":53,"value":393},{"type":53,"value":116},{"type":47,"tag":95,"props":444,"children":445},{},[446,448,453],{"type":53,"value":447},"Keep this separate from experiment runtime cost. Runtime cost comes from ",{"type":47,"tag":75,"props":449,"children":451},{"className":450},[],[452],{"type":53,"value":80},{"type":53,"value":454}," and measures aggregate candidate execution time, not agent token spend.",{"type":47,"tag":95,"props":456,"children":457},{},[458,460,573,576,578,584,585,591,593,599],{"type":53,"value":459},"Generate the report:",{"type":47,"tag":172,"props":461,"children":463},{"className":174,"code":462,"language":176,"meta":177,"style":177},"\"${PYTHON:-python3}\" skills\u002Fautofl-nvflare-report\u002Fscripts\u002Fgenerate_report.py \\\n  --results results.tsv \\\n  --plot progress.png \\\n  --agent-settings-file \u002Ftmp\u002Fautofl-agent-settings.txt \\\n  --agent-cost-file \u002Ftmp\u002Fautofl-agent-cost.txt\n",[464],{"type":47,"tag":75,"props":465,"children":466},{"__ignoreMap":177},[467,507,523,541,559],{"type":47,"tag":183,"props":468,"children":469},{"class":185,"line":186},[470,474,478,482,486,490,494,498,503],{"type":47,"tag":183,"props":471,"children":472},{"style":190},[473],{"type":53,"value":193},{"type":47,"tag":183,"props":475,"children":476},{"style":196},[477],{"type":53,"value":199},{"type":47,"tag":183,"props":479,"children":480},{"style":202},[481],{"type":53,"value":158},{"type":47,"tag":183,"props":483,"children":484},{"style":196},[485],{"type":53,"value":209},{"type":47,"tag":183,"props":487,"children":488},{"style":202},[489],{"type":53,"value":214},{"type":47,"tag":183,"props":491,"children":492},{"style":196},[493],{"type":53,"value":219},{"type":47,"tag":183,"props":495,"children":496},{"style":190},[497],{"type":53,"value":193},{"type":47,"tag":183,"props":499,"children":500},{"style":226},[501],{"type":53,"value":502}," skills\u002Fautofl-nvflare-report\u002Fscripts\u002Fgenerate_report.py",{"type":47,"tag":183,"props":504,"children":505},{"style":202},[506],{"type":53,"value":294},{"type":47,"tag":183,"props":508,"children":509},{"class":185,"line":297},[510,515,519],{"type":47,"tag":183,"props":511,"children":512},{"style":226},[513],{"type":53,"value":514},"  --results",{"type":47,"tag":183,"props":516,"children":517},{"style":226},[518],{"type":53,"value":234},{"type":47,"tag":183,"props":520,"children":521},{"style":202},[522],{"type":53,"value":294},{"type":47,"tag":183,"props":524,"children":526},{"class":185,"line":525},3,[527,532,537],{"type":47,"tag":183,"props":528,"children":529},{"style":226},[530],{"type":53,"value":531},"  --plot",{"type":47,"tag":183,"props":533,"children":534},{"style":226},[535],{"type":53,"value":536}," progress.png",{"type":47,"tag":183,"props":538,"children":539},{"style":202},[540],{"type":53,"value":294},{"type":47,"tag":183,"props":542,"children":544},{"class":185,"line":543},4,[545,550,555],{"type":47,"tag":183,"props":546,"children":547},{"style":226},[548],{"type":53,"value":549},"  --agent-settings-file",{"type":47,"tag":183,"props":551,"children":552},{"style":226},[553],{"type":53,"value":554}," \u002Ftmp\u002Fautofl-agent-settings.txt",{"type":47,"tag":183,"props":556,"children":557},{"style":202},[558],{"type":53,"value":294},{"type":47,"tag":183,"props":560,"children":562},{"class":185,"line":561},5,[563,568],{"type":47,"tag":183,"props":564,"children":565},{"style":226},[566],{"type":53,"value":567},"  --agent-cost-file",{"type":47,"tag":183,"props":569,"children":570},{"style":226},[571],{"type":53,"value":572}," \u002Ftmp\u002Fautofl-agent-cost.txt\n",{"type":47,"tag":246,"props":574,"children":575},{},[],{"type":53,"value":577},"If no context files exist, use ",{"type":47,"tag":75,"props":579,"children":581},{"className":580},[],[582],{"type":53,"value":583},"--agent-settings \"\u003Csummary>\"",{"type":53,"value":436},{"type":47,"tag":75,"props":586,"children":588},{"className":587},[],[589],{"type":53,"value":590},"--agent-cost \"\u003Csummary>\"",{"type":53,"value":592}," instead.\nThe script prints the report path. By default it writes to ",{"type":47,"tag":75,"props":594,"children":596},{"className":595},[],[597],{"type":53,"value":598},"reports\u002F\u003Cbranch>-autoresearch-report.md",{"type":53,"value":116},{"type":47,"tag":95,"props":601,"children":602},{},[603,605],{"type":53,"value":604},"Review the generated report for obvious parsing issues:",{"type":47,"tag":101,"props":606,"children":607},{},[608,613,618,623,628,633,646],{"type":47,"tag":95,"props":609,"children":610},{},[611],{"type":53,"value":612},"best score and baseline are present;",{"type":47,"tag":95,"props":614,"children":615},{},[616],{"type":53,"value":617},"progress plot is embedded as a markdown image and points to the refreshed plot path;",{"type":47,"tag":95,"props":619,"children":620},{},[621],{"type":53,"value":622},"final recommended stack includes exact budget\u002Fargs;",{"type":47,"tag":95,"props":624,"children":625},{},[626],{"type":53,"value":627},"runtime section includes total aggregate runtime and average runtime per candidate;",{"type":47,"tag":95,"props":629,"children":630},{},[631],{"type":53,"value":632},"agent\u002Ftooling context section is present and either contains pasted model\u002Feffort\u002Fcost output or explains why it was unavailable;",{"type":47,"tag":95,"props":634,"children":635},{},[636,638,644],{"type":53,"value":637},"literature-derived ideas include source refs from ",{"type":47,"tag":75,"props":639,"children":641},{"className":640},[],[642],{"type":53,"value":643},"[src: ...]",{"type":53,"value":645}," markers when present;",{"type":47,"tag":95,"props":647,"children":648},{},[649],{"type":53,"value":650},"the report explicitly distinguishes candidates from reproduced\u002Fkept results.",{"type":47,"tag":95,"props":652,"children":653},{},[654,656,732,735,737,743,745,751],{"type":53,"value":655},"Commit the report and progress plot automatically to the current experiment branch:",{"type":47,"tag":172,"props":657,"children":659},{"className":174,"code":658,"language":176,"meta":177,"style":177},"git add \u003Creport-path> progress.png\ngit commit -m \"Add autoresearch campaign report\"\n",[660],{"type":47,"tag":75,"props":661,"children":662},{"__ignoreMap":177},[663,700],{"type":47,"tag":183,"props":664,"children":665},{"class":185,"line":186},[666,671,676,681,686,691,696],{"type":47,"tag":183,"props":667,"children":668},{"style":190},[669],{"type":53,"value":670},"git",{"type":47,"tag":183,"props":672,"children":673},{"style":226},[674],{"type":53,"value":675}," add",{"type":47,"tag":183,"props":677,"children":678},{"style":196},[679],{"type":53,"value":680}," \u003C",{"type":47,"tag":183,"props":682,"children":683},{"style":226},[684],{"type":53,"value":685},"report-pat",{"type":47,"tag":183,"props":687,"children":688},{"style":202},[689],{"type":53,"value":690},"h",{"type":47,"tag":183,"props":692,"children":693},{"style":196},[694],{"type":53,"value":695},">",{"type":47,"tag":183,"props":697,"children":698},{"style":226},[699],{"type":53,"value":244},{"type":47,"tag":183,"props":701,"children":702},{"class":185,"line":297},[703,707,712,717,722,727],{"type":47,"tag":183,"props":704,"children":705},{"style":190},[706],{"type":53,"value":670},{"type":47,"tag":183,"props":708,"children":709},{"style":226},[710],{"type":53,"value":711}," commit",{"type":47,"tag":183,"props":713,"children":714},{"style":226},[715],{"type":53,"value":716}," -m",{"type":47,"tag":183,"props":718,"children":719},{"style":196},[720],{"type":53,"value":721}," \"",{"type":47,"tag":183,"props":723,"children":724},{"style":226},[725],{"type":53,"value":726},"Add autoresearch campaign report",{"type":47,"tag":183,"props":728,"children":729},{"style":196},[730],{"type":53,"value":731},"\"\n",{"type":47,"tag":246,"props":733,"children":734},{},[],{"type":53,"value":736},"If a non-default plot path was used, stage that plot path instead of ",{"type":47,"tag":75,"props":738,"children":740},{"className":739},[],[741],{"type":53,"value":742},"progress.png",{"type":53,"value":744},".\nDo not stage ",{"type":47,"tag":75,"props":746,"children":748},{"className":747},[],[749],{"type":53,"value":750},"run_logs\u002F",{"type":53,"value":752},", NVFlare result directories, generated local caches, or unrelated edits.",{"type":47,"tag":84,"props":754,"children":756},{"id":755},"report-expectations",[757],{"type":53,"value":758},"Report Expectations",{"type":47,"tag":56,"props":760,"children":761},{},[762],{"type":53,"value":763},"The report should lead with an executive summary, then include a technical appendix. It must cover:",{"type":47,"tag":101,"props":765,"children":766},{},[767,772,777,782,787,792,797,802,807,812],{"type":47,"tag":95,"props":768,"children":769},{},[770],{"type":53,"value":771},"baseline score, best score, absolute and relative lift;",{"type":47,"tag":95,"props":773,"children":774},{},[775],{"type":53,"value":776},"embedded progress plot image;",{"type":47,"tag":95,"props":778,"children":779},{},[780],{"type":53,"value":781},"best run index, description, commit, budget, runtime, status, and artifact path;",{"type":47,"tag":95,"props":783,"children":784},{},[785],{"type":53,"value":786},"major running-best milestones and likely improvement mechanisms;",{"type":47,"tag":95,"props":788,"children":789},{},[790],{"type":53,"value":791},"final recommended stack and whether it preserves the current contract or uses an explicit protocol mode such as SCAFFOLD;",{"type":47,"tag":95,"props":793,"children":794},{},[795],{"type":53,"value":796},"total aggregate candidate runtime, average runtime per candidate, crash count, and failure notes;",{"type":47,"tag":95,"props":798,"children":799},{},[800],{"type":53,"value":801},"agent model\u002Feffort settings and agent\u002Ftooling cost if provided by the human, or explicit unavailable notes;",{"type":47,"tag":95,"props":803,"children":804},{},[805],{"type":53,"value":806},"literature-derived ideas, source refs, and whether each helped;",{"type":47,"tag":95,"props":808,"children":809},{},[810],{"type":53,"value":811},"null\u002Fworse\u002Funstable ideas that should not be retried;",{"type":47,"tag":95,"props":813,"children":814},{},[815],{"type":53,"value":816},"recommended reproduction and next experiment directions.",{"type":47,"tag":818,"props":819,"children":820},"style",{},[821],{"type":53,"value":822},"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":824,"total":913},[825,838,845,859,872,887,898],{"slug":826,"name":826,"fn":827,"description":828,"org":829,"tags":830,"stars":23,"repoUrl":24,"updatedAt":837},"autofl-nvflare","develop NVFlare Auto-FL experiments","Help coding agents work on an NVFlare-based Auto-FL harness that follows an autoresearch-style loop. Use when the user wants to create, edit, debug, or extend program.md, task folders such as tasks\u002Fcifar10\u002F and tasks\u002Fvlm_med\u002F, task-local job.py, client.py, model.py, shared custom_aggregators.py, mutation policies, results.tsv logging, or coding-agent prompts for a bounded federated-learning research loop. This skill is specifically for NVFlare harness work where the Client API loop, DIFF upload contract, and NUM_STEPS_CURRENT_ROUND metadata must stay intact unless the user explicitly asks for a protocol upgrade.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[831,834,835,836],{"name":832,"slug":833,"type":15},"Agents","agents",{"name":17,"slug":18,"type":15},{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},"2026-07-14T05:36:01.532575",{"slug":4,"name":4,"fn":5,"description":6,"org":839,"tags":840,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[841,842,843,844],{"name":17,"slug":18,"type":15},{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":13,"slug":14,"type":15},{"slug":846,"name":846,"fn":847,"description":848,"org":849,"tags":850,"stars":23,"repoUrl":24,"updatedAt":858},"nvflare-autofl","optimize NVFLARE training jobs","Use for agent-assisted Auto-FL optimization of an existing NVFLARE job in simulation, POC, or production. Do not use for code conversion, diagnosis-only work, or deployment setup.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[851,854,855],{"name":852,"slug":853,"type":15},"Machine Learning","machine-learning",{"name":9,"slug":8,"type":15},{"name":856,"slug":857,"type":15},"Optimization","optimization","2026-07-30T05:26:21.697612",{"slug":860,"name":860,"fn":861,"description":862,"org":863,"tags":864,"stars":23,"repoUrl":24,"updatedAt":871},"nvflare-autofl-report","generate NVFLARE Auto-FL campaign reports","Generate a reproducible final report, literature-outcome synthesis, JSON summary, and refreshed progress plot for a stopped or interrupted NVFLARE Auto-FL campaign.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[865,866,867,868],{"name":852,"slug":853,"type":15},{"name":9,"slug":8,"type":15},{"name":13,"slug":14,"type":15},{"name":869,"slug":870,"type":15},"Simulation","simulation","2026-07-30T05:26:14.661827",{"slug":873,"name":873,"fn":874,"description":875,"org":876,"tags":877,"stars":23,"repoUrl":24,"updatedAt":886},"nvflare-convert-lightning","convert PyTorch Lightning code to NVFLARE","Convert existing PyTorch Lightning training code into an NVFLARE federated job using the Lightning Client API patch, local validation, and job export; do not use for plain PyTorch, other frameworks, deployment, POC\u002Fproduction lifecycle, or experiment workflows.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[878,881,882,883],{"name":879,"slug":880,"type":15},"Data Pipeline","data-pipeline",{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":884,"slug":885,"type":15},"PyTorch","pytorch","2026-07-30T05:26:15.761027",{"slug":888,"name":888,"fn":889,"description":890,"org":891,"tags":892,"stars":23,"repoUrl":24,"updatedAt":897},"nvflare-convert-pytorch","convert PyTorch code to NVFLARE","Convert existing PyTorch training code into an NVFLARE federated job using Client API model exchange, local validation, and job export; do not use for other frameworks, deployment, POC\u002Fproduction lifecycle, or experiment workflows.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[893,894,895,896],{"name":879,"slug":880,"type":15},{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":884,"slug":885,"type":15},"2026-07-30T05:26:20.645495",{"slug":899,"name":899,"fn":900,"description":901,"org":902,"tags":903,"stars":23,"repoUrl":24,"updatedAt":912},"nvflare-diagnose-job","diagnose failed NVFLARE jobs","Use when the user asks why a reported NVFLARE job failure signal occurred: the job failed, stalled, timed out, lost clients, ended with EXECUTION_EXCEPTION, or produced suspicious errors. Diagnose in simulation, POC, or production by collecting bounded evidence and mapping failure patterns to recovery actions.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[904,907,908,909],{"name":905,"slug":906,"type":15},"Debugging","debugging",{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":910,"slug":911,"type":15},"Observability","observability","2026-07-30T05:26:17.665774",10,{"items":915,"total":1067},[916,934,951,962,974,986,999,1011,1024,1035,1049,1058],{"slug":917,"name":917,"fn":918,"description":919,"org":920,"tags":921,"stars":931,"repoUrl":932,"updatedAt":933},"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},[922,925,928],{"name":923,"slug":924,"type":15},"Documentation","documentation",{"name":926,"slug":927,"type":15},"MCP","mcp",{"name":929,"slug":930,"type":15},"Search","search",21777,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FNemoClaw","2026-07-20T06:00:01.461044",{"slug":935,"name":935,"fn":936,"description":937,"org":938,"tags":939,"stars":948,"repoUrl":949,"updatedAt":950},"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},[940,943,946],{"name":941,"slug":942,"type":15},"Containers","containers",{"name":944,"slug":945,"type":15},"Deployment","deployment",{"name":947,"slug":35,"type":15},"Python",17049,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FMegatron-LM","2026-07-27T06:06:11.249662",{"slug":952,"name":952,"fn":953,"description":954,"org":955,"tags":956,"stars":948,"repoUrl":949,"updatedAt":961},"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},[957,960],{"name":958,"slug":959,"type":15},"CI\u002FCD","ci-cd",{"name":944,"slug":945,"type":15},"2026-07-14T05:25:59.97109",{"slug":963,"name":963,"fn":964,"description":965,"org":966,"tags":967,"stars":948,"repoUrl":949,"updatedAt":973},"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},[968,969,970],{"name":958,"slug":959,"type":15},{"name":944,"slug":945,"type":15},{"name":971,"slug":972,"type":15},"GitHub","github","2026-07-27T06:06:12.278222",{"slug":975,"name":975,"fn":976,"description":977,"org":978,"tags":979,"stars":948,"repoUrl":949,"updatedAt":985},"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},[980,981,982],{"name":905,"slug":906,"type":15},{"name":971,"slug":972,"type":15},{"name":983,"slug":984,"type":15},"Triage","triage","2026-07-14T05:25:57.442089",{"slug":987,"name":987,"fn":988,"description":989,"org":990,"tags":991,"stars":948,"repoUrl":949,"updatedAt":998},"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},[992,995],{"name":993,"slug":994,"type":15},"Best Practices","best-practices",{"name":996,"slug":997,"type":15},"Code Analysis","code-analysis","2026-07-14T05:25:56.18433",{"slug":1000,"name":1000,"fn":1001,"description":1002,"org":1003,"tags":1004,"stars":948,"repoUrl":949,"updatedAt":1010},"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.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1005,1006,1009],{"name":852,"slug":853,"type":15},{"name":1007,"slug":1008,"type":15},"Migration","migration",{"name":9,"slug":8,"type":15},"2026-07-17T06:07:11.777011",{"slug":1012,"name":1012,"fn":1013,"description":1014,"org":1015,"tags":1016,"stars":948,"repoUrl":949,"updatedAt":1023},"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},[1017,1020],{"name":1018,"slug":1019,"type":15},"QA","qa",{"name":1021,"slug":1022,"type":15},"Testing","testing","2026-07-14T05:25:53.673039",{"slug":1025,"name":1025,"fn":1026,"description":1027,"org":1028,"tags":1029,"stars":948,"repoUrl":949,"updatedAt":1034},"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},[1030,1031],{"name":944,"slug":945,"type":15},{"name":1032,"slug":1033,"type":15},"Infrastructure","infrastructure","2026-07-14T05:25:49.362534",{"slug":1036,"name":1036,"fn":1037,"description":1038,"org":1039,"tags":1040,"stars":948,"repoUrl":949,"updatedAt":1048},"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},[1041,1044,1045],{"name":1042,"slug":1043,"type":15},"Code Review","code-review",{"name":971,"slug":972,"type":15},{"name":1046,"slug":1047,"type":15},"Pull Requests","pull-requests","2026-07-14T05:26:01.226578",{"slug":1050,"name":1050,"fn":1051,"description":1052,"org":1053,"tags":1054,"stars":948,"repoUrl":949,"updatedAt":1057},"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},[1055,1056],{"name":1018,"slug":1019,"type":15},{"name":1021,"slug":1022,"type":15},"2026-07-14T05:25:54.928983",{"slug":1059,"name":1059,"fn":1060,"description":1061,"org":1062,"tags":1063,"stars":948,"repoUrl":949,"updatedAt":1066},"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},[1064,1065],{"name":17,"slug":18,"type":15},{"name":958,"slug":959,"type":15},"2026-07-30T05:29:03.275638",496]