@r1z4x/tezgah 1.0.0

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 (582) hide show
  1. package/CHANGELOG.md +738 -0
  2. package/LICENSE +21 -0
  3. package/MANIFEST +753 -0
  4. package/README.de.md +169 -0
  5. package/README.es.md +168 -0
  6. package/README.fr.md +166 -0
  7. package/README.md +161 -0
  8. package/README.tr.md +163 -0
  9. package/agents/tezgah-reviewer.md +70 -0
  10. package/bin/codegen +337 -0
  11. package/bin/consult +797 -0
  12. package/bin/tezgah-adhd +50 -0
  13. package/bin/tezgah-agents +45 -0
  14. package/bin/tezgah-capture +66 -0
  15. package/bin/tezgah-context +96 -0
  16. package/bin/tezgah-decisions +213 -0
  17. package/bin/tezgah-design +953 -0
  18. package/bin/tezgah-docs +1199 -0
  19. package/bin/tezgah-doctor +497 -0
  20. package/bin/tezgah-dsh +37 -0
  21. package/bin/tezgah-dsh.cmd +70 -0
  22. package/bin/tezgah-gate +75 -0
  23. package/bin/tezgah-import-ai-research +439 -0
  24. package/bin/tezgah-index +32 -0
  25. package/bin/tezgah-lessons +148 -0
  26. package/bin/tezgah-mcp +322 -0
  27. package/bin/tezgah-migrate +324 -0
  28. package/bin/tezgah-pony +50 -0
  29. package/bin/tezgah-research +772 -0
  30. package/bin/tezgah-rollback +93 -0
  31. package/bin/tezgah-route +124 -0
  32. package/bin/tezgah-setup +5798 -0
  33. package/bin/tezgah-status +383 -0
  34. package/bin/tezgah-task +607 -0
  35. package/bin/tezgah-taste +423 -0
  36. package/bin/tezgah-triage +485 -0
  37. package/bin/tezgah.js +36 -0
  38. package/commands/adhd.md +21 -0
  39. package/commands/ponytail.md +21 -0
  40. package/docs/README.md +112 -0
  41. package/docs/architecture.md +226 -0
  42. package/docs/citations-baseline.json +59 -0
  43. package/docs/clarity-baseline.json +116 -0
  44. package/docs/contract.md +416 -0
  45. package/docs/environment.md +141 -0
  46. package/docs/evidence.md +831 -0
  47. package/docs/feature-audit.md +139 -0
  48. package/docs/gate.md +407 -0
  49. package/docs/glossary.md +201 -0
  50. package/docs/hosts.md +400 -0
  51. package/docs/index.json +471 -0
  52. package/docs/judge.md +193 -0
  53. package/docs/layers.md +189 -0
  54. package/docs/models.md +160 -0
  55. package/docs/operations.md +666 -0
  56. package/docs/research.md +809 -0
  57. package/docs/results/paired-outcome-2026-10.jsonl +254 -0
  58. package/docs/results/paired-outcome-2026-10.md +204 -0
  59. package/docs/skills.md +236 -0
  60. package/docs/status-line.md +315 -0
  61. package/docs/testing.md +287 -0
  62. package/docs/vision.md +117 -0
  63. package/hooks/hooks.json +33 -0
  64. package/hooks/projects-auto-init.py +98 -0
  65. package/hooks/projects-posttooluse.py +149 -0
  66. package/hooks/projects-pretooluse.py +40 -0
  67. package/hooks/projects-stop.py +60 -0
  68. package/hooks/tezgah_agents.py +817 -0
  69. package/hooks/tezgah_apps.py +266 -0
  70. package/hooks/tezgah_attest.py +255 -0
  71. package/hooks/tezgah_clarity.py +171 -0
  72. package/hooks/tezgah_components.py +140 -0
  73. package/hooks/tezgah_context.py +2953 -0
  74. package/hooks/tezgah_embed.py +765 -0
  75. package/hooks/tezgah_gate.py +2736 -0
  76. package/hooks/tezgah_guard.py +177 -0
  77. package/hooks/tezgah_index.py +124 -0
  78. package/hooks/tezgah_integrity.py +5141 -0
  79. package/hooks/tezgah_judge.py +487 -0
  80. package/hooks/tezgah_lang.py +230 -0
  81. package/hooks/tezgah_lessons.py +210 -0
  82. package/hooks/tezgah_models.py +855 -0
  83. package/hooks/tezgah_paths.py +1132 -0
  84. package/hooks/tezgah_policy.py +1039 -0
  85. package/hooks/tezgah_rank.py +77 -0
  86. package/hooks/tezgah_replay.py +1109 -0
  87. package/hooks/tezgah_research.py +5176 -0
  88. package/hooks/tezgah_shapes.py +305 -0
  89. package/hooks/tezgah_skill_pick.py +227 -0
  90. package/hooks/tezgah_snapshot.py +490 -0
  91. package/hooks/tezgah_stopspec.py +320 -0
  92. package/hooks/tezgah_task.py +458 -0
  93. package/hooks/tezgah_taste.py +201 -0
  94. package/hooks/tezgah_untrusted.py +112 -0
  95. package/hooks/tezgah_update.py +430 -0
  96. package/hosts/codex/hook.py +268 -0
  97. package/hosts/codex/hooks.json +26 -0
  98. package/hosts/cursor/hook.py +461 -0
  99. package/hosts/cursor/hooks.json +44 -0
  100. package/hosts/dsh/hooks.json +21 -0
  101. package/hosts/dsh/statusline/lib/client.js +138 -0
  102. package/hosts/dsh/statusline/lib/index.js +104 -0
  103. package/hosts/dsh/statusline/package.json +28 -0
  104. package/hosts/omp/hook.py +277 -0
  105. package/hosts/omp/tezgah-hook.ts.in +701 -0
  106. package/hosts/opencode/plugins/tezgah.js +2742 -0
  107. package/hosts/opencode/tui/tezgah-tui.tsx +151 -0
  108. package/output-styles/tezgah.md +142 -0
  109. package/package.json +32 -0
  110. package/packaging/build.sh +342 -0
  111. package/packaging/install.ps1 +166 -0
  112. package/packaging/install.sh +56 -0
  113. package/packaging/upgrade.sh +142 -0
  114. package/skills/ai-research/0-autoresearch-skill/SKILL.md +411 -0
  115. package/skills/ai-research/0-autoresearch-skill/references/agent-continuity.md +95 -0
  116. package/skills/ai-research/0-autoresearch-skill/references/progress-reporting.md +166 -0
  117. package/skills/ai-research/0-autoresearch-skill/references/skill-routing.md +219 -0
  118. package/skills/ai-research/0-autoresearch-skill/templates/findings.md +44 -0
  119. package/skills/ai-research/0-autoresearch-skill/templates/research-log.md +41 -0
  120. package/skills/ai-research/01-model-architecture/litgpt/SKILL.md +469 -0
  121. package/skills/ai-research/01-model-architecture/litgpt/references/custom-models.md +569 -0
  122. package/skills/ai-research/01-model-architecture/litgpt/references/distributed-training.md +452 -0
  123. package/skills/ai-research/01-model-architecture/litgpt/references/supported-models.md +337 -0
  124. package/skills/ai-research/01-model-architecture/litgpt/references/training-recipes.md +620 -0
  125. package/skills/ai-research/01-model-architecture/mamba/SKILL.md +260 -0
  126. package/skills/ai-research/01-model-architecture/mamba/references/architecture-details.md +207 -0
  127. package/skills/ai-research/01-model-architecture/mamba/references/benchmarks.md +256 -0
  128. package/skills/ai-research/01-model-architecture/mamba/references/training-guide.md +389 -0
  129. package/skills/ai-research/01-model-architecture/nanogpt/SKILL.md +290 -0
  130. package/skills/ai-research/01-model-architecture/nanogpt/references/architecture.md +383 -0
  131. package/skills/ai-research/01-model-architecture/nanogpt/references/data.md +477 -0
  132. package/skills/ai-research/01-model-architecture/nanogpt/references/training.md +565 -0
  133. package/skills/ai-research/01-model-architecture/rwkv/SKILL.md +260 -0
  134. package/skills/ai-research/01-model-architecture/rwkv/references/architecture-details.md +345 -0
  135. package/skills/ai-research/01-model-architecture/rwkv/references/rwkv7.md +387 -0
  136. package/skills/ai-research/01-model-architecture/rwkv/references/state-management.md +370 -0
  137. package/skills/ai-research/01-model-architecture/torchtitan/SKILL.md +358 -0
  138. package/skills/ai-research/01-model-architecture/torchtitan/references/checkpoint.md +182 -0
  139. package/skills/ai-research/01-model-architecture/torchtitan/references/custom-models.md +259 -0
  140. package/skills/ai-research/01-model-architecture/torchtitan/references/float8.md +134 -0
  141. package/skills/ai-research/01-model-architecture/torchtitan/references/fsdp.md +127 -0
  142. package/skills/ai-research/02-tokenization/huggingface-tokenizers/SKILL.md +516 -0
  143. package/skills/ai-research/02-tokenization/huggingface-tokenizers/references/algorithms.md +654 -0
  144. package/skills/ai-research/02-tokenization/huggingface-tokenizers/references/integration.md +638 -0
  145. package/skills/ai-research/02-tokenization/huggingface-tokenizers/references/pipeline.md +724 -0
  146. package/skills/ai-research/02-tokenization/huggingface-tokenizers/references/training.md +566 -0
  147. package/skills/ai-research/02-tokenization/sentencepiece/SKILL.md +235 -0
  148. package/skills/ai-research/02-tokenization/sentencepiece/references/algorithms.md +201 -0
  149. package/skills/ai-research/02-tokenization/sentencepiece/references/training.md +305 -0
  150. package/skills/ai-research/03-fine-tuning/axolotl/SKILL.md +158 -0
  151. package/skills/ai-research/03-fine-tuning/axolotl/references/api.md +5549 -0
  152. package/skills/ai-research/03-fine-tuning/axolotl/references/dataset-formats.md +1030 -0
  153. package/skills/ai-research/03-fine-tuning/axolotl/references/index.md +16 -0
  154. package/skills/ai-research/03-fine-tuning/axolotl/references/other.md +3564 -0
  155. package/skills/ai-research/03-fine-tuning/llama-factory/SKILL.md +80 -0
  156. package/skills/ai-research/03-fine-tuning/llama-factory/references/_images.md +24 -0
  157. package/skills/ai-research/03-fine-tuning/llama-factory/references/advanced.md +1056 -0
  158. package/skills/ai-research/03-fine-tuning/llama-factory/references/getting_started.md +350 -0
  159. package/skills/ai-research/03-fine-tuning/llama-factory/references/index.md +20 -0
  160. package/skills/ai-research/03-fine-tuning/llama-factory/references/other.md +32 -0
  161. package/skills/ai-research/03-fine-tuning/peft/SKILL.md +431 -0
  162. package/skills/ai-research/03-fine-tuning/peft/references/advanced-usage.md +515 -0
  163. package/skills/ai-research/03-fine-tuning/peft/references/troubleshooting.md +481 -0
  164. package/skills/ai-research/03-fine-tuning/unsloth/SKILL.md +80 -0
  165. package/skills/ai-research/03-fine-tuning/unsloth/references/index.md +8 -0
  166. package/skills/ai-research/03-fine-tuning/unsloth/references/llms.md +83 -0
  167. package/skills/ai-research/04-mechanistic-interpretability/nnsight/SKILL.md +436 -0
  168. package/skills/ai-research/04-mechanistic-interpretability/nnsight/references/README.md +79 -0
  169. package/skills/ai-research/04-mechanistic-interpretability/nnsight/references/api.md +345 -0
  170. package/skills/ai-research/04-mechanistic-interpretability/nnsight/references/tutorials.md +301 -0
  171. package/skills/ai-research/04-mechanistic-interpretability/pyvene/SKILL.md +473 -0
  172. package/skills/ai-research/04-mechanistic-interpretability/pyvene/references/README.md +74 -0
  173. package/skills/ai-research/04-mechanistic-interpretability/pyvene/references/api.md +384 -0
  174. package/skills/ai-research/04-mechanistic-interpretability/pyvene/references/tutorials.md +377 -0
  175. package/skills/ai-research/04-mechanistic-interpretability/saelens/SKILL.md +386 -0
  176. package/skills/ai-research/04-mechanistic-interpretability/saelens/references/README.md +71 -0
  177. package/skills/ai-research/04-mechanistic-interpretability/saelens/references/api.md +334 -0
  178. package/skills/ai-research/04-mechanistic-interpretability/saelens/references/tutorials.md +319 -0
  179. package/skills/ai-research/04-mechanistic-interpretability/transformer-lens/SKILL.md +346 -0
  180. package/skills/ai-research/04-mechanistic-interpretability/transformer-lens/references/README.md +55 -0
  181. package/skills/ai-research/04-mechanistic-interpretability/transformer-lens/references/api.md +363 -0
  182. package/skills/ai-research/04-mechanistic-interpretability/transformer-lens/references/tutorials.md +340 -0
  183. package/skills/ai-research/05-data-processing/nemo-curator/SKILL.md +383 -0
  184. package/skills/ai-research/05-data-processing/nemo-curator/references/deduplication.md +88 -0
  185. package/skills/ai-research/05-data-processing/nemo-curator/references/filtering.md +103 -0
  186. package/skills/ai-research/05-data-processing/ray-data/SKILL.md +326 -0
  187. package/skills/ai-research/05-data-processing/ray-data/references/integration.md +83 -0
  188. package/skills/ai-research/05-data-processing/ray-data/references/transformations.md +84 -0
  189. package/skills/ai-research/06-post-training/grpo-rl-training/README.md +98 -0
  190. package/skills/ai-research/06-post-training/grpo-rl-training/SKILL.md +572 -0
  191. package/skills/ai-research/06-post-training/miles/SKILL.md +315 -0
  192. package/skills/ai-research/06-post-training/miles/references/api-reference.md +142 -0
  193. package/skills/ai-research/06-post-training/miles/references/troubleshooting.md +353 -0
  194. package/skills/ai-research/06-post-training/openrlhf/SKILL.md +249 -0
  195. package/skills/ai-research/06-post-training/openrlhf/references/algorithm-comparison.md +405 -0
  196. package/skills/ai-research/06-post-training/openrlhf/references/custom-rewards.md +531 -0
  197. package/skills/ai-research/06-post-training/openrlhf/references/hybrid-engine.md +288 -0
  198. package/skills/ai-research/06-post-training/openrlhf/references/multi-node-training.md +455 -0
  199. package/skills/ai-research/06-post-training/simpo/SKILL.md +219 -0
  200. package/skills/ai-research/06-post-training/simpo/references/datasets.md +479 -0
  201. package/skills/ai-research/06-post-training/simpo/references/hyperparameters.md +453 -0
  202. package/skills/ai-research/06-post-training/simpo/references/loss-functions.md +351 -0
  203. package/skills/ai-research/06-post-training/slime/SKILL.md +464 -0
  204. package/skills/ai-research/06-post-training/slime/references/api-reference.md +393 -0
  205. package/skills/ai-research/06-post-training/slime/references/troubleshooting.md +387 -0
  206. package/skills/ai-research/06-post-training/torchforge/SKILL.md +433 -0
  207. package/skills/ai-research/06-post-training/torchforge/references/api-reference.md +328 -0
  208. package/skills/ai-research/06-post-training/torchforge/references/troubleshooting.md +410 -0
  209. package/skills/ai-research/06-post-training/trl-fine-tuning/SKILL.md +455 -0
  210. package/skills/ai-research/06-post-training/trl-fine-tuning/references/dpo-variants.md +228 -0
  211. package/skills/ai-research/06-post-training/trl-fine-tuning/references/online-rl.md +83 -0
  212. package/skills/ai-research/06-post-training/trl-fine-tuning/references/reward-modeling.md +123 -0
  213. package/skills/ai-research/06-post-training/trl-fine-tuning/references/sft-training.md +169 -0
  214. package/skills/ai-research/06-post-training/verl/SKILL.md +391 -0
  215. package/skills/ai-research/06-post-training/verl/references/api-reference.md +302 -0
  216. package/skills/ai-research/06-post-training/verl/references/troubleshooting.md +392 -0
  217. package/skills/ai-research/07-safety-alignment/constitutional-ai/SKILL.md +290 -0
  218. package/skills/ai-research/07-safety-alignment/llamaguard/SKILL.md +337 -0
  219. package/skills/ai-research/07-safety-alignment/nemo-guardrails/SKILL.md +297 -0
  220. package/skills/ai-research/07-safety-alignment/prompt-guard/SKILL.md +312 -0
  221. package/skills/ai-research/08-distributed-training/accelerate/SKILL.md +332 -0
  222. package/skills/ai-research/08-distributed-training/accelerate/references/custom-plugins.md +454 -0
  223. package/skills/ai-research/08-distributed-training/accelerate/references/megatron-integration.md +490 -0
  224. package/skills/ai-research/08-distributed-training/accelerate/references/performance.md +526 -0
  225. package/skills/ai-research/08-distributed-training/deepspeed/SKILL.md +141 -0
  226. package/skills/ai-research/08-distributed-training/deepspeed/references/08.md +18 -0
  227. package/skills/ai-research/08-distributed-training/deepspeed/references/09.md +174 -0
  228. package/skills/ai-research/08-distributed-training/deepspeed/references/2020.md +379 -0
  229. package/skills/ai-research/08-distributed-training/deepspeed/references/2023.md +280 -0
  230. package/skills/ai-research/08-distributed-training/deepspeed/references/assets.md +180 -0
  231. package/skills/ai-research/08-distributed-training/deepspeed/references/index.md +36 -0
  232. package/skills/ai-research/08-distributed-training/deepspeed/references/mii.md +119 -0
  233. package/skills/ai-research/08-distributed-training/deepspeed/references/other.md +1192 -0
  234. package/skills/ai-research/08-distributed-training/megatron-core/SKILL.md +366 -0
  235. package/skills/ai-research/08-distributed-training/megatron-core/references/benchmarks.md +250 -0
  236. package/skills/ai-research/08-distributed-training/megatron-core/references/parallelism-guide.md +405 -0
  237. package/skills/ai-research/08-distributed-training/megatron-core/references/production-examples.md +474 -0
  238. package/skills/ai-research/08-distributed-training/megatron-core/references/training-recipes.md +548 -0
  239. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/SKILL.md +231 -0
  240. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_dcp_async_recipe.md +14 -0
  241. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_dcp_overview.md +19 -0
  242. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_dcp_recipe.md +18 -0
  243. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_ddp_notes.md +10 -0
  244. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_device_mesh_tutorial.md +22 -0
  245. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_examples_fsdp2.md +15 -0
  246. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_fsdp1_api.md +9 -0
  247. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_fsdp2_tutorial.md +45 -0
  248. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_fully_shard_api.md +49 -0
  249. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_tp_tutorial.md +22 -0
  250. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/ray_train_fsdp2_example.md +13 -0
  251. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/torchtitan_fsdp_notes.md +14 -0
  252. package/skills/ai-research/08-distributed-training/pytorch-lightning/SKILL.md +346 -0
  253. package/skills/ai-research/08-distributed-training/pytorch-lightning/references/callbacks.md +437 -0
  254. package/skills/ai-research/08-distributed-training/pytorch-lightning/references/distributed.md +491 -0
  255. package/skills/ai-research/08-distributed-training/pytorch-lightning/references/hyperparameter-tuning.md +557 -0
  256. package/skills/ai-research/08-distributed-training/ray-train/SKILL.md +406 -0
  257. package/skills/ai-research/08-distributed-training/ray-train/references/multi-node.md +629 -0
  258. package/skills/ai-research/09-infrastructure/lambda-labs/SKILL.md +545 -0
  259. package/skills/ai-research/09-infrastructure/lambda-labs/references/advanced-usage.md +612 -0
  260. package/skills/ai-research/09-infrastructure/lambda-labs/references/troubleshooting.md +531 -0
  261. package/skills/ai-research/09-infrastructure/modal/SKILL.md +341 -0
  262. package/skills/ai-research/09-infrastructure/modal/references/advanced-usage.md +504 -0
  263. package/skills/ai-research/09-infrastructure/modal/references/troubleshooting.md +495 -0
  264. package/skills/ai-research/09-infrastructure/skypilot/SKILL.md +509 -0
  265. package/skills/ai-research/09-infrastructure/skypilot/references/advanced-usage.md +492 -0
  266. package/skills/ai-research/09-infrastructure/skypilot/references/troubleshooting.md +571 -0
  267. package/skills/ai-research/10-optimization/awq/SKILL.md +310 -0
  268. package/skills/ai-research/10-optimization/awq/references/advanced-usage.md +325 -0
  269. package/skills/ai-research/10-optimization/awq/references/troubleshooting.md +345 -0
  270. package/skills/ai-research/10-optimization/bitsandbytes/SKILL.md +411 -0
  271. package/skills/ai-research/10-optimization/bitsandbytes/references/memory-optimization.md +522 -0
  272. package/skills/ai-research/10-optimization/bitsandbytes/references/qlora-training.md +522 -0
  273. package/skills/ai-research/10-optimization/bitsandbytes/references/quantization-formats.md +448 -0
  274. package/skills/ai-research/10-optimization/flash-attention/SKILL.md +367 -0
  275. package/skills/ai-research/10-optimization/flash-attention/references/benchmarks.md +216 -0
  276. package/skills/ai-research/10-optimization/flash-attention/references/transformers-integration.md +294 -0
  277. package/skills/ai-research/10-optimization/gguf/SKILL.md +427 -0
  278. package/skills/ai-research/10-optimization/gguf/references/advanced-usage.md +505 -0
  279. package/skills/ai-research/10-optimization/gguf/references/troubleshooting.md +443 -0
  280. package/skills/ai-research/10-optimization/gptq/SKILL.md +450 -0
  281. package/skills/ai-research/10-optimization/gptq/references/calibration.md +338 -0
  282. package/skills/ai-research/10-optimization/gptq/references/integration.md +130 -0
  283. package/skills/ai-research/10-optimization/gptq/references/troubleshooting.md +96 -0
  284. package/skills/ai-research/10-optimization/hqq/SKILL.md +445 -0
  285. package/skills/ai-research/10-optimization/hqq/references/advanced-usage.md +529 -0
  286. package/skills/ai-research/10-optimization/hqq/references/troubleshooting.md +504 -0
  287. package/skills/ai-research/10-optimization/ml-training-recipes/SKILL.md +319 -0
  288. package/skills/ai-research/10-optimization/ml-training-recipes/references/architecture.md +320 -0
  289. package/skills/ai-research/10-optimization/ml-training-recipes/references/biomedical.md +498 -0
  290. package/skills/ai-research/10-optimization/ml-training-recipes/references/domain-specific.md +626 -0
  291. package/skills/ai-research/10-optimization/ml-training-recipes/references/experiment-loop.md +129 -0
  292. package/skills/ai-research/10-optimization/ml-training-recipes/references/optimizers.md +330 -0
  293. package/skills/ai-research/10-optimization/ml-training-recipes/references/scaling-and-selection.md +428 -0
  294. package/skills/ai-research/11-evaluation/bigcode-evaluation-harness/SKILL.md +405 -0
  295. package/skills/ai-research/11-evaluation/bigcode-evaluation-harness/references/benchmarks.md +394 -0
  296. package/skills/ai-research/11-evaluation/bigcode-evaluation-harness/references/custom-tasks.md +425 -0
  297. package/skills/ai-research/11-evaluation/bigcode-evaluation-harness/references/issues.md +395 -0
  298. package/skills/ai-research/11-evaluation/lm-evaluation-harness/SKILL.md +490 -0
  299. package/skills/ai-research/11-evaluation/lm-evaluation-harness/references/api-evaluation.md +491 -0
  300. package/skills/ai-research/11-evaluation/lm-evaluation-harness/references/benchmark-guide.md +489 -0
  301. package/skills/ai-research/11-evaluation/lm-evaluation-harness/references/custom-tasks.md +603 -0
  302. package/skills/ai-research/11-evaluation/lm-evaluation-harness/references/distributed-eval.md +520 -0
  303. package/skills/ai-research/11-evaluation/nemo-evaluator/SKILL.md +494 -0
  304. package/skills/ai-research/11-evaluation/nemo-evaluator/references/adapter-system.md +341 -0
  305. package/skills/ai-research/11-evaluation/nemo-evaluator/references/configuration.md +448 -0
  306. package/skills/ai-research/11-evaluation/nemo-evaluator/references/custom-benchmarks.md +316 -0
  307. package/skills/ai-research/11-evaluation/nemo-evaluator/references/execution-backends.md +362 -0
  308. package/skills/ai-research/12-inference-serving/llama-cpp/SKILL.md +258 -0
  309. package/skills/ai-research/12-inference-serving/llama-cpp/references/optimization.md +90 -0
  310. package/skills/ai-research/12-inference-serving/llama-cpp/references/quantization.md +214 -0
  311. package/skills/ai-research/12-inference-serving/llama-cpp/references/server.md +126 -0
  312. package/skills/ai-research/12-inference-serving/sglang/SKILL.md +442 -0
  313. package/skills/ai-research/12-inference-serving/sglang/references/deployment.md +491 -0
  314. package/skills/ai-research/12-inference-serving/sglang/references/radix-attention.md +414 -0
  315. package/skills/ai-research/12-inference-serving/sglang/references/structured-generation.md +542 -0
  316. package/skills/ai-research/12-inference-serving/tensorrt-llm/SKILL.md +187 -0
  317. package/skills/ai-research/12-inference-serving/tensorrt-llm/references/multi-gpu.md +299 -0
  318. package/skills/ai-research/12-inference-serving/tensorrt-llm/references/optimization.md +243 -0
  319. package/skills/ai-research/12-inference-serving/tensorrt-llm/references/serving.md +471 -0
  320. package/skills/ai-research/12-inference-serving/vllm/SKILL.md +364 -0
  321. package/skills/ai-research/12-inference-serving/vllm/references/optimization.md +227 -0
  322. package/skills/ai-research/12-inference-serving/vllm/references/quantization.md +285 -0
  323. package/skills/ai-research/12-inference-serving/vllm/references/server-deployment.md +256 -0
  324. package/skills/ai-research/12-inference-serving/vllm/references/troubleshooting.md +448 -0
  325. package/skills/ai-research/13-mlops/mlflow/SKILL.md +704 -0
  326. package/skills/ai-research/13-mlops/mlflow/references/deployment.md +745 -0
  327. package/skills/ai-research/13-mlops/mlflow/references/model-registry.md +771 -0
  328. package/skills/ai-research/13-mlops/mlflow/references/tracking.md +681 -0
  329. package/skills/ai-research/13-mlops/swanlab/SKILL.md +406 -0
  330. package/skills/ai-research/13-mlops/swanlab/references/integrations.md +305 -0
  331. package/skills/ai-research/13-mlops/swanlab/references/visualization.md +234 -0
  332. package/skills/ai-research/13-mlops/tensorboard/SKILL.md +629 -0
  333. package/skills/ai-research/13-mlops/tensorboard/references/integrations.md +639 -0
  334. package/skills/ai-research/13-mlops/tensorboard/references/profiling.md +546 -0
  335. package/skills/ai-research/13-mlops/tensorboard/references/visualization.md +621 -0
  336. package/skills/ai-research/13-mlops/weights-and-biases/SKILL.md +590 -0
  337. package/skills/ai-research/13-mlops/weights-and-biases/references/artifacts.md +585 -0
  338. package/skills/ai-research/13-mlops/weights-and-biases/references/integrations.md +701 -0
  339. package/skills/ai-research/13-mlops/weights-and-biases/references/sweeps.md +848 -0
  340. package/skills/ai-research/14-agents/a-evolve/SKILL.md +383 -0
  341. package/skills/ai-research/14-agents/a-evolve/references/README.md +831 -0
  342. package/skills/ai-research/14-agents/a-evolve/references/api.md +594 -0
  343. package/skills/ai-research/14-agents/a-evolve/references/architecture.md +417 -0
  344. package/skills/ai-research/14-agents/a-evolve/references/design-patterns.md +462 -0
  345. package/skills/ai-research/14-agents/a-evolve/references/examples.md +352 -0
  346. package/skills/ai-research/14-agents/a-evolve/references/issues.md +591 -0
  347. package/skills/ai-research/14-agents/a-evolve/references/releases.md +112 -0
  348. package/skills/ai-research/14-agents/a-evolve/references/tutorials.md +819 -0
  349. package/skills/ai-research/14-agents/autogpt/SKILL.md +403 -0
  350. package/skills/ai-research/14-agents/autogpt/references/advanced-usage.md +536 -0
  351. package/skills/ai-research/14-agents/autogpt/references/troubleshooting.md +421 -0
  352. package/skills/ai-research/14-agents/crewai/SKILL.md +498 -0
  353. package/skills/ai-research/14-agents/crewai/references/flows.md +439 -0
  354. package/skills/ai-research/14-agents/crewai/references/tools.md +430 -0
  355. package/skills/ai-research/14-agents/crewai/references/troubleshooting.md +481 -0
  356. package/skills/ai-research/14-agents/langchain/SKILL.md +480 -0
  357. package/skills/ai-research/14-agents/langchain/references/agents.md +500 -0
  358. package/skills/ai-research/14-agents/langchain/references/integration.md +563 -0
  359. package/skills/ai-research/14-agents/langchain/references/rag.md +601 -0
  360. package/skills/ai-research/14-agents/llamaindex/SKILL.md +569 -0
  361. package/skills/ai-research/14-agents/llamaindex/references/agents.md +84 -0
  362. package/skills/ai-research/14-agents/llamaindex/references/data_connectors.md +109 -0
  363. package/skills/ai-research/14-agents/llamaindex/references/query_engines.md +407 -0
  364. package/skills/ai-research/15-rag/chroma/SKILL.md +406 -0
  365. package/skills/ai-research/15-rag/chroma/references/integration.md +39 -0
  366. package/skills/ai-research/15-rag/faiss/SKILL.md +221 -0
  367. package/skills/ai-research/15-rag/faiss/references/index_types.md +281 -0
  368. package/skills/ai-research/15-rag/pinecone/SKILL.md +358 -0
  369. package/skills/ai-research/15-rag/pinecone/references/deployment.md +182 -0
  370. package/skills/ai-research/15-rag/qdrant/SKILL.md +493 -0
  371. package/skills/ai-research/15-rag/qdrant/references/advanced-usage.md +649 -0
  372. package/skills/ai-research/15-rag/qdrant/references/troubleshooting.md +632 -0
  373. package/skills/ai-research/15-rag/sentence-transformers/SKILL.md +255 -0
  374. package/skills/ai-research/15-rag/sentence-transformers/references/models.md +124 -0
  375. package/skills/ai-research/16-prompt-engineering/dspy/SKILL.md +590 -0
  376. package/skills/ai-research/16-prompt-engineering/dspy/references/examples.md +664 -0
  377. package/skills/ai-research/16-prompt-engineering/dspy/references/modules.md +476 -0
  378. package/skills/ai-research/16-prompt-engineering/dspy/references/optimizers.md +567 -0
  379. package/skills/ai-research/16-prompt-engineering/guidance/SKILL.md +572 -0
  380. package/skills/ai-research/16-prompt-engineering/guidance/references/backends.md +555 -0
  381. package/skills/ai-research/16-prompt-engineering/guidance/references/constraints.md +675 -0
  382. package/skills/ai-research/16-prompt-engineering/guidance/references/examples.md +768 -0
  383. package/skills/ai-research/16-prompt-engineering/instructor/SKILL.md +740 -0
  384. package/skills/ai-research/16-prompt-engineering/instructor/references/examples.md +108 -0
  385. package/skills/ai-research/16-prompt-engineering/instructor/references/providers.md +71 -0
  386. package/skills/ai-research/16-prompt-engineering/instructor/references/validation.md +607 -0
  387. package/skills/ai-research/16-prompt-engineering/outlines/SKILL.md +652 -0
  388. package/skills/ai-research/16-prompt-engineering/outlines/references/backends.md +616 -0
  389. package/skills/ai-research/16-prompt-engineering/outlines/references/examples.md +774 -0
  390. package/skills/ai-research/16-prompt-engineering/outlines/references/json_generation.md +653 -0
  391. package/skills/ai-research/17-observability/langsmith/SKILL.md +422 -0
  392. package/skills/ai-research/17-observability/langsmith/references/advanced-usage.md +549 -0
  393. package/skills/ai-research/17-observability/langsmith/references/troubleshooting.md +538 -0
  394. package/skills/ai-research/17-observability/phoenix/SKILL.md +475 -0
  395. package/skills/ai-research/17-observability/phoenix/references/advanced-usage.md +620 -0
  396. package/skills/ai-research/17-observability/phoenix/references/troubleshooting.md +539 -0
  397. package/skills/ai-research/18-multimodal/audiocraft/SKILL.md +564 -0
  398. package/skills/ai-research/18-multimodal/audiocraft/references/advanced-usage.md +667 -0
  399. package/skills/ai-research/18-multimodal/audiocraft/references/troubleshooting.md +505 -0
  400. package/skills/ai-research/18-multimodal/blip-2/SKILL.md +564 -0
  401. package/skills/ai-research/18-multimodal/blip-2/references/advanced-usage.md +681 -0
  402. package/skills/ai-research/18-multimodal/blip-2/references/troubleshooting.md +527 -0
  403. package/skills/ai-research/18-multimodal/clip/SKILL.md +253 -0
  404. package/skills/ai-research/18-multimodal/clip/references/applications.md +208 -0
  405. package/skills/ai-research/18-multimodal/cosmos-policy/SKILL.md +402 -0
  406. package/skills/ai-research/18-multimodal/cosmos-policy/references/libero-commands.md +175 -0
  407. package/skills/ai-research/18-multimodal/cosmos-policy/references/robocasa-commands.md +147 -0
  408. package/skills/ai-research/18-multimodal/llava/SKILL.md +304 -0
  409. package/skills/ai-research/18-multimodal/llava/references/training.md +198 -0
  410. package/skills/ai-research/18-multimodal/openpi/SKILL.md +480 -0
  411. package/skills/ai-research/18-multimodal/openpi/references/checkpoints-and-env-map.md +86 -0
  412. package/skills/ai-research/18-multimodal/openpi/references/config-recipes.md +50 -0
  413. package/skills/ai-research/18-multimodal/openpi/references/pytorch-gotchas.md +49 -0
  414. package/skills/ai-research/18-multimodal/openpi/references/remote-client-pattern.md +48 -0
  415. package/skills/ai-research/18-multimodal/openpi/references/training-debugging.md +46 -0
  416. package/skills/ai-research/18-multimodal/openvla-oft/SKILL.md +441 -0
  417. package/skills/ai-research/18-multimodal/openvla-oft/references/aloha-workflow.md +141 -0
  418. package/skills/ai-research/18-multimodal/openvla-oft/references/config-troubleshooting.md +97 -0
  419. package/skills/ai-research/18-multimodal/openvla-oft/references/libero-workflow.md +115 -0
  420. package/skills/ai-research/18-multimodal/openvla-oft/references/paper-and-checkpoints.md +84 -0
  421. package/skills/ai-research/18-multimodal/segment-anything/SKILL.md +500 -0
  422. package/skills/ai-research/18-multimodal/segment-anything/references/advanced-usage.md +590 -0
  423. package/skills/ai-research/18-multimodal/segment-anything/references/troubleshooting.md +485 -0
  424. package/skills/ai-research/18-multimodal/stable-diffusion/SKILL.md +519 -0
  425. package/skills/ai-research/18-multimodal/stable-diffusion/references/advanced-usage.md +717 -0
  426. package/skills/ai-research/18-multimodal/stable-diffusion/references/troubleshooting.md +556 -0
  427. package/skills/ai-research/18-multimodal/whisper/SKILL.md +317 -0
  428. package/skills/ai-research/18-multimodal/whisper/references/languages.md +190 -0
  429. package/skills/ai-research/19-emerging-techniques/knowledge-distillation/SKILL.md +458 -0
  430. package/skills/ai-research/19-emerging-techniques/knowledge-distillation/references/minillm.md +335 -0
  431. package/skills/ai-research/19-emerging-techniques/long-context/SKILL.md +536 -0
  432. package/skills/ai-research/19-emerging-techniques/long-context/references/extension_methods.md +469 -0
  433. package/skills/ai-research/19-emerging-techniques/long-context/references/fine_tuning.md +612 -0
  434. package/skills/ai-research/19-emerging-techniques/long-context/references/rope.md +403 -0
  435. package/skills/ai-research/19-emerging-techniques/model-merging/SKILL.md +497 -0
  436. package/skills/ai-research/19-emerging-techniques/model-merging/references/coefficient-tuning.md +415 -0
  437. package/skills/ai-research/19-emerging-techniques/model-merging/references/evaluation.md +463 -0
  438. package/skills/ai-research/19-emerging-techniques/model-merging/references/examples.md +429 -0
  439. package/skills/ai-research/19-emerging-techniques/model-merging/references/methods.md +353 -0
  440. package/skills/ai-research/19-emerging-techniques/model-pruning/SKILL.md +495 -0
  441. package/skills/ai-research/19-emerging-techniques/model-pruning/references/wanda.md +348 -0
  442. package/skills/ai-research/19-emerging-techniques/moe-training/SKILL.md +526 -0
  443. package/skills/ai-research/19-emerging-techniques/moe-training/references/architectures.md +433 -0
  444. package/skills/ai-research/19-emerging-techniques/moe-training/references/inference.md +349 -0
  445. package/skills/ai-research/19-emerging-techniques/moe-training/references/training.md +426 -0
  446. package/skills/ai-research/19-emerging-techniques/speculative-decoding/SKILL.md +467 -0
  447. package/skills/ai-research/19-emerging-techniques/speculative-decoding/references/lookahead.md +310 -0
  448. package/skills/ai-research/19-emerging-techniques/speculative-decoding/references/medusa.md +351 -0
  449. package/skills/ai-research/20-ml-paper-writing/academic-plotting/SKILL.md +479 -0
  450. package/skills/ai-research/20-ml-paper-writing/academic-plotting/references/data-visualization.md +509 -0
  451. package/skills/ai-research/20-ml-paper-writing/academic-plotting/references/diagram-generation.md +395 -0
  452. package/skills/ai-research/20-ml-paper-writing/academic-plotting/references/style-guide.md +305 -0
  453. package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/SKILL.md +982 -0
  454. package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/references/checklists.md +348 -0
  455. package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/references/citation-workflow.md +563 -0
  456. package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/references/reviewer-guidelines.md +349 -0
  457. package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/references/sources.md +165 -0
  458. package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/references/writing-guide.md +477 -0
  459. package/skills/ai-research/20-ml-paper-writing/presenting-conference-talks/SKILL.md +298 -0
  460. package/skills/ai-research/20-ml-paper-writing/presenting-conference-talks/references/slide-templates.md +505 -0
  461. package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/SKILL.md +270 -0
  462. package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/references/checklist.md +279 -0
  463. package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/references/reviewer-guidelines.md +116 -0
  464. package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/references/section-blueprints.md +400 -0
  465. package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/references/systems-conferences.md +261 -0
  466. package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/references/writing-patterns.md +231 -0
  467. package/skills/ai-research/21-research-ideation/brainstorming-research-ideas/SKILL.md +384 -0
  468. package/skills/ai-research/21-research-ideation/creative-thinking-for-research/SKILL.md +366 -0
  469. package/skills/ai-research/22-agent-native-research-artifact/compiler/SKILL.md +245 -0
  470. package/skills/ai-research/22-agent-native-research-artifact/compiler/references/ara-schema.md +439 -0
  471. package/skills/ai-research/22-agent-native-research-artifact/compiler/references/exploration-tree-spec.md +125 -0
  472. package/skills/ai-research/22-agent-native-research-artifact/compiler/references/validation-checklist.md +149 -0
  473. package/skills/ai-research/22-agent-native-research-artifact/research-manager/SKILL.md +324 -0
  474. package/skills/ai-research/22-agent-native-research-artifact/research-manager/references/event-taxonomy.md +124 -0
  475. package/skills/ai-research/22-agent-native-research-artifact/research-manager/references/provenance-tags.md +190 -0
  476. package/skills/ai-research/22-agent-native-research-artifact/research-manager/references/session-protocol.md +162 -0
  477. package/skills/ai-research/22-agent-native-research-artifact/rigor-reviewer/SKILL.md +322 -0
  478. package/skills/ai-research/22-agent-native-research-artifact/rigor-reviewer/references/review-dimensions.md +182 -0
  479. package/skills/ai-research/SKILL.md +101 -0
  480. package/skills/ai-research/SOURCE +38 -0
  481. package/skills/ai-research/index/1-frame.md +18 -0
  482. package/skills/ai-research/index/2-data.md +21 -0
  483. package/skills/ai-research/index/3-train.md +48 -0
  484. package/skills/ai-research/index/4-measure.md +25 -0
  485. package/skills/ai-research/index/5-run.md +23 -0
  486. package/skills/ai-research/index/6-write.md +35 -0
  487. package/skills/ai-research/library.json +3456 -0
  488. package/skills/analyze-app/EVALS.md +82 -0
  489. package/skills/analyze-app/SKILL.md +188 -0
  490. package/skills/design-contract/EVALS.md +80 -0
  491. package/skills/design-contract/SKILL.md +171 -0
  492. package/skills/design-library/EVALS.md +85 -0
  493. package/skills/design-library/INDEX.md +59 -0
  494. package/skills/design-library/SKILL.md +58 -0
  495. package/skills/design-library/SOURCE +131 -0
  496. package/skills/design-library/adaptive-interfaces/skills/colour-independence/SKILL.md +90 -0
  497. package/skills/design-library/adaptive-interfaces/skills/flexible-typography/SKILL.md +83 -0
  498. package/skills/design-library/adaptive-interfaces/skills/information-density/SKILL.md +87 -0
  499. package/skills/design-library/adaptive-interfaces/skills/preference-audit/SKILL.md +70 -0
  500. package/skills/design-library/adaptive-interfaces/skills/responsive-accessibility/SKILL.md +86 -0
  501. package/skills/design-library/adaptive-interfaces/skills/responsive-review/SKILL.md +76 -0
  502. package/skills/design-library/adaptive-interfaces/skills/simplified-views/SKILL.md +97 -0
  503. package/skills/design-library/adaptive-interfaces/skills/specify/SKILL.md +63 -0
  504. package/skills/design-library/adaptive-interfaces/skills/user-preference-respect/SKILL.md +100 -0
  505. package/skills/design-library/cognitive-accessibility/skills/adaptive-personalisation/SKILL.md +61 -0
  506. package/skills/design-library/cognitive-accessibility/skills/assess-load/SKILL.md +48 -0
  507. package/skills/design-library/cognitive-accessibility/skills/cognitive-load-assessment/SKILL.md +60 -0
  508. package/skills/design-library/cognitive-accessibility/skills/contextual-help-design/SKILL.md +61 -0
  509. package/skills/design-library/cognitive-accessibility/skills/error-prevention-recovery/SKILL.md +71 -0
  510. package/skills/design-library/cognitive-accessibility/skills/focus-attention-design/SKILL.md +67 -0
  511. package/skills/design-library/cognitive-accessibility/skills/memory-load-reduction/SKILL.md +60 -0
  512. package/skills/design-library/cognitive-accessibility/skills/plain-language-design/SKILL.md +78 -0
  513. package/skills/design-library/cognitive-accessibility/skills/review/SKILL.md +56 -0
  514. package/skills/design-library/cognitive-accessibility/skills/simplify/SKILL.md +39 -0
  515. package/skills/design-library/cognitive-accessibility/skills/wayfinding-navigation/SKILL.md +64 -0
  516. package/skills/design-library/design-research/skills/behavioural-analytics/SKILL.md +33 -0
  517. package/skills/design-library/design-research/skills/qual-quant-triangulation/SKILL.md +33 -0
  518. package/skills/design-library/inclusive-interaction/skills/audit/SKILL.md +50 -0
  519. package/skills/design-library/inclusive-interaction/skills/design-flow/SKILL.md +58 -0
  520. package/skills/design-library/inclusive-interaction/skills/feedback-and-status/SKILL.md +76 -0
  521. package/skills/design-library/inclusive-interaction/skills/gesture-alternatives/SKILL.md +70 -0
  522. package/skills/design-library/inclusive-interaction/skills/keyboard-navigation/SKILL.md +99 -0
  523. package/skills/design-library/inclusive-interaction/skills/keyboard-review/SKILL.md +54 -0
  524. package/skills/design-library/inclusive-interaction/skills/motion-sensitivity/SKILL.md +79 -0
  525. package/skills/design-library/inclusive-interaction/skills/multi-modal-input/SKILL.md +70 -0
  526. package/skills/design-library/inclusive-interaction/skills/touch-target-design/SKILL.md +71 -0
  527. package/skills/design-library/inclusive-interaction/skills/voice-interaction/SKILL.md +68 -0
  528. package/skills/design-library/visual-critique/skills/critique-affordance/SKILL.md +45 -0
  529. package/skills/design-library/visual-critique/skills/critique-brand-consistency/SKILL.md +42 -0
  530. package/skills/design-library/visual-critique/skills/critique-color/SKILL.md +44 -0
  531. package/skills/design-library/visual-critique/skills/critique-composition/SKILL.md +46 -0
  532. package/skills/design-library/visual-critique/skills/critique-information-density/SKILL.md +45 -0
  533. package/skills/design-library/visual-critique/skills/critique-typography/SKILL.md +45 -0
  534. package/skills/design-library/visual-critique/skills/critique-visual-hierarchy/SKILL.md +40 -0
  535. package/skills/feature-audit/EVALS.md +83 -0
  536. package/skills/feature-audit/SKILL.md +326 -0
  537. package/skills/harness/EVALS.md +81 -0
  538. package/skills/harness/SKILL.md +88 -0
  539. package/skills/i-have-adhd/EVALS.md +80 -0
  540. package/skills/i-have-adhd/SKILL.md +183 -0
  541. package/skills/no-ai-slop/EVALS.md +89 -0
  542. package/skills/no-ai-slop/SKILL.md +209 -0
  543. package/skills/no-ai-slop/eval.md +52 -0
  544. package/skills/plan-add/EVALS.md +79 -0
  545. package/skills/plan-add/SKILL.md +179 -0
  546. package/skills/plan-add/render_table.py +72 -0
  547. package/skills/plan-status/EVALS.md +78 -0
  548. package/skills/plan-status/SKILL.md +52 -0
  549. package/skills/plan-sync/EVALS.md +80 -0
  550. package/skills/plan-sync/SKILL.md +69 -0
  551. package/skills/pm-frameworks/SKILL.md +33 -0
  552. package/skills/pm-frameworks/SOURCE +39 -0
  553. package/skills/pm-frameworks/intended-vs-implemented/SKILL.md +42 -0
  554. package/skills/pm-frameworks/opportunity-solution-tree/SKILL.md +64 -0
  555. package/skills/ponytail/EVALS.md +80 -0
  556. package/skills/ponytail/SKILL.md +124 -0
  557. package/skills/product-analysis/EVALS.md +103 -0
  558. package/skills/product-analysis/SKILL.md +361 -0
  559. package/skills/research/EVALS.md +104 -0
  560. package/skills/research/SKILL.md +570 -0
  561. package/skills/rl-env/SKILL.md +53 -0
  562. package/skills/rl-env/SOURCE +41 -0
  563. package/skills/rl-env/generate-nemo-gym-env/SKILL.md +169 -0
  564. package/skills/rl-env/generate-nemo-gym-env/references/architecture.md +114 -0
  565. package/skills/rl-env/generate-openenv-env/SKILL.md +183 -0
  566. package/skills/rl-env/generate-openenv-env/references/architecture.md +82 -0
  567. package/skills/rl-env/generate-ors-env/SKILL.md +209 -0
  568. package/skills/rl-env/generate-ors-env/references/architecture.md +113 -0
  569. package/skills/rl-env/generate-verifiers-env/SKILL.md +188 -0
  570. package/skills/rl-env/generate-verifiers-env/references/architecture.md +119 -0
  571. package/skills/rl-env/rl-env-from-description/SKILL.md +124 -0
  572. package/skills/rl-env/rl-env-from-description/references/interview.md +75 -0
  573. package/skills/rl-env/rl-env-from-description/references/nemo_gym.md +41 -0
  574. package/skills/rl-env/rl-env-from-description/references/openenv.md +35 -0
  575. package/skills/rl-env/rl-env-from-description/references/ors.md +50 -0
  576. package/skills/rl-env/rl-env-from-description/references/verifiers.md +39 -0
  577. package/skills/tezgah-contract/EVALS.md +78 -0
  578. package/skills/tezgah-contract/SKILL.md +792 -0
  579. package/statusline.py +129 -0
  580. package/workflows/graph-impact.js +153 -0
  581. package/workflows/graph-map.js +158 -0
  582. package/workflows/graph-review.js +170 -0
@@ -0,0 +1,724 @@
1
+ <!-- vendored from orchestra-research/AI-research-SKILLs@773a52944ba4747a18bd4ae9ade53fff041adcbc 02-tokenization/huggingface-tokenizers/references/pipeline.md; MIT (c) Orchestra Research -->
2
+ # Tokenization Pipeline Components
3
+
4
+ Complete guide to normalizers, pre-tokenizers, models, post-processors, and decoders.
5
+
6
+ ## Pipeline overview
7
+
8
+ **Full tokenization pipeline**:
9
+ ```
10
+ Raw Text
11
+ ↓
12
+ Normalization (cleaning, lowercasing)
13
+ ↓
14
+ Pre-tokenization (split into words)
15
+ ↓
16
+ Model (apply BPE/WordPiece/Unigram)
17
+ ↓
18
+ Post-processing (add special tokens)
19
+ ↓
20
+ Token IDs
21
+ ```
22
+
23
+ **Decoding reverses the process**:
24
+ ```
25
+ Token IDs
26
+ ↓
27
+ Decoder (handle special encodings)
28
+ ↓
29
+ Raw Text
30
+ ```
31
+
32
+ ## Normalizers
33
+
34
+ Clean and standardize input text.
35
+
36
+ ### Common normalizers
37
+
38
+ **Lowercase**:
39
+ ```python
40
+ from tokenizers.normalizers import Lowercase
41
+
42
+ tokenizer.normalizer = Lowercase()
43
+
44
+ # Input: "Hello WORLD"
45
+ # Output: "hello world"
46
+ ```
47
+
48
+ **Unicode normalization**:
49
+ ```python
50
+ from tokenizers.normalizers import NFD, NFC, NFKD, NFKC
51
+
52
+ # NFD: Canonical decomposition
53
+ tokenizer.normalizer = NFD()
54
+ # "é" → "e" + "́" (separate characters)
55
+
56
+ # NFC: Canonical composition (default)
57
+ tokenizer.normalizer = NFC()
58
+ # "e" + "́" → "é" (composed)
59
+
60
+ # NFKD: Compatibility decomposition
61
+ tokenizer.normalizer = NFKD()
62
+ # "fi" → "f" + "i"
63
+
64
+ # NFKC: Compatibility composition
65
+ tokenizer.normalizer = NFKC()
66
+ # Most aggressive normalization
67
+ ```
68
+
69
+ **Strip accents**:
70
+ ```python
71
+ from tokenizers.normalizers import StripAccents
72
+
73
+ tokenizer.normalizer = StripAccents()
74
+
75
+ # Input: "café"
76
+ # Output: "cafe"
77
+ ```
78
+
79
+ **Whitespace handling**:
80
+ ```python
81
+ from tokenizers.normalizers import Strip, StripAccents
82
+
83
+ # Remove leading/trailing whitespace
84
+ tokenizer.normalizer = Strip()
85
+
86
+ # Input: " hello "
87
+ # Output: "hello"
88
+ ```
89
+
90
+ **Replace patterns**:
91
+ ```python
92
+ from tokenizers.normalizers import Replace
93
+
94
+ # Replace newlines with spaces
95
+ tokenizer.normalizer = Replace("\\n", " ")
96
+
97
+ # Input: "hello\\nworld"
98
+ # Output: "hello world"
99
+ ```
100
+
101
+ ### Combining normalizers
102
+
103
+ ```python
104
+ from tokenizers.normalizers import Sequence, NFD, Lowercase, StripAccents
105
+
106
+ # BERT-style normalization
107
+ tokenizer.normalizer = Sequence([
108
+ NFD(), # Unicode decomposition
109
+ Lowercase(), # Convert to lowercase
110
+ StripAccents() # Remove accents
111
+ ])
112
+
113
+ # Input: "Café au Lait"
114
+ # After NFD: "Café au Lait" (e + ́)
115
+ # After Lowercase: "café au lait"
116
+ # After StripAccents: "cafe au lait"
117
+ ```
118
+
119
+ ### Use case examples
120
+
121
+ **Case-insensitive model (BERT)**:
122
+ ```python
123
+ from tokenizers.normalizers import BertNormalizer
124
+
125
+ # All-in-one BERT normalization
126
+ tokenizer.normalizer = BertNormalizer(
127
+ clean_text=True, # Remove control characters
128
+ handle_chinese_chars=True, # Add spaces around Chinese
129
+ strip_accents=True, # Remove accents
130
+ lowercase=True # Lowercase
131
+ )
132
+ ```
133
+
134
+ **Case-sensitive model (GPT-2)**:
135
+ ```python
136
+ # Minimal normalization
137
+ tokenizer.normalizer = NFC() # Only normalize Unicode
138
+ ```
139
+
140
+ **Multilingual (mBERT)**:
141
+ ```python
142
+ # Preserve scripts, normalize form
143
+ tokenizer.normalizer = NFKC()
144
+ ```
145
+
146
+ ## Pre-tokenizers
147
+
148
+ Split text into word-like units before tokenization.
149
+
150
+ ### Whitespace splitting
151
+
152
+ ```python
153
+ from tokenizers.pre_tokenizers import Whitespace
154
+
155
+ tokenizer.pre_tokenizer = Whitespace()
156
+
157
+ # Input: "Hello world! How are you?"
158
+ # Output: [("Hello", (0, 5)), ("world!", (6, 12)), ("How", (13, 16)), ("are", (17, 20)), ("you?", (21, 25))]
159
+ ```
160
+
161
+ ### Punctuation isolation
162
+
163
+ ```python
164
+ from tokenizers.pre_tokenizers import Punctuation
165
+
166
+ tokenizer.pre_tokenizer = Punctuation()
167
+
168
+ # Input: "Hello, world!"
169
+ # Output: [("Hello", ...), (",", ...), ("world", ...), ("!", ...)]
170
+ ```
171
+
172
+ ### Byte-level (GPT-2)
173
+
174
+ ```python
175
+ from tokenizers.pre_tokenizers import ByteLevel
176
+
177
+ tokenizer.pre_tokenizer = ByteLevel(add_prefix_space=True)
178
+
179
+ # Input: "Hello world"
180
+ # Output: Byte-level tokens with Ġ prefix for spaces
181
+ # [("ĠHello", ...), ("Ġworld", ...)]
182
+ ```
183
+
184
+ **Key feature**: Handles ALL Unicode characters (256 byte combinations)
185
+
186
+ ### Metaspace (SentencePiece)
187
+
188
+ ```python
189
+ from tokenizers.pre_tokenizers import Metaspace
190
+
191
+ tokenizer.pre_tokenizer = Metaspace(replacement="▁", add_prefix_space=True)
192
+
193
+ # Input: "Hello world"
194
+ # Output: [("▁Hello", ...), ("▁world", ...)]
195
+ ```
196
+
197
+ **Used by**: T5, ALBERT (via SentencePiece)
198
+
199
+ ### Digits splitting
200
+
201
+ ```python
202
+ from tokenizers.pre_tokenizers import Digits
203
+
204
+ # Split digits individually
205
+ tokenizer.pre_tokenizer = Digits(individual_digits=True)
206
+
207
+ # Input: "Room 123"
208
+ # Output: [("Room", ...), ("1", ...), ("2", ...), ("3", ...)]
209
+
210
+ # Keep digits together
211
+ tokenizer.pre_tokenizer = Digits(individual_digits=False)
212
+
213
+ # Input: "Room 123"
214
+ # Output: [("Room", ...), ("123", ...)]
215
+ ```
216
+
217
+ ### BERT pre-tokenizer
218
+
219
+ ```python
220
+ from tokenizers.pre_tokenizers import BertPreTokenizer
221
+
222
+ tokenizer.pre_tokenizer = BertPreTokenizer()
223
+
224
+ # Splits on whitespace and punctuation, preserves CJK
225
+ # Input: "Hello, 世界!"
226
+ # Output: [("Hello", ...), (",", ...), ("世", ...), ("界", ...), ("!", ...)]
227
+ ```
228
+
229
+ ### Combining pre-tokenizers
230
+
231
+ ```python
232
+ from tokenizers.pre_tokenizers import Sequence, Whitespace, Punctuation
233
+
234
+ tokenizer.pre_tokenizer = Sequence([
235
+ Whitespace(), # Split on whitespace first
236
+ Punctuation() # Then isolate punctuation
237
+ ])
238
+
239
+ # Input: "Hello, world!"
240
+ # After Whitespace: [("Hello,", ...), ("world!", ...)]
241
+ # After Punctuation: [("Hello", ...), (",", ...), ("world", ...), ("!", ...)]
242
+ ```
243
+
244
+ ### Pre-tokenizer comparison
245
+
246
+ | Pre-tokenizer | Use Case | Example |
247
+ |-------------------|---------------------------------|--------------------------------------------|
248
+ | Whitespace | Simple English | "Hello world" → ["Hello", "world"] |
249
+ | Punctuation | Isolate symbols | "world!" → ["world", "!"] |
250
+ | ByteLevel | Multilingual, emojis | "🌍" → byte tokens |
251
+ | Metaspace | SentencePiece-style | "Hello" → ["▁Hello"] |
252
+ | BertPreTokenizer | BERT-style (CJK aware) | "世界" → ["世", "界"] |
253
+ | Digits | Handle numbers | "123" → ["1", "2", "3"] or ["123"] |
254
+
255
+ ## Models
256
+
257
+ Core tokenization algorithms.
258
+
259
+ ### BPE Model
260
+
261
+ ```python
262
+ from tokenizers.models import BPE
263
+
264
+ model = BPE(
265
+ vocab=None, # Or provide pre-built vocab
266
+ merges=None, # Or provide merge rules
267
+ unk_token="[UNK]", # Unknown token
268
+ continuing_subword_prefix="",
269
+ end_of_word_suffix="",
270
+ fuse_unk=False # Keep unknown tokens separate
271
+ )
272
+
273
+ tokenizer = Tokenizer(model)
274
+ ```
275
+
276
+ **Parameters**:
277
+ - `vocab`: Dict of token → id
278
+ - `merges`: List of merge rules `["a b", "ab c"]`
279
+ - `unk_token`: Token for unknown words
280
+ - `continuing_subword_prefix`: Prefix for subwords (empty for GPT-2)
281
+ - `end_of_word_suffix`: Suffix for last subword (empty for GPT-2)
282
+
283
+ ### WordPiece Model
284
+
285
+ ```python
286
+ from tokenizers.models import WordPiece
287
+
288
+ model = WordPiece(
289
+ vocab=None,
290
+ unk_token="[UNK]",
291
+ max_input_chars_per_word=100, # Max word length
292
+ continuing_subword_prefix="##" # BERT-style prefix
293
+ )
294
+
295
+ tokenizer = Tokenizer(model)
296
+ ```
297
+
298
+ **Key difference**: Uses `##` prefix for continuing subwords.
299
+
300
+ ### Unigram Model
301
+
302
+ ```python
303
+ from tokenizers.models import Unigram
304
+
305
+ model = Unigram(
306
+ vocab=None, # List of (token, score) tuples
307
+ unk_id=0, # ID for unknown token
308
+ byte_fallback=False # Fall back to bytes if no match
309
+ )
310
+
311
+ tokenizer = Tokenizer(model)
312
+ ```
313
+
314
+ **Probabilistic**: Selects tokenization with highest probability.
315
+
316
+ ### WordLevel Model
317
+
318
+ ```python
319
+ from tokenizers.models import WordLevel
320
+
321
+ # Simple word-to-ID mapping (no subwords)
322
+ model = WordLevel(
323
+ vocab=None,
324
+ unk_token="[UNK]"
325
+ )
326
+
327
+ tokenizer = Tokenizer(model)
328
+ ```
329
+
330
+ **Warning**: Requires huge vocabulary (one token per word).
331
+
332
+ ## Post-processors
333
+
334
+ Add special tokens and format output.
335
+
336
+ ### Template processing
337
+
338
+ **BERT-style** (`[CLS] sentence [SEP]`):
339
+ ```python
340
+ from tokenizers.processors import TemplateProcessing
341
+
342
+ tokenizer.post_processor = TemplateProcessing(
343
+ single="[CLS] $A [SEP]",
344
+ pair="[CLS] $A [SEP] $B [SEP]",
345
+ special_tokens=[
346
+ ("[CLS]", 101),
347
+ ("[SEP]", 102),
348
+ ],
349
+ )
350
+
351
+ # Single sentence
352
+ output = tokenizer.encode("Hello world")
353
+ # [101, ..., 102] ([CLS] hello world [SEP])
354
+
355
+ # Sentence pair
356
+ output = tokenizer.encode("Hello", "world")
357
+ # [101, ..., 102, ..., 102] ([CLS] hello [SEP] world [SEP])
358
+ ```
359
+
360
+ **GPT-2 style** (`sentence <|endoftext|>`):
361
+ ```python
362
+ tokenizer.post_processor = TemplateProcessing(
363
+ single="$A <|endoftext|>",
364
+ special_tokens=[
365
+ ("<|endoftext|>", 50256),
366
+ ],
367
+ )
368
+ ```
369
+
370
+ **RoBERTa style** (`<s> sentence </s>`):
371
+ ```python
372
+ tokenizer.post_processor = TemplateProcessing(
373
+ single="<s> $A </s>",
374
+ pair="<s> $A </s> </s> $B </s>",
375
+ special_tokens=[
376
+ ("<s>", 0),
377
+ ("</s>", 2),
378
+ ],
379
+ )
380
+ ```
381
+
382
+ **T5 style** (no special tokens):
383
+ ```python
384
+ # T5 doesn't add special tokens via post-processor
385
+ tokenizer.post_processor = None
386
+ ```
387
+
388
+ ### RobertaProcessing
389
+
390
+ ```python
391
+ from tokenizers.processors import RobertaProcessing
392
+
393
+ tokenizer.post_processor = RobertaProcessing(
394
+ sep=("</s>", 2),
395
+ cls=("<s>", 0),
396
+ add_prefix_space=True, # Add space before first token
397
+ trim_offsets=True # Trim leading space from offsets
398
+ )
399
+ ```
400
+
401
+ ### ByteLevelProcessing
402
+
403
+ ```python
404
+ from tokenizers.processors import ByteLevel as ByteLevelProcessing
405
+
406
+ tokenizer.post_processor = ByteLevelProcessing(
407
+ trim_offsets=True # Remove Ġ from offsets
408
+ )
409
+ ```
410
+
411
+ ## Decoders
412
+
413
+ Convert token IDs back to text.
414
+
415
+ ### ByteLevel decoder
416
+
417
+ ```python
418
+ from tokenizers.decoders import ByteLevel
419
+
420
+ tokenizer.decoder = ByteLevel()
421
+
422
+ # Handles byte-level tokens
423
+ # ["ĠHello", "Ġworld"] → "Hello world"
424
+ ```
425
+
426
+ ### WordPiece decoder
427
+
428
+ ```python
429
+ from tokenizers.decoders import WordPiece
430
+
431
+ tokenizer.decoder = WordPiece(prefix="##")
432
+
433
+ # Removes ## prefix and concatenates
434
+ # ["token", "##ization"] → "tokenization"
435
+ ```
436
+
437
+ ### Metaspace decoder
438
+
439
+ ```python
440
+ from tokenizers.decoders import Metaspace
441
+
442
+ tokenizer.decoder = Metaspace(replacement="▁", add_prefix_space=True)
443
+
444
+ # Converts ▁ back to spaces
445
+ # ["▁Hello", "▁world"] → "Hello world"
446
+ ```
447
+
448
+ ### BPEDecoder
449
+
450
+ ```python
451
+ from tokenizers.decoders import BPEDecoder
452
+
453
+ tokenizer.decoder = BPEDecoder(suffix="</w>")
454
+
455
+ # Removes suffix and concatenates
456
+ # ["token", "ization</w>"] → "tokenization"
457
+ ```
458
+
459
+ ### Sequence decoder
460
+
461
+ ```python
462
+ from tokenizers.decoders import Sequence, ByteLevel, Strip
463
+
464
+ tokenizer.decoder = Sequence([
465
+ ByteLevel(), # Decode byte-level first
466
+ Strip(' ', 1, 1) # Strip leading/trailing spaces
467
+ ])
468
+ ```
469
+
470
+ ## Complete pipeline examples
471
+
472
+ ### BERT tokenizer
473
+
474
+ ```python
475
+ from tokenizers import Tokenizer
476
+ from tokenizers.models import WordPiece
477
+ from tokenizers.normalizers import BertNormalizer
478
+ from tokenizers.pre_tokenizers import BertPreTokenizer
479
+ from tokenizers.processors import TemplateProcessing
480
+ from tokenizers.decoders import WordPiece as WordPieceDecoder
481
+
482
+ # Model
483
+ tokenizer = Tokenizer(WordPiece(unk_token="[UNK]"))
484
+
485
+ # Normalization
486
+ tokenizer.normalizer = BertNormalizer(lowercase=True)
487
+
488
+ # Pre-tokenization
489
+ tokenizer.pre_tokenizer = BertPreTokenizer()
490
+
491
+ # Post-processing
492
+ tokenizer.post_processor = TemplateProcessing(
493
+ single="[CLS] $A [SEP]",
494
+ pair="[CLS] $A [SEP] $B [SEP]",
495
+ special_tokens=[("[CLS]", 101), ("[SEP]", 102)],
496
+ )
497
+
498
+ # Decoder
499
+ tokenizer.decoder = WordPieceDecoder(prefix="##")
500
+
501
+ # Enable padding
502
+ tokenizer.enable_padding(pad_id=0, pad_token="[PAD]")
503
+
504
+ # Enable truncation
505
+ tokenizer.enable_truncation(max_length=512)
506
+ ```
507
+
508
+ ### GPT-2 tokenizer
509
+
510
+ ```python
511
+ from tokenizers import Tokenizer
512
+ from tokenizers.models import BPE
513
+ from tokenizers.normalizers import NFC
514
+ from tokenizers.pre_tokenizers import ByteLevel
515
+ from tokenizers.decoders import ByteLevel as ByteLevelDecoder
516
+ from tokenizers.processors import TemplateProcessing
517
+
518
+ # Model
519
+ tokenizer = Tokenizer(BPE())
520
+
521
+ # Normalization (minimal)
522
+ tokenizer.normalizer = NFC()
523
+
524
+ # Byte-level pre-tokenization
525
+ tokenizer.pre_tokenizer = ByteLevel(add_prefix_space=False)
526
+
527
+ # Post-processing
528
+ tokenizer.post_processor = TemplateProcessing(
529
+ single="$A <|endoftext|>",
530
+ special_tokens=[("<|endoftext|>", 50256)],
531
+ )
532
+
533
+ # Byte-level decoder
534
+ tokenizer.decoder = ByteLevelDecoder()
535
+ ```
536
+
537
+ ### T5 tokenizer (SentencePiece-style)
538
+
539
+ ```python
540
+ from tokenizers import Tokenizer
541
+ from tokenizers.models import Unigram
542
+ from tokenizers.normalizers import NFKC
543
+ from tokenizers.pre_tokenizers import Metaspace
544
+ from tokenizers.decoders import Metaspace as MetaspaceDecoder
545
+
546
+ # Model
547
+ tokenizer = Tokenizer(Unigram())
548
+
549
+ # Normalization
550
+ tokenizer.normalizer = NFKC()
551
+
552
+ # Metaspace pre-tokenization
553
+ tokenizer.pre_tokenizer = Metaspace(replacement="▁", add_prefix_space=True)
554
+
555
+ # No post-processing (T5 doesn't add CLS/SEP)
556
+ tokenizer.post_processor = None
557
+
558
+ # Metaspace decoder
559
+ tokenizer.decoder = MetaspaceDecoder(replacement="▁", add_prefix_space=True)
560
+ ```
561
+
562
+ ## Alignment tracking
563
+
564
+ Track token positions in original text.
565
+
566
+ ### Basic alignment
567
+
568
+ ```python
569
+ text = "Hello, world!"
570
+ output = tokenizer.encode(text)
571
+
572
+ for token, (start, end) in zip(output.tokens, output.offsets):
573
+ print(f"{token:10s} → [{start:2d}, {end:2d}): {text[start:end]!r}")
574
+
575
+ # Output:
576
+ # [CLS] → [ 0, 0): ''
577
+ # hello → [ 0, 5): 'Hello'
578
+ # , → [ 5, 6): ','
579
+ # world → [ 7, 12): 'world'
580
+ # ! → [12, 13): '!'
581
+ # [SEP] → [ 0, 0): ''
582
+ ```
583
+
584
+ ### Word-level alignment
585
+
586
+ ```python
587
+ # Get word_ids (which word each token belongs to)
588
+ encoding = tokenizer.encode("Hello world")
589
+ word_ids = encoding.word_ids
590
+
591
+ print(word_ids)
592
+ # [None, 0, 0, 1, None]
593
+ # None = special token, 0 = first word, 1 = second word
594
+ ```
595
+
596
+ **Use case**: Token classification (NER)
597
+ ```python
598
+ # Align predictions to words
599
+ predictions = ["O", "B-PER", "I-PER", "O", "O"]
600
+ word_predictions = {}
601
+
602
+ for token_idx, word_idx in enumerate(encoding.word_ids):
603
+ if word_idx is not None and word_idx not in word_predictions:
604
+ word_predictions[word_idx] = predictions[token_idx]
605
+
606
+ print(word_predictions)
607
+ # {0: "B-PER", 1: "O"} # First word is PERSON, second is OTHER
608
+ ```
609
+
610
+ ### Span alignment
611
+
612
+ ```python
613
+ # Find token span for character span
614
+ text = "Machine learning is awesome"
615
+ char_start, char_end = 8, 16 # "learning"
616
+
617
+ encoding = tokenizer.encode(text)
618
+
619
+ # Find token span
620
+ token_start = encoding.char_to_token(char_start)
621
+ token_end = encoding.char_to_token(char_end - 1) + 1
622
+
623
+ print(f"Tokens {token_start}:{token_end} = {encoding.tokens[token_start:token_end]}")
624
+ # Tokens 2:3 = ['learning']
625
+ ```
626
+
627
+ **Use case**: Question answering (extract answer span)
628
+
629
+ ## Custom components
630
+
631
+ ### Custom normalizer
632
+
633
+ ```python
634
+ from tokenizers import NormalizedString, Normalizer
635
+
636
+ class CustomNormalizer:
637
+ def normalize(self, normalized: NormalizedString):
638
+ # Custom normalization logic
639
+ normalized.lowercase()
640
+ normalized.replace(" ", " ") # Replace double spaces
641
+
642
+ # Use custom normalizer
643
+ tokenizer.normalizer = CustomNormalizer()
644
+ ```
645
+
646
+ ### Custom pre-tokenizer
647
+
648
+ ```python
649
+ from tokenizers import PreTokenizedString
650
+
651
+ class CustomPreTokenizer:
652
+ def pre_tokenize(self, pretok: PreTokenizedString):
653
+ # Custom pre-tokenization logic
654
+ pretok.split(lambda i, char: char.isspace())
655
+
656
+ tokenizer.pre_tokenizer = CustomPreTokenizer()
657
+ ```
658
+
659
+ ## Troubleshooting
660
+
661
+ ### Issue: Misaligned offsets
662
+
663
+ **Symptom**: Offsets don't match original text
664
+ ```python
665
+ text = " hello" # Leading spaces
666
+ offsets = [(0, 5)] # Expects " hel"
667
+ ```
668
+
669
+ **Solution**: Check normalization strips spaces
670
+ ```python
671
+ # Preserve offsets
672
+ tokenizer.normalizer = Sequence([
673
+ Strip(), # This changes offsets!
674
+ ])
675
+
676
+ # Use trim_offsets in post-processor instead
677
+ tokenizer.post_processor = ByteLevelProcessing(trim_offsets=True)
678
+ ```
679
+
680
+ ### Issue: Special tokens not added
681
+
682
+ **Symptom**: No [CLS] or [SEP] in output
683
+
684
+ **Solution**: Check post-processor is set
685
+ ```python
686
+ tokenizer.post_processor = TemplateProcessing(
687
+ single="[CLS] $A [SEP]",
688
+ special_tokens=[("[CLS]", 101), ("[SEP]", 102)],
689
+ )
690
+ ```
691
+
692
+ ### Issue: Incorrect decoding
693
+
694
+ **Symptom**: Decoded text has ## or ▁
695
+
696
+ **Solution**: Set correct decoder
697
+ ```python
698
+ # For WordPiece
699
+ tokenizer.decoder = WordPieceDecoder(prefix="##")
700
+
701
+ # For SentencePiece
702
+ tokenizer.decoder = MetaspaceDecoder(replacement="▁")
703
+ ```
704
+
705
+ ## Best practices
706
+
707
+ 1. **Match pipeline to model architecture**:
708
+ - BERT → BertNormalizer + BertPreTokenizer + WordPiece
709
+ - GPT-2 → NFC + ByteLevel + BPE
710
+ - T5 → NFKC + Metaspace + Unigram
711
+
712
+ 2. **Test pipeline on sample inputs**:
713
+ - Check normalization doesn't over-normalize
714
+ - Verify pre-tokenization splits correctly
715
+ - Ensure decoding reconstructs text
716
+
717
+ 3. **Preserve alignment for downstream tasks**:
718
+ - Use `trim_offsets` instead of stripping in normalizer
719
+ - Test `char_to_token()` on sample spans
720
+
721
+ 4. **Document your pipeline**:
722
+ - Save complete tokenizer config
723
+ - Document special tokens
724
+ - Note any custom components