@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,363 @@
1
+ <!-- vendored from orchestra-research/AI-research-SKILLs@773a52944ba4747a18bd4ae9ade53fff041adcbc 04-mechanistic-interpretability/transformer-lens/references/api.md; MIT (c) Orchestra Research -->
2
+ # TransformerLens API Reference
3
+
4
+ ## HookedTransformer
5
+
6
+ The core class for mechanistic interpretability, wrapping transformer models with hooks on every activation.
7
+
8
+ ### Loading Models
9
+
10
+ ```python
11
+ from transformer_lens import HookedTransformer
12
+
13
+ # Basic loading
14
+ model = HookedTransformer.from_pretrained("gpt2-small")
15
+
16
+ # With specific device/dtype
17
+ model = HookedTransformer.from_pretrained(
18
+ "gpt2-medium",
19
+ device="cuda",
20
+ dtype=torch.float16
21
+ )
22
+
23
+ # Gated models (LLaMA, Mistral)
24
+ import os
25
+ os.environ["HF_TOKEN"] = "your_token"
26
+ model = HookedTransformer.from_pretrained("meta-llama/Llama-2-7b-hf")
27
+ ```
28
+
29
+ ### from_pretrained() Parameters
30
+
31
+ | Parameter | Type | Default | Description |
32
+ |-----------|------|---------|-------------|
33
+ | `model_name` | str | required | Model name from OFFICIAL_MODEL_NAMES |
34
+ | `fold_ln` | bool | True | Fold LayerNorm weights into subsequent layers |
35
+ | `center_writing_weights` | bool | True | Center residual stream writer means |
36
+ | `center_unembed` | bool | True | Center unembedding weights |
37
+ | `dtype` | torch.dtype | None | Model precision |
38
+ | `device` | str | None | Target device |
39
+ | `n_devices` | int | 1 | Number of devices for model parallelism |
40
+
41
+ ### Weight Matrices
42
+
43
+ | Property | Shape | Description |
44
+ |----------|-------|-------------|
45
+ | `W_E` | [d_vocab, d_model] | Token embedding matrix |
46
+ | `W_U` | [d_model, d_vocab] | Unembedding matrix |
47
+ | `W_pos` | [n_ctx, d_model] | Positional embedding |
48
+ | `W_Q` | [n_layers, n_heads, d_model, d_head] | Query weights |
49
+ | `W_K` | [n_layers, n_heads, d_model, d_head] | Key weights |
50
+ | `W_V` | [n_layers, n_heads, d_model, d_head] | Value weights |
51
+ | `W_O` | [n_layers, n_heads, d_head, d_model] | Output weights |
52
+ | `W_in` | [n_layers, d_model, d_mlp] | MLP input weights |
53
+ | `W_out` | [n_layers, d_mlp, d_model] | MLP output weights |
54
+
55
+ ### Core Methods
56
+
57
+ #### forward()
58
+
59
+ ```python
60
+ logits = model(tokens)
61
+ logits = model(tokens, return_type="logits")
62
+ loss = model(tokens, return_type="loss")
63
+ logits, loss = model(tokens, return_type="both")
64
+ ```
65
+
66
+ Parameters:
67
+ - `input`: Token tensor or string
68
+ - `return_type`: "logits", "loss", "both", or None
69
+ - `prepend_bos`: Whether to prepend BOS token
70
+ - `start_at_layer`: Start execution from specific layer
71
+ - `stop_at_layer`: Stop execution at specific layer
72
+
73
+ #### run_with_cache()
74
+
75
+ ```python
76
+ logits, cache = model.run_with_cache(tokens)
77
+
78
+ # Selective caching (saves memory)
79
+ logits, cache = model.run_with_cache(
80
+ tokens,
81
+ names_filter=lambda name: "resid_post" in name
82
+ )
83
+
84
+ # Cache on CPU
85
+ logits, cache = model.run_with_cache(tokens, device="cpu")
86
+ ```
87
+
88
+ #### run_with_hooks()
89
+
90
+ ```python
91
+ def my_hook(activation, hook):
92
+ # Modify activation
93
+ activation[:, :, 0] = 0
94
+ return activation
95
+
96
+ logits = model.run_with_hooks(
97
+ tokens,
98
+ fwd_hooks=[("blocks.5.hook_resid_post", my_hook)]
99
+ )
100
+ ```
101
+
102
+ #### generate()
103
+
104
+ ```python
105
+ output = model.generate(
106
+ tokens,
107
+ max_new_tokens=50,
108
+ temperature=0.7,
109
+ top_k=40,
110
+ top_p=0.9,
111
+ freq_penalty=1.0,
112
+ use_past_kv_cache=True
113
+ )
114
+ ```
115
+
116
+ ### Tokenization Methods
117
+
118
+ ```python
119
+ # String to tokens
120
+ tokens = model.to_tokens("Hello world") # [1, seq_len]
121
+ tokens = model.to_tokens("Hello", prepend_bos=False)
122
+
123
+ # Tokens to string
124
+ text = model.to_string(tokens)
125
+
126
+ # Get string tokens (for debugging)
127
+ str_tokens = model.to_str_tokens("Hello world")
128
+ # ['<|endoftext|>', 'Hello', ' world']
129
+
130
+ # Single token validation
131
+ token_id = model.to_single_token(" Paris") # Returns int or raises error
132
+ ```
133
+
134
+ ### Hook Management
135
+
136
+ ```python
137
+ # Clear all hooks
138
+ model.reset_hooks()
139
+
140
+ # Add permanent hook
141
+ model.add_hook("blocks.0.hook_resid_post", my_hook)
142
+
143
+ # Remove specific hook
144
+ model.remove_hook("blocks.0.hook_resid_post")
145
+ ```
146
+
147
+ ---
148
+
149
+ ## ActivationCache
150
+
151
+ Stores and provides access to all activations from a forward pass.
152
+
153
+ ### Accessing Activations
154
+
155
+ ```python
156
+ logits, cache = model.run_with_cache(tokens)
157
+
158
+ # By name and layer
159
+ residual = cache["resid_post", 5]
160
+ attention = cache["pattern", 3]
161
+ mlp_out = cache["mlp_out", 7]
162
+
163
+ # Full name string
164
+ residual = cache["blocks.5.hook_resid_post"]
165
+ ```
166
+
167
+ ### Cache Keys
168
+
169
+ | Key Pattern | Shape | Description |
170
+ |-------------|-------|-------------|
171
+ | `hook_embed` | [batch, pos, d_model] | Token embeddings |
172
+ | `hook_pos_embed` | [batch, pos, d_model] | Positional embeddings |
173
+ | `resid_pre, layer` | [batch, pos, d_model] | Residual before attention |
174
+ | `resid_mid, layer` | [batch, pos, d_model] | Residual after attention |
175
+ | `resid_post, layer` | [batch, pos, d_model] | Residual after MLP |
176
+ | `attn_out, layer` | [batch, pos, d_model] | Attention output |
177
+ | `mlp_out, layer` | [batch, pos, d_model] | MLP output |
178
+ | `pattern, layer` | [batch, head, q_pos, k_pos] | Attention pattern (post-softmax) |
179
+ | `attn_scores, layer` | [batch, head, q_pos, k_pos] | Attention scores (pre-softmax) |
180
+ | `q, layer` | [batch, pos, head, d_head] | Query vectors |
181
+ | `k, layer` | [batch, pos, head, d_head] | Key vectors |
182
+ | `v, layer` | [batch, pos, head, d_head] | Value vectors |
183
+ | `z, layer` | [batch, pos, head, d_head] | Attention output per head |
184
+
185
+ ### Analysis Methods
186
+
187
+ #### decompose_resid()
188
+
189
+ Decomposes residual stream into component contributions:
190
+
191
+ ```python
192
+ components, labels = cache.decompose_resid(
193
+ layer=5,
194
+ return_labels=True,
195
+ mode="attn" # or "mlp" or "full"
196
+ )
197
+ ```
198
+
199
+ #### accumulated_resid()
200
+
201
+ Get accumulated residual at each layer (for Logit Lens):
202
+
203
+ ```python
204
+ accumulated = cache.accumulated_resid(
205
+ layer=None, # All layers
206
+ incl_mid=False,
207
+ apply_ln=True # Apply final LayerNorm
208
+ )
209
+ ```
210
+
211
+ #### logit_attrs()
212
+
213
+ Calculate logit attribution for components:
214
+
215
+ ```python
216
+ attrs = cache.logit_attrs(
217
+ residual_stack,
218
+ tokens=target_tokens,
219
+ incorrect_tokens=incorrect_tokens
220
+ )
221
+ ```
222
+
223
+ #### stack_head_results()
224
+
225
+ Stack attention head outputs:
226
+
227
+ ```python
228
+ head_results = cache.stack_head_results(
229
+ layer=-1, # All layers
230
+ pos_slice=None # All positions
231
+ )
232
+ # Shape: [n_layers, n_heads, batch, pos, d_model]
233
+ ```
234
+
235
+ ### Utility Methods
236
+
237
+ ```python
238
+ # Move cache to device
239
+ cache = cache.to("cpu")
240
+
241
+ # Remove batch dimension (for batch_size=1)
242
+ cache = cache.remove_batch_dim()
243
+
244
+ # Get all keys
245
+ keys = cache.keys()
246
+
247
+ # Iterate
248
+ for name, activation in cache.items():
249
+ print(name, activation.shape)
250
+ ```
251
+
252
+ ---
253
+
254
+ ## HookPoint
255
+
256
+ The fundamental hook mechanism wrapping every activation.
257
+
258
+ ### Hook Function Signature
259
+
260
+ ```python
261
+ def hook_fn(activation: torch.Tensor, hook: HookPoint) -> torch.Tensor:
262
+ """
263
+ Args:
264
+ activation: Current activation value
265
+ hook: The HookPoint object (has .name attribute)
266
+
267
+ Returns:
268
+ Modified activation (or None to keep original)
269
+ """
270
+ # Modify activation
271
+ return activation
272
+ ```
273
+
274
+ ### Common Hook Patterns
275
+
276
+ ```python
277
+ # Zero ablation
278
+ def zero_hook(act, hook):
279
+ act[:, :, :] = 0
280
+ return act
281
+
282
+ # Mean ablation
283
+ def mean_hook(act, hook):
284
+ act[:, :, :] = act.mean(dim=0, keepdim=True)
285
+ return act
286
+
287
+ # Patch from cache
288
+ def patch_hook(act, hook):
289
+ act[:, 5, :] = clean_cache[hook.name][:, 5, :]
290
+ return act
291
+
292
+ # Add steering vector
293
+ def steer_hook(act, hook):
294
+ act += 0.5 * steering_vector
295
+ return act
296
+ ```
297
+
298
+ ---
299
+
300
+ ## Utility Functions
301
+
302
+ ### patching module
303
+
304
+ ```python
305
+ from transformer_lens import patching
306
+
307
+ # Generic activation patching
308
+ results = patching.generic_activation_patch(
309
+ model=model,
310
+ corrupted_tokens=corrupted,
311
+ clean_cache=clean_cache,
312
+ patching_metric=metric_fn,
313
+ patch_setter=patch_fn,
314
+ activation_name="resid_post",
315
+ index_axis_names=("layer", "pos")
316
+ )
317
+ ```
318
+
319
+ ### FactoredMatrix
320
+
321
+ Efficient operations on factored weight matrices:
322
+
323
+ ```python
324
+ from transformer_lens import FactoredMatrix
325
+
326
+ # QK circuit
327
+ QK = FactoredMatrix(model.W_Q[layer], model.W_K[layer].T)
328
+
329
+ # OV circuit
330
+ OV = FactoredMatrix(model.W_V[layer], model.W_O[layer])
331
+
332
+ # Get full matrix
333
+ full = QK.AB
334
+
335
+ # SVD decomposition
336
+ U, S, V = QK.svd()
337
+ ```
338
+
339
+ ---
340
+
341
+ ## Configuration
342
+
343
+ ### HookedTransformerConfig
344
+
345
+ Key configuration attributes:
346
+
347
+ | Attribute | Description |
348
+ |-----------|-------------|
349
+ | `n_layers` | Number of transformer layers |
350
+ | `n_heads` | Number of attention heads |
351
+ | `d_model` | Model dimension |
352
+ | `d_head` | Head dimension |
353
+ | `d_mlp` | MLP hidden dimension |
354
+ | `d_vocab` | Vocabulary size |
355
+ | `n_ctx` | Maximum context length |
356
+ | `act_fn` | Activation function name |
357
+ | `normalization_type` | "LN" or "LNPre" |
358
+
359
+ Access via:
360
+ ```python
361
+ model.cfg.n_layers
362
+ model.cfg.d_model
363
+ ```
@@ -0,0 +1,340 @@
1
+ <!-- vendored from orchestra-research/AI-research-SKILLs@773a52944ba4747a18bd4ae9ade53fff041adcbc 04-mechanistic-interpretability/transformer-lens/references/tutorials.md; MIT (c) Orchestra Research -->
2
+ # TransformerLens Tutorials
3
+
4
+ ## Tutorial 1: Basic Activation Analysis
5
+
6
+ ### Goal
7
+ Understand how to load models, cache activations, and inspect model internals.
8
+
9
+ ### Step-by-Step
10
+
11
+ ```python
12
+ from transformer_lens import HookedTransformer
13
+ import torch
14
+
15
+ # 1. Load model
16
+ model = HookedTransformer.from_pretrained("gpt2-small")
17
+ print(f"Model has {model.cfg.n_layers} layers, {model.cfg.n_heads} heads")
18
+
19
+ # 2. Tokenize input
20
+ prompt = "The capital of France is"
21
+ tokens = model.to_tokens(prompt)
22
+ print(f"Tokens shape: {tokens.shape}")
23
+ print(f"String tokens: {model.to_str_tokens(prompt)}")
24
+
25
+ # 3. Run with cache
26
+ logits, cache = model.run_with_cache(tokens)
27
+ print(f"Logits shape: {logits.shape}")
28
+ print(f"Cache keys: {len(cache.keys())}")
29
+
30
+ # 4. Inspect activations
31
+ for layer in range(model.cfg.n_layers):
32
+ resid = cache["resid_post", layer]
33
+ print(f"Layer {layer} residual norm: {resid.norm().item():.2f}")
34
+
35
+ # 5. Look at attention patterns
36
+ attn = cache["pattern", 0] # Layer 0
37
+ print(f"Attention shape: {attn.shape}") # [batch, heads, q_pos, k_pos]
38
+
39
+ # 6. Get top predictions
40
+ probs = torch.softmax(logits[0, -1], dim=-1)
41
+ top_tokens = probs.topk(5)
42
+ for token_id, prob in zip(top_tokens.indices, top_tokens.values):
43
+ print(f"{model.to_string(token_id.unsqueeze(0))}: {prob.item():.3f}")
44
+ ```
45
+
46
+ ---
47
+
48
+ ## Tutorial 2: Activation Patching
49
+
50
+ ### Goal
51
+ Identify which activations causally affect model output.
52
+
53
+ ### Concept
54
+ 1. Run model on "clean" input, cache activations
55
+ 2. Run model on "corrupted" input
56
+ 3. Patch clean activations into corrupted run
57
+ 4. Measure effect on output
58
+
59
+ ### Step-by-Step
60
+
61
+ ```python
62
+ from transformer_lens import HookedTransformer
63
+ import torch
64
+
65
+ model = HookedTransformer.from_pretrained("gpt2-small")
66
+
67
+ # Define clean and corrupted prompts
68
+ clean_prompt = "The Eiffel Tower is in the city of"
69
+ corrupted_prompt = "The Colosseum is in the city of"
70
+
71
+ clean_tokens = model.to_tokens(clean_prompt)
72
+ corrupted_tokens = model.to_tokens(corrupted_prompt)
73
+
74
+ # Get clean activations
75
+ _, clean_cache = model.run_with_cache(clean_tokens)
76
+
77
+ # Define metric
78
+ paris_token = model.to_single_token(" Paris")
79
+ rome_token = model.to_single_token(" Rome")
80
+
81
+ def logit_diff(logits):
82
+ """Positive = model prefers Paris over Rome"""
83
+ return (logits[0, -1, paris_token] - logits[0, -1, rome_token]).item()
84
+
85
+ # Baseline measurements
86
+ clean_logits = model(clean_tokens)
87
+ corrupted_logits = model(corrupted_tokens)
88
+ print(f"Clean logit diff: {logit_diff(clean_logits):.3f}")
89
+ print(f"Corrupted logit diff: {logit_diff(corrupted_logits):.3f}")
90
+
91
+ # Patch each layer
92
+ results = []
93
+ for layer in range(model.cfg.n_layers):
94
+ def patch_hook(activation, hook, layer=layer):
95
+ activation[:] = clean_cache["resid_post", layer]
96
+ return activation
97
+
98
+ patched_logits = model.run_with_hooks(
99
+ corrupted_tokens,
100
+ fwd_hooks=[(f"blocks.{layer}.hook_resid_post", patch_hook)]
101
+ )
102
+ results.append(logit_diff(patched_logits))
103
+ print(f"Layer {layer}: {results[-1]:.3f}")
104
+
105
+ # Find most important layer
106
+ best_layer = max(range(len(results)), key=lambda i: results[i])
107
+ print(f"\nMost important layer: {best_layer}")
108
+ ```
109
+
110
+ ### Position-Specific Patching
111
+
112
+ ```python
113
+ import torch
114
+
115
+ seq_len = clean_tokens.shape[1]
116
+ results = torch.zeros(model.cfg.n_layers, seq_len)
117
+
118
+ for layer in range(model.cfg.n_layers):
119
+ for pos in range(seq_len):
120
+ def patch_hook(activation, hook, layer=layer, pos=pos):
121
+ activation[:, pos, :] = clean_cache["resid_post", layer][:, pos, :]
122
+ return activation
123
+
124
+ patched_logits = model.run_with_hooks(
125
+ corrupted_tokens,
126
+ fwd_hooks=[(f"blocks.{layer}.hook_resid_post", patch_hook)]
127
+ )
128
+ results[layer, pos] = logit_diff(patched_logits)
129
+
130
+ # Visualize as heatmap
131
+ import matplotlib.pyplot as plt
132
+ plt.figure(figsize=(12, 8))
133
+ plt.imshow(results.numpy(), aspect='auto', cmap='RdBu')
134
+ plt.xlabel('Position')
135
+ plt.ylabel('Layer')
136
+ plt.colorbar(label='Logit Difference')
137
+ plt.title('Activation Patching Results')
138
+ ```
139
+
140
+ ---
141
+
142
+ ## Tutorial 3: Direct Logit Attribution
143
+
144
+ ### Goal
145
+ Identify which components (heads, neurons) contribute to specific predictions.
146
+
147
+ ### Step-by-Step
148
+
149
+ ```python
150
+ from transformer_lens import HookedTransformer
151
+ import torch
152
+
153
+ model = HookedTransformer.from_pretrained("gpt2-small")
154
+
155
+ prompt = "The capital of France is"
156
+ tokens = model.to_tokens(prompt)
157
+ logits, cache = model.run_with_cache(tokens)
158
+
159
+ # Target token
160
+ target_token = model.to_single_token(" Paris")
161
+
162
+ # Get unembedding direction for target
163
+ target_direction = model.W_U[:, target_token] # [d_model]
164
+
165
+ # Attribution per attention head
166
+ head_contributions = torch.zeros(model.cfg.n_layers, model.cfg.n_heads)
167
+
168
+ for layer in range(model.cfg.n_layers):
169
+ # Get per-head output at final position
170
+ z = cache["z", layer][0, -1] # [n_heads, d_head]
171
+
172
+ for head in range(model.cfg.n_heads):
173
+ # Project through W_O to get contribution to residual
174
+ head_out = z[head] @ model.W_O[layer, head] # [d_model]
175
+
176
+ # Dot with target direction
177
+ contribution = (head_out @ target_direction).item()
178
+ head_contributions[layer, head] = contribution
179
+
180
+ # Find top contributing heads
181
+ flat_idx = head_contributions.flatten().topk(10)
182
+ print("Top 10 heads for predicting 'Paris':")
183
+ for idx, val in zip(flat_idx.indices, flat_idx.values):
184
+ layer = idx.item() // model.cfg.n_heads
185
+ head = idx.item() % model.cfg.n_heads
186
+ print(f" L{layer}H{head}: {val.item():.3f}")
187
+ ```
188
+
189
+ ---
190
+
191
+ ## Tutorial 4: Induction Head Detection
192
+
193
+ ### Goal
194
+ Find attention heads that implement the [A][B]...[A] → [B] pattern.
195
+
196
+ ### Step-by-Step
197
+
198
+ ```python
199
+ from transformer_lens import HookedTransformer
200
+ import torch
201
+
202
+ model = HookedTransformer.from_pretrained("gpt2-small")
203
+
204
+ # Create repeated sequence pattern
205
+ # Pattern: [A][B][C][A] - model should attend from last A to B
206
+ seq = torch.randint(1000, 5000, (1, 20))
207
+ # Repeat first half
208
+ seq[0, 10:] = seq[0, :10]
209
+
210
+ _, cache = model.run_with_cache(seq)
211
+
212
+ # For induction heads: position i should attend to position (i - seq_len/2 + 1)
213
+ # At position 10 (second A), should attend to position 1 (first B)
214
+
215
+ induction_scores = torch.zeros(model.cfg.n_layers, model.cfg.n_heads)
216
+
217
+ for layer in range(model.cfg.n_layers):
218
+ pattern = cache["pattern", layer][0] # [heads, q_pos, k_pos]
219
+
220
+ # Check attention from repeated positions to position after first occurrence
221
+ for offset in range(1, 10):
222
+ q_pos = 10 + offset # Position in second half
223
+ k_pos = offset # Should attend to corresponding position in first half
224
+
225
+ # Average attention to the "correct" position
226
+ induction_scores[layer] += pattern[:, q_pos, k_pos]
227
+
228
+ induction_scores[layer] /= 9 # Average over offsets
229
+
230
+ # Find top induction heads
231
+ print("Top induction heads:")
232
+ for layer in range(model.cfg.n_layers):
233
+ for head in range(model.cfg.n_heads):
234
+ score = induction_scores[layer, head].item()
235
+ if score > 0.3:
236
+ print(f" L{layer}H{head}: {score:.3f}")
237
+ ```
238
+
239
+ ---
240
+
241
+ ## Tutorial 5: Logit Lens
242
+
243
+ ### Goal
244
+ See what the model "believes" at each layer before final unembedding.
245
+
246
+ ### Step-by-Step
247
+
248
+ ```python
249
+ from transformer_lens import HookedTransformer
250
+ import torch
251
+
252
+ model = HookedTransformer.from_pretrained("gpt2-small")
253
+
254
+ prompt = "The quick brown fox jumps over the lazy"
255
+ tokens = model.to_tokens(prompt)
256
+ logits, cache = model.run_with_cache(tokens)
257
+
258
+ # Get accumulated residual at each layer
259
+ # Apply LayerNorm to match what unembedding sees
260
+ accumulated = cache.accumulated_resid(layer=None, incl_mid=False, apply_ln=True)
261
+ # Shape: [n_layers + 1, batch, pos, d_model]
262
+
263
+ # Project to vocabulary
264
+ layer_logits = accumulated @ model.W_U # [n_layers + 1, batch, pos, d_vocab]
265
+
266
+ # Look at predictions for final position
267
+ print("Layer-by-layer predictions for final token:")
268
+ for layer in range(model.cfg.n_layers + 1):
269
+ probs = torch.softmax(layer_logits[layer, 0, -1], dim=-1)
270
+ top_token = probs.argmax()
271
+ top_prob = probs[top_token].item()
272
+ print(f"Layer {layer}: {model.to_string(top_token.unsqueeze(0))!r} ({top_prob:.3f})")
273
+ ```
274
+
275
+ ---
276
+
277
+ ## Tutorial 6: Steering with Activation Addition
278
+
279
+ ### Goal
280
+ Add a steering vector to change model behavior.
281
+
282
+ ### Step-by-Step
283
+
284
+ ```python
285
+ from transformer_lens import HookedTransformer
286
+ import torch
287
+
288
+ model = HookedTransformer.from_pretrained("gpt2-small")
289
+
290
+ # Get activations for contrasting prompts
291
+ positive_prompt = "I love this! It's absolutely wonderful and"
292
+ negative_prompt = "I hate this! It's absolutely terrible and"
293
+
294
+ _, pos_cache = model.run_with_cache(model.to_tokens(positive_prompt))
295
+ _, neg_cache = model.run_with_cache(model.to_tokens(negative_prompt))
296
+
297
+ # Compute steering vector (positive - negative direction)
298
+ layer = 6
299
+ steering_vector = (
300
+ pos_cache["resid_post", layer].mean(dim=1) -
301
+ neg_cache["resid_post", layer].mean(dim=1)
302
+ )
303
+
304
+ # Generate with steering
305
+ test_prompt = "The movie was"
306
+ test_tokens = model.to_tokens(test_prompt)
307
+
308
+ def steer_hook(activation, hook):
309
+ activation += 2.0 * steering_vector
310
+ return activation
311
+
312
+ # Without steering
313
+ normal_output = model.generate(test_tokens, max_new_tokens=20)
314
+ print(f"Normal: {model.to_string(normal_output[0])}")
315
+
316
+ # With positive steering
317
+ steered_output = model.generate(
318
+ test_tokens,
319
+ max_new_tokens=20,
320
+ fwd_hooks=[(f"blocks.{layer}.hook_resid_post", steer_hook)]
321
+ )
322
+ print(f"Steered: {model.to_string(steered_output[0])}")
323
+ ```
324
+
325
+ ---
326
+
327
+ ## External Resources
328
+
329
+ ### Official Tutorials
330
+ - [Main Demo](https://transformerlensorg.github.io/TransformerLens/generated/demos/Main_Demo.html)
331
+ - [Exploratory Analysis](https://transformerlensorg.github.io/TransformerLens/generated/demos/Exploratory_Analysis_Demo.html)
332
+ - [Activation Patching Demo](https://colab.research.google.com/github/TransformerLensOrg/TransformerLens/blob/main/demos/Activation_Patching_in_TL_Demo.ipynb)
333
+
334
+ ### ARENA Course
335
+ Comprehensive 200+ hour curriculum: https://arena-foundation.github.io/ARENA/
336
+
337
+ ### Neel Nanda's Resources
338
+ - [Getting Started in Mech Interp](https://www.neelnanda.io/mechanistic-interpretability/getting-started)
339
+ - [Mech Interp Glossary](https://www.neelnanda.io/mechanistic-interpretability/glossary)
340
+ - [YouTube Channel](https://www.youtube.com/@neelnanda)