tribunal-kit 9.2.1 → 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 (1164) 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 +7 -0
  9. package/.agent/agents/project-planner.md +5 -0
  10. package/.agent/agents/security-auditor.md +5 -0
  11. package/.agent/config/claude.json +1 -1
  12. package/.agent/config/plugin.json +1 -1
  13. package/.agent/history/architecture-explorer.html +352 -0
  14. package/.agent/history/architecture-graph.yaml +181 -1
  15. package/.agent/history/graph-cache.json +323 -13
  16. package/.agent/history/integrity_manifest.json +3937 -299
  17. package/.agent/history/memory/.memory.idx +50 -50
  18. package/.agent/history/snapshots/.opencode__plugins__tribunal.js.json +12 -0
  19. package/.agent/history/snapshots/.pi__extensions__tribunal.ts.json +12 -0
  20. package/.agent/history/snapshots/bin__adapter-install.js.json +1 -1
  21. package/.agent/history/snapshots/bin__mcp-server.js.json +4 -2
  22. package/.agent/history/snapshots/bin__proxy-server.js.json +1 -1
  23. package/.agent/history/snapshots/bin__spawn-agent.js.json +1 -1
  24. package/.agent/history/snapshots/bin__wrapper.js.json +1 -1
  25. package/.agent/history/snapshots/eslint.config.js.json +1 -1
  26. package/.agent/history/snapshots/hooks__session-start.js.json +11 -0
  27. package/.agent/history/snapshots/scripts__apply-version.js.json +11 -0
  28. package/.agent/history/snapshots/scripts__audit_skill_sdo.js.json +11 -0
  29. package/.agent/history/snapshots/scripts__clean-pycache.js.json +11 -0
  30. package/.agent/history/snapshots/scripts__context_compiler.js.json +17 -0
  31. package/.agent/history/snapshots/scripts__modernize_skills.js.json +11 -0
  32. package/.agent/history/snapshots/scripts__package-cores.js.json +12 -0
  33. package/.agent/history/snapshots/scripts__skill_enhancement_engine.js.json +11 -0
  34. package/.agent/history/snapshots/scripts__sync-skills.js.json +11 -0
  35. package/.agent/history/snapshots/scripts__telemetry_gc.js.json +11 -0
  36. package/.agent/history/snapshots/scripts__validate-payload.js.json +1 -1
  37. package/.agent/history/snapshots/test__integration__browser_cli.test.js.json +12 -0
  38. package/.agent/history/snapshots/test__integration__sync_status.test.js.json +1 -1
  39. package/.agent/history/snapshots/test__unit__ast_context_loader.test.js.json +12 -0
  40. package/.agent/history/snapshots/test__unit__browser_case_bridge.test.js.json +11 -0
  41. package/.agent/history/snapshots/test__unit__browser_discovery.test.js.json +10 -0
  42. package/.agent/history/snapshots/test__unit__browser_idpi.test.js.json +10 -0
  43. package/.agent/history/snapshots/test__unit__browser_sentinel.test.js.json +11 -0
  44. package/.agent/history/snapshots/test__unit__browser_synapse.test.js.json +10 -0
  45. package/.agent/history/snapshots/test__unit__browser_trimmer.test.js.json +10 -0
  46. package/.agent/history/snapshots/test__unit__context_compiler.test.js.json +26 -0
  47. package/.agent/history/snapshots/test__unit__init.test.js.json +1 -1
  48. package/.agent/history/snapshots/test__unit__learn.test.js.json +1 -1
  49. package/.agent/history/snapshots/test__unit__mcp_server.test.js.json +1 -1
  50. package/.agent/history/snapshots/test__unit__platform_download_audit.test.js.json +11 -0
  51. package/.agent/history/snapshots/test__unit__prompt_compiler.test.js.json +10 -0
  52. package/.agent/history/snapshots/test__unit__sdd_integration.test.js.json +12 -0
  53. package/.agent/history/snapshots/test__unit__stress.test.js.json +1 -1
  54. package/.agent/history/snapshots/test__unit__token_budget_broker.test.js.json +10 -0
  55. package/.agent/history/snapshots/test__unit__tui.test.js.json +10 -0
  56. package/.agent/routing_index.json +1 -1
  57. package/.agent/rules/GEMINI.md +1 -1
  58. package/.agent/rules/kernel.md +86 -0
  59. package/.agent/scripts/_utils.js +79 -1
  60. package/.agent/scripts/checklist.js +1 -1
  61. package/.agent/scripts/context_broker.js +0 -8
  62. package/.agent/scripts/context_compiler.js +1106 -3
  63. package/.agent/scripts/guardrail_engine.js +48 -11
  64. package/.agent/scripts/harness_manager.js +60 -0
  65. package/.agent/scripts/lint_runner.js +1 -1
  66. package/.agent/scripts/mcp_server.js +181 -0
  67. package/.agent/scripts/memory_archivist.js +97 -0
  68. package/.agent/scripts/memory_consolidator.js +37 -0
  69. package/.agent/scripts/memory_engine.js +526 -325
  70. package/.agent/scripts/pipeline_engine.js +45 -107
  71. package/.agent/scripts/session_logger.js +115 -0
  72. package/.agent/scripts/session_manager.js +10 -0
  73. package/.agent/scripts/swarm_dispatcher.js +197 -49
  74. package/.agent/scripts/syscall_registry.js +105 -0
  75. package/.agent/scripts/test_runner.js +1 -1
  76. package/.agent/scripts/verify_all.js +2 -2
  77. package/.agent/skill_topic_map.json +98 -22
  78. package/.agent/skills/12-principles-of-animation/SKILL.md +1 -76
  79. package/.agent/skills/60fps-animation/SKILL.md +1 -76
  80. package/.agent/skills/accessible-animation/SKILL.md +1 -76
  81. package/.agent/skills/adapt/SKILL.md +1 -76
  82. package/.agent/skills/advanced-rag-pipelines/SKILL.md +1 -76
  83. package/.agent/skills/agent-organizer/SKILL.md +1 -76
  84. package/.agent/skills/agent-syscall-guidelines/SKILL.md +25 -0
  85. package/.agent/skills/agentic-patterns/SKILL.md +1 -76
  86. package/.agent/skills/agentic-workflows-2026/SKILL.md +6 -73
  87. package/.agent/skills/agentshield-security/SKILL.md +26 -0
  88. package/.agent/skills/ai-app-hardening/SKILL.md +1 -76
  89. package/.agent/skills/ai-prompt-injection-defense/SKILL.md +1 -76
  90. package/.agent/skills/animation-on-scroll/SKILL.md +1 -76
  91. package/.agent/skills/animation-systems/SKILL.md +1 -76
  92. package/.agent/skills/antfu-conventions/SKILL.md +0 -75
  93. package/.agent/skills/api-patterns/SKILL.md +1 -76
  94. package/.agent/skills/api-security-auditor/SKILL.md +1 -76
  95. package/.agent/skills/app-builder/SKILL.md +1 -76
  96. package/.agent/skills/appflow-wireframe/SKILL.md +1 -76
  97. package/.agent/skills/apple-design/SKILL.md +1 -76
  98. package/.agent/skills/architecture/SKILL.md +1 -76
  99. package/.agent/skills/audit-and-fix/SKILL.md +41 -77
  100. package/.agent/skills/authentication-best-practices/SKILL.md +1 -76
  101. package/.agent/skills/backend-security-expert/SKILL.md +1 -76
  102. package/.agent/skills/baseline-ui/SKILL.md +1 -76
  103. package/.agent/skills/bash-linux/SKILL.md +1 -76
  104. package/.agent/skills/behavioral-modes/SKILL.md +1 -76
  105. package/.agent/skills/better-colors/SKILL.md +1 -76
  106. package/.agent/skills/better-typography/SKILL.md +1 -76
  107. package/.agent/skills/better-ui/SKILL.md +1 -76
  108. package/.agent/skills/bolder/SKILL.md +1 -76
  109. package/.agent/skills/brainstorming/SKILL.md +1 -76
  110. package/.agent/skills/browser-audit/SKILL.md +1 -76
  111. package/.agent/skills/browser-native-ai/SKILL.md +1 -76
  112. package/.agent/skills/build-primitive/SKILL.md +1 -76
  113. package/.agent/skills/building-native-ui/SKILL.md +1 -76
  114. package/.agent/skills/cicd-pro/SKILL.md +1 -76
  115. package/.agent/skills/clarify/SKILL.md +1 -76
  116. package/.agent/skills/clean-code/SKILL.md +1 -76
  117. package/.agent/skills/cloud-architect/SKILL.md +1 -76
  118. package/.agent/skills/cobejs/SKILL.md +1 -76
  119. package/.agent/skills/code-review-checklist/SKILL.md +1 -76
  120. package/.agent/skills/codebase-design/SKILL.md +1 -76
  121. package/.agent/skills/colorize/SKILL.md +1 -76
  122. package/.agent/skills/compact-landing/SKILL.md +1 -76
  123. package/.agent/skills/company-logos/SKILL.md +1 -76
  124. package/.agent/skills/config-validator/SKILL.md +1 -76
  125. package/.agent/skills/containerization-pro/SKILL.md +1 -76
  126. package/.agent/skills/context-engineering-pro/SKILL.md +5 -73
  127. package/.agent/skills/create-design-md/SKILL.md +1 -76
  128. package/.agent/skills/critique/SKILL.md +1 -76
  129. package/.agent/skills/csharp-developer/SKILL.md +1 -76
  130. package/.agent/skills/data-validation-schemas/SKILL.md +1 -76
  131. package/.agent/skills/database-design/SKILL.md +1 -76
  132. package/.agent/skills/delight/SKILL.md +1 -76
  133. package/.agent/skills/deployment-procedures/SKILL.md +1 -76
  134. package/.agent/skills/design-lab/SKILL.md +1 -76
  135. package/.agent/skills/devops-engineer/SKILL.md +1 -76
  136. package/.agent/skills/devops-incident-responder/SKILL.md +1 -76
  137. package/.agent/skills/diagnosing-bugs/SKILL.md +1 -76
  138. package/.agent/skills/distill/SKILL.md +1 -76
  139. package/.agent/skills/documentation-templates/SKILL.md +1 -76
  140. package/.agent/skills/domain-modeling/SKILL.md +1 -76
  141. package/.agent/skills/duckdb-analytical-sql/SKILL.md +1 -76
  142. package/.agent/skills/edge-ai-mobile/SKILL.md +1 -76
  143. package/.agent/skills/edge-computing/SKILL.md +1 -76
  144. package/.agent/skills/emil-design-eng/SKILL.md +1 -76
  145. package/.agent/skills/error-resilience/SKILL.md +1 -76
  146. package/.agent/skills/expo-router-v4/SKILL.md +1 -76
  147. package/.agent/skills/extract-design-system/SKILL.md +1 -76
  148. package/.agent/skills/fabel-protocol/SKILL.md +3 -73
  149. package/.agent/skills/fixing-accessibility/SKILL.md +1 -76
  150. package/.agent/skills/fixing-metadata/SKILL.md +1 -76
  151. package/.agent/skills/fixing-motion-performance/SKILL.md +1 -76
  152. package/.agent/skills/framer-motion-expert/SKILL.md +1 -76
  153. package/.agent/skills/frontend-design/SKILL.md +1 -76
  154. package/.agent/skills/frontend-security-expert/SKILL.md +1 -76
  155. package/.agent/skills/game-design-expert/SKILL.md +1 -76
  156. package/.agent/skills/game-engineering-expert/SKILL.md +1 -76
  157. package/.agent/skills/generative-ui-expert/SKILL.md +1 -76
  158. package/.agent/skills/geo-fundamentals/SKILL.md +1 -76
  159. package/.agent/skills/git-pro/SKILL.md +1 -76
  160. package/.agent/skills/github-operations/SKILL.md +1 -76
  161. package/.agent/skills/gpt-taste/SKILL.md +1 -76
  162. package/.agent/skills/graph-engineering/SKILL.md +28 -0
  163. package/.agent/skills/gsap-core/SKILL.md +1 -76
  164. package/.agent/skills/gsap-frameworks/SKILL.md +1 -76
  165. package/.agent/skills/gsap-performance/SKILL.md +1 -76
  166. package/.agent/skills/gsap-plugins/SKILL.md +1 -76
  167. package/.agent/skills/gsap-react/SKILL.md +1 -76
  168. package/.agent/skills/gsap-scrolltrigger/SKILL.md +1 -76
  169. package/.agent/skills/gsap-timeline/SKILL.md +1 -76
  170. package/.agent/skills/gsap-utils/SKILL.md +1 -76
  171. package/.agent/skills/harden/SKILL.md +1 -76
  172. package/.agent/skills/harness-protocol/SKILL.md +6 -73
  173. package/.agent/skills/hf-cli/SKILL.md +239 -0
  174. package/.agent/skills/hf-cloud-aws-context-discovery/SKILL.md +74 -0
  175. package/.agent/skills/hf-cloud-python-env-setup/SKILL.md +90 -0
  176. package/.agent/skills/hf-cloud-python-env-setup/requirements.txt +17 -0
  177. package/.agent/skills/hf-cloud-python-env-setup/scripts/check_versions.py +29 -0
  178. package/.agent/skills/hf-cloud-python-env-setup/scripts/setup_env.py +143 -0
  179. package/.agent/skills/hf-cloud-sagemaker-deployment-planner/SKILL.md +90 -0
  180. package/.agent/skills/hf-cloud-sagemaker-iam-preflight/SKILL.md +102 -0
  181. package/.agent/skills/hf-cloud-sagemaker-iam-preflight/references/minimum-permissions.json +47 -0
  182. package/.agent/skills/hf-cloud-sagemaker-iam-preflight/references/trust-policy.json +12 -0
  183. package/.agent/skills/hf-cloud-sagemaker-iam-preflight/scripts/check_role.py +184 -0
  184. package/.agent/skills/hf-cloud-sagemaker-iam-preflight/scripts/create_role.py +118 -0
  185. package/.agent/skills/hf-cloud-sagemaker-production-defaults/SKILL.md +419 -0
  186. package/.agent/skills/hf-cloud-sagemaker-production-defaults/references/deployment-template.md +59 -0
  187. package/.agent/skills/hf-cloud-sagemaker-production-defaults/scripts/_common.py +148 -0
  188. package/.agent/skills/hf-cloud-sagemaker-production-defaults/scripts/deploy.py +327 -0
  189. package/.agent/skills/hf-cloud-sagemaker-production-defaults/scripts/deploy_async.py +434 -0
  190. package/.agent/skills/hf-cloud-sagemaker-production-defaults/scripts/deploy_ic.py +506 -0
  191. package/.agent/skills/hf-cloud-sagemaker-production-defaults/scripts/invoke_endpoint.py +180 -0
  192. package/.agent/skills/hf-cloud-sagemaker-production-defaults/scripts/teardown.py +246 -0
  193. package/.agent/skills/hf-cloud-serving-image-selection/SKILL.md +220 -0
  194. package/.agent/skills/hf-cloud-serving-image-selection/references/model-to-image.md +111 -0
  195. package/.agent/skills/hf-cloud-serving-image-selection/scripts/mirror_image.py +145 -0
  196. package/.agent/skills/hf-mem/SKILL.md +79 -0
  197. package/.agent/skills/huggingface-best/SKILL.md +134 -0
  198. package/.agent/skills/huggingface-community-evals/SKILL.md +207 -0
  199. package/.agent/skills/huggingface-community-evals/examples/.env.example +3 -0
  200. package/.agent/skills/huggingface-community-evals/examples/USAGE_EXAMPLES.md +101 -0
  201. package/.agent/skills/huggingface-community-evals/scripts/inspect_eval_uv.py +104 -0
  202. package/.agent/skills/huggingface-community-evals/scripts/inspect_vllm_uv.py +306 -0
  203. package/.agent/skills/huggingface-community-evals/scripts/lighteval_vllm_uv.py +297 -0
  204. package/.agent/skills/huggingface-datasets/SKILL.md +107 -0
  205. package/.agent/skills/huggingface-gradio/SKILL.md +298 -0
  206. package/.agent/skills/huggingface-gradio/examples.md +613 -0
  207. package/.agent/skills/huggingface-llm-trainer/SKILL.md +738 -0
  208. package/.agent/skills/huggingface-llm-trainer/references/gguf_conversion.md +296 -0
  209. package/.agent/skills/huggingface-llm-trainer/references/hardware_guide.md +283 -0
  210. package/.agent/skills/huggingface-llm-trainer/references/hub_saving.md +364 -0
  211. package/.agent/skills/huggingface-llm-trainer/references/local_training_macos.md +231 -0
  212. package/.agent/skills/huggingface-llm-trainer/references/reliability_principles.md +371 -0
  213. package/.agent/skills/huggingface-llm-trainer/references/trackio_guide.md +191 -0
  214. package/.agent/skills/huggingface-llm-trainer/references/training_methods.md +150 -0
  215. package/.agent/skills/huggingface-llm-trainer/references/training_patterns.md +203 -0
  216. package/.agent/skills/huggingface-llm-trainer/references/troubleshooting.md +282 -0
  217. package/.agent/skills/huggingface-llm-trainer/references/unsloth.md +313 -0
  218. package/.agent/skills/huggingface-llm-trainer/scripts/convert_to_gguf.py +424 -0
  219. package/.agent/skills/huggingface-llm-trainer/scripts/dataset_inspector.py +417 -0
  220. package/.agent/skills/huggingface-llm-trainer/scripts/estimate_cost.py +150 -0
  221. package/.agent/skills/huggingface-llm-trainer/scripts/hf_benchmarks.py +659 -0
  222. package/.agent/skills/huggingface-llm-trainer/scripts/train_dpo_example.py +106 -0
  223. package/.agent/skills/huggingface-llm-trainer/scripts/train_grpo_example.py +89 -0
  224. package/.agent/skills/huggingface-llm-trainer/scripts/train_sft_example.py +122 -0
  225. package/.agent/skills/huggingface-llm-trainer/scripts/unsloth_sft_example.py +512 -0
  226. package/.agent/skills/huggingface-local-models/SKILL.md +113 -0
  227. package/.agent/skills/huggingface-local-models/references/hardware.md +38 -0
  228. package/.agent/skills/huggingface-local-models/references/hub-discovery.md +178 -0
  229. package/.agent/skills/huggingface-local-models/references/quantization.md +256 -0
  230. package/.agent/skills/huggingface-lora-space-builder/SKILL.md +394 -0
  231. package/.agent/skills/huggingface-lora-space-builder/references/adapting-to-the-lora.md +113 -0
  232. package/.agent/skills/huggingface-lora-space-builder/references/base-models/krea-2.md +63 -0
  233. package/.agent/skills/huggingface-lora-space-builder/references/base-models/ltx.md +205 -0
  234. package/.agent/skills/huggingface-lora-space-builder/references/base-models/qwen-image.md +144 -0
  235. package/.agent/skills/huggingface-lora-space-builder/references/creative-mode.md +262 -0
  236. package/.agent/skills/huggingface-lora-space-builder/references/tasks.md +124 -0
  237. package/.agent/skills/huggingface-lora-space-builder/references/zerogpu-and-publishing.md +196 -0
  238. package/.agent/skills/huggingface-paper-publisher/SKILL.md +624 -0
  239. package/.agent/skills/huggingface-paper-publisher/examples/example_usage.md +326 -0
  240. package/.agent/skills/huggingface-paper-publisher/references/quick_reference.md +216 -0
  241. package/.agent/skills/huggingface-paper-publisher/scripts/paper_manager.py +606 -0
  242. package/.agent/skills/huggingface-paper-publisher/templates/arxiv.md +299 -0
  243. package/.agent/skills/huggingface-paper-publisher/templates/ml-report.md +358 -0
  244. package/.agent/skills/huggingface-paper-publisher/templates/modern.md +319 -0
  245. package/.agent/skills/huggingface-paper-publisher/templates/standard.md +201 -0
  246. package/.agent/skills/huggingface-papers/SKILL.md +239 -0
  247. package/.agent/skills/huggingface-spaces/README.md +9 -0
  248. package/.agent/skills/huggingface-spaces/SKILL.md +242 -0
  249. package/.agent/skills/huggingface-spaces/references/3d-cuda-extensions.md +109 -0
  250. package/.agent/skills/huggingface-spaces/references/3d-generation.md +98 -0
  251. package/.agent/skills/huggingface-spaces/references/3d-gsplat.md +53 -0
  252. package/.agent/skills/huggingface-spaces/references/3d-models.md +227 -0
  253. package/.agent/skills/huggingface-spaces/references/3d-outputs.md +114 -0
  254. package/.agent/skills/huggingface-spaces/references/buckets.md +89 -0
  255. package/.agent/skills/huggingface-spaces/references/debugging.md +236 -0
  256. package/.agent/skills/huggingface-spaces/references/gradio.md +200 -0
  257. package/.agent/skills/huggingface-spaces/references/grants.md +63 -0
  258. package/.agent/skills/huggingface-spaces/references/inference-providers.md +97 -0
  259. package/.agent/skills/huggingface-spaces/references/known-errors.md +232 -0
  260. package/.agent/skills/huggingface-spaces/references/requirements.md +169 -0
  261. package/.agent/skills/huggingface-spaces/references/zerogpu.md +349 -0
  262. package/.agent/skills/huggingface-tool-builder/SKILL.md +120 -0
  263. package/.agent/skills/huggingface-tool-builder/references/baseline_hf_api.py +57 -0
  264. package/.agent/skills/huggingface-tool-builder/references/baseline_hf_api.sh +40 -0
  265. package/.agent/skills/huggingface-tool-builder/references/baseline_hf_api.tsx +57 -0
  266. package/.agent/skills/huggingface-tool-builder/references/find_models_by_paper.sh +230 -0
  267. package/.agent/skills/huggingface-tool-builder/references/hf_enrich_models.sh +96 -0
  268. package/.agent/skills/huggingface-tool-builder/references/hf_model_card_frontmatter.sh +188 -0
  269. package/.agent/skills/huggingface-tool-builder/references/hf_model_papers_auth.sh +171 -0
  270. package/.agent/skills/huggingface-trackio/SKILL.md +142 -0
  271. package/.agent/skills/huggingface-trackio/references/alerts.md +196 -0
  272. package/.agent/skills/huggingface-trackio/references/logging_metrics.md +212 -0
  273. package/.agent/skills/huggingface-trackio/references/retrieving_metrics.md +251 -0
  274. package/.agent/skills/huggingface-vision-trainer/SKILL.md +593 -0
  275. package/.agent/skills/huggingface-vision-trainer/references/finetune_sam2_trainer.md +254 -0
  276. package/.agent/skills/huggingface-vision-trainer/references/hub_saving.md +618 -0
  277. package/.agent/skills/huggingface-vision-trainer/references/image_classification_training_notebook.md +279 -0
  278. package/.agent/skills/huggingface-vision-trainer/references/object_detection_training_notebook.md +700 -0
  279. package/.agent/skills/huggingface-vision-trainer/references/reliability_principles.md +310 -0
  280. package/.agent/skills/huggingface-vision-trainer/references/timm_trainer.md +91 -0
  281. package/.agent/skills/huggingface-vision-trainer/scripts/dataset_inspector.py +814 -0
  282. package/.agent/skills/huggingface-vision-trainer/scripts/estimate_cost.py +217 -0
  283. package/.agent/skills/huggingface-vision-trainer/scripts/image_classification_training.py +383 -0
  284. package/.agent/skills/huggingface-vision-trainer/scripts/object_detection_training.py +710 -0
  285. package/.agent/skills/huggingface-vision-trainer/scripts/sam_segmentation_training.py +382 -0
  286. package/.agent/skills/huggingface-zerogpu/SKILL.md +289 -0
  287. package/.agent/skills/huggingface-zerogpu/references/concurrency.md +79 -0
  288. package/.agent/skills/huggingface-zerogpu/references/cuda-and-deps.md +66 -0
  289. package/.agent/skills/huggingface-zerogpu/references/how-quota-works.md +74 -0
  290. package/.agent/skills/huggingface-zerogpu/references/how-zerogpu-works.md +50 -0
  291. package/.agent/skills/human-gate-negotiation/SKILL.md +30 -0
  292. package/.agent/skills/i18n-localization/SKILL.md +1 -76
  293. package/.agent/skills/impeccable/SKILL.md +1 -76
  294. package/.agent/skills/improve-codebase-architecture/SKILL.md +1 -76
  295. package/.agent/skills/improve-ui/SKILL.md +1 -76
  296. package/.agent/skills/intelligent-routing/SKILL.md +9 -89
  297. package/.agent/skills/knowledge-graph/SKILL.md +1 -76
  298. package/.agent/skills/landing-page/SKILL.md +1 -76
  299. package/.agent/skills/lint-and-validate/SKILL.md +1 -76
  300. package/.agent/skills/llm-engineering/SKILL.md +1 -76
  301. package/.agent/skills/local-first/SKILL.md +1 -76
  302. package/.agent/skills/local-first-architecture/SKILL.md +1 -76
  303. package/.agent/skills/lottie-animation/SKILL.md +1 -76
  304. package/.agent/skills/marquee-loop/SKILL.md +1 -76
  305. package/.agent/skills/masked-reveal/SKILL.md +1 -76
  306. package/.agent/skills/mcp-builder/SKILL.md +1 -76
  307. package/.agent/skills/micro-interaction/SKILL.md +1 -76
  308. package/.agent/skills/mobile-design/SKILL.md +1 -76
  309. package/.agent/skills/monorepo-management/SKILL.md +1 -76
  310. package/.agent/skills/morphing-icons/SKILL.md +1 -76
  311. package/.agent/skills/motion-engineering/SKILL.md +1 -76
  312. package/.agent/skills/nextjs-react-expert/SKILL.md +1 -76
  313. package/.agent/skills/nodejs-best-practices/SKILL.md +1 -76
  314. package/.agent/skills/observability/SKILL.md +1 -76
  315. package/.agent/skills/opentelemetry-observability/SKILL.md +1 -76
  316. package/.agent/skills/page-transition-animation/SKILL.md +1 -76
  317. package/.agent/skills/parallel-agents/SKILL.md +1 -76
  318. package/.agent/skills/performance-profiling/SKILL.md +1 -76
  319. package/.agent/skills/plan-writing/SKILL.md +1 -76
  320. package/.agent/skills/platform-engineer/SKILL.md +1 -76
  321. package/.agent/skills/platform-engineering-opentofu/SKILL.md +1 -76
  322. package/.agent/skills/playwright-ai-e2e/SKILL.md +1 -76
  323. package/.agent/skills/playwright-best-practices/SKILL.md +1 -76
  324. package/.agent/skills/polish/SKILL.md +1 -76
  325. package/.agent/skills/powershell-windows/SKILL.md +1 -76
  326. package/.agent/skills/pricing-page/SKILL.md +1 -76
  327. package/.agent/skills/product-aware-heuristics/SKILL.md +1 -76
  328. package/.agent/skills/progressive-blur/SKILL.md +1 -76
  329. package/.agent/skills/project-idioms/SKILL.md +1 -76
  330. package/.agent/skills/property-based-testing/SKILL.md +1 -76
  331. package/.agent/skills/python-patterns/SKILL.md +1 -76
  332. package/.agent/skills/python-pro/SKILL.md +1 -76
  333. package/.agent/skills/quieter/SKILL.md +1 -76
  334. package/.agent/skills/react-doctor/SKILL.md +1 -76
  335. package/.agent/skills/react-specialist/SKILL.md +1 -76
  336. package/.agent/skills/readme-builder/SKILL.md +1 -76
  337. package/.agent/skills/realtime-patterns/SKILL.md +1 -76
  338. package/.agent/skills/red-team-tactics/SKILL.md +1 -76
  339. package/.agent/skills/redesign-skill/SKILL.md +1 -76
  340. package/.agent/skills/review-animations/SKILL.md +1 -76
  341. package/.agent/skills/rust-pro/SKILL.md +1 -76
  342. package/.agent/skills/semantic-filesystem-navigation/SKILL.md +24 -0
  343. package/.agent/skills/seo-fundamentals/SKILL.md +1 -76
  344. package/.agent/skills/server-management/SKILL.md +1 -76
  345. package/.agent/skills/session-log-interrogation/SKILL.md +29 -0
  346. package/.agent/skills/shadcn-ui-expert/SKILL.md +1 -76
  347. package/.agent/skills/shape/SKILL.md +1 -76
  348. package/.agent/skills/skill-creator/SKILL.md +124 -90
  349. package/.agent/skills/soft-skill/SKILL.md +1 -76
  350. package/.agent/skills/sounds-on-the-web/SKILL.md +1 -76
  351. package/.agent/skills/sql-pro/SKILL.md +1 -76
  352. package/.agent/skills/subagent-driven-development/SKILL.md +32 -0
  353. package/.agent/skills/supabase-postgres-best-practices/SKILL.md +1 -76
  354. package/.agent/skills/svg-animation/SKILL.md +1 -76
  355. package/.agent/skills/swiftui-expert/SKILL.md +1 -76
  356. package/.agent/skills/swiss-design/SKILL.md +1 -76
  357. package/.agent/skills/system-design-pro/SKILL.md +1 -76
  358. package/.agent/skills/systematic-debugging/SKILL.md +3 -73
  359. package/.agent/skills/tailwind-patterns/SKILL.md +1 -76
  360. package/.agent/skills/taste-skill/SKILL.md +1 -76
  361. package/.agent/skills/tdd-workflow/SKILL.md +1 -76
  362. package/.agent/skills/test-result-analyzer/SKILL.md +1 -76
  363. package/.agent/skills/testing-patterns/SKILL.md +1 -76
  364. package/.agent/skills/thermo-nuclear-code-quality-review/SKILL.md +1 -76
  365. package/.agent/skills/thinking-protocol/SKILL.md +1 -78
  366. package/.agent/skills/to-spring-or-not-to-spring/SKILL.md +1 -76
  367. package/.agent/skills/train-sentence-transformers/SKILL.md +109 -0
  368. package/.agent/skills/train-sentence-transformers/references/base_model_selection.md +79 -0
  369. package/.agent/skills/train-sentence-transformers/references/dataset_formats.md +128 -0
  370. package/.agent/skills/train-sentence-transformers/references/evaluators_cross_encoder.md +116 -0
  371. package/.agent/skills/train-sentence-transformers/references/evaluators_multi_vector_encoder.md +101 -0
  372. package/.agent/skills/train-sentence-transformers/references/evaluators_sentence_transformer.md +151 -0
  373. package/.agent/skills/train-sentence-transformers/references/evaluators_sparse_encoder.md +121 -0
  374. package/.agent/skills/train-sentence-transformers/references/hardware_guide.md +105 -0
  375. package/.agent/skills/train-sentence-transformers/references/hf_jobs_execution.md +173 -0
  376. package/.agent/skills/train-sentence-transformers/references/losses_cross_encoder.md +137 -0
  377. package/.agent/skills/train-sentence-transformers/references/losses_multi_vector_encoder.md +100 -0
  378. package/.agent/skills/train-sentence-transformers/references/losses_sentence_transformer.md +246 -0
  379. package/.agent/skills/train-sentence-transformers/references/losses_sparse_encoder.md +106 -0
  380. package/.agent/skills/train-sentence-transformers/references/model_architectures.md +178 -0
  381. package/.agent/skills/train-sentence-transformers/references/prompts_and_instructions.md +160 -0
  382. package/.agent/skills/train-sentence-transformers/references/training_args.md +270 -0
  383. package/.agent/skills/train-sentence-transformers/references/troubleshooting.md +225 -0
  384. package/.agent/skills/train-sentence-transformers/scripts/mine_hard_negatives.py +199 -0
  385. package/.agent/skills/train-sentence-transformers/scripts/train_cross_encoder_distillation_example.py +254 -0
  386. package/.agent/skills/train-sentence-transformers/scripts/train_cross_encoder_example.py +253 -0
  387. package/.agent/skills/train-sentence-transformers/scripts/train_cross_encoder_listwise_example.py +282 -0
  388. package/.agent/skills/train-sentence-transformers/scripts/train_multi_vector_encoder_example.py +240 -0
  389. package/.agent/skills/train-sentence-transformers/scripts/train_sentence_transformer_distillation_example.py +303 -0
  390. package/.agent/skills/train-sentence-transformers/scripts/train_sentence_transformer_example.py +227 -0
  391. package/.agent/skills/train-sentence-transformers/scripts/train_sentence_transformer_make_multilingual_example.py +308 -0
  392. package/.agent/skills/train-sentence-transformers/scripts/train_sentence_transformer_matryoshka_example.py +212 -0
  393. package/.agent/skills/train-sentence-transformers/scripts/train_sentence_transformer_multi_dataset_example.py +258 -0
  394. package/.agent/skills/train-sentence-transformers/scripts/train_sentence_transformer_static_embedding_example.py +273 -0
  395. package/.agent/skills/train-sentence-transformers/scripts/train_sentence_transformer_with_lora_example.py +275 -0
  396. package/.agent/skills/train-sentence-transformers/scripts/train_sparse_encoder_distillation_example.py +262 -0
  397. package/.agent/skills/train-sentence-transformers/scripts/train_sparse_encoder_example.py +237 -0
  398. package/.agent/skills/transformers-js/SKILL.md +692 -0
  399. package/.agent/skills/transformers-js/references/CACHE.md +339 -0
  400. package/.agent/skills/transformers-js/references/CONFIGURATION.md +438 -0
  401. package/.agent/skills/transformers-js/references/EXAMPLES.md +620 -0
  402. package/.agent/skills/transformers-js/references/MODEL_ARCHITECTURES.md +167 -0
  403. package/.agent/skills/transformers-js/references/MODEL_REGISTRY.md +197 -0
  404. package/.agent/skills/transformers-js/references/PIPELINE_OPTIONS.md +557 -0
  405. package/.agent/skills/transformers-js/references/TEXT_GENERATION.md +315 -0
  406. package/.agent/skills/transitions-dev/SKILL.md +1 -76
  407. package/.agent/skills/trend-researcher/SKILL.md +1 -76
  408. package/.agent/skills/tribunal-instincts-memory/SKILL.md +31 -0
  409. package/.agent/skills/trl-training/SKILL.md +318 -0
  410. package/.agent/skills/typescript-advanced/SKILL.md +1 -76
  411. package/.agent/skills/typeset/SKILL.md +1 -76
  412. package/.agent/skills/ui-reasoning-engine/SKILL.md +1 -76
  413. package/.agent/skills/ui-skill-packs/SKILL.md +1 -76
  414. package/.agent/skills/ui-skills-root/SKILL.md +1 -76
  415. package/.agent/skills/ui-ux-pro-max/SKILL.md +1 -76
  416. package/.agent/skills/ui-ux-researcher/SKILL.md +1 -76
  417. package/.agent/skills/vector-search-pgvector/SKILL.md +1 -76
  418. package/.agent/skills/verification-before-completion/SKILL.md +1 -76
  419. package/.agent/skills/vue-expert/SKILL.md +1 -76
  420. package/.agent/skills/vulnerability-scanner/SKILL.md +1 -76
  421. package/.agent/skills/web-accessibility-auditor/SKILL.md +1 -76
  422. package/.agent/skills/web-design-guidelines/SKILL.md +1 -76
  423. package/.agent/skills/web-quality-audit/SKILL.md +1 -76
  424. package/.agent/skills/webapp-testing/SKILL.md +1 -76
  425. package/.agent/skills/webgpu-performance/SKILL.md +1 -76
  426. package/.agent/skills/whimsy-injector/SKILL.md +1 -76
  427. package/.agent/skills/workflow-optimizer/SKILL.md +1 -76
  428. package/.agent/skills/zero-trust-passkeys/SKILL.md +1 -76
  429. package/.agent/workflows/assimilate.md +21 -0
  430. package/.agent/workflows/audit.md +5 -0
  431. package/.agent/workflows/generate.md +6 -1
  432. package/.agent/workflows/htop.md +22 -0
  433. package/.agent/workflows/marathon.md +5 -0
  434. package/.agent/workflows/orchestrate.md +1 -1
  435. package/.agent/workflows/resume.md +20 -0
  436. package/.agent/workflows/review-ai.md +1 -1
  437. package/.agent/workflows/skill-enhancement-engine.md +6 -10
  438. package/.agent/workflows/swarm.md +1 -1
  439. package/.agent/workflows/team-mode.md +22 -0
  440. package/.agent/workflows/tribunal-backend.md +1 -1
  441. package/.agent/workflows/tribunal-cicd.md +1 -1
  442. package/.agent/workflows/tribunal-database.md +1 -1
  443. package/.agent/workflows/tribunal-frontend.md +1 -1
  444. package/.agent/workflows/tribunal-full.md +9 -9
  445. package/.agent/workflows/tribunal-mobile.md +1 -1
  446. package/.agent/workflows/tribunal-speed.md +1 -1
  447. package/.agent/workflows/tribunal-ui.md +1 -1
  448. package/.agents/skills/12-principles-of-animation/SKILL.md +1 -76
  449. package/.agents/skills/60fps-animation/SKILL.md +1 -76
  450. package/.agents/skills/accessible-animation/SKILL.md +1 -76
  451. package/.agents/skills/adapt/SKILL.md +1 -76
  452. package/.agents/skills/advanced-rag-pipelines/SKILL.md +1 -76
  453. package/.agents/skills/agent-organizer/SKILL.md +1 -76
  454. package/.agents/skills/agent-syscall-guidelines/SKILL.md +25 -0
  455. package/.agents/skills/agentic-patterns/SKILL.md +1 -76
  456. package/.agents/skills/agentic-workflows-2026/SKILL.md +6 -73
  457. package/.agents/skills/agentshield-security/SKILL.md +26 -0
  458. package/.agents/skills/ai-app-hardening/SKILL.md +1 -76
  459. package/.agents/skills/ai-prompt-injection-defense/SKILL.md +1 -76
  460. package/.agents/skills/animation-on-scroll/SKILL.md +1 -76
  461. package/.agents/skills/animation-systems/SKILL.md +1 -76
  462. package/.agents/skills/antfu-conventions/SKILL.md +0 -75
  463. package/.agents/skills/api-patterns/SKILL.md +1 -76
  464. package/.agents/skills/api-security-auditor/SKILL.md +1 -76
  465. package/.agents/skills/app-builder/SKILL.md +1 -76
  466. package/.agents/skills/appflow-wireframe/SKILL.md +1 -76
  467. package/.agents/skills/apple-design/SKILL.md +1 -76
  468. package/.agents/skills/architecture/SKILL.md +1 -76
  469. package/.agents/skills/audit-and-fix/SKILL.md +41 -77
  470. package/.agents/skills/authentication-best-practices/SKILL.md +1 -76
  471. package/.agents/skills/backend-security-expert/SKILL.md +1 -76
  472. package/.agents/skills/baseline-ui/SKILL.md +1 -76
  473. package/.agents/skills/bash-linux/SKILL.md +1 -76
  474. package/.agents/skills/behavioral-modes/SKILL.md +1 -76
  475. package/.agents/skills/better-colors/SKILL.md +1 -76
  476. package/.agents/skills/better-typography/SKILL.md +1 -76
  477. package/.agents/skills/better-ui/SKILL.md +1 -76
  478. package/.agents/skills/bolder/SKILL.md +1 -76
  479. package/.agents/skills/brainstorming/SKILL.md +1 -76
  480. package/.agents/skills/browser-audit/SKILL.md +1 -76
  481. package/.agents/skills/browser-native-ai/SKILL.md +1 -76
  482. package/.agents/skills/build-primitive/SKILL.md +1 -76
  483. package/.agents/skills/building-native-ui/SKILL.md +1 -76
  484. package/.agents/skills/cicd-pro/SKILL.md +1 -76
  485. package/.agents/skills/clarify/SKILL.md +1 -76
  486. package/.agents/skills/clean-code/SKILL.md +1 -76
  487. package/.agents/skills/cloud-architect/SKILL.md +1 -76
  488. package/.agents/skills/cobejs/SKILL.md +1 -76
  489. package/.agents/skills/code-review-checklist/SKILL.md +1 -76
  490. package/.agents/skills/codebase-design/SKILL.md +1 -76
  491. package/.agents/skills/colorize/SKILL.md +1 -76
  492. package/.agents/skills/compact-landing/SKILL.md +1 -76
  493. package/.agents/skills/company-logos/SKILL.md +1 -76
  494. package/.agents/skills/config-validator/SKILL.md +1 -76
  495. package/.agents/skills/containerization-pro/SKILL.md +1 -76
  496. package/.agents/skills/context-engineering-pro/SKILL.md +5 -73
  497. package/.agents/skills/create-design-md/SKILL.md +1 -76
  498. package/.agents/skills/critique/SKILL.md +1 -76
  499. package/.agents/skills/csharp-developer/SKILL.md +1 -76
  500. package/.agents/skills/data-validation-schemas/SKILL.md +1 -76
  501. package/.agents/skills/database-design/SKILL.md +1 -76
  502. package/.agents/skills/delight/SKILL.md +1 -76
  503. package/.agents/skills/deployment-procedures/SKILL.md +1 -76
  504. package/.agents/skills/design-lab/SKILL.md +1 -76
  505. package/.agents/skills/devops-engineer/SKILL.md +1 -76
  506. package/.agents/skills/devops-incident-responder/SKILL.md +1 -76
  507. package/.agents/skills/diagnosing-bugs/SKILL.md +1 -76
  508. package/.agents/skills/distill/SKILL.md +1 -76
  509. package/.agents/skills/documentation-templates/SKILL.md +1 -76
  510. package/.agents/skills/domain-modeling/SKILL.md +1 -76
  511. package/.agents/skills/duckdb-analytical-sql/SKILL.md +1 -76
  512. package/.agents/skills/edge-ai-mobile/SKILL.md +1 -76
  513. package/.agents/skills/edge-computing/SKILL.md +1 -76
  514. package/.agents/skills/emil-design-eng/SKILL.md +1 -76
  515. package/.agents/skills/error-resilience/SKILL.md +1 -76
  516. package/.agents/skills/expo-router-v4/SKILL.md +1 -76
  517. package/.agents/skills/extract-design-system/SKILL.md +1 -76
  518. package/.agents/skills/fabel-protocol/SKILL.md +3 -73
  519. package/.agents/skills/fixing-accessibility/SKILL.md +1 -76
  520. package/.agents/skills/fixing-metadata/SKILL.md +1 -76
  521. package/.agents/skills/fixing-motion-performance/SKILL.md +1 -76
  522. package/.agents/skills/framer-motion-expert/SKILL.md +1 -76
  523. package/.agents/skills/frontend-design/SKILL.md +1 -76
  524. package/.agents/skills/frontend-security-expert/SKILL.md +1 -76
  525. package/.agents/skills/game-design-expert/SKILL.md +1 -76
  526. package/.agents/skills/game-engineering-expert/SKILL.md +1 -76
  527. package/.agents/skills/generative-ui-expert/SKILL.md +1 -76
  528. package/.agents/skills/geo-fundamentals/SKILL.md +1 -76
  529. package/.agents/skills/git-pro/SKILL.md +1 -76
  530. package/.agents/skills/github-operations/SKILL.md +1 -76
  531. package/.agents/skills/gpt-taste/SKILL.md +1 -76
  532. package/.agents/skills/graph-engineering/SKILL.md +28 -0
  533. package/.agents/skills/gsap-core/SKILL.md +1 -76
  534. package/.agents/skills/gsap-frameworks/SKILL.md +1 -76
  535. package/.agents/skills/gsap-performance/SKILL.md +1 -76
  536. package/.agents/skills/gsap-plugins/SKILL.md +1 -76
  537. package/.agents/skills/gsap-react/SKILL.md +1 -76
  538. package/.agents/skills/gsap-scrolltrigger/SKILL.md +1 -76
  539. package/.agents/skills/gsap-timeline/SKILL.md +1 -76
  540. package/.agents/skills/gsap-utils/SKILL.md +1 -76
  541. package/.agents/skills/harden/SKILL.md +1 -76
  542. package/.agents/skills/harness-protocol/SKILL.md +6 -73
  543. package/.agents/skills/hf-cli/SKILL.md +239 -0
  544. package/.agents/skills/hf-cloud-aws-context-discovery/SKILL.md +74 -0
  545. package/.agents/skills/hf-cloud-python-env-setup/SKILL.md +90 -0
  546. package/.agents/skills/hf-cloud-python-env-setup/requirements.txt +17 -0
  547. package/.agents/skills/hf-cloud-python-env-setup/scripts/check_versions.py +29 -0
  548. package/.agents/skills/hf-cloud-python-env-setup/scripts/setup_env.py +143 -0
  549. package/.agents/skills/hf-cloud-sagemaker-deployment-planner/SKILL.md +90 -0
  550. package/.agents/skills/hf-cloud-sagemaker-iam-preflight/SKILL.md +102 -0
  551. package/.agents/skills/hf-cloud-sagemaker-iam-preflight/references/minimum-permissions.json +47 -0
  552. package/.agents/skills/hf-cloud-sagemaker-iam-preflight/references/trust-policy.json +12 -0
  553. package/.agents/skills/hf-cloud-sagemaker-iam-preflight/scripts/check_role.py +184 -0
  554. package/.agents/skills/hf-cloud-sagemaker-iam-preflight/scripts/create_role.py +118 -0
  555. package/.agents/skills/hf-cloud-sagemaker-production-defaults/SKILL.md +419 -0
  556. package/.agents/skills/hf-cloud-sagemaker-production-defaults/references/deployment-template.md +59 -0
  557. package/.agents/skills/hf-cloud-sagemaker-production-defaults/scripts/_common.py +148 -0
  558. package/.agents/skills/hf-cloud-sagemaker-production-defaults/scripts/deploy.py +327 -0
  559. package/.agents/skills/hf-cloud-sagemaker-production-defaults/scripts/deploy_async.py +434 -0
  560. package/.agents/skills/hf-cloud-sagemaker-production-defaults/scripts/deploy_ic.py +506 -0
  561. package/.agents/skills/hf-cloud-sagemaker-production-defaults/scripts/invoke_endpoint.py +180 -0
  562. package/.agents/skills/hf-cloud-sagemaker-production-defaults/scripts/teardown.py +246 -0
  563. package/.agents/skills/hf-cloud-serving-image-selection/SKILL.md +220 -0
  564. package/.agents/skills/hf-cloud-serving-image-selection/references/model-to-image.md +111 -0
  565. package/.agents/skills/hf-cloud-serving-image-selection/scripts/mirror_image.py +145 -0
  566. package/.agents/skills/hf-mem/SKILL.md +79 -0
  567. package/.agents/skills/huggingface-best/SKILL.md +134 -0
  568. package/.agents/skills/huggingface-community-evals/SKILL.md +207 -0
  569. package/.agents/skills/huggingface-community-evals/examples/.env.example +3 -0
  570. package/.agents/skills/huggingface-community-evals/examples/USAGE_EXAMPLES.md +101 -0
  571. package/.agents/skills/huggingface-community-evals/scripts/inspect_eval_uv.py +104 -0
  572. package/.agents/skills/huggingface-community-evals/scripts/inspect_vllm_uv.py +306 -0
  573. package/.agents/skills/huggingface-community-evals/scripts/lighteval_vllm_uv.py +297 -0
  574. package/.agents/skills/huggingface-datasets/SKILL.md +107 -0
  575. package/.agents/skills/huggingface-gradio/SKILL.md +298 -0
  576. package/.agents/skills/huggingface-gradio/examples.md +613 -0
  577. package/.agents/skills/huggingface-llm-trainer/SKILL.md +738 -0
  578. package/.agents/skills/huggingface-llm-trainer/references/gguf_conversion.md +296 -0
  579. package/.agents/skills/huggingface-llm-trainer/references/hardware_guide.md +283 -0
  580. package/.agents/skills/huggingface-llm-trainer/references/hub_saving.md +364 -0
  581. package/.agents/skills/huggingface-llm-trainer/references/local_training_macos.md +231 -0
  582. package/.agents/skills/huggingface-llm-trainer/references/reliability_principles.md +371 -0
  583. package/.agents/skills/huggingface-llm-trainer/references/trackio_guide.md +191 -0
  584. package/.agents/skills/huggingface-llm-trainer/references/training_methods.md +150 -0
  585. package/.agents/skills/huggingface-llm-trainer/references/training_patterns.md +203 -0
  586. package/.agents/skills/huggingface-llm-trainer/references/troubleshooting.md +282 -0
  587. package/.agents/skills/huggingface-llm-trainer/references/unsloth.md +313 -0
  588. package/.agents/skills/huggingface-llm-trainer/scripts/convert_to_gguf.py +424 -0
  589. package/.agents/skills/huggingface-llm-trainer/scripts/dataset_inspector.py +417 -0
  590. package/.agents/skills/huggingface-llm-trainer/scripts/estimate_cost.py +150 -0
  591. package/.agents/skills/huggingface-llm-trainer/scripts/hf_benchmarks.py +659 -0
  592. package/.agents/skills/huggingface-llm-trainer/scripts/train_dpo_example.py +106 -0
  593. package/.agents/skills/huggingface-llm-trainer/scripts/train_grpo_example.py +89 -0
  594. package/.agents/skills/huggingface-llm-trainer/scripts/train_sft_example.py +122 -0
  595. package/.agents/skills/huggingface-llm-trainer/scripts/unsloth_sft_example.py +512 -0
  596. package/.agents/skills/huggingface-local-models/SKILL.md +113 -0
  597. package/.agents/skills/huggingface-local-models/references/hardware.md +38 -0
  598. package/.agents/skills/huggingface-local-models/references/hub-discovery.md +178 -0
  599. package/.agents/skills/huggingface-local-models/references/quantization.md +256 -0
  600. package/.agents/skills/huggingface-lora-space-builder/SKILL.md +394 -0
  601. package/.agents/skills/huggingface-lora-space-builder/references/adapting-to-the-lora.md +113 -0
  602. package/.agents/skills/huggingface-lora-space-builder/references/base-models/krea-2.md +63 -0
  603. package/.agents/skills/huggingface-lora-space-builder/references/base-models/ltx.md +205 -0
  604. package/.agents/skills/huggingface-lora-space-builder/references/base-models/qwen-image.md +144 -0
  605. package/.agents/skills/huggingface-lora-space-builder/references/creative-mode.md +262 -0
  606. package/.agents/skills/huggingface-lora-space-builder/references/tasks.md +124 -0
  607. package/.agents/skills/huggingface-lora-space-builder/references/zerogpu-and-publishing.md +196 -0
  608. package/.agents/skills/huggingface-paper-publisher/SKILL.md +624 -0
  609. package/.agents/skills/huggingface-paper-publisher/examples/example_usage.md +326 -0
  610. package/.agents/skills/huggingface-paper-publisher/references/quick_reference.md +216 -0
  611. package/.agents/skills/huggingface-paper-publisher/scripts/paper_manager.py +606 -0
  612. package/.agents/skills/huggingface-paper-publisher/templates/arxiv.md +299 -0
  613. package/.agents/skills/huggingface-paper-publisher/templates/ml-report.md +358 -0
  614. package/.agents/skills/huggingface-paper-publisher/templates/modern.md +319 -0
  615. package/.agents/skills/huggingface-paper-publisher/templates/standard.md +201 -0
  616. package/.agents/skills/huggingface-papers/SKILL.md +239 -0
  617. package/.agents/skills/huggingface-spaces/README.md +9 -0
  618. package/.agents/skills/huggingface-spaces/SKILL.md +242 -0
  619. package/.agents/skills/huggingface-spaces/references/3d-cuda-extensions.md +109 -0
  620. package/.agents/skills/huggingface-spaces/references/3d-generation.md +98 -0
  621. package/.agents/skills/huggingface-spaces/references/3d-gsplat.md +53 -0
  622. package/.agents/skills/huggingface-spaces/references/3d-models.md +227 -0
  623. package/.agents/skills/huggingface-spaces/references/3d-outputs.md +114 -0
  624. package/.agents/skills/huggingface-spaces/references/buckets.md +89 -0
  625. package/.agents/skills/huggingface-spaces/references/debugging.md +236 -0
  626. package/.agents/skills/huggingface-spaces/references/gradio.md +200 -0
  627. package/.agents/skills/huggingface-spaces/references/grants.md +63 -0
  628. package/.agents/skills/huggingface-spaces/references/inference-providers.md +97 -0
  629. package/.agents/skills/huggingface-spaces/references/known-errors.md +232 -0
  630. package/.agents/skills/huggingface-spaces/references/requirements.md +169 -0
  631. package/.agents/skills/huggingface-spaces/references/zerogpu.md +349 -0
  632. package/.agents/skills/huggingface-tool-builder/SKILL.md +120 -0
  633. package/.agents/skills/huggingface-tool-builder/references/baseline_hf_api.py +57 -0
  634. package/.agents/skills/huggingface-tool-builder/references/baseline_hf_api.sh +40 -0
  635. package/.agents/skills/huggingface-tool-builder/references/baseline_hf_api.tsx +57 -0
  636. package/.agents/skills/huggingface-tool-builder/references/find_models_by_paper.sh +230 -0
  637. package/.agents/skills/huggingface-tool-builder/references/hf_enrich_models.sh +96 -0
  638. package/.agents/skills/huggingface-tool-builder/references/hf_model_card_frontmatter.sh +188 -0
  639. package/.agents/skills/huggingface-tool-builder/references/hf_model_papers_auth.sh +171 -0
  640. package/.agents/skills/huggingface-trackio/SKILL.md +142 -0
  641. package/.agents/skills/huggingface-trackio/references/alerts.md +196 -0
  642. package/.agents/skills/huggingface-trackio/references/logging_metrics.md +212 -0
  643. package/.agents/skills/huggingface-trackio/references/retrieving_metrics.md +251 -0
  644. package/.agents/skills/huggingface-vision-trainer/SKILL.md +593 -0
  645. package/.agents/skills/huggingface-vision-trainer/references/finetune_sam2_trainer.md +254 -0
  646. package/.agents/skills/huggingface-vision-trainer/references/hub_saving.md +618 -0
  647. package/.agents/skills/huggingface-vision-trainer/references/image_classification_training_notebook.md +279 -0
  648. package/.agents/skills/huggingface-vision-trainer/references/object_detection_training_notebook.md +700 -0
  649. package/.agents/skills/huggingface-vision-trainer/references/reliability_principles.md +310 -0
  650. package/.agents/skills/huggingface-vision-trainer/references/timm_trainer.md +91 -0
  651. package/.agents/skills/huggingface-vision-trainer/scripts/dataset_inspector.py +814 -0
  652. package/.agents/skills/huggingface-vision-trainer/scripts/estimate_cost.py +217 -0
  653. package/.agents/skills/huggingface-vision-trainer/scripts/image_classification_training.py +383 -0
  654. package/.agents/skills/huggingface-vision-trainer/scripts/object_detection_training.py +710 -0
  655. package/.agents/skills/huggingface-vision-trainer/scripts/sam_segmentation_training.py +382 -0
  656. package/.agents/skills/huggingface-zerogpu/SKILL.md +289 -0
  657. package/.agents/skills/huggingface-zerogpu/references/concurrency.md +79 -0
  658. package/.agents/skills/huggingface-zerogpu/references/cuda-and-deps.md +66 -0
  659. package/.agents/skills/huggingface-zerogpu/references/how-quota-works.md +74 -0
  660. package/.agents/skills/huggingface-zerogpu/references/how-zerogpu-works.md +50 -0
  661. package/.agents/skills/human-gate-negotiation/SKILL.md +30 -0
  662. package/.agents/skills/i18n-localization/SKILL.md +1 -76
  663. package/.agents/skills/impeccable/SKILL.md +1 -76
  664. package/.agents/skills/improve-codebase-architecture/SKILL.md +1 -76
  665. package/.agents/skills/improve-ui/SKILL.md +1 -76
  666. package/.agents/skills/intelligent-routing/SKILL.md +9 -89
  667. package/.agents/skills/knowledge-graph/SKILL.md +1 -76
  668. package/.agents/skills/landing-page/SKILL.md +1 -76
  669. package/.agents/skills/lint-and-validate/SKILL.md +1 -76
  670. package/.agents/skills/llm-engineering/SKILL.md +1 -76
  671. package/.agents/skills/local-first/SKILL.md +1 -76
  672. package/.agents/skills/local-first-architecture/SKILL.md +1 -76
  673. package/.agents/skills/lottie-animation/SKILL.md +1 -76
  674. package/.agents/skills/marquee-loop/SKILL.md +1 -76
  675. package/.agents/skills/masked-reveal/SKILL.md +1 -76
  676. package/.agents/skills/mcp-builder/SKILL.md +1 -76
  677. package/.agents/skills/micro-interaction/SKILL.md +1 -76
  678. package/.agents/skills/mobile-design/SKILL.md +1 -76
  679. package/.agents/skills/monorepo-management/SKILL.md +1 -76
  680. package/.agents/skills/morphing-icons/SKILL.md +1 -76
  681. package/.agents/skills/motion-engineering/SKILL.md +1 -76
  682. package/.agents/skills/nextjs-react-expert/SKILL.md +1 -76
  683. package/.agents/skills/nodejs-best-practices/SKILL.md +1 -76
  684. package/.agents/skills/observability/SKILL.md +1 -76
  685. package/.agents/skills/opentelemetry-observability/SKILL.md +1 -76
  686. package/.agents/skills/page-transition-animation/SKILL.md +1 -76
  687. package/.agents/skills/parallel-agents/SKILL.md +1 -76
  688. package/.agents/skills/performance-profiling/SKILL.md +1 -76
  689. package/.agents/skills/plan-writing/SKILL.md +1 -76
  690. package/.agents/skills/platform-engineer/SKILL.md +1 -76
  691. package/.agents/skills/platform-engineering-opentofu/SKILL.md +1 -76
  692. package/.agents/skills/playwright-ai-e2e/SKILL.md +1 -76
  693. package/.agents/skills/playwright-best-practices/SKILL.md +1 -76
  694. package/.agents/skills/polish/SKILL.md +1 -76
  695. package/.agents/skills/powershell-windows/SKILL.md +1 -76
  696. package/.agents/skills/pricing-page/SKILL.md +1 -76
  697. package/.agents/skills/product-aware-heuristics/SKILL.md +1 -76
  698. package/.agents/skills/progressive-blur/SKILL.md +1 -76
  699. package/.agents/skills/project-idioms/SKILL.md +1 -76
  700. package/.agents/skills/property-based-testing/SKILL.md +1 -76
  701. package/.agents/skills/python-patterns/SKILL.md +1 -76
  702. package/.agents/skills/python-pro/SKILL.md +1 -76
  703. package/.agents/skills/quieter/SKILL.md +1 -76
  704. package/.agents/skills/react-doctor/SKILL.md +1 -76
  705. package/.agents/skills/react-specialist/SKILL.md +1 -76
  706. package/.agents/skills/readme-builder/SKILL.md +1 -76
  707. package/.agents/skills/realtime-patterns/SKILL.md +1 -76
  708. package/.agents/skills/red-team-tactics/SKILL.md +1 -76
  709. package/.agents/skills/redesign-skill/SKILL.md +1 -76
  710. package/.agents/skills/review-animations/SKILL.md +1 -76
  711. package/.agents/skills/rust-pro/SKILL.md +1 -76
  712. package/.agents/skills/semantic-filesystem-navigation/SKILL.md +24 -0
  713. package/.agents/skills/seo-fundamentals/SKILL.md +1 -76
  714. package/.agents/skills/server-management/SKILL.md +1 -76
  715. package/.agents/skills/session-log-interrogation/SKILL.md +29 -0
  716. package/.agents/skills/shadcn-ui-expert/SKILL.md +1 -76
  717. package/.agents/skills/shape/SKILL.md +1 -76
  718. package/.agents/skills/skill-creator/SKILL.md +124 -90
  719. package/.agents/skills/soft-skill/SKILL.md +1 -76
  720. package/.agents/skills/sounds-on-the-web/SKILL.md +1 -76
  721. package/.agents/skills/sql-pro/SKILL.md +1 -76
  722. package/.agents/skills/subagent-driven-development/SKILL.md +32 -0
  723. package/.agents/skills/supabase-postgres-best-practices/SKILL.md +1 -76
  724. package/.agents/skills/svg-animation/SKILL.md +1 -76
  725. package/.agents/skills/swiftui-expert/SKILL.md +1 -76
  726. package/.agents/skills/swiss-design/SKILL.md +1 -76
  727. package/.agents/skills/system-design-pro/SKILL.md +1 -76
  728. package/.agents/skills/systematic-debugging/SKILL.md +3 -73
  729. package/.agents/skills/tailwind-patterns/SKILL.md +1 -76
  730. package/.agents/skills/taste-skill/SKILL.md +1 -76
  731. package/.agents/skills/tdd-workflow/SKILL.md +1 -76
  732. package/.agents/skills/test-result-analyzer/SKILL.md +1 -76
  733. package/.agents/skills/testing-patterns/SKILL.md +1 -76
  734. package/.agents/skills/thermo-nuclear-code-quality-review/SKILL.md +1 -76
  735. package/.agents/skills/thinking-protocol/SKILL.md +1 -78
  736. package/.agents/skills/to-spring-or-not-to-spring/SKILL.md +1 -76
  737. package/.agents/skills/train-sentence-transformers/SKILL.md +109 -0
  738. package/.agents/skills/train-sentence-transformers/references/base_model_selection.md +79 -0
  739. package/.agents/skills/train-sentence-transformers/references/dataset_formats.md +128 -0
  740. package/.agents/skills/train-sentence-transformers/references/evaluators_cross_encoder.md +116 -0
  741. package/.agents/skills/train-sentence-transformers/references/evaluators_multi_vector_encoder.md +101 -0
  742. package/.agents/skills/train-sentence-transformers/references/evaluators_sentence_transformer.md +151 -0
  743. package/.agents/skills/train-sentence-transformers/references/evaluators_sparse_encoder.md +121 -0
  744. package/.agents/skills/train-sentence-transformers/references/hardware_guide.md +105 -0
  745. package/.agents/skills/train-sentence-transformers/references/hf_jobs_execution.md +173 -0
  746. package/.agents/skills/train-sentence-transformers/references/losses_cross_encoder.md +137 -0
  747. package/.agents/skills/train-sentence-transformers/references/losses_multi_vector_encoder.md +100 -0
  748. package/.agents/skills/train-sentence-transformers/references/losses_sentence_transformer.md +246 -0
  749. package/.agents/skills/train-sentence-transformers/references/losses_sparse_encoder.md +106 -0
  750. package/.agents/skills/train-sentence-transformers/references/model_architectures.md +178 -0
  751. package/.agents/skills/train-sentence-transformers/references/prompts_and_instructions.md +160 -0
  752. package/.agents/skills/train-sentence-transformers/references/training_args.md +270 -0
  753. package/.agents/skills/train-sentence-transformers/references/troubleshooting.md +225 -0
  754. package/.agents/skills/train-sentence-transformers/scripts/mine_hard_negatives.py +199 -0
  755. package/.agents/skills/train-sentence-transformers/scripts/train_cross_encoder_distillation_example.py +254 -0
  756. package/.agents/skills/train-sentence-transformers/scripts/train_cross_encoder_example.py +253 -0
  757. package/.agents/skills/train-sentence-transformers/scripts/train_cross_encoder_listwise_example.py +282 -0
  758. package/.agents/skills/train-sentence-transformers/scripts/train_multi_vector_encoder_example.py +240 -0
  759. package/.agents/skills/train-sentence-transformers/scripts/train_sentence_transformer_distillation_example.py +303 -0
  760. package/.agents/skills/train-sentence-transformers/scripts/train_sentence_transformer_example.py +227 -0
  761. package/.agents/skills/train-sentence-transformers/scripts/train_sentence_transformer_make_multilingual_example.py +308 -0
  762. package/.agents/skills/train-sentence-transformers/scripts/train_sentence_transformer_matryoshka_example.py +212 -0
  763. package/.agents/skills/train-sentence-transformers/scripts/train_sentence_transformer_multi_dataset_example.py +258 -0
  764. package/.agents/skills/train-sentence-transformers/scripts/train_sentence_transformer_static_embedding_example.py +273 -0
  765. package/.agents/skills/train-sentence-transformers/scripts/train_sentence_transformer_with_lora_example.py +275 -0
  766. package/.agents/skills/train-sentence-transformers/scripts/train_sparse_encoder_distillation_example.py +262 -0
  767. package/.agents/skills/train-sentence-transformers/scripts/train_sparse_encoder_example.py +237 -0
  768. package/.agents/skills/transformers-js/SKILL.md +692 -0
  769. package/.agents/skills/transformers-js/references/CACHE.md +339 -0
  770. package/.agents/skills/transformers-js/references/CONFIGURATION.md +438 -0
  771. package/.agents/skills/transformers-js/references/EXAMPLES.md +620 -0
  772. package/.agents/skills/transformers-js/references/MODEL_ARCHITECTURES.md +167 -0
  773. package/.agents/skills/transformers-js/references/MODEL_REGISTRY.md +197 -0
  774. package/.agents/skills/transformers-js/references/PIPELINE_OPTIONS.md +557 -0
  775. package/.agents/skills/transformers-js/references/TEXT_GENERATION.md +315 -0
  776. package/.agents/skills/transitions-dev/SKILL.md +1 -76
  777. package/.agents/skills/trend-researcher/SKILL.md +1 -76
  778. package/.agents/skills/tribunal-instincts-memory/SKILL.md +31 -0
  779. package/.agents/skills/trl-training/SKILL.md +318 -0
  780. package/.agents/skills/typescript-advanced/SKILL.md +1 -76
  781. package/.agents/skills/typeset/SKILL.md +1 -76
  782. package/.agents/skills/ui-reasoning-engine/SKILL.md +1 -76
  783. package/.agents/skills/ui-skill-packs/SKILL.md +1 -76
  784. package/.agents/skills/ui-skills-root/SKILL.md +1 -76
  785. package/.agents/skills/ui-ux-pro-max/SKILL.md +1 -76
  786. package/.agents/skills/ui-ux-researcher/SKILL.md +1 -76
  787. package/.agents/skills/vector-search-pgvector/SKILL.md +1 -76
  788. package/.agents/skills/verification-before-completion/SKILL.md +1 -76
  789. package/.agents/skills/vue-expert/SKILL.md +1 -76
  790. package/.agents/skills/vulnerability-scanner/SKILL.md +1 -76
  791. package/.agents/skills/web-accessibility-auditor/SKILL.md +1 -76
  792. package/.agents/skills/web-design-guidelines/SKILL.md +1 -76
  793. package/.agents/skills/web-quality-audit/SKILL.md +1 -76
  794. package/.agents/skills/webapp-testing/SKILL.md +1 -76
  795. package/.agents/skills/webgpu-performance/SKILL.md +1 -76
  796. package/.agents/skills/whimsy-injector/SKILL.md +1 -76
  797. package/.agents/skills/workflow-optimizer/SKILL.md +1 -76
  798. package/.agents/skills/zero-trust-passkeys/SKILL.md +1 -76
  799. package/CONTRIBUTING.md +2 -2
  800. package/README.md +242 -542
  801. package/bin/adapter-install.js +263 -263
  802. package/bin/mcp-server.js +72 -47
  803. package/bin/wrapper.js +10 -1
  804. package/dist/commands/init.js +25 -11
  805. package/dist/tui/banner.js +1 -1
  806. package/gemini-extension.json +1 -1
  807. package/mcp_config.json +1 -1
  808. package/package.json +13 -10
  809. package/plugin.json +1 -1
  810. package/scripts/context_compiler.js +49 -0
  811. package/scripts/skill_enhancement_engine.js +11 -37
  812. package/scripts/telemetry_gc.js +3 -1
  813. package/scripts/validate-payload.js +1 -6
  814. package/skills/12-principles-of-animation/SKILL.md +1 -76
  815. package/skills/60fps-animation/SKILL.md +1 -76
  816. package/skills/accessible-animation/SKILL.md +1 -76
  817. package/skills/adapt/SKILL.md +1 -76
  818. package/skills/advanced-rag-pipelines/SKILL.md +1 -76
  819. package/skills/agent-organizer/SKILL.md +1 -76
  820. package/skills/agent-syscall-guidelines/SKILL.md +25 -0
  821. package/skills/agentic-patterns/SKILL.md +1 -76
  822. package/skills/agentic-workflows-2026/SKILL.md +6 -73
  823. package/skills/agentshield-security/SKILL.md +26 -0
  824. package/skills/ai-app-hardening/SKILL.md +1 -76
  825. package/skills/ai-prompt-injection-defense/SKILL.md +1 -76
  826. package/skills/animation-on-scroll/SKILL.md +1 -76
  827. package/skills/animation-systems/SKILL.md +1 -76
  828. package/skills/antfu-conventions/SKILL.md +0 -75
  829. package/skills/api-patterns/SKILL.md +1 -76
  830. package/skills/api-security-auditor/SKILL.md +1 -76
  831. package/skills/app-builder/SKILL.md +1 -76
  832. package/skills/appflow-wireframe/SKILL.md +1 -76
  833. package/skills/apple-design/SKILL.md +1 -76
  834. package/skills/architecture/SKILL.md +1 -76
  835. package/skills/audit-and-fix/SKILL.md +41 -77
  836. package/skills/authentication-best-practices/SKILL.md +1 -76
  837. package/skills/backend-security-expert/SKILL.md +1 -76
  838. package/skills/baseline-ui/SKILL.md +1 -76
  839. package/skills/bash-linux/SKILL.md +1 -76
  840. package/skills/behavioral-modes/SKILL.md +1 -76
  841. package/skills/better-colors/SKILL.md +1 -76
  842. package/skills/better-typography/SKILL.md +1 -76
  843. package/skills/better-ui/SKILL.md +1 -76
  844. package/skills/bolder/SKILL.md +1 -76
  845. package/skills/brainstorming/SKILL.md +1 -76
  846. package/skills/browser-audit/SKILL.md +1 -76
  847. package/skills/browser-native-ai/SKILL.md +1 -76
  848. package/skills/build-primitive/SKILL.md +1 -76
  849. package/skills/building-native-ui/SKILL.md +1 -76
  850. package/skills/cicd-pro/SKILL.md +1 -76
  851. package/skills/clarify/SKILL.md +1 -76
  852. package/skills/clean-code/SKILL.md +1 -76
  853. package/skills/cloud-architect/SKILL.md +1 -76
  854. package/skills/cobejs/SKILL.md +1 -76
  855. package/skills/code-review-checklist/SKILL.md +1 -76
  856. package/skills/codebase-design/SKILL.md +1 -76
  857. package/skills/colorize/SKILL.md +1 -76
  858. package/skills/compact-landing/SKILL.md +1 -76
  859. package/skills/company-logos/SKILL.md +1 -76
  860. package/skills/config-validator/SKILL.md +1 -76
  861. package/skills/containerization-pro/SKILL.md +1 -76
  862. package/skills/context-engineering-pro/SKILL.md +5 -73
  863. package/skills/create-design-md/SKILL.md +1 -76
  864. package/skills/critique/SKILL.md +1 -76
  865. package/skills/csharp-developer/SKILL.md +1 -76
  866. package/skills/data-validation-schemas/SKILL.md +1 -76
  867. package/skills/database-design/SKILL.md +1 -76
  868. package/skills/delight/SKILL.md +1 -76
  869. package/skills/deployment-procedures/SKILL.md +1 -76
  870. package/skills/design-lab/SKILL.md +1 -76
  871. package/skills/devops-engineer/SKILL.md +1 -76
  872. package/skills/devops-incident-responder/SKILL.md +1 -76
  873. package/skills/diagnosing-bugs/SKILL.md +1 -76
  874. package/skills/distill/SKILL.md +1 -76
  875. package/skills/documentation-templates/SKILL.md +1 -76
  876. package/skills/domain-modeling/SKILL.md +1 -76
  877. package/skills/duckdb-analytical-sql/SKILL.md +1 -76
  878. package/skills/edge-ai-mobile/SKILL.md +1 -76
  879. package/skills/edge-computing/SKILL.md +1 -76
  880. package/skills/emil-design-eng/SKILL.md +1 -76
  881. package/skills/error-resilience/SKILL.md +1 -76
  882. package/skills/expo-router-v4/SKILL.md +1 -76
  883. package/skills/extract-design-system/SKILL.md +1 -76
  884. package/skills/fabel-protocol/SKILL.md +3 -73
  885. package/skills/fixing-accessibility/SKILL.md +1 -76
  886. package/skills/fixing-metadata/SKILL.md +1 -76
  887. package/skills/fixing-motion-performance/SKILL.md +1 -76
  888. package/skills/framer-motion-expert/SKILL.md +1 -76
  889. package/skills/frontend-design/SKILL.md +1 -76
  890. package/skills/frontend-security-expert/SKILL.md +1 -76
  891. package/skills/game-design-expert/SKILL.md +1 -76
  892. package/skills/game-engineering-expert/SKILL.md +1 -76
  893. package/skills/generative-ui-expert/SKILL.md +1 -76
  894. package/skills/geo-fundamentals/SKILL.md +1 -76
  895. package/skills/git-pro/SKILL.md +1 -76
  896. package/skills/github-operations/SKILL.md +1 -76
  897. package/skills/gpt-taste/SKILL.md +1 -76
  898. package/skills/graph-engineering/SKILL.md +28 -0
  899. package/skills/gsap-core/SKILL.md +1 -76
  900. package/skills/gsap-frameworks/SKILL.md +1 -76
  901. package/skills/gsap-performance/SKILL.md +1 -76
  902. package/skills/gsap-plugins/SKILL.md +1 -76
  903. package/skills/gsap-react/SKILL.md +1 -76
  904. package/skills/gsap-scrolltrigger/SKILL.md +1 -76
  905. package/skills/gsap-timeline/SKILL.md +1 -76
  906. package/skills/gsap-utils/SKILL.md +1 -76
  907. package/skills/harden/SKILL.md +1 -76
  908. package/skills/harness-protocol/SKILL.md +6 -73
  909. package/skills/hf-cli/SKILL.md +239 -0
  910. package/skills/hf-cloud-aws-context-discovery/SKILL.md +74 -0
  911. package/skills/hf-cloud-python-env-setup/SKILL.md +90 -0
  912. package/skills/hf-cloud-python-env-setup/requirements.txt +17 -0
  913. package/skills/hf-cloud-python-env-setup/scripts/check_versions.py +29 -0
  914. package/skills/hf-cloud-python-env-setup/scripts/setup_env.py +143 -0
  915. package/skills/hf-cloud-sagemaker-deployment-planner/SKILL.md +90 -0
  916. package/skills/hf-cloud-sagemaker-iam-preflight/SKILL.md +102 -0
  917. package/skills/hf-cloud-sagemaker-iam-preflight/references/minimum-permissions.json +47 -0
  918. package/skills/hf-cloud-sagemaker-iam-preflight/references/trust-policy.json +12 -0
  919. package/skills/hf-cloud-sagemaker-iam-preflight/scripts/check_role.py +184 -0
  920. package/skills/hf-cloud-sagemaker-iam-preflight/scripts/create_role.py +118 -0
  921. package/skills/hf-cloud-sagemaker-production-defaults/SKILL.md +419 -0
  922. package/skills/hf-cloud-sagemaker-production-defaults/references/deployment-template.md +59 -0
  923. package/skills/hf-cloud-sagemaker-production-defaults/scripts/_common.py +148 -0
  924. package/skills/hf-cloud-sagemaker-production-defaults/scripts/deploy.py +327 -0
  925. package/skills/hf-cloud-sagemaker-production-defaults/scripts/deploy_async.py +434 -0
  926. package/skills/hf-cloud-sagemaker-production-defaults/scripts/deploy_ic.py +506 -0
  927. package/skills/hf-cloud-sagemaker-production-defaults/scripts/invoke_endpoint.py +180 -0
  928. package/skills/hf-cloud-sagemaker-production-defaults/scripts/teardown.py +246 -0
  929. package/skills/hf-cloud-serving-image-selection/SKILL.md +220 -0
  930. package/skills/hf-cloud-serving-image-selection/references/model-to-image.md +111 -0
  931. package/skills/hf-cloud-serving-image-selection/scripts/mirror_image.py +145 -0
  932. package/skills/hf-mem/SKILL.md +79 -0
  933. package/skills/huggingface-best/SKILL.md +134 -0
  934. package/skills/huggingface-community-evals/SKILL.md +207 -0
  935. package/skills/huggingface-community-evals/examples/.env.example +3 -0
  936. package/skills/huggingface-community-evals/examples/USAGE_EXAMPLES.md +101 -0
  937. package/skills/huggingface-community-evals/scripts/inspect_eval_uv.py +104 -0
  938. package/skills/huggingface-community-evals/scripts/inspect_vllm_uv.py +306 -0
  939. package/skills/huggingface-community-evals/scripts/lighteval_vllm_uv.py +297 -0
  940. package/skills/huggingface-datasets/SKILL.md +107 -0
  941. package/skills/huggingface-gradio/SKILL.md +298 -0
  942. package/skills/huggingface-gradio/examples.md +613 -0
  943. package/skills/huggingface-llm-trainer/SKILL.md +738 -0
  944. package/skills/huggingface-llm-trainer/references/gguf_conversion.md +296 -0
  945. package/skills/huggingface-llm-trainer/references/hardware_guide.md +283 -0
  946. package/skills/huggingface-llm-trainer/references/hub_saving.md +364 -0
  947. package/skills/huggingface-llm-trainer/references/local_training_macos.md +231 -0
  948. package/skills/huggingface-llm-trainer/references/reliability_principles.md +371 -0
  949. package/skills/huggingface-llm-trainer/references/trackio_guide.md +191 -0
  950. package/skills/huggingface-llm-trainer/references/training_methods.md +150 -0
  951. package/skills/huggingface-llm-trainer/references/training_patterns.md +203 -0
  952. package/skills/huggingface-llm-trainer/references/troubleshooting.md +282 -0
  953. package/skills/huggingface-llm-trainer/references/unsloth.md +313 -0
  954. package/skills/huggingface-llm-trainer/scripts/convert_to_gguf.py +424 -0
  955. package/skills/huggingface-llm-trainer/scripts/dataset_inspector.py +417 -0
  956. package/skills/huggingface-llm-trainer/scripts/estimate_cost.py +150 -0
  957. package/skills/huggingface-llm-trainer/scripts/hf_benchmarks.py +659 -0
  958. package/skills/huggingface-llm-trainer/scripts/train_dpo_example.py +106 -0
  959. package/skills/huggingface-llm-trainer/scripts/train_grpo_example.py +89 -0
  960. package/skills/huggingface-llm-trainer/scripts/train_sft_example.py +122 -0
  961. package/skills/huggingface-llm-trainer/scripts/unsloth_sft_example.py +512 -0
  962. package/skills/huggingface-local-models/SKILL.md +113 -0
  963. package/skills/huggingface-local-models/references/hardware.md +38 -0
  964. package/skills/huggingface-local-models/references/hub-discovery.md +178 -0
  965. package/skills/huggingface-local-models/references/quantization.md +256 -0
  966. package/skills/huggingface-lora-space-builder/SKILL.md +394 -0
  967. package/skills/huggingface-lora-space-builder/references/adapting-to-the-lora.md +113 -0
  968. package/skills/huggingface-lora-space-builder/references/base-models/krea-2.md +63 -0
  969. package/skills/huggingface-lora-space-builder/references/base-models/ltx.md +205 -0
  970. package/skills/huggingface-lora-space-builder/references/base-models/qwen-image.md +144 -0
  971. package/skills/huggingface-lora-space-builder/references/creative-mode.md +262 -0
  972. package/skills/huggingface-lora-space-builder/references/tasks.md +124 -0
  973. package/skills/huggingface-lora-space-builder/references/zerogpu-and-publishing.md +196 -0
  974. package/skills/huggingface-paper-publisher/SKILL.md +624 -0
  975. package/skills/huggingface-paper-publisher/examples/example_usage.md +326 -0
  976. package/skills/huggingface-paper-publisher/references/quick_reference.md +216 -0
  977. package/skills/huggingface-paper-publisher/scripts/paper_manager.py +606 -0
  978. package/skills/huggingface-paper-publisher/templates/arxiv.md +299 -0
  979. package/skills/huggingface-paper-publisher/templates/ml-report.md +358 -0
  980. package/skills/huggingface-paper-publisher/templates/modern.md +319 -0
  981. package/skills/huggingface-paper-publisher/templates/standard.md +201 -0
  982. package/skills/huggingface-papers/SKILL.md +239 -0
  983. package/skills/huggingface-spaces/README.md +9 -0
  984. package/skills/huggingface-spaces/SKILL.md +242 -0
  985. package/skills/huggingface-spaces/references/3d-cuda-extensions.md +109 -0
  986. package/skills/huggingface-spaces/references/3d-generation.md +98 -0
  987. package/skills/huggingface-spaces/references/3d-gsplat.md +53 -0
  988. package/skills/huggingface-spaces/references/3d-models.md +227 -0
  989. package/skills/huggingface-spaces/references/3d-outputs.md +114 -0
  990. package/skills/huggingface-spaces/references/buckets.md +89 -0
  991. package/skills/huggingface-spaces/references/debugging.md +236 -0
  992. package/skills/huggingface-spaces/references/gradio.md +200 -0
  993. package/skills/huggingface-spaces/references/grants.md +63 -0
  994. package/skills/huggingface-spaces/references/inference-providers.md +97 -0
  995. package/skills/huggingface-spaces/references/known-errors.md +232 -0
  996. package/skills/huggingface-spaces/references/requirements.md +169 -0
  997. package/skills/huggingface-spaces/references/zerogpu.md +349 -0
  998. package/skills/huggingface-tool-builder/SKILL.md +120 -0
  999. package/skills/huggingface-tool-builder/references/baseline_hf_api.py +57 -0
  1000. package/skills/huggingface-tool-builder/references/baseline_hf_api.sh +40 -0
  1001. package/skills/huggingface-tool-builder/references/baseline_hf_api.tsx +57 -0
  1002. package/skills/huggingface-tool-builder/references/find_models_by_paper.sh +230 -0
  1003. package/skills/huggingface-tool-builder/references/hf_enrich_models.sh +96 -0
  1004. package/skills/huggingface-tool-builder/references/hf_model_card_frontmatter.sh +188 -0
  1005. package/skills/huggingface-tool-builder/references/hf_model_papers_auth.sh +171 -0
  1006. package/skills/huggingface-trackio/SKILL.md +142 -0
  1007. package/skills/huggingface-trackio/references/alerts.md +196 -0
  1008. package/skills/huggingface-trackio/references/logging_metrics.md +212 -0
  1009. package/skills/huggingface-trackio/references/retrieving_metrics.md +251 -0
  1010. package/skills/huggingface-vision-trainer/SKILL.md +593 -0
  1011. package/skills/huggingface-vision-trainer/references/finetune_sam2_trainer.md +254 -0
  1012. package/skills/huggingface-vision-trainer/references/hub_saving.md +618 -0
  1013. package/skills/huggingface-vision-trainer/references/image_classification_training_notebook.md +279 -0
  1014. package/skills/huggingface-vision-trainer/references/object_detection_training_notebook.md +700 -0
  1015. package/skills/huggingface-vision-trainer/references/reliability_principles.md +310 -0
  1016. package/skills/huggingface-vision-trainer/references/timm_trainer.md +91 -0
  1017. package/skills/huggingface-vision-trainer/scripts/dataset_inspector.py +814 -0
  1018. package/skills/huggingface-vision-trainer/scripts/estimate_cost.py +217 -0
  1019. package/skills/huggingface-vision-trainer/scripts/image_classification_training.py +383 -0
  1020. package/skills/huggingface-vision-trainer/scripts/object_detection_training.py +710 -0
  1021. package/skills/huggingface-vision-trainer/scripts/sam_segmentation_training.py +382 -0
  1022. package/skills/huggingface-zerogpu/SKILL.md +289 -0
  1023. package/skills/huggingface-zerogpu/references/concurrency.md +79 -0
  1024. package/skills/huggingface-zerogpu/references/cuda-and-deps.md +66 -0
  1025. package/skills/huggingface-zerogpu/references/how-quota-works.md +74 -0
  1026. package/skills/huggingface-zerogpu/references/how-zerogpu-works.md +50 -0
  1027. package/skills/human-gate-negotiation/SKILL.md +30 -0
  1028. package/skills/i18n-localization/SKILL.md +1 -76
  1029. package/skills/impeccable/SKILL.md +1 -76
  1030. package/skills/improve-codebase-architecture/SKILL.md +1 -76
  1031. package/skills/improve-ui/SKILL.md +1 -76
  1032. package/skills/intelligent-routing/SKILL.md +9 -89
  1033. package/skills/knowledge-graph/SKILL.md +1 -76
  1034. package/skills/landing-page/SKILL.md +1 -76
  1035. package/skills/lint-and-validate/SKILL.md +1 -76
  1036. package/skills/llm-engineering/SKILL.md +1 -76
  1037. package/skills/local-first/SKILL.md +1 -76
  1038. package/skills/local-first-architecture/SKILL.md +1 -76
  1039. package/skills/lottie-animation/SKILL.md +1 -76
  1040. package/skills/marquee-loop/SKILL.md +1 -76
  1041. package/skills/masked-reveal/SKILL.md +1 -76
  1042. package/skills/mcp-builder/SKILL.md +1 -76
  1043. package/skills/micro-interaction/SKILL.md +1 -76
  1044. package/skills/mobile-design/SKILL.md +1 -76
  1045. package/skills/monorepo-management/SKILL.md +1 -76
  1046. package/skills/morphing-icons/SKILL.md +1 -76
  1047. package/skills/motion-engineering/SKILL.md +1 -76
  1048. package/skills/nextjs-react-expert/SKILL.md +1 -76
  1049. package/skills/nodejs-best-practices/SKILL.md +1 -76
  1050. package/skills/observability/SKILL.md +1 -76
  1051. package/skills/opentelemetry-observability/SKILL.md +1 -76
  1052. package/skills/page-transition-animation/SKILL.md +1 -76
  1053. package/skills/parallel-agents/SKILL.md +1 -76
  1054. package/skills/performance-profiling/SKILL.md +1 -76
  1055. package/skills/plan-writing/SKILL.md +1 -76
  1056. package/skills/platform-engineer/SKILL.md +1 -76
  1057. package/skills/platform-engineering-opentofu/SKILL.md +1 -76
  1058. package/skills/playwright-ai-e2e/SKILL.md +1 -76
  1059. package/skills/playwright-best-practices/SKILL.md +1 -76
  1060. package/skills/polish/SKILL.md +1 -76
  1061. package/skills/powershell-windows/SKILL.md +1 -76
  1062. package/skills/pricing-page/SKILL.md +1 -76
  1063. package/skills/product-aware-heuristics/SKILL.md +1 -76
  1064. package/skills/progressive-blur/SKILL.md +1 -76
  1065. package/skills/project-idioms/SKILL.md +1 -76
  1066. package/skills/property-based-testing/SKILL.md +1 -76
  1067. package/skills/python-patterns/SKILL.md +1 -76
  1068. package/skills/python-pro/SKILL.md +1 -76
  1069. package/skills/quieter/SKILL.md +1 -76
  1070. package/skills/react-doctor/SKILL.md +1 -76
  1071. package/skills/react-specialist/SKILL.md +1 -76
  1072. package/skills/readme-builder/SKILL.md +1 -76
  1073. package/skills/realtime-patterns/SKILL.md +1 -76
  1074. package/skills/red-team-tactics/SKILL.md +1 -76
  1075. package/skills/redesign-skill/SKILL.md +1 -76
  1076. package/skills/review-animations/SKILL.md +1 -76
  1077. package/skills/rust-pro/SKILL.md +1 -76
  1078. package/skills/semantic-filesystem-navigation/SKILL.md +24 -0
  1079. package/skills/seo-fundamentals/SKILL.md +1 -76
  1080. package/skills/server-management/SKILL.md +1 -76
  1081. package/skills/session-log-interrogation/SKILL.md +29 -0
  1082. package/skills/shadcn-ui-expert/SKILL.md +1 -76
  1083. package/skills/shape/SKILL.md +1 -76
  1084. package/skills/skill-creator/SKILL.md +124 -90
  1085. package/skills/soft-skill/SKILL.md +1 -76
  1086. package/skills/sounds-on-the-web/SKILL.md +1 -76
  1087. package/skills/sql-pro/SKILL.md +1 -76
  1088. package/skills/subagent-driven-development/SKILL.md +32 -0
  1089. package/skills/supabase-postgres-best-practices/SKILL.md +1 -76
  1090. package/skills/svg-animation/SKILL.md +1 -76
  1091. package/skills/swiftui-expert/SKILL.md +1 -76
  1092. package/skills/swiss-design/SKILL.md +1 -76
  1093. package/skills/system-design-pro/SKILL.md +1 -76
  1094. package/skills/systematic-debugging/SKILL.md +3 -73
  1095. package/skills/tailwind-patterns/SKILL.md +1 -76
  1096. package/skills/taste-skill/SKILL.md +1 -76
  1097. package/skills/tdd-workflow/SKILL.md +1 -76
  1098. package/skills/test-result-analyzer/SKILL.md +1 -76
  1099. package/skills/testing-patterns/SKILL.md +1 -76
  1100. package/skills/thermo-nuclear-code-quality-review/SKILL.md +1 -76
  1101. package/skills/thinking-protocol/SKILL.md +1 -78
  1102. package/skills/to-spring-or-not-to-spring/SKILL.md +1 -76
  1103. package/skills/train-sentence-transformers/SKILL.md +109 -0
  1104. package/skills/train-sentence-transformers/references/base_model_selection.md +79 -0
  1105. package/skills/train-sentence-transformers/references/dataset_formats.md +128 -0
  1106. package/skills/train-sentence-transformers/references/evaluators_cross_encoder.md +116 -0
  1107. package/skills/train-sentence-transformers/references/evaluators_multi_vector_encoder.md +101 -0
  1108. package/skills/train-sentence-transformers/references/evaluators_sentence_transformer.md +151 -0
  1109. package/skills/train-sentence-transformers/references/evaluators_sparse_encoder.md +121 -0
  1110. package/skills/train-sentence-transformers/references/hardware_guide.md +105 -0
  1111. package/skills/train-sentence-transformers/references/hf_jobs_execution.md +173 -0
  1112. package/skills/train-sentence-transformers/references/losses_cross_encoder.md +137 -0
  1113. package/skills/train-sentence-transformers/references/losses_multi_vector_encoder.md +100 -0
  1114. package/skills/train-sentence-transformers/references/losses_sentence_transformer.md +246 -0
  1115. package/skills/train-sentence-transformers/references/losses_sparse_encoder.md +106 -0
  1116. package/skills/train-sentence-transformers/references/model_architectures.md +178 -0
  1117. package/skills/train-sentence-transformers/references/prompts_and_instructions.md +160 -0
  1118. package/skills/train-sentence-transformers/references/training_args.md +270 -0
  1119. package/skills/train-sentence-transformers/references/troubleshooting.md +225 -0
  1120. package/skills/train-sentence-transformers/scripts/mine_hard_negatives.py +199 -0
  1121. package/skills/train-sentence-transformers/scripts/train_cross_encoder_distillation_example.py +254 -0
  1122. package/skills/train-sentence-transformers/scripts/train_cross_encoder_example.py +253 -0
  1123. package/skills/train-sentence-transformers/scripts/train_cross_encoder_listwise_example.py +282 -0
  1124. package/skills/train-sentence-transformers/scripts/train_multi_vector_encoder_example.py +240 -0
  1125. package/skills/train-sentence-transformers/scripts/train_sentence_transformer_distillation_example.py +303 -0
  1126. package/skills/train-sentence-transformers/scripts/train_sentence_transformer_example.py +227 -0
  1127. package/skills/train-sentence-transformers/scripts/train_sentence_transformer_make_multilingual_example.py +308 -0
  1128. package/skills/train-sentence-transformers/scripts/train_sentence_transformer_matryoshka_example.py +212 -0
  1129. package/skills/train-sentence-transformers/scripts/train_sentence_transformer_multi_dataset_example.py +258 -0
  1130. package/skills/train-sentence-transformers/scripts/train_sentence_transformer_static_embedding_example.py +273 -0
  1131. package/skills/train-sentence-transformers/scripts/train_sentence_transformer_with_lora_example.py +275 -0
  1132. package/skills/train-sentence-transformers/scripts/train_sparse_encoder_distillation_example.py +262 -0
  1133. package/skills/train-sentence-transformers/scripts/train_sparse_encoder_example.py +237 -0
  1134. package/skills/transformers-js/SKILL.md +692 -0
  1135. package/skills/transformers-js/references/CACHE.md +339 -0
  1136. package/skills/transformers-js/references/CONFIGURATION.md +438 -0
  1137. package/skills/transformers-js/references/EXAMPLES.md +620 -0
  1138. package/skills/transformers-js/references/MODEL_ARCHITECTURES.md +167 -0
  1139. package/skills/transformers-js/references/MODEL_REGISTRY.md +197 -0
  1140. package/skills/transformers-js/references/PIPELINE_OPTIONS.md +557 -0
  1141. package/skills/transformers-js/references/TEXT_GENERATION.md +315 -0
  1142. package/skills/transitions-dev/SKILL.md +1 -76
  1143. package/skills/trend-researcher/SKILL.md +1 -76
  1144. package/skills/tribunal-instincts-memory/SKILL.md +31 -0
  1145. package/skills/trl-training/SKILL.md +318 -0
  1146. package/skills/typescript-advanced/SKILL.md +1 -76
  1147. package/skills/typeset/SKILL.md +1 -76
  1148. package/skills/ui-reasoning-engine/SKILL.md +1 -76
  1149. package/skills/ui-skill-packs/SKILL.md +1 -76
  1150. package/skills/ui-skills-root/SKILL.md +1 -76
  1151. package/skills/ui-ux-pro-max/SKILL.md +1 -76
  1152. package/skills/ui-ux-researcher/SKILL.md +1 -76
  1153. package/skills/vector-search-pgvector/SKILL.md +1 -76
  1154. package/skills/verification-before-completion/SKILL.md +1 -76
  1155. package/skills/vue-expert/SKILL.md +1 -76
  1156. package/skills/vulnerability-scanner/SKILL.md +1 -76
  1157. package/skills/web-accessibility-auditor/SKILL.md +1 -76
  1158. package/skills/web-design-guidelines/SKILL.md +1 -76
  1159. package/skills/web-quality-audit/SKILL.md +1 -76
  1160. package/skills/webapp-testing/SKILL.md +1 -76
  1161. package/skills/webgpu-performance/SKILL.md +1 -76
  1162. package/skills/whimsy-injector/SKILL.md +1 -76
  1163. package/skills/workflow-optimizer/SKILL.md +1 -76
  1164. package/skills/zero-trust-passkeys/SKILL.md +1 -76
@@ -0,0 +1,710 @@
1
+ # /// script
2
+ # dependencies = [
3
+ # "transformers>=5.2.0",
4
+ # "accelerate>=1.1.0",
5
+ # "albumentations >= 1.4.16",
6
+ # "timm",
7
+ # "datasets>=4.0",
8
+ # "torchmetrics",
9
+ # "pycocotools",
10
+ # "trackio",
11
+ # "huggingface_hub",
12
+ # ]
13
+ # ///
14
+
15
+ """Finetuning any 🤗 Transformers model supported by AutoModelForObjectDetection for object detection leveraging the Trainer API."""
16
+
17
+ import logging
18
+ import math
19
+ import os
20
+ import sys
21
+ from collections.abc import Mapping
22
+ from dataclasses import dataclass, field
23
+ from functools import partial
24
+ from typing import Any
25
+
26
+ import albumentations as A
27
+ import numpy as np
28
+ import torch
29
+ from datasets import load_dataset
30
+ from torchmetrics.detection.mean_ap import MeanAveragePrecision
31
+
32
+ import trackio
33
+
34
+ import transformers
35
+ from transformers import (
36
+ AutoConfig,
37
+ AutoImageProcessor,
38
+ AutoModelForObjectDetection,
39
+ HfArgumentParser,
40
+ Trainer,
41
+ TrainingArguments,
42
+ )
43
+ from transformers.image_processing_utils import BatchFeature
44
+ from transformers.image_transforms import center_to_corners_format
45
+ from transformers.trainer import EvalPrediction
46
+ from transformers.utils import check_min_version
47
+ from transformers.utils.versions import require_version
48
+
49
+
50
+ logger = logging.getLogger(__name__)
51
+
52
+ # Will error if the minimal version of Transformers is not installed. Remove at your own risks.
53
+ check_min_version("4.57.0.dev0")
54
+
55
+ require_version("datasets>=2.0.0", "To fix: pip install -r examples/pytorch/object-detection/requirements.txt")
56
+
57
+
58
+ @dataclass
59
+ class ModelOutput:
60
+ logits: torch.Tensor
61
+ pred_boxes: torch.Tensor
62
+
63
+
64
+ def format_image_annotations_as_coco(
65
+ image_id: str, categories: list[int], areas: list[float], bboxes: list[tuple[float]]
66
+ ) -> dict:
67
+ """Format one set of image annotations to the COCO format
68
+
69
+ Args:
70
+ image_id (str): image id. e.g. "0001"
71
+ categories (list[int]): list of categories/class labels corresponding to provided bounding boxes
72
+ areas (list[float]): list of corresponding areas to provided bounding boxes
73
+ bboxes (list[tuple[float]]): list of bounding boxes provided in COCO format
74
+ ([center_x, center_y, width, height] in absolute coordinates)
75
+
76
+ Returns:
77
+ dict: {
78
+ "image_id": image id,
79
+ "annotations": list of formatted annotations
80
+ }
81
+ """
82
+ annotations = []
83
+ for category, area, bbox in zip(categories, areas, bboxes):
84
+ formatted_annotation = {
85
+ "image_id": image_id,
86
+ "category_id": category,
87
+ "iscrowd": 0,
88
+ "area": area,
89
+ "bbox": list(bbox),
90
+ }
91
+ annotations.append(formatted_annotation)
92
+
93
+ return {
94
+ "image_id": image_id,
95
+ "annotations": annotations,
96
+ }
97
+
98
+
99
+ def detect_bbox_format_from_samples(dataset, image_col="image", objects_col="objects", num_samples=50):
100
+ """
101
+ Detect whether bboxes are xyxy (Pascal VOC) or xywh (COCO) by checking
102
+ bbox coordinates against image dimensions. The correct format interpretation
103
+ should keep bboxes within image bounds.
104
+ """
105
+ exceeds_if_xywh = 0
106
+ exceeds_if_xyxy = 0
107
+ total = 0
108
+
109
+ for example in dataset.select(range(min(num_samples, len(dataset)))):
110
+ img_w, img_h = example[image_col].size
111
+ for bbox in example[objects_col]["bbox"]:
112
+ if len(bbox) != 4:
113
+ continue
114
+ a, b, c, d = float(bbox[0]), float(bbox[1]), float(bbox[2]), float(bbox[3])
115
+ total += 1
116
+
117
+ # If 3rd < 1st or 4th < 2nd, can't be xyxy (x_max must exceed x_min)
118
+ if c < a or d < b:
119
+ return "xywh"
120
+
121
+ # xywh: right/bottom edge = origin + size; exceeding image → wrong format
122
+ if a + c > img_w * 1.05:
123
+ exceeds_if_xywh += 1
124
+ if b + d > img_h * 1.05:
125
+ exceeds_if_xywh += 1
126
+ # xyxy: right/bottom edge = coordinate itself
127
+ if c > img_w * 1.05:
128
+ exceeds_if_xyxy += 1
129
+ if d > img_h * 1.05:
130
+ exceeds_if_xyxy += 1
131
+
132
+ if total == 0:
133
+ return "xywh"
134
+
135
+ fmt = "xyxy" if exceeds_if_xywh > exceeds_if_xyxy else "xywh"
136
+ logger.info(
137
+ f"Detected bbox format: {fmt} (checked {total} bboxes from {min(num_samples, len(dataset))} images)"
138
+ )
139
+ return fmt
140
+
141
+
142
+ def sanitize_dataset(dataset, bbox_format="xywh", image_col="image", objects_col="objects"):
143
+ """
144
+ Validate bboxes, convert xyxy→xywh if needed, clip to image bounds, and remove
145
+ entries with non-finite values, non-positive dimensions, or degenerate area (<1 px).
146
+ Drops images with no remaining valid bboxes.
147
+ """
148
+ convert_xyxy = bbox_format == "xyxy"
149
+
150
+ def _validate(example):
151
+ img_w, img_h = example[image_col].size
152
+ objects = example[objects_col]
153
+ bboxes = objects["bbox"]
154
+ n = len(bboxes)
155
+
156
+ valid_indices = []
157
+ converted_bboxes = []
158
+
159
+ for i, bbox in enumerate(bboxes):
160
+ if len(bbox) != 4:
161
+ continue
162
+ vals = [float(v) for v in bbox]
163
+ if not all(math.isfinite(v) for v in vals):
164
+ continue
165
+
166
+ if convert_xyxy:
167
+ x_min, y_min, x_max, y_max = vals
168
+ w, h = x_max - x_min, y_max - y_min
169
+ else:
170
+ x_min, y_min, w, h = vals
171
+
172
+ if w <= 0 or h <= 0:
173
+ continue
174
+
175
+ x_min, y_min = max(0.0, x_min), max(0.0, y_min)
176
+ if x_min >= img_w or y_min >= img_h:
177
+ continue
178
+ w = min(w, img_w - x_min)
179
+ h = min(h, img_h - y_min)
180
+
181
+ if w * h < 1.0:
182
+ continue
183
+
184
+ valid_indices.append(i)
185
+ converted_bboxes.append([x_min, y_min, w, h])
186
+
187
+ # Rebuild objects dict, filtering all list-valued fields by valid_indices
188
+ new_objects = {}
189
+ for key, value in objects.items():
190
+ if key == "bbox":
191
+ new_objects["bbox"] = converted_bboxes
192
+ elif isinstance(value, list) and len(value) == n:
193
+ new_objects[key] = [value[j] for j in valid_indices]
194
+ else:
195
+ new_objects[key] = value
196
+
197
+ if "area" not in new_objects or len(new_objects.get("area", [])) != len(converted_bboxes):
198
+ new_objects["area"] = [b[2] * b[3] for b in converted_bboxes]
199
+
200
+ example[objects_col] = new_objects
201
+ return example
202
+
203
+ before = len(dataset)
204
+ dataset = dataset.map(_validate)
205
+ dataset = dataset.filter(lambda ex: len(ex[objects_col]["bbox"]) > 0)
206
+ after = len(dataset)
207
+ if before != after:
208
+ logger.warning(f"Dropped {before - after}/{before} images with no valid bboxes after sanitization")
209
+ logger.info(f"Bbox sanitization complete: {after} images with valid bboxes remain")
210
+ return dataset
211
+
212
+
213
+ def convert_bbox_yolo_to_pascal(boxes: torch.Tensor, image_size: tuple[int, int]) -> torch.Tensor:
214
+ """
215
+ Convert bounding boxes from YOLO format (x_center, y_center, width, height) in range [0, 1]
216
+ to Pascal VOC format (x_min, y_min, x_max, y_max) in absolute coordinates.
217
+
218
+ Args:
219
+ boxes (torch.Tensor): Bounding boxes in YOLO format
220
+ image_size (tuple[int, int]): Image size in format (height, width)
221
+
222
+ Returns:
223
+ torch.Tensor: Bounding boxes in Pascal VOC format (x_min, y_min, x_max, y_max)
224
+ """
225
+ # convert center to corners format
226
+ boxes = center_to_corners_format(boxes)
227
+
228
+
229
+ if isinstance(image_size, torch.Tensor):
230
+ image_size = image_size.tolist()
231
+ elif isinstance(image_size, np.ndarray):
232
+ image_size = image_size.tolist()
233
+ height, width = image_size
234
+ boxes = boxes * torch.tensor([[width, height, width, height]])
235
+
236
+ return boxes
237
+
238
+
239
+ def augment_and_transform_batch(
240
+ examples: Mapping[str, Any],
241
+ transform: A.Compose,
242
+ image_processor: AutoImageProcessor,
243
+ return_pixel_mask: bool = False,
244
+ ) -> BatchFeature:
245
+ """Apply augmentations and format annotations in COCO format for object detection task"""
246
+
247
+ images = []
248
+ annotations = []
249
+ image_ids = examples["image_id"] if "image_id" in examples else range(len(examples["image"]))
250
+ for image_id, image, objects in zip(image_ids, examples["image"], examples["objects"]):
251
+ image = np.array(image.convert("RGB"))
252
+
253
+ # Filter invalid bboxes before augmentation (safety net after sanitize_dataset)
254
+ bboxes = objects["bbox"]
255
+ categories = objects["category"]
256
+ areas = objects["area"]
257
+ valid = [
258
+ (b, c, a)
259
+ for b, c, a in zip(bboxes, categories, areas)
260
+ if len(b) == 4 and b[2] > 0 and b[3] > 0 and b[0] >= 0 and b[1] >= 0
261
+ ]
262
+ if valid:
263
+ bboxes, categories, areas = zip(*valid)
264
+ else:
265
+ bboxes, categories, areas = [], [], []
266
+
267
+ # apply augmentations
268
+ output = transform(image=image, bboxes=list(bboxes), category=list(categories))
269
+ images.append(output["image"])
270
+
271
+ # format annotations in COCO format (recompute areas from post-augmentation bboxes)
272
+ post_areas = [b[2] * b[3] for b in output["bboxes"]] if output["bboxes"] else []
273
+ formatted_annotations = format_image_annotations_as_coco(
274
+ image_id, output["category"], post_areas, output["bboxes"]
275
+ )
276
+ annotations.append(formatted_annotations)
277
+
278
+ # Apply the image processor transformations: resizing, rescaling, normalization
279
+ result = image_processor(images=images, annotations=annotations, return_tensors="pt")
280
+
281
+ if not return_pixel_mask:
282
+ result.pop("pixel_mask", None)
283
+
284
+ return result
285
+
286
+
287
+ def collate_fn(batch: list[BatchFeature]) -> Mapping[str, torch.Tensor | list[Any]]:
288
+ data = {}
289
+ data["pixel_values"] = torch.stack([x["pixel_values"] for x in batch])
290
+ data["labels"] = [x["labels"] for x in batch]
291
+ if "pixel_mask" in batch[0]:
292
+ data["pixel_mask"] = torch.stack([x["pixel_mask"] for x in batch])
293
+ return data
294
+
295
+
296
+ @torch.no_grad()
297
+ def compute_metrics(
298
+ evaluation_results: EvalPrediction,
299
+ image_processor: AutoImageProcessor,
300
+ threshold: float = 0.0,
301
+ id2label: Mapping[int, str] | None = None,
302
+ ) -> Mapping[str, float]:
303
+ """
304
+ Compute mean average mAP, mAR and their variants for the object detection task.
305
+
306
+ Args:
307
+ evaluation_results (EvalPrediction): Predictions and targets from evaluation.
308
+ threshold (float, optional): Threshold to filter predicted boxes by confidence. Defaults to 0.0.
309
+ id2label (Optional[dict], optional): Mapping from class id to class name. Defaults to None.
310
+
311
+ Returns:
312
+ Mapping[str, float]: Metrics in a form of dictionary {<metric_name>: <metric_value>}
313
+ """
314
+
315
+ predictions, targets = evaluation_results.predictions, evaluation_results.label_ids
316
+
317
+ # For metric computation we need to provide:
318
+ # - targets in a form of list of dictionaries with keys "boxes", "labels"
319
+ # - predictions in a form of list of dictionaries with keys "boxes", "scores", "labels"
320
+
321
+ image_sizes = []
322
+ post_processed_targets = []
323
+ post_processed_predictions = []
324
+
325
+ # Collect targets in the required format for metric computation
326
+ for batch in targets:
327
+ # collect image sizes, we will need them for predictions post processing
328
+ batch_image_sizes = torch.tensor([x["orig_size"] for x in batch])
329
+ image_sizes.append(batch_image_sizes)
330
+ # collect targets in the required format for metric computation
331
+ # boxes were converted to YOLO format needed for model training
332
+ # here we will convert them to Pascal VOC format (x_min, y_min, x_max, y_max)
333
+ for image_target in batch:
334
+ boxes = torch.tensor(image_target["boxes"])
335
+ boxes = convert_bbox_yolo_to_pascal(boxes, image_target["orig_size"])
336
+ labels = torch.tensor(image_target["class_labels"])
337
+ post_processed_targets.append({"boxes": boxes, "labels": labels})
338
+
339
+ # Collect predictions in the required format for metric computation,
340
+ # model produce boxes in YOLO format, then image_processor convert them to Pascal VOC format
341
+ for batch, target_sizes in zip(predictions, image_sizes):
342
+ batch_logits, batch_boxes = batch[1], batch[2]
343
+ output = ModelOutput(logits=torch.tensor(batch_logits), pred_boxes=torch.tensor(batch_boxes))
344
+ post_processed_output = image_processor.post_process_object_detection(
345
+ output, threshold=threshold, target_sizes=target_sizes
346
+ )
347
+ post_processed_predictions.extend(post_processed_output)
348
+
349
+ # Compute metrics
350
+ metric = MeanAveragePrecision(box_format="xyxy", class_metrics=True)
351
+ metric.update(post_processed_predictions, post_processed_targets)
352
+ metrics = metric.compute()
353
+
354
+ # Replace list of per class metrics with separate metric for each class
355
+ classes = metrics.pop("classes")
356
+ map_per_class = metrics.pop("map_per_class")
357
+ mar_100_per_class = metrics.pop("mar_100_per_class")
358
+ # Single-class datasets return 0-d scalar tensors; make them iterable
359
+ if classes.dim() == 0:
360
+ classes = classes.unsqueeze(0)
361
+ map_per_class = map_per_class.unsqueeze(0)
362
+ mar_100_per_class = mar_100_per_class.unsqueeze(0)
363
+ for class_id, class_map, class_mar in zip(classes, map_per_class, mar_100_per_class):
364
+ class_name = id2label[class_id.item()] if id2label is not None else class_id.item()
365
+ metrics[f"map_{class_name}"] = class_map
366
+ metrics[f"mar_100_{class_name}"] = class_mar
367
+
368
+ metrics = {k: round(v.item(), 4) for k, v in metrics.items()}
369
+
370
+ return metrics
371
+
372
+
373
+ @dataclass
374
+ class DataTrainingArguments:
375
+ """
376
+ Arguments pertaining to what data we are going to input our model for training and eval.
377
+ Using `HfArgumentParser` we can turn this class into argparse arguments to be able to specify
378
+ them on the command line.
379
+ """
380
+
381
+ dataset_name: str = field(
382
+ default="cppe-5",
383
+ metadata={
384
+ "help": "Name of a dataset from the hub (could be your own, possibly private dataset hosted on the hub)."
385
+ },
386
+ )
387
+ dataset_config_name: str | None = field(
388
+ default=None, metadata={"help": "The configuration name of the dataset to use (via the datasets library)."}
389
+ )
390
+ train_val_split: float | None = field(
391
+ default=0.15, metadata={"help": "Percent to split off of train for validation."}
392
+ )
393
+ image_square_size: int | None = field(
394
+ default=600,
395
+ metadata={"help": "Image longest size will be resized to this value, then image will be padded to square."},
396
+ )
397
+ max_train_samples: int | None = field(
398
+ default=None,
399
+ metadata={
400
+ "help": (
401
+ "For debugging purposes or quicker training, truncate the number of training examples to this "
402
+ "value if set."
403
+ )
404
+ },
405
+ )
406
+ max_eval_samples: int | None = field(
407
+ default=None,
408
+ metadata={
409
+ "help": (
410
+ "For debugging purposes or quicker training, truncate the number of evaluation examples to this "
411
+ "value if set."
412
+ )
413
+ },
414
+ )
415
+ use_fast: bool | None = field(
416
+ default=True,
417
+ metadata={"help": "Use a fast torchvision-base image processor if it is supported for a given model."},
418
+ )
419
+
420
+
421
+ @dataclass
422
+ class ModelArguments:
423
+ """
424
+ Arguments pertaining to which model/config/tokenizer we are going to fine-tune from.
425
+ """
426
+
427
+ model_name_or_path: str = field(
428
+ default="facebook/detr-resnet-50",
429
+ metadata={"help": "Path to pretrained model or model identifier from huggingface.co/models"},
430
+ )
431
+ config_name: str | None = field(
432
+ default=None, metadata={"help": "Pretrained config name or path if not the same as model_name"}
433
+ )
434
+ cache_dir: str | None = field(
435
+ default=None, metadata={"help": "Where do you want to store the pretrained models downloaded from s3"}
436
+ )
437
+ model_revision: str = field(
438
+ default="main",
439
+ metadata={"help": "The specific model version to use (can be a branch name, tag name or commit id)."},
440
+ )
441
+ image_processor_name: str = field(default=None, metadata={"help": "Name or path of preprocessor config."})
442
+ ignore_mismatched_sizes: bool = field(
443
+ default=True,
444
+ metadata={
445
+ "help": "Whether or not to raise an error if some of the weights from the checkpoint do not have the same size as the weights of the model (if for instance, you are instantiating a model with 10 labels from a checkpoint with 3 labels)."
446
+ },
447
+ )
448
+ token: str = field(
449
+ default=None,
450
+ metadata={
451
+ "help": (
452
+ "The token to use as HTTP bearer authorization for remote files. If not specified, will use the token "
453
+ "generated when running `hf auth login` (stored in `~/.huggingface`)."
454
+ )
455
+ },
456
+ )
457
+ trust_remote_code: bool = field(
458
+ default=False,
459
+ metadata={
460
+ "help": (
461
+ "Whether to trust the execution of code from datasets/models defined on the Hub."
462
+ " This option should only be set to `True` for repositories you trust and in which you have read the"
463
+ " code, as it will execute code present on the Hub on your local machine."
464
+ )
465
+ },
466
+ )
467
+
468
+
469
+ def main():
470
+ parser = HfArgumentParser((ModelArguments, DataTrainingArguments, TrainingArguments))
471
+ if len(sys.argv) == 2 and sys.argv[1].endswith(".json"):
472
+
473
+ model_args, data_args, training_args = parser.parse_json_file(json_file=os.path.abspath(sys.argv[1]))
474
+ else:
475
+ model_args, data_args, training_args = parser.parse_args_into_dataclasses()
476
+
477
+
478
+ from huggingface_hub import login
479
+ hf_token = os.environ.get("HF_TOKEN") or os.environ.get("hfjob")
480
+ if hf_token:
481
+ login(token=hf_token)
482
+ training_args.hub_token = hf_token
483
+ logger.info("Logged in to Hugging Face Hub")
484
+ elif training_args.push_to_hub:
485
+ logger.warning("HF_TOKEN not found in environment. Hub push will likely fail.")
486
+
487
+ # Initialize Trackio for real-time experiment tracking
488
+ trackio.init(project=training_args.output_dir, name=training_args.run_name)
489
+
490
+ logging.basicConfig(
491
+ format="%(asctime)s - %(levelname)s - %(name)s - %(message)s",
492
+ datefmt="%m/%d/%Y %H:%M:%S",
493
+ handlers=[logging.StreamHandler(sys.stdout)],
494
+ )
495
+
496
+ if training_args.should_log:
497
+ # The default of training_args.log_level is passive, so we set log level at info here to have that default.
498
+ transformers.utils.logging.set_verbosity_info()
499
+
500
+ log_level = training_args.get_process_log_level()
501
+ logger.setLevel(log_level)
502
+ transformers.utils.logging.set_verbosity(log_level)
503
+ transformers.utils.logging.enable_default_handler()
504
+ transformers.utils.logging.enable_explicit_format()
505
+
506
+ # Log on each process the small summary:
507
+ logger.warning(
508
+ f"Process rank: {training_args.local_process_index}, device: {training_args.device}, n_gpu: {training_args.n_gpu}, "
509
+ + f"distributed training: {training_args.parallel_mode.value == 'distributed'}, 16-bits training: {training_args.fp16}"
510
+ )
511
+ logger.info(f"Training/evaluation parameters {training_args}")
512
+
513
+ dataset = load_dataset(
514
+ data_args.dataset_name, cache_dir=model_args.cache_dir, trust_remote_code=model_args.trust_remote_code
515
+ )
516
+
517
+ bbox_format = detect_bbox_format_from_samples(dataset["train"])
518
+ if bbox_format == "xyxy":
519
+ logger.info("Converting bboxes from xyxy (Pascal VOC) → xywh (COCO) format across all splits")
520
+ for split_name in list(dataset.keys()):
521
+ dataset[split_name] = sanitize_dataset(dataset[split_name], bbox_format=bbox_format)
522
+
523
+ for split_name in list(dataset.keys()):
524
+ if "image_id" not in dataset[split_name].column_names:
525
+ dataset[split_name] = dataset[split_name].add_column(
526
+ "image_id", list(range(len(dataset[split_name])))
527
+ )
528
+
529
+ dataset["train"] = dataset["train"].shuffle(seed=training_args.seed)
530
+
531
+ data_args.train_val_split = None if "validation" in dataset else data_args.train_val_split
532
+ if isinstance(data_args.train_val_split, float) and data_args.train_val_split > 0.0:
533
+ split = dataset["train"].train_test_split(data_args.train_val_split, seed=training_args.seed)
534
+ dataset["train"] = split["train"]
535
+ dataset["validation"] = split["test"]
536
+
537
+ categories = None
538
+ try:
539
+ if isinstance(dataset["train"].features["objects"], dict):
540
+ cat_feature = dataset["train"].features["objects"]["category"].feature
541
+ else:
542
+ cat_feature = dataset["train"].features["objects"].feature["category"]
543
+
544
+ if hasattr(cat_feature, "names"):
545
+ categories = cat_feature.names
546
+ except (AttributeError, KeyError):
547
+ pass
548
+
549
+ if categories is None:
550
+ # Category is a Value type (not ClassLabel) — scan dataset to discover labels
551
+ logger.info("Category feature is not ClassLabel — scanning dataset to discover category labels...")
552
+ unique_cats = set()
553
+ for example in dataset["train"]:
554
+ cats = example["objects"]["category"]
555
+ if isinstance(cats, list):
556
+ unique_cats.update(cats)
557
+ else:
558
+ unique_cats.add(cats)
559
+
560
+ if all(isinstance(c, int) for c in unique_cats):
561
+ max_cat = max(unique_cats)
562
+ categories = [f"class_{i}" for i in range(max_cat + 1)]
563
+ elif all(isinstance(c, str) for c in unique_cats):
564
+ categories = sorted(unique_cats)
565
+ else:
566
+ categories = [str(c) for c in sorted(unique_cats, key=str)]
567
+ logger.info(f"Discovered {len(categories)} categories: {categories}")
568
+
569
+ id2label = dict(enumerate(categories))
570
+ label2id = {v: k for k, v in id2label.items()}
571
+
572
+ # Remap string categories to integer IDs if needed
573
+ sample_cats = dataset["train"][0]["objects"]["category"]
574
+ if sample_cats and isinstance(sample_cats[0], str):
575
+ logger.info(f"Remapping string categories to integer IDs: {label2id}")
576
+
577
+ def _remap_categories(example):
578
+ objects = example["objects"]
579
+ objects["category"] = [label2id[c] for c in objects["category"]]
580
+ example["objects"] = objects
581
+ return example
582
+
583
+ for split_name in list(dataset.keys()):
584
+ dataset[split_name] = dataset[split_name].map(_remap_categories)
585
+ logger.info("Category remapping complete")
586
+
587
+ if data_args.max_train_samples is not None:
588
+ max_train = min(data_args.max_train_samples, len(dataset["train"]))
589
+ dataset["train"] = dataset["train"].select(range(max_train))
590
+ logger.info(f"Truncated training set to {max_train} samples")
591
+ if data_args.max_eval_samples is not None and "validation" in dataset:
592
+ max_eval = min(data_args.max_eval_samples, len(dataset["validation"]))
593
+ dataset["validation"] = dataset["validation"].select(range(max_eval))
594
+ logger.info(f"Truncated validation set to {max_eval} samples")
595
+
596
+ common_pretrained_args = {
597
+ "cache_dir": model_args.cache_dir,
598
+ "revision": model_args.model_revision,
599
+ "token": model_args.token,
600
+ "trust_remote_code": model_args.trust_remote_code,
601
+ }
602
+ config = AutoConfig.from_pretrained(
603
+ model_args.config_name or model_args.model_name_or_path,
604
+ label2id=label2id,
605
+ id2label=id2label,
606
+ **common_pretrained_args,
607
+ )
608
+ model = AutoModelForObjectDetection.from_pretrained(
609
+ model_args.model_name_or_path,
610
+ config=config,
611
+ ignore_mismatched_sizes=model_args.ignore_mismatched_sizes,
612
+ **common_pretrained_args,
613
+ )
614
+ image_processor = AutoImageProcessor.from_pretrained(
615
+ model_args.image_processor_name or model_args.model_name_or_path,
616
+ do_resize=True,
617
+ size={"max_height": data_args.image_square_size, "max_width": data_args.image_square_size},
618
+ do_pad=True,
619
+ pad_size={"height": data_args.image_square_size, "width": data_args.image_square_size},
620
+ use_fast=data_args.use_fast,
621
+ **common_pretrained_args,
622
+ )
623
+
624
+ max_size = data_args.image_square_size
625
+ train_augment_and_transform = A.Compose(
626
+ [
627
+ A.Compose(
628
+ [
629
+ A.SmallestMaxSize(max_size=max_size, p=1.0),
630
+ A.RandomSizedBBoxSafeCrop(height=max_size, width=max_size, p=1.0),
631
+ ],
632
+ p=0.2,
633
+ ),
634
+ A.OneOf(
635
+ [
636
+ A.Blur(blur_limit=7, p=0.5),
637
+ A.MotionBlur(blur_limit=7, p=0.5),
638
+ A.Defocus(radius=(1, 5), alias_blur=(0.1, 0.25), p=0.1),
639
+ ],
640
+ p=0.1,
641
+ ),
642
+ A.Perspective(p=0.1),
643
+ A.HorizontalFlip(p=0.5),
644
+ A.RandomBrightnessContrast(p=0.5),
645
+ A.HueSaturationValue(p=0.1),
646
+ ],
647
+ bbox_params=A.BboxParams(format="coco", label_fields=["category"], clip=True, min_area=25),
648
+ )
649
+ validation_transform = A.Compose(
650
+ [A.NoOp()],
651
+ bbox_params=A.BboxParams(format="coco", label_fields=["category"], clip=True),
652
+ )
653
+
654
+ train_transform_batch = partial(
655
+ augment_and_transform_batch, transform=train_augment_and_transform, image_processor=image_processor
656
+ )
657
+ validation_transform_batch = partial(
658
+ augment_and_transform_batch, transform=validation_transform, image_processor=image_processor
659
+ )
660
+
661
+ dataset["train"] = dataset["train"].with_transform(train_transform_batch)
662
+ dataset["validation"] = dataset["validation"].with_transform(validation_transform_batch)
663
+ if "test" in dataset:
664
+ dataset["test"] = dataset["test"].with_transform(validation_transform_batch)
665
+
666
+
667
+ eval_compute_metrics_fn = partial(
668
+ compute_metrics, image_processor=image_processor, id2label=id2label, threshold=0.0
669
+ )
670
+
671
+ trainer = Trainer(
672
+ model=model,
673
+ args=training_args,
674
+ train_dataset=dataset["train"] if training_args.do_train else None,
675
+ eval_dataset=dataset["validation"] if training_args.do_eval else None,
676
+ processing_class=image_processor,
677
+ data_collator=collate_fn,
678
+ compute_metrics=eval_compute_metrics_fn,
679
+ )
680
+
681
+ # Training
682
+ if training_args.do_train:
683
+ train_result = trainer.train(resume_from_checkpoint=training_args.resume_from_checkpoint)
684
+ trainer.save_model()
685
+ trainer.log_metrics("train", train_result.metrics)
686
+ trainer.save_metrics("train", train_result.metrics)
687
+ trainer.save_state()
688
+
689
+ if training_args.do_eval:
690
+ test_dataset = dataset["test"] if "test" in dataset else dataset["validation"]
691
+ test_prefix = "test" if "test" in dataset else "eval"
692
+ metrics = trainer.evaluate(eval_dataset=test_dataset, metric_key_prefix=test_prefix)
693
+ trainer.log_metrics(test_prefix, metrics)
694
+ trainer.save_metrics(test_prefix, metrics)
695
+
696
+ trackio.finish()
697
+
698
+ kwargs = {
699
+ "finetuned_from": model_args.model_name_or_path,
700
+ "dataset": data_args.dataset_name,
701
+ "tags": ["object-detection", "vision"],
702
+ }
703
+ if training_args.push_to_hub:
704
+ trainer.push_to_hub(**kwargs)
705
+ else:
706
+ trainer.create_model_card(**kwargs)
707
+
708
+
709
+ if __name__ == "__main__":
710
+ main()