tribunal-kit 9.2.3 → 9.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (563) hide show
  1. package/.agent/.tribunal/session.jsonl +15 -0
  2. package/.agent/ARCHITECTURE.md +4 -4
  3. package/.agent/agents/agent-shield-auditor.md +18 -0
  4. package/.agent/agents/harness-manager.md +49 -0
  5. package/.agent/agents/human-gate-negotiator.md +22 -0
  6. package/.agent/agents/kernel-scheduler.md +56 -0
  7. package/.agent/agents/memory-archivist.md +37 -0
  8. package/.agent/agents/orchestrator.md +5 -0
  9. package/.agent/agents/project-planner.md +5 -0
  10. package/.agent/agents/security-auditor.md +5 -0
  11. package/.agent/rules/GEMINI.md +1 -1
  12. package/.agent/scripts/_utils.js +1 -1
  13. package/.agent/scripts/checklist.js +1 -1
  14. package/.agent/scripts/context_compiler.js +1 -1
  15. package/.agent/scripts/guardrail_engine.js +1 -1
  16. package/.agent/scripts/harness_manager.js +60 -0
  17. package/.agent/scripts/lint_runner.js +1 -1
  18. package/.agent/scripts/mcp_server.js +181 -0
  19. package/.agent/scripts/memory_archivist.js +97 -0
  20. package/.agent/scripts/memory_consolidator.js +37 -0
  21. package/.agent/scripts/memory_engine.js +61 -21
  22. package/.agent/scripts/pipeline_engine.js +17 -2
  23. package/.agent/scripts/session_logger.js +115 -0
  24. package/.agent/scripts/session_manager.js +10 -0
  25. package/.agent/scripts/swarm_dispatcher.js +74 -1
  26. package/.agent/scripts/syscall_registry.js +105 -0
  27. package/.agent/scripts/test_runner.js +1 -1
  28. package/.agent/scripts/verify_all.js +2 -2
  29. package/.agent/skill_topic_map.json +28 -1
  30. package/.agent/skills/agent-syscall-guidelines/SKILL.md +25 -0
  31. package/.agent/skills/agentic-workflows-2026/SKILL.md +8 -0
  32. package/.agent/skills/agentshield-security/SKILL.md +26 -0
  33. package/.agent/skills/context-engineering-pro/SKILL.md +7 -0
  34. package/.agent/skills/fabel-protocol/SKILL.md +5 -0
  35. package/.agent/skills/graph-engineering/SKILL.md +28 -0
  36. package/.agent/skills/harness-protocol/SKILL.md +8 -0
  37. package/.agent/skills/hf-cli/SKILL.md +239 -0
  38. package/.agent/skills/hf-cloud-aws-context-discovery/SKILL.md +74 -0
  39. package/.agent/skills/hf-cloud-python-env-setup/SKILL.md +90 -0
  40. package/.agent/skills/hf-cloud-python-env-setup/requirements.txt +17 -0
  41. package/.agent/skills/hf-cloud-python-env-setup/scripts/check_versions.py +29 -0
  42. package/.agent/skills/hf-cloud-python-env-setup/scripts/setup_env.py +143 -0
  43. package/.agent/skills/hf-cloud-sagemaker-deployment-planner/SKILL.md +90 -0
  44. package/.agent/skills/hf-cloud-sagemaker-iam-preflight/SKILL.md +102 -0
  45. package/.agent/skills/hf-cloud-sagemaker-iam-preflight/references/minimum-permissions.json +47 -0
  46. package/.agent/skills/hf-cloud-sagemaker-iam-preflight/references/trust-policy.json +12 -0
  47. package/.agent/skills/hf-cloud-sagemaker-iam-preflight/scripts/check_role.py +184 -0
  48. package/.agent/skills/hf-cloud-sagemaker-iam-preflight/scripts/create_role.py +118 -0
  49. package/.agent/skills/hf-cloud-sagemaker-production-defaults/SKILL.md +419 -0
  50. package/.agent/skills/hf-cloud-sagemaker-production-defaults/references/deployment-template.md +59 -0
  51. package/.agent/skills/hf-cloud-sagemaker-production-defaults/scripts/_common.py +148 -0
  52. package/.agent/skills/hf-cloud-sagemaker-production-defaults/scripts/deploy.py +327 -0
  53. package/.agent/skills/hf-cloud-sagemaker-production-defaults/scripts/deploy_async.py +434 -0
  54. package/.agent/skills/hf-cloud-sagemaker-production-defaults/scripts/deploy_ic.py +506 -0
  55. package/.agent/skills/hf-cloud-sagemaker-production-defaults/scripts/invoke_endpoint.py +180 -0
  56. package/.agent/skills/hf-cloud-sagemaker-production-defaults/scripts/teardown.py +246 -0
  57. package/.agent/skills/hf-cloud-serving-image-selection/SKILL.md +220 -0
  58. package/.agent/skills/hf-cloud-serving-image-selection/references/model-to-image.md +111 -0
  59. package/.agent/skills/hf-cloud-serving-image-selection/scripts/mirror_image.py +145 -0
  60. package/.agent/skills/hf-mem/SKILL.md +79 -0
  61. package/.agent/skills/huggingface-best/SKILL.md +134 -0
  62. package/.agent/skills/huggingface-community-evals/SKILL.md +207 -0
  63. package/.agent/skills/huggingface-community-evals/examples/.env.example +3 -0
  64. package/.agent/skills/huggingface-community-evals/examples/USAGE_EXAMPLES.md +101 -0
  65. package/.agent/skills/huggingface-community-evals/scripts/inspect_eval_uv.py +104 -0
  66. package/.agent/skills/huggingface-community-evals/scripts/inspect_vllm_uv.py +306 -0
  67. package/.agent/skills/huggingface-community-evals/scripts/lighteval_vllm_uv.py +297 -0
  68. package/.agent/skills/huggingface-datasets/SKILL.md +107 -0
  69. package/.agent/skills/huggingface-gradio/SKILL.md +298 -0
  70. package/.agent/skills/huggingface-gradio/examples.md +613 -0
  71. package/.agent/skills/huggingface-llm-trainer/SKILL.md +738 -0
  72. package/.agent/skills/huggingface-llm-trainer/references/gguf_conversion.md +296 -0
  73. package/.agent/skills/huggingface-llm-trainer/references/hardware_guide.md +283 -0
  74. package/.agent/skills/huggingface-llm-trainer/references/hub_saving.md +364 -0
  75. package/.agent/skills/huggingface-llm-trainer/references/local_training_macos.md +231 -0
  76. package/.agent/skills/huggingface-llm-trainer/references/reliability_principles.md +371 -0
  77. package/.agent/skills/huggingface-llm-trainer/references/trackio_guide.md +191 -0
  78. package/.agent/skills/huggingface-llm-trainer/references/training_methods.md +150 -0
  79. package/.agent/skills/huggingface-llm-trainer/references/training_patterns.md +203 -0
  80. package/.agent/skills/huggingface-llm-trainer/references/troubleshooting.md +282 -0
  81. package/.agent/skills/huggingface-llm-trainer/references/unsloth.md +313 -0
  82. package/.agent/skills/huggingface-llm-trainer/scripts/convert_to_gguf.py +424 -0
  83. package/.agent/skills/huggingface-llm-trainer/scripts/dataset_inspector.py +417 -0
  84. package/.agent/skills/huggingface-llm-trainer/scripts/estimate_cost.py +150 -0
  85. package/.agent/skills/huggingface-llm-trainer/scripts/hf_benchmarks.py +659 -0
  86. package/.agent/skills/huggingface-llm-trainer/scripts/train_dpo_example.py +106 -0
  87. package/.agent/skills/huggingface-llm-trainer/scripts/train_grpo_example.py +89 -0
  88. package/.agent/skills/huggingface-llm-trainer/scripts/train_sft_example.py +122 -0
  89. package/.agent/skills/huggingface-llm-trainer/scripts/unsloth_sft_example.py +512 -0
  90. package/.agent/skills/huggingface-local-models/SKILL.md +113 -0
  91. package/.agent/skills/huggingface-local-models/references/hardware.md +38 -0
  92. package/.agent/skills/huggingface-local-models/references/hub-discovery.md +178 -0
  93. package/.agent/skills/huggingface-local-models/references/quantization.md +256 -0
  94. package/.agent/skills/huggingface-lora-space-builder/SKILL.md +394 -0
  95. package/.agent/skills/huggingface-lora-space-builder/references/adapting-to-the-lora.md +113 -0
  96. package/.agent/skills/huggingface-lora-space-builder/references/base-models/krea-2.md +63 -0
  97. package/.agent/skills/huggingface-lora-space-builder/references/base-models/ltx.md +205 -0
  98. package/.agent/skills/huggingface-lora-space-builder/references/base-models/qwen-image.md +144 -0
  99. package/.agent/skills/huggingface-lora-space-builder/references/creative-mode.md +262 -0
  100. package/.agent/skills/huggingface-lora-space-builder/references/tasks.md +124 -0
  101. package/.agent/skills/huggingface-lora-space-builder/references/zerogpu-and-publishing.md +196 -0
  102. package/.agent/skills/huggingface-paper-publisher/SKILL.md +624 -0
  103. package/.agent/skills/huggingface-paper-publisher/examples/example_usage.md +326 -0
  104. package/.agent/skills/huggingface-paper-publisher/references/quick_reference.md +216 -0
  105. package/.agent/skills/huggingface-paper-publisher/scripts/paper_manager.py +606 -0
  106. package/.agent/skills/huggingface-paper-publisher/templates/arxiv.md +299 -0
  107. package/.agent/skills/huggingface-paper-publisher/templates/ml-report.md +358 -0
  108. package/.agent/skills/huggingface-paper-publisher/templates/modern.md +319 -0
  109. package/.agent/skills/huggingface-paper-publisher/templates/standard.md +201 -0
  110. package/.agent/skills/huggingface-papers/SKILL.md +239 -0
  111. package/.agent/skills/huggingface-spaces/README.md +9 -0
  112. package/.agent/skills/huggingface-spaces/SKILL.md +242 -0
  113. package/.agent/skills/huggingface-spaces/references/3d-cuda-extensions.md +109 -0
  114. package/.agent/skills/huggingface-spaces/references/3d-generation.md +98 -0
  115. package/.agent/skills/huggingface-spaces/references/3d-gsplat.md +53 -0
  116. package/.agent/skills/huggingface-spaces/references/3d-models.md +227 -0
  117. package/.agent/skills/huggingface-spaces/references/3d-outputs.md +114 -0
  118. package/.agent/skills/huggingface-spaces/references/buckets.md +89 -0
  119. package/.agent/skills/huggingface-spaces/references/debugging.md +236 -0
  120. package/.agent/skills/huggingface-spaces/references/gradio.md +200 -0
  121. package/.agent/skills/huggingface-spaces/references/grants.md +63 -0
  122. package/.agent/skills/huggingface-spaces/references/inference-providers.md +97 -0
  123. package/.agent/skills/huggingface-spaces/references/known-errors.md +232 -0
  124. package/.agent/skills/huggingface-spaces/references/requirements.md +169 -0
  125. package/.agent/skills/huggingface-spaces/references/zerogpu.md +349 -0
  126. package/.agent/skills/huggingface-tool-builder/SKILL.md +120 -0
  127. package/.agent/skills/huggingface-tool-builder/references/baseline_hf_api.py +57 -0
  128. package/.agent/skills/huggingface-tool-builder/references/baseline_hf_api.sh +40 -0
  129. package/.agent/skills/huggingface-tool-builder/references/baseline_hf_api.tsx +57 -0
  130. package/.agent/skills/huggingface-tool-builder/references/find_models_by_paper.sh +230 -0
  131. package/.agent/skills/huggingface-tool-builder/references/hf_enrich_models.sh +96 -0
  132. package/.agent/skills/huggingface-tool-builder/references/hf_model_card_frontmatter.sh +188 -0
  133. package/.agent/skills/huggingface-tool-builder/references/hf_model_papers_auth.sh +171 -0
  134. package/.agent/skills/huggingface-trackio/SKILL.md +142 -0
  135. package/.agent/skills/huggingface-trackio/references/alerts.md +196 -0
  136. package/.agent/skills/huggingface-trackio/references/logging_metrics.md +212 -0
  137. package/.agent/skills/huggingface-trackio/references/retrieving_metrics.md +251 -0
  138. package/.agent/skills/huggingface-vision-trainer/SKILL.md +593 -0
  139. package/.agent/skills/huggingface-vision-trainer/references/finetune_sam2_trainer.md +254 -0
  140. package/.agent/skills/huggingface-vision-trainer/references/hub_saving.md +618 -0
  141. package/.agent/skills/huggingface-vision-trainer/references/image_classification_training_notebook.md +279 -0
  142. package/.agent/skills/huggingface-vision-trainer/references/object_detection_training_notebook.md +700 -0
  143. package/.agent/skills/huggingface-vision-trainer/references/reliability_principles.md +310 -0
  144. package/.agent/skills/huggingface-vision-trainer/references/timm_trainer.md +91 -0
  145. package/.agent/skills/huggingface-vision-trainer/scripts/dataset_inspector.py +814 -0
  146. package/.agent/skills/huggingface-vision-trainer/scripts/estimate_cost.py +217 -0
  147. package/.agent/skills/huggingface-vision-trainer/scripts/image_classification_training.py +383 -0
  148. package/.agent/skills/huggingface-vision-trainer/scripts/object_detection_training.py +710 -0
  149. package/.agent/skills/huggingface-vision-trainer/scripts/sam_segmentation_training.py +382 -0
  150. package/.agent/skills/huggingface-zerogpu/SKILL.md +289 -0
  151. package/.agent/skills/huggingface-zerogpu/references/concurrency.md +79 -0
  152. package/.agent/skills/huggingface-zerogpu/references/cuda-and-deps.md +66 -0
  153. package/.agent/skills/huggingface-zerogpu/references/how-quota-works.md +74 -0
  154. package/.agent/skills/huggingface-zerogpu/references/how-zerogpu-works.md +50 -0
  155. package/.agent/skills/human-gate-negotiation/SKILL.md +30 -0
  156. package/.agent/skills/intelligent-routing/SKILL.md +10 -4
  157. package/.agent/skills/semantic-filesystem-navigation/SKILL.md +24 -0
  158. package/.agent/skills/session-log-interrogation/SKILL.md +29 -0
  159. package/.agent/skills/subagent-driven-development/SKILL.md +32 -0
  160. package/.agent/skills/systematic-debugging/SKILL.md +5 -0
  161. package/.agent/skills/train-sentence-transformers/SKILL.md +109 -0
  162. package/.agent/skills/train-sentence-transformers/references/base_model_selection.md +79 -0
  163. package/.agent/skills/train-sentence-transformers/references/dataset_formats.md +128 -0
  164. package/.agent/skills/train-sentence-transformers/references/evaluators_cross_encoder.md +116 -0
  165. package/.agent/skills/train-sentence-transformers/references/evaluators_multi_vector_encoder.md +101 -0
  166. package/.agent/skills/train-sentence-transformers/references/evaluators_sentence_transformer.md +151 -0
  167. package/.agent/skills/train-sentence-transformers/references/evaluators_sparse_encoder.md +121 -0
  168. package/.agent/skills/train-sentence-transformers/references/hardware_guide.md +105 -0
  169. package/.agent/skills/train-sentence-transformers/references/hf_jobs_execution.md +173 -0
  170. package/.agent/skills/train-sentence-transformers/references/losses_cross_encoder.md +137 -0
  171. package/.agent/skills/train-sentence-transformers/references/losses_multi_vector_encoder.md +100 -0
  172. package/.agent/skills/train-sentence-transformers/references/losses_sentence_transformer.md +246 -0
  173. package/.agent/skills/train-sentence-transformers/references/losses_sparse_encoder.md +106 -0
  174. package/.agent/skills/train-sentence-transformers/references/model_architectures.md +178 -0
  175. package/.agent/skills/train-sentence-transformers/references/prompts_and_instructions.md +160 -0
  176. package/.agent/skills/train-sentence-transformers/references/training_args.md +270 -0
  177. package/.agent/skills/train-sentence-transformers/references/troubleshooting.md +225 -0
  178. package/.agent/skills/train-sentence-transformers/scripts/mine_hard_negatives.py +199 -0
  179. package/.agent/skills/train-sentence-transformers/scripts/train_cross_encoder_distillation_example.py +254 -0
  180. package/.agent/skills/train-sentence-transformers/scripts/train_cross_encoder_example.py +253 -0
  181. package/.agent/skills/train-sentence-transformers/scripts/train_cross_encoder_listwise_example.py +282 -0
  182. package/.agent/skills/train-sentence-transformers/scripts/train_multi_vector_encoder_example.py +240 -0
  183. package/.agent/skills/train-sentence-transformers/scripts/train_sentence_transformer_distillation_example.py +303 -0
  184. package/.agent/skills/train-sentence-transformers/scripts/train_sentence_transformer_example.py +227 -0
  185. package/.agent/skills/train-sentence-transformers/scripts/train_sentence_transformer_make_multilingual_example.py +308 -0
  186. package/.agent/skills/train-sentence-transformers/scripts/train_sentence_transformer_matryoshka_example.py +212 -0
  187. package/.agent/skills/train-sentence-transformers/scripts/train_sentence_transformer_multi_dataset_example.py +258 -0
  188. package/.agent/skills/train-sentence-transformers/scripts/train_sentence_transformer_static_embedding_example.py +273 -0
  189. package/.agent/skills/train-sentence-transformers/scripts/train_sentence_transformer_with_lora_example.py +275 -0
  190. package/.agent/skills/train-sentence-transformers/scripts/train_sparse_encoder_distillation_example.py +262 -0
  191. package/.agent/skills/train-sentence-transformers/scripts/train_sparse_encoder_example.py +237 -0
  192. package/.agent/skills/transformers-js/SKILL.md +692 -0
  193. package/.agent/skills/transformers-js/references/CACHE.md +339 -0
  194. package/.agent/skills/transformers-js/references/CONFIGURATION.md +438 -0
  195. package/.agent/skills/transformers-js/references/EXAMPLES.md +620 -0
  196. package/.agent/skills/transformers-js/references/MODEL_ARCHITECTURES.md +167 -0
  197. package/.agent/skills/transformers-js/references/MODEL_REGISTRY.md +197 -0
  198. package/.agent/skills/transformers-js/references/PIPELINE_OPTIONS.md +557 -0
  199. package/.agent/skills/transformers-js/references/TEXT_GENERATION.md +315 -0
  200. package/.agent/skills/tribunal-instincts-memory/SKILL.md +31 -0
  201. package/.agent/skills/trl-training/SKILL.md +318 -0
  202. package/.agent/workflows/assimilate.md +21 -0
  203. package/.agent/workflows/audit.md +5 -0
  204. package/.agent/workflows/generate.md +5 -0
  205. package/.agent/workflows/htop.md +22 -0
  206. package/.agent/workflows/marathon.md +5 -0
  207. package/.agent/workflows/resume.md +20 -0
  208. package/.agent/workflows/team-mode.md +22 -0
  209. package/.agents/skills/agent-syscall-guidelines/SKILL.md +25 -0
  210. package/.agents/skills/agentic-workflows-2026/SKILL.md +8 -0
  211. package/.agents/skills/agentshield-security/SKILL.md +26 -0
  212. package/.agents/skills/context-engineering-pro/SKILL.md +7 -0
  213. package/.agents/skills/fabel-protocol/SKILL.md +5 -0
  214. package/.agents/skills/graph-engineering/SKILL.md +28 -0
  215. package/.agents/skills/harness-protocol/SKILL.md +8 -0
  216. package/.agents/skills/hf-cli/SKILL.md +239 -0
  217. package/.agents/skills/hf-cloud-aws-context-discovery/SKILL.md +74 -0
  218. package/.agents/skills/hf-cloud-python-env-setup/SKILL.md +90 -0
  219. package/.agents/skills/hf-cloud-python-env-setup/requirements.txt +17 -0
  220. package/.agents/skills/hf-cloud-python-env-setup/scripts/check_versions.py +29 -0
  221. package/.agents/skills/hf-cloud-python-env-setup/scripts/setup_env.py +143 -0
  222. package/.agents/skills/hf-cloud-sagemaker-deployment-planner/SKILL.md +90 -0
  223. package/.agents/skills/hf-cloud-sagemaker-iam-preflight/SKILL.md +102 -0
  224. package/.agents/skills/hf-cloud-sagemaker-iam-preflight/references/minimum-permissions.json +47 -0
  225. package/.agents/skills/hf-cloud-sagemaker-iam-preflight/references/trust-policy.json +12 -0
  226. package/.agents/skills/hf-cloud-sagemaker-iam-preflight/scripts/check_role.py +184 -0
  227. package/.agents/skills/hf-cloud-sagemaker-iam-preflight/scripts/create_role.py +118 -0
  228. package/.agents/skills/hf-cloud-sagemaker-production-defaults/SKILL.md +419 -0
  229. package/.agents/skills/hf-cloud-sagemaker-production-defaults/references/deployment-template.md +59 -0
  230. package/.agents/skills/hf-cloud-sagemaker-production-defaults/scripts/_common.py +148 -0
  231. package/.agents/skills/hf-cloud-sagemaker-production-defaults/scripts/deploy.py +327 -0
  232. package/.agents/skills/hf-cloud-sagemaker-production-defaults/scripts/deploy_async.py +434 -0
  233. package/.agents/skills/hf-cloud-sagemaker-production-defaults/scripts/deploy_ic.py +506 -0
  234. package/.agents/skills/hf-cloud-sagemaker-production-defaults/scripts/invoke_endpoint.py +180 -0
  235. package/.agents/skills/hf-cloud-sagemaker-production-defaults/scripts/teardown.py +246 -0
  236. package/.agents/skills/hf-cloud-serving-image-selection/SKILL.md +220 -0
  237. package/.agents/skills/hf-cloud-serving-image-selection/references/model-to-image.md +111 -0
  238. package/.agents/skills/hf-cloud-serving-image-selection/scripts/mirror_image.py +145 -0
  239. package/.agents/skills/hf-mem/SKILL.md +79 -0
  240. package/.agents/skills/huggingface-best/SKILL.md +134 -0
  241. package/.agents/skills/huggingface-community-evals/SKILL.md +207 -0
  242. package/.agents/skills/huggingface-community-evals/examples/.env.example +3 -0
  243. package/.agents/skills/huggingface-community-evals/examples/USAGE_EXAMPLES.md +101 -0
  244. package/.agents/skills/huggingface-community-evals/scripts/inspect_eval_uv.py +104 -0
  245. package/.agents/skills/huggingface-community-evals/scripts/inspect_vllm_uv.py +306 -0
  246. package/.agents/skills/huggingface-community-evals/scripts/lighteval_vllm_uv.py +297 -0
  247. package/.agents/skills/huggingface-datasets/SKILL.md +107 -0
  248. package/.agents/skills/huggingface-gradio/SKILL.md +298 -0
  249. package/.agents/skills/huggingface-gradio/examples.md +613 -0
  250. package/.agents/skills/huggingface-llm-trainer/SKILL.md +738 -0
  251. package/.agents/skills/huggingface-llm-trainer/references/gguf_conversion.md +296 -0
  252. package/.agents/skills/huggingface-llm-trainer/references/hardware_guide.md +283 -0
  253. package/.agents/skills/huggingface-llm-trainer/references/hub_saving.md +364 -0
  254. package/.agents/skills/huggingface-llm-trainer/references/local_training_macos.md +231 -0
  255. package/.agents/skills/huggingface-llm-trainer/references/reliability_principles.md +371 -0
  256. package/.agents/skills/huggingface-llm-trainer/references/trackio_guide.md +191 -0
  257. package/.agents/skills/huggingface-llm-trainer/references/training_methods.md +150 -0
  258. package/.agents/skills/huggingface-llm-trainer/references/training_patterns.md +203 -0
  259. package/.agents/skills/huggingface-llm-trainer/references/troubleshooting.md +282 -0
  260. package/.agents/skills/huggingface-llm-trainer/references/unsloth.md +313 -0
  261. package/.agents/skills/huggingface-llm-trainer/scripts/convert_to_gguf.py +424 -0
  262. package/.agents/skills/huggingface-llm-trainer/scripts/dataset_inspector.py +417 -0
  263. package/.agents/skills/huggingface-llm-trainer/scripts/estimate_cost.py +150 -0
  264. package/.agents/skills/huggingface-llm-trainer/scripts/hf_benchmarks.py +659 -0
  265. package/.agents/skills/huggingface-llm-trainer/scripts/train_dpo_example.py +106 -0
  266. package/.agents/skills/huggingface-llm-trainer/scripts/train_grpo_example.py +89 -0
  267. package/.agents/skills/huggingface-llm-trainer/scripts/train_sft_example.py +122 -0
  268. package/.agents/skills/huggingface-llm-trainer/scripts/unsloth_sft_example.py +512 -0
  269. package/.agents/skills/huggingface-local-models/SKILL.md +113 -0
  270. package/.agents/skills/huggingface-local-models/references/hardware.md +38 -0
  271. package/.agents/skills/huggingface-local-models/references/hub-discovery.md +178 -0
  272. package/.agents/skills/huggingface-local-models/references/quantization.md +256 -0
  273. package/.agents/skills/huggingface-lora-space-builder/SKILL.md +394 -0
  274. package/.agents/skills/huggingface-lora-space-builder/references/adapting-to-the-lora.md +113 -0
  275. package/.agents/skills/huggingface-lora-space-builder/references/base-models/krea-2.md +63 -0
  276. package/.agents/skills/huggingface-lora-space-builder/references/base-models/ltx.md +205 -0
  277. package/.agents/skills/huggingface-lora-space-builder/references/base-models/qwen-image.md +144 -0
  278. package/.agents/skills/huggingface-lora-space-builder/references/creative-mode.md +262 -0
  279. package/.agents/skills/huggingface-lora-space-builder/references/tasks.md +124 -0
  280. package/.agents/skills/huggingface-lora-space-builder/references/zerogpu-and-publishing.md +196 -0
  281. package/.agents/skills/huggingface-paper-publisher/SKILL.md +624 -0
  282. package/.agents/skills/huggingface-paper-publisher/examples/example_usage.md +326 -0
  283. package/.agents/skills/huggingface-paper-publisher/references/quick_reference.md +216 -0
  284. package/.agents/skills/huggingface-paper-publisher/scripts/paper_manager.py +606 -0
  285. package/.agents/skills/huggingface-paper-publisher/templates/arxiv.md +299 -0
  286. package/.agents/skills/huggingface-paper-publisher/templates/ml-report.md +358 -0
  287. package/.agents/skills/huggingface-paper-publisher/templates/modern.md +319 -0
  288. package/.agents/skills/huggingface-paper-publisher/templates/standard.md +201 -0
  289. package/.agents/skills/huggingface-papers/SKILL.md +239 -0
  290. package/.agents/skills/huggingface-spaces/README.md +9 -0
  291. package/.agents/skills/huggingface-spaces/SKILL.md +242 -0
  292. package/.agents/skills/huggingface-spaces/references/3d-cuda-extensions.md +109 -0
  293. package/.agents/skills/huggingface-spaces/references/3d-generation.md +98 -0
  294. package/.agents/skills/huggingface-spaces/references/3d-gsplat.md +53 -0
  295. package/.agents/skills/huggingface-spaces/references/3d-models.md +227 -0
  296. package/.agents/skills/huggingface-spaces/references/3d-outputs.md +114 -0
  297. package/.agents/skills/huggingface-spaces/references/buckets.md +89 -0
  298. package/.agents/skills/huggingface-spaces/references/debugging.md +236 -0
  299. package/.agents/skills/huggingface-spaces/references/gradio.md +200 -0
  300. package/.agents/skills/huggingface-spaces/references/grants.md +63 -0
  301. package/.agents/skills/huggingface-spaces/references/inference-providers.md +97 -0
  302. package/.agents/skills/huggingface-spaces/references/known-errors.md +232 -0
  303. package/.agents/skills/huggingface-spaces/references/requirements.md +169 -0
  304. package/.agents/skills/huggingface-spaces/references/zerogpu.md +349 -0
  305. package/.agents/skills/huggingface-tool-builder/SKILL.md +120 -0
  306. package/.agents/skills/huggingface-tool-builder/references/baseline_hf_api.py +57 -0
  307. package/.agents/skills/huggingface-tool-builder/references/baseline_hf_api.sh +40 -0
  308. package/.agents/skills/huggingface-tool-builder/references/baseline_hf_api.tsx +57 -0
  309. package/.agents/skills/huggingface-tool-builder/references/find_models_by_paper.sh +230 -0
  310. package/.agents/skills/huggingface-tool-builder/references/hf_enrich_models.sh +96 -0
  311. package/.agents/skills/huggingface-tool-builder/references/hf_model_card_frontmatter.sh +188 -0
  312. package/.agents/skills/huggingface-tool-builder/references/hf_model_papers_auth.sh +171 -0
  313. package/.agents/skills/huggingface-trackio/SKILL.md +142 -0
  314. package/.agents/skills/huggingface-trackio/references/alerts.md +196 -0
  315. package/.agents/skills/huggingface-trackio/references/logging_metrics.md +212 -0
  316. package/.agents/skills/huggingface-trackio/references/retrieving_metrics.md +251 -0
  317. package/.agents/skills/huggingface-vision-trainer/SKILL.md +593 -0
  318. package/.agents/skills/huggingface-vision-trainer/references/finetune_sam2_trainer.md +254 -0
  319. package/.agents/skills/huggingface-vision-trainer/references/hub_saving.md +618 -0
  320. package/.agents/skills/huggingface-vision-trainer/references/image_classification_training_notebook.md +279 -0
  321. package/.agents/skills/huggingface-vision-trainer/references/object_detection_training_notebook.md +700 -0
  322. package/.agents/skills/huggingface-vision-trainer/references/reliability_principles.md +310 -0
  323. package/.agents/skills/huggingface-vision-trainer/references/timm_trainer.md +91 -0
  324. package/.agents/skills/huggingface-vision-trainer/scripts/dataset_inspector.py +814 -0
  325. package/.agents/skills/huggingface-vision-trainer/scripts/estimate_cost.py +217 -0
  326. package/.agents/skills/huggingface-vision-trainer/scripts/image_classification_training.py +383 -0
  327. package/.agents/skills/huggingface-vision-trainer/scripts/object_detection_training.py +710 -0
  328. package/.agents/skills/huggingface-vision-trainer/scripts/sam_segmentation_training.py +382 -0
  329. package/.agents/skills/huggingface-zerogpu/SKILL.md +289 -0
  330. package/.agents/skills/huggingface-zerogpu/references/concurrency.md +79 -0
  331. package/.agents/skills/huggingface-zerogpu/references/cuda-and-deps.md +66 -0
  332. package/.agents/skills/huggingface-zerogpu/references/how-quota-works.md +74 -0
  333. package/.agents/skills/huggingface-zerogpu/references/how-zerogpu-works.md +50 -0
  334. package/.agents/skills/human-gate-negotiation/SKILL.md +30 -0
  335. package/.agents/skills/intelligent-routing/SKILL.md +10 -4
  336. package/.agents/skills/semantic-filesystem-navigation/SKILL.md +24 -0
  337. package/.agents/skills/session-log-interrogation/SKILL.md +29 -0
  338. package/.agents/skills/subagent-driven-development/SKILL.md +32 -0
  339. package/.agents/skills/systematic-debugging/SKILL.md +5 -0
  340. package/.agents/skills/train-sentence-transformers/SKILL.md +109 -0
  341. package/.agents/skills/train-sentence-transformers/references/base_model_selection.md +79 -0
  342. package/.agents/skills/train-sentence-transformers/references/dataset_formats.md +128 -0
  343. package/.agents/skills/train-sentence-transformers/references/evaluators_cross_encoder.md +116 -0
  344. package/.agents/skills/train-sentence-transformers/references/evaluators_multi_vector_encoder.md +101 -0
  345. package/.agents/skills/train-sentence-transformers/references/evaluators_sentence_transformer.md +151 -0
  346. package/.agents/skills/train-sentence-transformers/references/evaluators_sparse_encoder.md +121 -0
  347. package/.agents/skills/train-sentence-transformers/references/hardware_guide.md +105 -0
  348. package/.agents/skills/train-sentence-transformers/references/hf_jobs_execution.md +173 -0
  349. package/.agents/skills/train-sentence-transformers/references/losses_cross_encoder.md +137 -0
  350. package/.agents/skills/train-sentence-transformers/references/losses_multi_vector_encoder.md +100 -0
  351. package/.agents/skills/train-sentence-transformers/references/losses_sentence_transformer.md +246 -0
  352. package/.agents/skills/train-sentence-transformers/references/losses_sparse_encoder.md +106 -0
  353. package/.agents/skills/train-sentence-transformers/references/model_architectures.md +178 -0
  354. package/.agents/skills/train-sentence-transformers/references/prompts_and_instructions.md +160 -0
  355. package/.agents/skills/train-sentence-transformers/references/training_args.md +270 -0
  356. package/.agents/skills/train-sentence-transformers/references/troubleshooting.md +225 -0
  357. package/.agents/skills/train-sentence-transformers/scripts/mine_hard_negatives.py +199 -0
  358. package/.agents/skills/train-sentence-transformers/scripts/train_cross_encoder_distillation_example.py +254 -0
  359. package/.agents/skills/train-sentence-transformers/scripts/train_cross_encoder_example.py +253 -0
  360. package/.agents/skills/train-sentence-transformers/scripts/train_cross_encoder_listwise_example.py +282 -0
  361. package/.agents/skills/train-sentence-transformers/scripts/train_multi_vector_encoder_example.py +240 -0
  362. package/.agents/skills/train-sentence-transformers/scripts/train_sentence_transformer_distillation_example.py +303 -0
  363. package/.agents/skills/train-sentence-transformers/scripts/train_sentence_transformer_example.py +227 -0
  364. package/.agents/skills/train-sentence-transformers/scripts/train_sentence_transformer_make_multilingual_example.py +308 -0
  365. package/.agents/skills/train-sentence-transformers/scripts/train_sentence_transformer_matryoshka_example.py +212 -0
  366. package/.agents/skills/train-sentence-transformers/scripts/train_sentence_transformer_multi_dataset_example.py +258 -0
  367. package/.agents/skills/train-sentence-transformers/scripts/train_sentence_transformer_static_embedding_example.py +273 -0
  368. package/.agents/skills/train-sentence-transformers/scripts/train_sentence_transformer_with_lora_example.py +275 -0
  369. package/.agents/skills/train-sentence-transformers/scripts/train_sparse_encoder_distillation_example.py +262 -0
  370. package/.agents/skills/train-sentence-transformers/scripts/train_sparse_encoder_example.py +237 -0
  371. package/.agents/skills/transformers-js/SKILL.md +692 -0
  372. package/.agents/skills/transformers-js/references/CACHE.md +339 -0
  373. package/.agents/skills/transformers-js/references/CONFIGURATION.md +438 -0
  374. package/.agents/skills/transformers-js/references/EXAMPLES.md +620 -0
  375. package/.agents/skills/transformers-js/references/MODEL_ARCHITECTURES.md +167 -0
  376. package/.agents/skills/transformers-js/references/MODEL_REGISTRY.md +197 -0
  377. package/.agents/skills/transformers-js/references/PIPELINE_OPTIONS.md +557 -0
  378. package/.agents/skills/transformers-js/references/TEXT_GENERATION.md +315 -0
  379. package/.agents/skills/tribunal-instincts-memory/SKILL.md +31 -0
  380. package/.agents/skills/trl-training/SKILL.md +318 -0
  381. package/CONTRIBUTING.md +2 -2
  382. package/README.md +135 -435
  383. package/bin/adapter-install.js +1 -1
  384. package/bin/mcp-server.js +5 -5
  385. package/dist/tui/banner.js +1 -1
  386. package/gemini-extension.json +1 -1
  387. package/mcp_config.json +1 -1
  388. package/package.json +7 -7
  389. package/plugin.json +1 -1
  390. package/scripts/context_compiler.js +1 -1
  391. package/scripts/skill_enhancement_engine.js +6 -6
  392. package/skills/agent-syscall-guidelines/SKILL.md +25 -0
  393. package/skills/agentic-workflows-2026/SKILL.md +8 -0
  394. package/skills/agentshield-security/SKILL.md +26 -0
  395. package/skills/context-engineering-pro/SKILL.md +7 -0
  396. package/skills/fabel-protocol/SKILL.md +5 -0
  397. package/skills/graph-engineering/SKILL.md +28 -0
  398. package/skills/harness-protocol/SKILL.md +8 -0
  399. package/skills/hf-cli/SKILL.md +239 -0
  400. package/skills/hf-cloud-aws-context-discovery/SKILL.md +74 -0
  401. package/skills/hf-cloud-python-env-setup/SKILL.md +90 -0
  402. package/skills/hf-cloud-python-env-setup/requirements.txt +17 -0
  403. package/skills/hf-cloud-python-env-setup/scripts/check_versions.py +29 -0
  404. package/skills/hf-cloud-python-env-setup/scripts/setup_env.py +143 -0
  405. package/skills/hf-cloud-sagemaker-deployment-planner/SKILL.md +90 -0
  406. package/skills/hf-cloud-sagemaker-iam-preflight/SKILL.md +102 -0
  407. package/skills/hf-cloud-sagemaker-iam-preflight/references/minimum-permissions.json +47 -0
  408. package/skills/hf-cloud-sagemaker-iam-preflight/references/trust-policy.json +12 -0
  409. package/skills/hf-cloud-sagemaker-iam-preflight/scripts/check_role.py +184 -0
  410. package/skills/hf-cloud-sagemaker-iam-preflight/scripts/create_role.py +118 -0
  411. package/skills/hf-cloud-sagemaker-production-defaults/SKILL.md +419 -0
  412. package/skills/hf-cloud-sagemaker-production-defaults/references/deployment-template.md +59 -0
  413. package/skills/hf-cloud-sagemaker-production-defaults/scripts/_common.py +148 -0
  414. package/skills/hf-cloud-sagemaker-production-defaults/scripts/deploy.py +327 -0
  415. package/skills/hf-cloud-sagemaker-production-defaults/scripts/deploy_async.py +434 -0
  416. package/skills/hf-cloud-sagemaker-production-defaults/scripts/deploy_ic.py +506 -0
  417. package/skills/hf-cloud-sagemaker-production-defaults/scripts/invoke_endpoint.py +180 -0
  418. package/skills/hf-cloud-sagemaker-production-defaults/scripts/teardown.py +246 -0
  419. package/skills/hf-cloud-serving-image-selection/SKILL.md +220 -0
  420. package/skills/hf-cloud-serving-image-selection/references/model-to-image.md +111 -0
  421. package/skills/hf-cloud-serving-image-selection/scripts/mirror_image.py +145 -0
  422. package/skills/hf-mem/SKILL.md +79 -0
  423. package/skills/huggingface-best/SKILL.md +134 -0
  424. package/skills/huggingface-community-evals/SKILL.md +207 -0
  425. package/skills/huggingface-community-evals/examples/.env.example +3 -0
  426. package/skills/huggingface-community-evals/examples/USAGE_EXAMPLES.md +101 -0
  427. package/skills/huggingface-community-evals/scripts/inspect_eval_uv.py +104 -0
  428. package/skills/huggingface-community-evals/scripts/inspect_vllm_uv.py +306 -0
  429. package/skills/huggingface-community-evals/scripts/lighteval_vllm_uv.py +297 -0
  430. package/skills/huggingface-datasets/SKILL.md +107 -0
  431. package/skills/huggingface-gradio/SKILL.md +298 -0
  432. package/skills/huggingface-gradio/examples.md +613 -0
  433. package/skills/huggingface-llm-trainer/SKILL.md +738 -0
  434. package/skills/huggingface-llm-trainer/references/gguf_conversion.md +296 -0
  435. package/skills/huggingface-llm-trainer/references/hardware_guide.md +283 -0
  436. package/skills/huggingface-llm-trainer/references/hub_saving.md +364 -0
  437. package/skills/huggingface-llm-trainer/references/local_training_macos.md +231 -0
  438. package/skills/huggingface-llm-trainer/references/reliability_principles.md +371 -0
  439. package/skills/huggingface-llm-trainer/references/trackio_guide.md +191 -0
  440. package/skills/huggingface-llm-trainer/references/training_methods.md +150 -0
  441. package/skills/huggingface-llm-trainer/references/training_patterns.md +203 -0
  442. package/skills/huggingface-llm-trainer/references/troubleshooting.md +282 -0
  443. package/skills/huggingface-llm-trainer/references/unsloth.md +313 -0
  444. package/skills/huggingface-llm-trainer/scripts/convert_to_gguf.py +424 -0
  445. package/skills/huggingface-llm-trainer/scripts/dataset_inspector.py +417 -0
  446. package/skills/huggingface-llm-trainer/scripts/estimate_cost.py +150 -0
  447. package/skills/huggingface-llm-trainer/scripts/hf_benchmarks.py +659 -0
  448. package/skills/huggingface-llm-trainer/scripts/train_dpo_example.py +106 -0
  449. package/skills/huggingface-llm-trainer/scripts/train_grpo_example.py +89 -0
  450. package/skills/huggingface-llm-trainer/scripts/train_sft_example.py +122 -0
  451. package/skills/huggingface-llm-trainer/scripts/unsloth_sft_example.py +512 -0
  452. package/skills/huggingface-local-models/SKILL.md +113 -0
  453. package/skills/huggingface-local-models/references/hardware.md +38 -0
  454. package/skills/huggingface-local-models/references/hub-discovery.md +178 -0
  455. package/skills/huggingface-local-models/references/quantization.md +256 -0
  456. package/skills/huggingface-lora-space-builder/SKILL.md +394 -0
  457. package/skills/huggingface-lora-space-builder/references/adapting-to-the-lora.md +113 -0
  458. package/skills/huggingface-lora-space-builder/references/base-models/krea-2.md +63 -0
  459. package/skills/huggingface-lora-space-builder/references/base-models/ltx.md +205 -0
  460. package/skills/huggingface-lora-space-builder/references/base-models/qwen-image.md +144 -0
  461. package/skills/huggingface-lora-space-builder/references/creative-mode.md +262 -0
  462. package/skills/huggingface-lora-space-builder/references/tasks.md +124 -0
  463. package/skills/huggingface-lora-space-builder/references/zerogpu-and-publishing.md +196 -0
  464. package/skills/huggingface-paper-publisher/SKILL.md +624 -0
  465. package/skills/huggingface-paper-publisher/examples/example_usage.md +326 -0
  466. package/skills/huggingface-paper-publisher/references/quick_reference.md +216 -0
  467. package/skills/huggingface-paper-publisher/scripts/paper_manager.py +606 -0
  468. package/skills/huggingface-paper-publisher/templates/arxiv.md +299 -0
  469. package/skills/huggingface-paper-publisher/templates/ml-report.md +358 -0
  470. package/skills/huggingface-paper-publisher/templates/modern.md +319 -0
  471. package/skills/huggingface-paper-publisher/templates/standard.md +201 -0
  472. package/skills/huggingface-papers/SKILL.md +239 -0
  473. package/skills/huggingface-spaces/README.md +9 -0
  474. package/skills/huggingface-spaces/SKILL.md +242 -0
  475. package/skills/huggingface-spaces/references/3d-cuda-extensions.md +109 -0
  476. package/skills/huggingface-spaces/references/3d-generation.md +98 -0
  477. package/skills/huggingface-spaces/references/3d-gsplat.md +53 -0
  478. package/skills/huggingface-spaces/references/3d-models.md +227 -0
  479. package/skills/huggingface-spaces/references/3d-outputs.md +114 -0
  480. package/skills/huggingface-spaces/references/buckets.md +89 -0
  481. package/skills/huggingface-spaces/references/debugging.md +236 -0
  482. package/skills/huggingface-spaces/references/gradio.md +200 -0
  483. package/skills/huggingface-spaces/references/grants.md +63 -0
  484. package/skills/huggingface-spaces/references/inference-providers.md +97 -0
  485. package/skills/huggingface-spaces/references/known-errors.md +232 -0
  486. package/skills/huggingface-spaces/references/requirements.md +169 -0
  487. package/skills/huggingface-spaces/references/zerogpu.md +349 -0
  488. package/skills/huggingface-tool-builder/SKILL.md +120 -0
  489. package/skills/huggingface-tool-builder/references/baseline_hf_api.py +57 -0
  490. package/skills/huggingface-tool-builder/references/baseline_hf_api.sh +40 -0
  491. package/skills/huggingface-tool-builder/references/baseline_hf_api.tsx +57 -0
  492. package/skills/huggingface-tool-builder/references/find_models_by_paper.sh +230 -0
  493. package/skills/huggingface-tool-builder/references/hf_enrich_models.sh +96 -0
  494. package/skills/huggingface-tool-builder/references/hf_model_card_frontmatter.sh +188 -0
  495. package/skills/huggingface-tool-builder/references/hf_model_papers_auth.sh +171 -0
  496. package/skills/huggingface-trackio/SKILL.md +142 -0
  497. package/skills/huggingface-trackio/references/alerts.md +196 -0
  498. package/skills/huggingface-trackio/references/logging_metrics.md +212 -0
  499. package/skills/huggingface-trackio/references/retrieving_metrics.md +251 -0
  500. package/skills/huggingface-vision-trainer/SKILL.md +593 -0
  501. package/skills/huggingface-vision-trainer/references/finetune_sam2_trainer.md +254 -0
  502. package/skills/huggingface-vision-trainer/references/hub_saving.md +618 -0
  503. package/skills/huggingface-vision-trainer/references/image_classification_training_notebook.md +279 -0
  504. package/skills/huggingface-vision-trainer/references/object_detection_training_notebook.md +700 -0
  505. package/skills/huggingface-vision-trainer/references/reliability_principles.md +310 -0
  506. package/skills/huggingface-vision-trainer/references/timm_trainer.md +91 -0
  507. package/skills/huggingface-vision-trainer/scripts/dataset_inspector.py +814 -0
  508. package/skills/huggingface-vision-trainer/scripts/estimate_cost.py +217 -0
  509. package/skills/huggingface-vision-trainer/scripts/image_classification_training.py +383 -0
  510. package/skills/huggingface-vision-trainer/scripts/object_detection_training.py +710 -0
  511. package/skills/huggingface-vision-trainer/scripts/sam_segmentation_training.py +382 -0
  512. package/skills/huggingface-zerogpu/SKILL.md +289 -0
  513. package/skills/huggingface-zerogpu/references/concurrency.md +79 -0
  514. package/skills/huggingface-zerogpu/references/cuda-and-deps.md +66 -0
  515. package/skills/huggingface-zerogpu/references/how-quota-works.md +74 -0
  516. package/skills/huggingface-zerogpu/references/how-zerogpu-works.md +50 -0
  517. package/skills/human-gate-negotiation/SKILL.md +30 -0
  518. package/skills/intelligent-routing/SKILL.md +10 -4
  519. package/skills/semantic-filesystem-navigation/SKILL.md +24 -0
  520. package/skills/session-log-interrogation/SKILL.md +29 -0
  521. package/skills/subagent-driven-development/SKILL.md +32 -0
  522. package/skills/systematic-debugging/SKILL.md +5 -0
  523. package/skills/train-sentence-transformers/SKILL.md +109 -0
  524. package/skills/train-sentence-transformers/references/base_model_selection.md +79 -0
  525. package/skills/train-sentence-transformers/references/dataset_formats.md +128 -0
  526. package/skills/train-sentence-transformers/references/evaluators_cross_encoder.md +116 -0
  527. package/skills/train-sentence-transformers/references/evaluators_multi_vector_encoder.md +101 -0
  528. package/skills/train-sentence-transformers/references/evaluators_sentence_transformer.md +151 -0
  529. package/skills/train-sentence-transformers/references/evaluators_sparse_encoder.md +121 -0
  530. package/skills/train-sentence-transformers/references/hardware_guide.md +105 -0
  531. package/skills/train-sentence-transformers/references/hf_jobs_execution.md +173 -0
  532. package/skills/train-sentence-transformers/references/losses_cross_encoder.md +137 -0
  533. package/skills/train-sentence-transformers/references/losses_multi_vector_encoder.md +100 -0
  534. package/skills/train-sentence-transformers/references/losses_sentence_transformer.md +246 -0
  535. package/skills/train-sentence-transformers/references/losses_sparse_encoder.md +106 -0
  536. package/skills/train-sentence-transformers/references/model_architectures.md +178 -0
  537. package/skills/train-sentence-transformers/references/prompts_and_instructions.md +160 -0
  538. package/skills/train-sentence-transformers/references/training_args.md +270 -0
  539. package/skills/train-sentence-transformers/references/troubleshooting.md +225 -0
  540. package/skills/train-sentence-transformers/scripts/mine_hard_negatives.py +199 -0
  541. package/skills/train-sentence-transformers/scripts/train_cross_encoder_distillation_example.py +254 -0
  542. package/skills/train-sentence-transformers/scripts/train_cross_encoder_example.py +253 -0
  543. package/skills/train-sentence-transformers/scripts/train_cross_encoder_listwise_example.py +282 -0
  544. package/skills/train-sentence-transformers/scripts/train_multi_vector_encoder_example.py +240 -0
  545. package/skills/train-sentence-transformers/scripts/train_sentence_transformer_distillation_example.py +303 -0
  546. package/skills/train-sentence-transformers/scripts/train_sentence_transformer_example.py +227 -0
  547. package/skills/train-sentence-transformers/scripts/train_sentence_transformer_make_multilingual_example.py +308 -0
  548. package/skills/train-sentence-transformers/scripts/train_sentence_transformer_matryoshka_example.py +212 -0
  549. package/skills/train-sentence-transformers/scripts/train_sentence_transformer_multi_dataset_example.py +258 -0
  550. package/skills/train-sentence-transformers/scripts/train_sentence_transformer_static_embedding_example.py +273 -0
  551. package/skills/train-sentence-transformers/scripts/train_sentence_transformer_with_lora_example.py +275 -0
  552. package/skills/train-sentence-transformers/scripts/train_sparse_encoder_distillation_example.py +262 -0
  553. package/skills/train-sentence-transformers/scripts/train_sparse_encoder_example.py +237 -0
  554. package/skills/transformers-js/SKILL.md +692 -0
  555. package/skills/transformers-js/references/CACHE.md +339 -0
  556. package/skills/transformers-js/references/CONFIGURATION.md +438 -0
  557. package/skills/transformers-js/references/EXAMPLES.md +620 -0
  558. package/skills/transformers-js/references/MODEL_ARCHITECTURES.md +167 -0
  559. package/skills/transformers-js/references/MODEL_REGISTRY.md +197 -0
  560. package/skills/transformers-js/references/PIPELINE_OPTIONS.md +557 -0
  561. package/skills/transformers-js/references/TEXT_GENERATION.md +315 -0
  562. package/skills/tribunal-instincts-memory/SKILL.md +31 -0
  563. package/skills/trl-training/SKILL.md +318 -0
@@ -0,0 +1,659 @@
1
+ #!/usr/bin/env -S uv run --script
2
+ # /// script
3
+ # requires-python = ">=3.10"
4
+ # dependencies = []
5
+ # ///
6
+ """
7
+ Search Hugging Face benchmark datasets and fetch leaderboard results.
8
+
9
+ This script is designed to be pipeline-friendly:
10
+ - search benchmark datasets by free text, alias, task, and modality
11
+ - fetch dataset leaderboards in normalized JSON / NDJSON / table form
12
+ - optionally read dataset ids from stdin for chaining
13
+
14
+ It uses HF_TOKEN automatically when present.
15
+ """
16
+
17
+ from __future__ import annotations
18
+
19
+ import argparse
20
+ import json
21
+ import os
22
+ import re
23
+ import sys
24
+ import textwrap
25
+ import urllib.error
26
+ import urllib.parse
27
+ import urllib.request
28
+ from typing import Any, Iterable
29
+
30
+
31
+ BASE_URL = "https://huggingface.co"
32
+ DEFAULT_TIMEOUT = 30
33
+
34
+ ALIASES: dict[str, list[str]] = {
35
+ "ocr": [
36
+ "ocr",
37
+ "olmocr",
38
+ "pdf",
39
+ "image-to-text",
40
+ "screen",
41
+ "screenspot",
42
+ "markdown",
43
+ "text recognition",
44
+ ],
45
+ "coding": [
46
+ "code",
47
+ "coding",
48
+ "software engineering",
49
+ "programming",
50
+ "swe",
51
+ "terminal",
52
+ "patch",
53
+ "bug",
54
+ "cuda",
55
+ ],
56
+ "math": [
57
+ "math",
58
+ "reasoning",
59
+ "gsm8k",
60
+ "mmlu",
61
+ "gpqa",
62
+ "aime",
63
+ "hmmt",
64
+ ],
65
+ "retrieval": [
66
+ "retrieval",
67
+ "search",
68
+ "mteb",
69
+ "arguana",
70
+ "bright",
71
+ ],
72
+ "agents": [
73
+ "agent",
74
+ "agents",
75
+ "terminal",
76
+ "screen",
77
+ "computer use",
78
+ "tool use",
79
+ ],
80
+ "asr": [
81
+ "asr",
82
+ "speech",
83
+ "audio",
84
+ "transcribe",
85
+ "transcription",
86
+ ],
87
+ }
88
+
89
+
90
+ class HfApiError(RuntimeError):
91
+ pass
92
+
93
+
94
+ class FullHelpArgumentParser(argparse.ArgumentParser):
95
+ def __init__(self, *args: Any, **kwargs: Any) -> None:
96
+ super().__init__(*args, **kwargs)
97
+ self._search_parser: argparse.ArgumentParser | None = None
98
+ self._leaderboard_parser: argparse.ArgumentParser | None = None
99
+
100
+ def format_help(self) -> str:
101
+ text = super().format_help()
102
+ extra_sections: list[str] = []
103
+
104
+ if self._search_parser is not None:
105
+ extra_sections.append(
106
+ "\nsearch command options:\n"
107
+ + textwrap.indent(self._search_parser.format_help().strip(), " ")
108
+ )
109
+
110
+ if self._leaderboard_parser is not None:
111
+ extra_sections.append(
112
+ "\nleaderboard command options:\n"
113
+ + textwrap.indent(self._leaderboard_parser.format_help().strip(), " ")
114
+ )
115
+
116
+ if extra_sections:
117
+ text += "\n" + "\n".join(extra_sections) + "\n"
118
+ return text
119
+
120
+
121
+ def auth_headers() -> dict[str, str]:
122
+ token = os.getenv("HF_TOKEN")
123
+ return {"Authorization": f"Bearer {token}"} if token else {}
124
+
125
+
126
+ def http_get_json(path: str, params: dict[str, Any] | None = None) -> Any:
127
+ url = f"{BASE_URL}{path}"
128
+ if params:
129
+ pairs: list[tuple[str, str]] = []
130
+ for key, value in params.items():
131
+ if value is None:
132
+ continue
133
+ if isinstance(value, (list, tuple)):
134
+ for item in value:
135
+ pairs.append((key, str(item)))
136
+ else:
137
+ pairs.append((key, str(value)))
138
+ if pairs:
139
+ url = f"{url}?{urllib.parse.urlencode(pairs)}"
140
+
141
+ req = urllib.request.Request(url, headers=auth_headers())
142
+ try:
143
+ with urllib.request.urlopen(req, timeout=DEFAULT_TIMEOUT) as resp:
144
+ return json.loads(resp.read().decode("utf-8"))
145
+ except urllib.error.HTTPError as exc:
146
+ body = exc.read().decode("utf-8", errors="replace")
147
+ raise HfApiError(f"{exc.code} {exc.reason} for {url}: {body[:500]}") from exc
148
+ except urllib.error.URLError as exc:
149
+ raise HfApiError(f"Request failed for {url}: {exc}") from exc
150
+
151
+
152
+ def shorten(text: str, width: int) -> str:
153
+ text = " ".join((text or "").split())
154
+ if len(text) <= width:
155
+ return text
156
+ return text[: max(0, width - 1)] + "…"
157
+
158
+
159
+ def first_text(value: Any) -> str:
160
+ if value is None:
161
+ return ""
162
+ if isinstance(value, str):
163
+ return value
164
+ if isinstance(value, list):
165
+ return " ".join(first_text(v) for v in value)
166
+ if isinstance(value, dict):
167
+ return " ".join(first_text(v) for v in value.values())
168
+ return str(value)
169
+
170
+
171
+ def benchmark_catalog(limit: int = 500) -> list[dict[str, Any]]:
172
+ data = http_get_json(
173
+ "/api/datasets",
174
+ params={"filter": "benchmark:official", "limit": limit, "full": "true"},
175
+ )
176
+ if not isinstance(data, list):
177
+ raise HfApiError("Unexpected response while listing benchmark datasets")
178
+ return data
179
+
180
+
181
+ def dataset_search_blob(dataset: dict[str, Any]) -> str:
182
+ card = dataset.get("cardData") or {}
183
+ parts = [
184
+ dataset.get("id", ""),
185
+ dataset.get("description", ""),
186
+ first_text(dataset.get("tags")),
187
+ first_text(card.get("pretty_name")),
188
+ first_text(card.get("tags")),
189
+ first_text(card.get("task_categories")),
190
+ first_text(card.get("task_ids")),
191
+ ]
192
+ return " ".join(parts).lower()
193
+
194
+
195
+ def dataset_search_fields(dataset: dict[str, Any]) -> dict[str, str]:
196
+ card = dataset.get("cardData") or {}
197
+ return {
198
+ "id": first_text(dataset.get("id")).lower(),
199
+ "pretty_name": first_text(card.get("pretty_name")).lower(),
200
+ "tags": " ".join(
201
+ [
202
+ first_text(dataset.get("tags")),
203
+ first_text(card.get("tags")),
204
+ first_text(card.get("task_categories")),
205
+ first_text(card.get("task_ids")),
206
+ first_text(card.get("modality")),
207
+ ]
208
+ ).lower(),
209
+ "description": first_text(dataset.get("description")).lower(),
210
+ }
211
+
212
+
213
+ def collect_prefixed_tags(dataset: dict[str, Any], prefixes: Iterable[str]) -> list[str]:
214
+ prefixes = tuple(prefixes)
215
+ tags = dataset.get("tags") or []
216
+ card = dataset.get("cardData") or {}
217
+
218
+ out: list[str] = []
219
+ for tag in tags:
220
+ if isinstance(tag, str) and tag.startswith(prefixes):
221
+ out.append(tag)
222
+
223
+ for key, prefix in (
224
+ ("task_categories", "task_categories:"),
225
+ ("task_ids", "task_ids:"),
226
+ ("modality", "modality:"),
227
+ ):
228
+ values = card.get(key)
229
+ if isinstance(values, list):
230
+ for value in values:
231
+ full_tag = f"{prefix}{value}"
232
+ if full_tag.startswith(prefixes):
233
+ out.append(full_tag)
234
+
235
+ deduped: list[str] = []
236
+ seen: set[str] = set()
237
+ for tag in out:
238
+ if tag not in seen:
239
+ deduped.append(tag)
240
+ seen.add(tag)
241
+ return deduped
242
+
243
+
244
+ def expand_aliases(aliases: list[str]) -> dict[str, list[str]]:
245
+ expanded: dict[str, list[str]] = {}
246
+ for alias in aliases:
247
+ terms = ALIASES.get(alias.lower(), [alias])
248
+ expanded[alias] = terms
249
+ return expanded
250
+
251
+
252
+ def matches_term(blob: str, term: str) -> bool:
253
+ candidate = term.lower().strip()
254
+ if not candidate:
255
+ return False
256
+ if re.fullmatch(r"[a-z0-9_]+", candidate):
257
+ return re.search(rf"(?<![a-z0-9_]){re.escape(candidate)}(?![a-z0-9_])", blob) is not None
258
+ return candidate in blob
259
+
260
+
261
+ def score_dataset(
262
+ dataset: dict[str, Any],
263
+ queries: list[str],
264
+ aliases: dict[str, list[str]],
265
+ tasks: list[str],
266
+ modalities: list[str],
267
+ ) -> dict[str, Any]:
268
+ blob = dataset_search_blob(dataset)
269
+ fields = dataset_search_fields(dataset)
270
+ task_tags = collect_prefixed_tags(dataset, ["task_categories:", "task_ids:"])
271
+ modality_tags = collect_prefixed_tags(dataset, ["modality:"])
272
+
273
+ score = 0
274
+ reasons: list[str] = []
275
+
276
+ for query in queries:
277
+ q = query.lower().strip()
278
+ if q and any(matches_term(value, q) for value in fields.values()):
279
+ score += 3
280
+ reasons.append(f"query:{query}")
281
+
282
+ for alias_name, terms in aliases.items():
283
+ matched_terms: list[str] = []
284
+ alias_score = 0
285
+ for term in terms:
286
+ strong_match = any(
287
+ matches_term(fields[field_name], term)
288
+ for field_name in ("id", "pretty_name", "tags")
289
+ )
290
+ desc_match = matches_term(fields["description"], term)
291
+ if strong_match:
292
+ alias_score += 2
293
+ matched_terms.append(term)
294
+ elif desc_match:
295
+ alias_score += 1
296
+ matched_terms.append(term)
297
+ if matched_terms:
298
+ score += alias_score
299
+ reasons.append(f"alias:{alias_name}=" + ",".join(matched_terms[:5]))
300
+
301
+ lower_task_tags = [t.lower() for t in task_tags]
302
+ for task in tasks:
303
+ task = task.lower().strip()
304
+ if not task:
305
+ continue
306
+ exact = [
307
+ tag
308
+ for tag in lower_task_tags
309
+ if tag == f"task_categories:{task}" or tag == f"task_ids:{task}"
310
+ ]
311
+ fuzzy = matches_term(blob, task)
312
+ if exact:
313
+ score += 5
314
+ reasons.append(f"task:{task}")
315
+ elif fuzzy:
316
+ score += 2
317
+ reasons.append(f"task~:{task}")
318
+
319
+ lower_modality_tags = [m.lower() for m in modality_tags]
320
+ for modality in modalities:
321
+ modality = modality.lower().strip()
322
+ if not modality:
323
+ continue
324
+ if f"modality:{modality}" in lower_modality_tags:
325
+ score += 4
326
+ reasons.append(f"modality:{modality}")
327
+
328
+ return {
329
+ "dataset_id": dataset.get("id"),
330
+ "score": score,
331
+ "reasons": reasons,
332
+ "task_tags": task_tags,
333
+ "modality_tags": modality_tags,
334
+ "benchmark_tags": collect_prefixed_tags(dataset, ["benchmark:"]),
335
+ "pretty_name": (dataset.get("cardData") or {}).get("pretty_name"),
336
+ "downloads": dataset.get("downloads"),
337
+ "description": " ".join((dataset.get("description") or "").split()),
338
+ }
339
+
340
+
341
+ def search_benchmarks(
342
+ queries: list[str],
343
+ aliases: list[str],
344
+ tasks: list[str],
345
+ modalities: list[str],
346
+ limit: int,
347
+ ) -> list[dict[str, Any]]:
348
+ datasets = benchmark_catalog(limit=500)
349
+ alias_map = expand_aliases(aliases)
350
+
351
+ results = [score_dataset(ds, queries, alias_map, tasks, modalities) for ds in datasets]
352
+
353
+ active_filters = bool(queries or aliases or tasks or modalities)
354
+ if active_filters:
355
+ results = [row for row in results if row["score"] >= 2]
356
+
357
+ results.sort(
358
+ key=lambda row: (
359
+ -row["score"],
360
+ -(row["downloads"] or 0),
361
+ row["dataset_id"] or "",
362
+ )
363
+ )
364
+ return results[:limit]
365
+
366
+
367
+ def parse_repo_id(repo_id: str) -> tuple[str, str]:
368
+ if "/" not in repo_id:
369
+ raise ValueError(f"Expected <namespace>/<repo>, got: {repo_id}")
370
+ namespace, repo = repo_id.split("/", 1)
371
+ return namespace, repo
372
+
373
+
374
+ def get_leaderboard(repo_id: str, task_id: str | None = None) -> list[dict[str, Any]]:
375
+ namespace, repo = parse_repo_id(repo_id)
376
+ params = {"task_id": task_id} if task_id else None
377
+ data = http_get_json(f"/api/datasets/{namespace}/{repo}/leaderboard", params=params)
378
+ if not isinstance(data, list):
379
+ raise HfApiError(f"Unexpected leaderboard response for {repo_id}")
380
+
381
+ normalized: list[dict[str, Any]] = []
382
+ for row in data:
383
+ source = row.get("source") or {}
384
+ normalized.append(
385
+ {
386
+ "dataset_id": repo_id,
387
+ "task_id": task_id,
388
+ "rank": row.get("rank"),
389
+ "model_id": row.get("modelId"),
390
+ "value": row.get("value"),
391
+ "verified": row.get("verified"),
392
+ "lower_is_better": row.get("lower_is_better"),
393
+ "filename": row.get("filename"),
394
+ "notes": row.get("notes"),
395
+ "pull_request": row.get("pullRequest"),
396
+ "source_name": source.get("name"),
397
+ "source_url": source.get("url"),
398
+ "source_is_external": source.get("isExternal"),
399
+ }
400
+ )
401
+ return normalized
402
+
403
+
404
+ def read_repo_ids_from_stdin() -> list[str]:
405
+ if sys.stdin.isatty():
406
+ return []
407
+
408
+ repo_ids: list[str] = []
409
+ for raw_line in sys.stdin:
410
+ line = raw_line.strip()
411
+ if not line:
412
+ continue
413
+ if line.startswith("{"):
414
+ try:
415
+ obj = json.loads(line)
416
+ except json.JSONDecodeError:
417
+ continue
418
+ candidate = obj.get("dataset_id") or obj.get("id")
419
+ if isinstance(candidate, str) and "/" in candidate:
420
+ repo_ids.append(candidate)
421
+ continue
422
+ if "/" in line:
423
+ repo_ids.append(line)
424
+ return repo_ids
425
+
426
+
427
+ def print_json(data: Any) -> None:
428
+ json.dump(data, sys.stdout, indent=2, ensure_ascii=False)
429
+ sys.stdout.write("\n")
430
+
431
+
432
+ def print_ndjson(rows: list[dict[str, Any]]) -> None:
433
+ for row in rows:
434
+ sys.stdout.write(json.dumps(row, ensure_ascii=False) + "\n")
435
+
436
+
437
+ def print_search_table(rows: list[dict[str, Any]]) -> None:
438
+ if not rows:
439
+ print("No benchmark datasets matched.")
440
+ return
441
+
442
+ headers = ["dataset_id", "score", "modalities", "tasks", "reasons", "description"]
443
+ widths = [34, 5, 18, 24, 30, 68]
444
+ print(" ".join(h.ljust(w) for h, w in zip(headers, widths)))
445
+ print(" ".join("-" * w for w in widths))
446
+ for row in rows:
447
+ values = [
448
+ shorten(row.get("dataset_id") or "", widths[0]),
449
+ str(row.get("score", "")),
450
+ shorten(", ".join(row.get("modality_tags") or []), widths[2]),
451
+ shorten(", ".join(row.get("task_tags") or []), widths[3]),
452
+ shorten(", ".join(row.get("reasons") or []), widths[4]),
453
+ shorten(row.get("description") or "", widths[5]),
454
+ ]
455
+ print(" ".join(v.ljust(w) for v, w in zip(values, widths)))
456
+
457
+
458
+ def print_leaderboard_table(rows: list[dict[str, Any]]) -> None:
459
+ if not rows:
460
+ print("No leaderboard rows returned.")
461
+ return
462
+
463
+ headers = ["dataset_id", "rank", "model_id", "value", "verified", "source"]
464
+ widths = [30, 5, 38, 10, 8, 28]
465
+ print(" ".join(h.ljust(w) for h, w in zip(headers, widths)))
466
+ print(" ".join("-" * w for w in widths))
467
+ for row in rows:
468
+ values = [
469
+ shorten(str(row.get("dataset_id") or ""), widths[0]),
470
+ str(row.get("rank") or ""),
471
+ shorten(str(row.get("model_id") or ""), widths[2]),
472
+ shorten(str(row.get("value") or ""), widths[3]),
473
+ str(row.get("verified")),
474
+ shorten(str(row.get("source_name") or ""), widths[5]),
475
+ ]
476
+ print(" ".join(v.ljust(w) for v, w in zip(values, widths)))
477
+
478
+
479
+ def build_parser() -> argparse.ArgumentParser:
480
+ parser = FullHelpArgumentParser(
481
+ prog="hf_benchmarks.py",
482
+ formatter_class=argparse.RawDescriptionHelpFormatter,
483
+ description=textwrap.dedent(
484
+ """
485
+ Search benchmark datasets and fetch leaderboard results from the Hugging Face Hub.
486
+
487
+ Workflow ideas:
488
+ 1) Discover candidate benchmarks:
489
+ hf_benchmarks.py search --alias ocr
490
+ hf_benchmarks.py search --alias coding
491
+ hf_benchmarks.py search --task image-to-text --modality document
492
+
493
+ 2) Inspect a leaderboard:
494
+ hf_benchmarks.py leaderboard allenai/olmOCR-bench --top 10
495
+
496
+ 3) Chain search -> leaderboard:
497
+ hf_benchmarks.py search --alias coding --format ndjson \\
498
+ | hf_benchmarks.py leaderboard --stdin --top 5 --format table
499
+ """
500
+ ),
501
+ )
502
+
503
+ subparsers = parser.add_subparsers(dest="command", required=True)
504
+
505
+ search_parser = subparsers.add_parser(
506
+ "search",
507
+ help="Search benchmark datasets by query, alias, task, and modality",
508
+ )
509
+ search_parser.add_argument(
510
+ "--query",
511
+ action="append",
512
+ default=[],
513
+ help="Free-text query to match against benchmark dataset metadata. Repeatable.",
514
+ )
515
+ search_parser.add_argument(
516
+ "--alias",
517
+ action="append",
518
+ default=[],
519
+ help=(
520
+ "Convenience alias for common benchmark domains. Known aliases: "
521
+ + ", ".join(sorted(ALIASES))
522
+ + ". Repeatable."
523
+ ),
524
+ )
525
+ search_parser.add_argument(
526
+ "--task",
527
+ action="append",
528
+ default=[],
529
+ help="Task to match, e.g. text-generation, image-to-text, question-answering. Repeatable.",
530
+ )
531
+ search_parser.add_argument(
532
+ "--modality",
533
+ action="append",
534
+ default=[],
535
+ help="Modality to match, e.g. text, image, document, audio. Repeatable.",
536
+ )
537
+ search_parser.add_argument(
538
+ "--limit",
539
+ type=int,
540
+ default=20,
541
+ help="Maximum number of rows to print (default: 20).",
542
+ )
543
+ search_parser.add_argument(
544
+ "--format",
545
+ choices=["table", "json", "ndjson"],
546
+ default="table",
547
+ help="Output format (default: table).",
548
+ )
549
+
550
+ leaderboard_parser = subparsers.add_parser(
551
+ "leaderboard",
552
+ help="Fetch normalized leaderboard rows for one or more benchmark datasets",
553
+ )
554
+ leaderboard_parser.add_argument(
555
+ "datasets",
556
+ nargs="*",
557
+ help="Dataset repo ids (<namespace>/<repo>). Can also be supplied via stdin with --stdin.",
558
+ )
559
+ leaderboard_parser.add_argument(
560
+ "--stdin",
561
+ action="store_true",
562
+ help="Read dataset ids from stdin. Accepts plain repo ids or NDJSON with dataset_id/id fields.",
563
+ )
564
+ leaderboard_parser.add_argument(
565
+ "--task-id",
566
+ default=None,
567
+ help="Optional leaderboard task_id query parameter.",
568
+ )
569
+ leaderboard_parser.add_argument(
570
+ "--top",
571
+ type=int,
572
+ default=None,
573
+ help="Only keep the top N results per leaderboard.",
574
+ )
575
+ leaderboard_parser.add_argument(
576
+ "--format",
577
+ choices=["table", "json", "ndjson"],
578
+ default="table",
579
+ help="Output format (default: table).",
580
+ )
581
+
582
+ parser._search_parser = search_parser
583
+ parser._leaderboard_parser = leaderboard_parser
584
+
585
+ return parser
586
+
587
+
588
+ def run_search(args: argparse.Namespace) -> int:
589
+ rows = search_benchmarks(
590
+ queries=args.query,
591
+ aliases=args.alias,
592
+ tasks=args.task,
593
+ modalities=args.modality,
594
+ limit=args.limit,
595
+ )
596
+
597
+ if args.format == "json":
598
+ print_json(rows)
599
+ elif args.format == "ndjson":
600
+ print_ndjson(rows)
601
+ else:
602
+ print_search_table(rows)
603
+ return 0
604
+
605
+
606
+ def run_leaderboard(args: argparse.Namespace) -> int:
607
+ repo_ids = list(args.datasets)
608
+ if args.stdin:
609
+ repo_ids.extend(read_repo_ids_from_stdin())
610
+
611
+ deduped: list[str] = []
612
+ seen: set[str] = set()
613
+ for repo_id in repo_ids:
614
+ if repo_id not in seen:
615
+ deduped.append(repo_id)
616
+ seen.add(repo_id)
617
+ repo_ids = deduped
618
+
619
+ if not repo_ids:
620
+ print("Error: provide dataset ids or use --stdin.", file=sys.stderr)
621
+ return 2
622
+
623
+ rows: list[dict[str, Any]] = []
624
+ for repo_id in repo_ids:
625
+ dataset_rows = get_leaderboard(repo_id, task_id=args.task_id)
626
+ if args.top is not None:
627
+ dataset_rows = dataset_rows[: args.top]
628
+ rows.extend(dataset_rows)
629
+
630
+ if args.format == "json":
631
+ print_json(rows)
632
+ elif args.format == "ndjson":
633
+ print_ndjson(rows)
634
+ else:
635
+ print_leaderboard_table(rows)
636
+ return 0
637
+
638
+
639
+ def main() -> int:
640
+ parser = build_parser()
641
+ args = parser.parse_args()
642
+
643
+ try:
644
+ if args.command == "search":
645
+ return run_search(args)
646
+ if args.command == "leaderboard":
647
+ return run_leaderboard(args)
648
+ parser.error(f"Unknown command: {args.command}")
649
+ return 2
650
+ except HfApiError as exc:
651
+ print(f"Error: {exc}", file=sys.stderr)
652
+ return 1
653
+ except ValueError as exc:
654
+ print(f"Error: {exc}", file=sys.stderr)
655
+ return 1
656
+
657
+
658
+ if __name__ == "__main__":
659
+ raise SystemExit(main())