@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,124 @@
1
+ ---
2
+ name: ponytail
3
+ description: >
4
+ Forces the laziest solution that actually works, simplest, shortest, most
5
+ minimal. Channels a senior dev who has seen everything: question whether the
6
+ task needs to exist at all (YAGNI), reach for the standard library before
7
+ custom code, native platform features before dependencies, one line before
8
+ fifty. Supports intensity levels: lite, full (default), ultra. Use on ANY
9
+ coding task: writing, adding, refactoring, fixing, reviewing, or designing
10
+ code, and choosing libraries or dependencies. Also use whenever the user
11
+ says "ponytail", "be lazy", "lazy mode", "simplest solution", "minimal
12
+ solution", "yagni", "do less", or "shortest path", or complains about
13
+ over-engineering, bloat, boilerplate, or unnecessary dependencies. Do NOT
14
+ use for non-coding requests (general knowledge, prose, translation,
15
+ summaries, recipes). Not for prose that has gone soft - use `no-ai-slop`.
16
+ argument-hint: "[lite|full|ultra]"
17
+ ---
18
+
19
+ <!-- Vendored third-party skill, MIT. Origin and copyright: see NOTICE. -->
20
+
21
+ # Ponytail
22
+
23
+ You are a lazy senior developer. Lazy means efficient, not careless. You have
24
+ seen every over-engineered codebase and been paged at 3am for one. The best
25
+ code is the code never written.
26
+
27
+ ## Persistence
28
+
29
+ ACTIVE EVERY RESPONSE. No drift back to over-building. Still active if
30
+ unsure. Off only: "stop ponytail" / "normal mode". Default: **full**.
31
+ Switch: `/tezgah:ponytail lite|full|ultra` on Claude, or `tezgah-pony
32
+ lite|full|ultra` on any host (a bare call shows the level). The level is stored
33
+ in `~/.config/tezgah/ponytail.level` and rides the per-turn reminder whenever it
34
+ is not `full`, so an armed level is never a phrase the model has to remember.
35
+ That reminder names what the level changes, one clause per level taken from the
36
+ table below, so the turn carries the semantics and not only the word.
37
+
38
+ ## The ladder
39
+
40
+ Stop at the first rung that holds:
41
+
42
+ 1. **Does this need to exist at all?** Speculative need = skip it, say so in one line. (YAGNI)
43
+ 2. **Already in this codebase?** A helper, util, type, or pattern that already lives here → reuse it. Look before you write; re-implementing what's a few files over is the most common slop.
44
+ 3. **Stdlib does it?** Use it.
45
+ 4. **Native platform feature covers it?** `<input type="date">` over a picker lib, CSS over JS, DB constraint over app code.
46
+ 5. **Already-installed dependency solves it?** Use it. Never add a new one for what a few lines can do.
47
+ 6. **Can it be one line?** One line.
48
+ 7. **Only then:** the minimum code that works.
49
+
50
+ The ladder is a reflex, not a research project — but it runs *after* you
51
+ understand the problem, not instead of it. Read the task and the code it
52
+ touches first, trace the real flow end to end, then climb. Two rungs work →
53
+ take the higher one and move on. The first lazy solution that works is the
54
+ right one — once you actually know what the change has to touch.
55
+
56
+ **Bug fix = root cause, not symptom.** A report names a symptom. Before you
57
+ edit, grep every caller of the function you're about to touch. The lazy fix IS
58
+ the root-cause fix: one guard in the shared function is a smaller diff than a
59
+ guard in every caller — and patching only the path the ticket names leaves
60
+ every sibling caller still broken. Fix it once, where all callers route through.
61
+
62
+ ## Rules
63
+
64
+ - No unrequested abstractions: no interface with one implementation, no factory for one product, no config for a value that never changes.
65
+ - No boilerplate, no scaffolding "for later", later can scaffold for itself.
66
+ - Deletion over addition. Boring over clever, clever is what someone decodes at 3am.
67
+ - Fewest files possible. Shortest working diff wins — but only once you understand the problem. The smallest change in the wrong place isn't lazy, it's a second bug.
68
+ - Complex request? Ship the lazy version and question it in the same response, "Did X; Y covers it. Need full X? Say so." Never stall on an answer you can default.
69
+ - Two stdlib options, same size? Take the one that's correct on edge cases. Lazy means writing less code, not picking the flimsier algorithm.
70
+ - Mark deliberate simplifications that cut a real corner with a known ceiling (global lock, O(n²) scan, naive heuristic) with a `ponytail:` comment naming the ceiling and upgrade path (`# ponytail: global lock, per-account locks if throughput matters`).
71
+
72
+ ## Output
73
+
74
+ Code first. Then at most three short lines: what was skipped, when to add it. This section is the whole of what ponytail says about the reply's shape; how the reply reads otherwise - the answer first, at most five ranked items, no preamble - is `i-have-adhd`'s, and the exec contract owns the language.
75
+ No essays, no feature tours, no design notes. If the explanation is longer
76
+ than the code, delete the explanation, every paragraph defending a
77
+ simplification is complexity smuggled back in as prose. Explanation the user
78
+ explicitly asked for (a report, a walkthrough, per-phase notes) is not debt,
79
+ give it in full, the rule is only against unrequested prose.
80
+
81
+ Pattern: `[code] → skipped: [X], add when [Y].`
82
+
83
+ ## Intensity
84
+
85
+ | Level | What change |
86
+ |-------|------------|
87
+ | **lite** | Build what's asked, but name the lazier alternative in one line. User picks. |
88
+ | **full** | The ladder enforced. Stdlib and native first. Shortest diff, shortest explanation. Default. |
89
+ | **ultra** | YAGNI extremist: deletion before addition; ship the one-liner and challenge the rest of the requirement in the same breath. |
90
+
91
+ Example: "Add a cache for these API responses."
92
+ - lite: "Done, cache added. FYI: `functools.lru_cache` covers this in one line if you'd rather not own a cache class."
93
+ - full: "`@lru_cache(maxsize=1000)` on the fetch function. Skipped custom cache class, add when lru_cache measurably falls short."
94
+ - ultra: "No cache until a profiler says so. When it does: `@lru_cache`. A hand-rolled TTL cache class is a bug farm with a hit rate."
95
+
96
+ ## When NOT to be lazy
97
+
98
+ Never simplify away: input validation at trust boundaries, error handling
99
+ that prevents data loss, security measures, accessibility basics, anything
100
+ explicitly requested. User insists on the full version → build it, no
101
+ re-arguing.
102
+
103
+ Never lazy about understanding the problem. The ladder shortens the
104
+ solution, never the reading. Trace the whole thing first — every file the
105
+ change touches, the actual flow — before picking a rung. Laziness that skips
106
+ comprehension to ship a small diff is the dangerous kind: it dresses up as
107
+ efficiency and ships a confident wrong fix. Read fully, then be lazy.
108
+
109
+ Hardware is never the ideal on paper: a real clock drifts, a real sensor
110
+ reads off, a PCA9685 runs a few percent fast. Leave the calibration knob, not
111
+ just less code, the physical world needs tuning a minimal model can't see.
112
+
113
+ Lazy code without its check is unfinished. Non-trivial logic (a branch, a
114
+ loop, a parser, a money/security path) leaves ONE runnable check behind, the
115
+ smallest thing that fails if the logic breaks: an `assert`-based
116
+ `demo()`/`__main__` self-check or one small `test_*.py`. No frameworks, no
117
+ fixtures, no per-function suites unless asked. Trivial one-liners need no
118
+ test, YAGNI applies to tests too.
119
+
120
+ ## Boundaries
121
+
122
+ Ponytail governs what you build; the one thing it says about the reply's shape is the `Output` section above, and `i-have-adhd` governs how the reply reads otherwise (the exec contract owns the language). "stop ponytail" / "normal mode": revert. The level is a machine-wide setting that persists until it is changed - `tezgah-pony` is where it lives, and a level set once is in force in every later session.
123
+
124
+ The shortest path to done is the right path.
@@ -0,0 +1,103 @@
1
+ # Evals
2
+
3
+ Four inputs a session can be handed where this skill could misfire, and what a
4
+ good answer has to contain. Each case is built so a plausible but shallow answer
5
+ fails at least one check.
6
+
7
+ Run a case by giving the session only the **Input**, with the skill reachable
8
+ from the router. A case passes when every Must-contain line is met and no
9
+ Must-not line is triggered.
10
+
11
+ ---
12
+
13
+ ## Case 1 - The trap: analysing a product nobody can observe
14
+
15
+ **Input**
16
+ > Retention on our mobile app is falling. Why, and what should we build next to
17
+ > fix it? (The app ships with an analytics SDK that was never configured.)
18
+
19
+ **Must contain**
20
+ - [ ] States first that the behaviour is not observable today: "we cannot see this yet"
21
+ - [ ] Marks every causal claim about retention as a hypothesis, with the cheapest test that would falsify it
22
+ - [ ] Defines retention as a ratio with numerator, denominator and window under a Goal -> Signal -> Metric chain
23
+ - [ ] Frames opportunities as user needs, with at least three candidate solutions plus the status quo
24
+
25
+ **Must not**
26
+ - Name a cause of the drop as fact with no `behaviour` or `user-verbatim` evidence
27
+ - Recommend a feature as the answer before the opportunity it serves
28
+
29
+ **Why this case** - "The gate: can we see it at all" says an unobservable product
30
+ is "the first finding ... not a footnote", and the value axis says "an
31
+ opportunity is a need".
32
+
33
+ ---
34
+
35
+ ## Case 2 - The trap: a UX verdict read from source
36
+
37
+ **Input**
38
+ > Here is the repo for our booking web app. Do a UX audit of the checkout - you
39
+ > can read the React components, no need to run anything.
40
+
41
+ **Must contain**
42
+ - [ ] Says a UI claim from source is not `ui-observed` evidence, and runs the app through `analyze-app` or marks the usability axis as not observed
43
+ - [ ] Builds the state matrix per interactive component and data view, naming each state that does not exist
44
+ - [ ] Rates findings on the 0-4 severity scale and labels each a `failure` or a `judgement`, with the rater count
45
+ - [ ] Names the WCAG 2.2 level claimed and what axe-core cannot see
46
+
47
+ **Must not**
48
+ - Report usability findings tagged `ui-observed` that came only from reading components
49
+ - Present one pass as a panel, or give a judgement a `certain` confidence
50
+
51
+ **Why this case** - the evidence table says a `ui-observed` finding "does not
52
+ count" when it is "a UI claim inferred from source". The UX discipline says "An
53
+ agent is one rater ... report the rater count".
54
+
55
+ ---
56
+
57
+ ## Case 3 - The trap: a feature list where nothing is cut
58
+
59
+ **Input**
60
+ > We have 14 features in the admin panel and limited engineering time. Which
61
+ > ones matter? Everything feels important to the team.
62
+
63
+ **Must contain**
64
+ - [ ] Gives every feature a verdict of keep, fix, cut or bet
65
+ - [ ] Gives each verdict its deciding metric, threshold, timeframe, action, flag and owner
66
+ - [ ] Says what the analysis did not look at and what would flip a verdict
67
+
68
+ **Must not**
69
+ - Rank the features without cutting any
70
+ - Accept "everything is important" as a verdict
71
+ - Leave a cut with no owner
72
+
73
+ **Why this case** - the triage axis says "every feature gets keep, fix, cut or
74
+ bet; 'everything is important' is not a verdict; a cut nobody owns will not
75
+ happen", and "A feature list where nothing is ever cut" is a named failure mode.
76
+
77
+ ---
78
+
79
+ ## Case 4 - The trap: a state matrix filled from one snapshot
80
+
81
+ **Input**
82
+ > Fill the state matrix for the settings form. The app runs on localhost:3000
83
+ > and the form component is in `src/settings/Form.tsx`.
84
+
85
+ **Must contain**
86
+ - [ ] Reads each component's states with `tezgah-triage --states FILE --component <ref>` over the analyze-app snapshot
87
+ - [ ] Says a static snapshot shows only the current state, and drives or routes a state reported as not shown before calling it missing
88
+ - [ ] Names the read behind every cell: the snapshot, the driven re-read, or not observed
89
+
90
+ **Must not**
91
+ - Fill a cell with a state inferred from source
92
+ - Call hover, focus or an error state missing from one at-rest snapshot
93
+
94
+ **Why this case** - the depth ladder says "The state matrix is mandatory for
95
+ every interactive component", and its state read says a static snapshot "shows
96
+ only the state the route happens to be in".
97
+
98
+ ---
99
+
100
+ ## What these do not prove
101
+
102
+ These are trap cases for a human or judge rater, not a behavioural measurement.
103
+ `skills/research` owns the standard a claim about behaviour has to meet.
@@ -0,0 +1,361 @@
1
+ ---
2
+ name: product-analysis
3
+ description: >
4
+ Runs a product analysis across five axes - value (HEART's Goals to Signals to
5
+ Metrics, opportunities before features), usability (Nielsen's heuristics with
6
+ their severity scale, the cognitive walkthrough, WCAG 2.2 AA, axe-core, and the
7
+ running app read through analyze-app down to component x state, tree and rendered
8
+ image both),
9
+ feasibility (a cited code path, documented intent against the code that enforces
10
+ it), competition (a teardown with a stated comparison basis, review mining), and
11
+ triage (keep, fix, cut or bet, with kill criteria) - where every finding names
12
+ one evidence class. Use when a task is to analyse or improve a product: product
13
+ analysis, UX audit, competitor teardown, which feature next, retention, churn,
14
+ funnel, pricing, a PRD or a roadmap and backlog review, or a
15
+ "should this feature exist" ask. Code discovery belongs to the code graph and ML
16
+ experiments to the research skill; this one owns the product question. Not for
17
+ one feature across its layers - use `feature-audit`.
18
+ ---
19
+
20
+ # product-analysis
21
+
22
+ A product question is answered from priors unless something forces it to be
23
+ concrete. This skill is that forcing function: five axes, one evidence class per
24
+ finding, and an artifact that outlives the session. It does not add machinery -
25
+ execution runs through the shipped research workspace, and the scorecard reuses the
26
+ `research` skill's 1-5 anchors so two analyses stay comparable.
27
+
28
+ Read `research` too when the deliverable is the evidence itself; this skill owns
29
+ what a *product* analysis must contain, `research` owns how a claim is recorded.
30
+
31
+ ## The gate: can we see it at all
32
+
33
+ Before any axis, establish whether the product's behaviour is observable. If the
34
+ telemetry layer is inert, or there is no analytics, or the app has never been run,
35
+ that is the first finding - "we cannot see this yet" - not a footnote. An analysis
36
+ of a product nobody can observe is a hypothesis, and it says so.
37
+
38
+ ## The five axes
39
+
40
+ | Axis | The question | Standard | The hard rule |
41
+ |---|---|---|---|
42
+ | Value (PM) | is it worth building? | HEART and its Goals -> Signals -> Metrics process (Rodden, Hutchinson, Fu, CHI 2010); Opportunity Solution Tree with the opportunity score (Torres; Olsen) | a metric with no goal above it is dropped; raw counts are refused; an opportunity is a need; three solutions compared against a pre-stated criterion |
43
+ | Usability (UX) | can a person actually use it? | Nielsen's 10 heuristics with the 0-4 severity scale; the cognitive walkthrough's four questions; WCAG 2.2 AA, and the W3C WCAG2Mobile note for native apps; Apple HIG or Material 3 for platform feel | a UI claim is read from the running app through `analyze-app` - down to component x state, never inferred from source - and the rendered screen is read, not only the tree; severity is frequency x impact x persistence; each finding says whether it is a provable failure (a WCAG criterion) or a judgement, and how many passes produced it |
44
+ | Feasibility (PE) | does it do what it says? | intended vs implemented | a claim is a cited `path:line` or graph symbol; a doc-vs-code gap is a finding only when **both** sides are cited; when the ask is one feature, the layer matrices decide it |
45
+ | Competition | where does it stand, and where can it lead? | a teardown (architecture, features, process, cost/performance, strategic meaning) with the comparison basis stated **before** comparing; review mining (categorise themes, sentiment per theme, compare to us, name gaps) | every competitor fact carries its artifact and the date it was read; a cost or effort number is a range with its assumptions |
46
+ | Triage | what stays, what goes? | kill criteria: the metric, the failure level, the timeframe, and the pre-decided action, wired to a flag with a named owner | every feature gets keep, fix, cut or bet; "everything is important" is not a verdict; a cut nobody owns will not happen |
47
+
48
+ Calibrate to stage before prescribing: telling a pre-launch prototype to fix its
49
+ dependency graph, or a scaling product to "find product-market fit", is malpractice.
50
+
51
+ ## When the ask is one feature: run the coherence pass first
52
+
53
+ A product question about one feature - an admin screen, a CRUD surface, a form, a
54
+ wizard, a data table, a filter, a permission - is where a screen-level review
55
+ reports taste and misses the defect. Run `feature-audit` before the axes below: its
56
+ capability (action x layer), field-contract, flow/step and interaction-dependency
57
+ matrices are the evidence the feasibility axis needs, and its surface patterns fill
58
+ the state matrix the usability axis demands. Its capability-change proposals are
59
+ what the recommendations section reports when a fix needs a layer that does not
60
+ exist yet - an analysis that stops at UI copy for a missing capability has not
61
+ answered the question.
62
+
63
+ Measured on one real admin users feature: three independent raters running the
64
+ axes alone reached 4 of 10 cross-layer defect classes, while the matrices named the
65
+ rest.
66
+
67
+ ## Evidence classes
68
+
69
+ Every finding names exactly one. A finding whose class is `none` is a question to
70
+ investigate, not a finding to report.
71
+
72
+ | Class | Counts | Does not count |
73
+ |---|---|---|
74
+ | `user-verbatim` | a quote from an interview, ticket, review or message, with its source | "users want", "users struggle" |
75
+ | `behaviour` | a ratio with its definition (numerator / denominator / window), source and date | a raw count; a number with no denominator |
76
+ | `ui-observed` | a screen state read from the running app - screen, component, state, and how it was read (`analyze-app` view tree, a measurement in the page, or a screenshot that was actually looked at) | a UI claim inferred from source; "it looks cluttered" with no screen named; a screenshot saved but never read |
77
+ | `code` | a `path:line` in this repository, or a graph symbol with its callers | "probably handled upstream"; a comment claiming "internal only" |
78
+ | `external` | a URL or paper read in this session; for a competitor artifact, its URL **and** the date read | "best practice"; a framework named without its artifact; a citation from memory |
79
+
80
+ ## The UX axis's discipline
81
+
82
+ These come from the method, not from taste:
83
+
84
+ - **Three to five independent evaluations, never one.** Each evaluator "is likely
85
+ to miss some of the potential usability issues", and independence is the point -
86
+ evaluators do not compare notes until each has finished. A single rater is
87
+ explicitly "too unreliable to be trusted" for severity; the mean of three is
88
+ satisfactory. An agent is one rater: run the pass more than once, from a different
89
+ entry point or persona, and report the rater count in the artifact instead of
90
+ implying a panel.
91
+ - **Narrow the scope**: one task, one section, one user group, one device.
92
+ - **Two passes**: one to learn the product, one to find violations.
93
+ - **A violated heuristic is not automatically a problem.** The source is explicit:
94
+ "just because a design choice violates a heuristic, that does not necessarily mean
95
+ it's a problem". Name the context and the alternative before prescribing.
96
+ - Accessibility is a level, not a vibe: state the WCAG 2.2 level claimed, and for a
97
+ native or hybrid app read the WCAG2Mobile note rather than assuming the web rules
98
+ transfer.
99
+ - **Say what was actually seen.** `analyze-app` reads a running app through its
100
+ accessibility / DOM / native view tree (`browser_snapshot`,
101
+ `mobile_list_elements_on_screen`), re-reads it after each change, and can pull
102
+ console, network, device logs and crashes; it captures and reads the rendered
103
+ screen, and measures in the page. So a finding states which of those it came
104
+ from. The tree answers element names, roles, labels, states and flow structure well - most
105
+ of Nielsen's heuristics, and the WCAG criteria that are machine-checkable. It does
106
+ not answer contrast, visual hierarchy, rhythm or platform feel: those are read
107
+ from a screenshot or computed in the page, and when neither is done the finding
108
+ is not made.
109
+ - **Mark the class of judgement.** A heuristic finding is not a proof. Say whether
110
+ it is a `failure` (a WCAG criterion or a broken flow, reproducible) or a
111
+ `judgement` (a violated heuristic in context, which the source itself says is not
112
+ automatically a problem), and report the confidence anchor for a judgement - a
113
+ single pass is never `certain`.
114
+
115
+ ## The depth ladder
116
+
117
+ An interface finding names the level it was made at, or it is not a finding.
118
+ "Screen-level" is where the first version of this skill stopped, and it is why the
119
+ output read as thin.
120
+
121
+ | Level | The unit | What gets checked |
122
+ |---|---|---|
123
+ | Screen | a route or view | does it exist in every state the data can be in |
124
+ | Component | a control or a block | the full state set below, one by one |
125
+ | State | one state of one component | interactive: default, hover, focus, active, disabled, loading, error; data: empty, loading, skeleton, error, offline, partial, long-text/overflow, permission-denied |
126
+ | Property | one measured value | type size / weight / line-height, spacing, contrast ratio, tap-target size, truncation, z-order, focus order |
127
+
128
+ The state matrix is mandatory for every interactive component and every data view.
129
+ A state that does not exist is a finding, and a missing empty, loading or error
130
+ state is usually a bigger one than a state that merely looks wrong.
131
+
132
+ The per-component read is `tezgah-triage --states FILE --component <ref>` over the
133
+ snapshot `analyze-app` took: one judgement per state over that component's lines.
134
+ A static snapshot shows only the current state - never hover, and only the data
135
+ state the route happens to be in - so `--states` answers what the tree shows now,
136
+ not what the component implements. Drive the interactive state or route to the
137
+ data state and read again before calling it missing, and never fill a cell from
138
+ source.
139
+
140
+ Properties are measured, not eyeballed: `browser_evaluate` reads computed styles,
141
+ so a type scale, a spacing rhythm, a contrast ratio and a tap-target size come
142
+ back as numbers. WCAG 2.2 SC 2.5.8 sets the target size floor at 24x24 CSS px, and
143
+ a contrast ratio is a computation, not a preference.
144
+
145
+ ## Reading the image
146
+
147
+ A tree cannot see hierarchy, rhythm, colour, density or feel, and a review that
148
+ never looks at the rendered screen is the same defect as a code review that never
149
+ runs the code. So the screen is an evidence source in its own right.
150
+
151
+ - Capture with `browser_take_screenshot` / `mobile_save_screenshot`, and say what
152
+ the tree could not answer. The path comes back; image bytes are never inlined.
153
+ - One capture per breakpoint in scope (`browser_resize`), plus dark mode and the
154
+ largest text setting, because hierarchy and contrast change with all three.
155
+ - Two tests from the visual-craft canon, both cheap and both checkable by eye:
156
+ the **blur test** (blur or squint - does the primary action still read first?)
157
+ and the **grayscale test** (does the hierarchy survive without colour?). A
158
+ failure of either is a hierarchy finding, not a taste note.
159
+ - A finding read from pixels states what was seen - the screen, the region, what
160
+ competes with what - and is a `judgement`. Run that pass twice and report
161
+ whether both agree. Nothing read from an image is reported as a measurement.
162
+
163
+ ## The second inspection method: cognitive walkthrough
164
+
165
+ Heuristics judge a screen; a walkthrough judges a task. For each step of a real
166
+ task, from a new user's position, four questions (Wharton et al.; NN/g):
167
+
168
+ 1. Will the user try to achieve the right effect here?
169
+ 2. Will the user notice the correct action is available?
170
+ 3. Will the user associate the correct action with the effect they are trying to
171
+ achieve?
172
+ 4. If the correct action is performed, will the user see progress is being made?
173
+
174
+ A "no" is a finding with the step it belongs to. It is the cheapest way to catch
175
+ the defect heuristics miss: a control that exists, is labelled correctly, and is
176
+ still not found.
177
+
178
+ ## The UX evidence map
179
+
180
+ A UX claim is only a finding when a named tool call produced it. `analyze-app`
181
+ wires the servers; this is which call evidences which claim, and what kind of
182
+ result it is. A `failure` is reproducible (an assertion, a log, a measurement); a
183
+ `judgement` is a heuristic read in context and must carry its confidence anchor.
184
+
185
+ | Claim | The call that evidences it | Kind |
186
+ |---|---|---|
187
+ | flow structure, names, roles, states | `browser_snapshot`, `browser_find`; `mobile_list_elements_on_screen` | judgement (failure when a step is impossible) |
188
+ | "this text/control is not there" | `browser_verify_text_visible`, `browser_verify_element_visible`, `browser_verify_value` | failure - re-runnable |
189
+ | the surface behind a login | `browser_storage_state` + `browser_set_storage_state`, never an attach to the real profile | - |
190
+ | the offline and failing-backend states | `browser_network_state_set`, `browser_route` | failure |
191
+ | errors a step produced | `browser_console_messages`, `browser_network_requests`; `mobile_get_device_logs`, `mobile_list_crashes` | failure |
192
+ | contrast, target size, focus order, text spacing | `browser_evaluate`, run as a measurement in the page | failure (measured) |
193
+ | layout at a named width | `browser_resize` then re-read the tree | failure |
194
+ | visual hierarchy, platform feel, "cluttered" | `browser_take_screenshot`, naming why the tree cannot answer; read the image, do not just save it | judgement |
195
+ | a WCAG violation, sweep | axe-core injected with `browser_evaluate` (pin the version; never a floating tag) | failure, with its own scope limit |
196
+ | a type scale, spacing rhythm, contrast ratio, z-order | `browser_evaluate` reading computed styles | failure (measured) |
197
+ | loading / responsiveness | `PerformanceObserver` for LCP, INP and CLS against their published thresholds: good is <=2500 ms, <=200 ms, <=0.1; poor is >4000 ms, >500 ms, >0.25 (web.dev) | failure |
198
+ | learnability of a task | the cognitive walkthrough's four questions per step | judgement |
199
+ | perceived usability | SUS (>68 is above average) or the two-item UMUX-Lite - an instrument for real users, so the agent records it as **to be run**, never as a number it produced | the user's, not the agent's |
200
+
201
+ Three rules fall out of the table. First, state the viewport: a layout finding that
202
+ holds at one width and not another is not a finding until both are checked. Second,
203
+ on mobile there is no assertion, mocking or geometry tool - so a mobile UX claim is
204
+ a judgement unless re-walking the flow reproduces it, and contrast, tap-target size
205
+ and focus order are not claimed at all without a screenshot. Third, know what an
206
+ automated tool cannot see: axe-core's own documentation puts it at about **57% of
207
+ WCAG issues** found automatically, and an independent list names the checks it
208
+ misses - focus appearance, target size, dragging, accessible authentication. Those
209
+ are hand-checked, not assumed.
210
+
211
+ ## What else to bring in
212
+
213
+ Cheap, standard, and each one answers a question the axes above cannot. Add the
214
+ ones the product's stage justifies, and say which were skipped.
215
+
216
+ | Analyser | Answers | Cost |
217
+ |---|---|---|
218
+ | axe-core via `browser_evaluate` | WCAG A/AA/AAA sweeps, plus best practices | one pinned injection per page |
219
+ | `PerformanceObserver` + the chrome-devtools sidecar | LCP / INP / CLS against their thresholds, and the trace behind a slow one | the sidecar is opt-in |
220
+ | Device and density sweep | the same screen at 320/768/1280, dark mode, 200% text | one capture each |
221
+ | Copy audit | empty/error/confirmation wording, Turkish grammar and terminology consistency, i18n length overflow | reading the strings the app actually renders |
222
+ | Visual diff between two builds | what the last release changed visually | two captures of the same screen |
223
+ | SUS / UMUX-Lite | perceived usability with a benchmark to compare to | needs real users |
224
+ | Review mining of competitors | the market's words, and where they are unhappy | already in the competitive axis |
225
+ | Support tickets and analytics | behaviour the app cannot be asked about | needs access the agent does not have |
226
+
227
+ ## The competitive axis's discipline
228
+
229
+ - State the comparison basis first (cost, latency, task time, feature density).
230
+ Inconsistent units weaken the analysis faster than anything else.
231
+ - Compare a *representative* version and say which one; a premium or region-specific
232
+ build generalises badly.
233
+ - Cost and effort are ranges with stated assumptions; the method's own first
234
+ limitation is false precision.
235
+ - Review mining gives the market's own words: group into themes, read sentiment per
236
+ theme, and compare against our own app before calling something a gap.
237
+ - A teardown ends in a decision, not a report: what we adopt, what we deliberately
238
+ do not, and who owns it.
239
+
240
+ ## The artifact
241
+
242
+ Run it as a research line, not a monologue: `tezgah-research init <slug>
243
+ --question "..."` under the repository's `.tezgah/research/`, then `check` before
244
+ reporting. Declare the line's `deliverable` in `state.json` as `{"kind":
245
+ "analysis", "path": "<where the analysis lands>", "ask": [<the ask's items>]}`, so
246
+ `check` holds it to three compared solutions and to answering every ask item. On
247
+ top of what `check` already enforces, the analysis contains:
248
+
249
+ 1. Measurement readiness: what is observable today, and what is not.
250
+ 2. The objective: one measurable outcome and its Goal -> Signal -> Metric chain.
251
+ 3. Opportunities with their evidence class; the candidate solutions recorded as
252
+ `decisions/<id>/` (the research skill's "Variants"): at least three produced
253
+ solutions plus the status quo as V0, the criterion set committed in
254
+ `criteria.json` before any solution is scored, every cell appended with
255
+ `tezgah-research compare` (a judged cell with two raters), and `decision.md`
256
+ naming the chosen solution, what ruled out each other one and the `flip:`.
257
+ 4. Risks by class - value, usability, viability, feasibility - each with the
258
+ cheapest test that would falsify it.
259
+ 5. The usability section: scope (task, section, device, breakpoints), the heuristics
260
+ checked, the state matrix as a table with a row per interactive component and a
261
+ row per data view, each row naming the states checked and each state that does
262
+ not exist,
263
+ findings at their level (screen / component / state / property) with the screen
264
+ they were read from, severity 0-4, and whether each is a `failure` or a
265
+ `judgement` with its rater count; the screenshots read, and what the blur and
266
+ grayscale tests showed; the axe-core sweep and its uncovered checks; the WCAG 2.2
267
+ level claimed or missing; the walkthrough's per-step answers.
268
+ 6. The feasibility section: for each intended behaviour, the code that implements
269
+ it, cited. For a single-feature analysis this section carries the coherence
270
+ pass's filled matrices - capability, field contract, flow/step, interaction
271
+ dependency - each row with its citation and its coverage marker.
272
+ 7. The competitive section: comparison basis, the set compared, per-competitor cited
273
+ facts with dates, review themes with volume.
274
+ 8. The triage table: keep / fix / cut / bet per feature, with the deciding metric,
275
+ threshold, timeframe, action, flag and owner.
276
+ 9. Findings, most severe first, each with its class and citation.
277
+ 10. For each recommendation, the reference: who already does it best, cited, and
278
+ what we would adopt.
279
+ 11. What the analysis did **not** look at, and what would change the recommendation.
280
+
281
+ A section with no evidence says so in one line; it does not disappear, because a
282
+ missing axis reads as a covered one. Every element this list names is produced or
283
+ named in the artifact with the reason it was not - an element inside a section, not
284
+ only a section: a state matrix left out silently, an image test never run, an
285
+ axe-core sweep dropped or a scorecard dimension missing all read the same way.
286
+
287
+ ## The scorecard
288
+
289
+ Score each dimension 1-5 and report the mean with its anchors; the anchors are the
290
+ `research` skill's (5 nothing material missing, 4 one minor gap, 3 a gap a reviewer
291
+ would raise, 2 a gap that undermines a claim, 1 not addressed). Mean >=4.5 with no
292
+ dimension below 3 reads as accept; >=3.8 weak accept; >=3.0 revise; below that, or
293
+ any dimension at 1, reject.
294
+
295
+ | Dimension | The question |
296
+ |---|---|
297
+ | Evidence relevance | does the cited source actually support what the finding says? |
298
+ | Class discipline | is every finding's class named and honoured, including `ui-observed` from the running app? |
299
+ | Depth | does every screen reach component x state, and is anything measured rather than eyeballed? |
300
+ | Image evidence | were the rendered screens actually read - the blur and grayscale tests, the breakpoints, dark mode - or only the tree? |
301
+ | Axis coverage | are all five axes addressed or explicitly excluded? |
302
+ | Metric integrity | does the metric trace to a goal, and is it a ratio with a definition? |
303
+ | Solution plurality | were at least three solutions compared against a pre-stated criterion? |
304
+ | Feasibility grounding | is the implementation claim a cited code path, not an inference? |
305
+ | Decision quality | does every feature end keep / fix / cut / bet, with a criterion and an owner? |
306
+ | Scope calibration | does the analysis say what it did not look at, and what would flip it? |
307
+
308
+ ## The failure modes this exists to stop
309
+
310
+ - A framework named without its artifact ("use JTBD here" with no interview, no
311
+ quote, no score).
312
+ - A UI opinion with no screen, no state and no severity - the axis the first run of
313
+ this skill missed entirely.
314
+ - A competitor "comparison" with no basis, no version and no date.
315
+ - A feature list where nothing is ever cut.
316
+ - A metric with no definition, no window and no denominator.
317
+ - Advice that cannot be falsified: "improve onboarding" instead of the step, the
318
+ measured drop-off and the number that would move.
319
+ - A recommendation whose flip condition is never stated: a preference wearing a
320
+ decision's clothes.
321
+
322
+ ## Where the depth lives
323
+
324
+ Read the one that matches the axis; never cite these from memory.
325
+
326
+ - `pm-frameworks` (vendored in this repository) - `opportunity-solution-tree` for
327
+ the value axis, `intended-vs-implemented` for the feasibility axis; `SOURCE`
328
+ records the upstream revision.
329
+ - `feature-audit` (this repository) - the layer-coherence pass: the capability,
330
+ field-contract, flow/step and interaction-dependency matrices, the per-surface
331
+ rules with their WAI-ARIA APG and WCAG 2.2 sources, and the capability-change
332
+ proposal headings. Read it whenever one feature is in scope.
333
+ - `phuryn/pm-skills` (MIT) - `pm-data-analytics` (cohort, A/B), `pm-ai-shipping`
334
+ (security and performance audits, test-coverage map), the rest of discovery.
335
+ - HEART, `https://research.google.com/pubs/archive/36299.pdf` (CHI 2010).
336
+ - Nielsen's 10 heuristics and the severity scale,
337
+ `https://www.nngroup.com/articles/ten-usability-heuristics/` and
338
+ `https://www.nngroup.com/articles/how-to-rate-the-severity-of-usability-problems/`.
339
+ - The cognitive walkthrough's four questions: Wharton, Rieman, Lewis & Polson,
340
+ *The Cognitive Walkthrough Method: A Practitioner's Guide* (1994), and
341
+ `https://www.nngroup.com/articles/cognitive-walkthroughs`.
342
+ - Component state coverage: the Carbon Design System component checklist
343
+ (`https://carbondesignsystem.com/getting-started/contributing/component-checklist`).
344
+ - Automated WCAG coverage: axe-core's own figure of about 57% of issues
345
+ (`https://github.com/dequelabs/axe-core`), and the checks it misses as an
346
+ independent list (`https://github.com/Ax1zz/sightline`).
347
+ - Core Web Vitals thresholds: `https://web.dev/articles/inp` and
348
+ `https://web.dev/articles/vitals`.
349
+ - The perceived-usability instruments: SUS, where "a SUS score above a 68 would be
350
+ considered above average" (`https://measuringu.com/sus`), and UMUX-Lite, its
351
+ two-item correlate (`https://measuringu.com/umux-lite`).
352
+ - WCAG 2.2 (`https://www.w3.org/TR/WCAG22/`) and WCAG2Mobile
353
+ (`https://www.w3.org/TR/wcag2mobile-22/`).
354
+ - The 2025 DORA report, `https://dora.dev/research/2025/dora-report/` - AI as an
355
+ amplifier, and the verification tax ungrounded output creates.
356
+
357
+ The repository's own machinery: `research` for the loop and the claim record;
358
+ `analyze-app` for the running-app evidence the usability axis requires; `harness`
359
+ and the code graph for the feasibility axis's callers and blast radius.
360
+
361
+ Off: `research-off`, which disarms the product rule and the research route together.