@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.
- package/CHANGELOG.md +738 -0
- package/LICENSE +21 -0
- package/MANIFEST +753 -0
- package/README.de.md +169 -0
- package/README.es.md +168 -0
- package/README.fr.md +166 -0
- package/README.md +161 -0
- package/README.tr.md +163 -0
- package/agents/tezgah-reviewer.md +70 -0
- package/bin/codegen +337 -0
- package/bin/consult +797 -0
- package/bin/tezgah-adhd +50 -0
- package/bin/tezgah-agents +45 -0
- package/bin/tezgah-capture +66 -0
- package/bin/tezgah-context +96 -0
- package/bin/tezgah-decisions +213 -0
- package/bin/tezgah-design +953 -0
- package/bin/tezgah-docs +1199 -0
- package/bin/tezgah-doctor +497 -0
- package/bin/tezgah-dsh +37 -0
- package/bin/tezgah-dsh.cmd +70 -0
- package/bin/tezgah-gate +75 -0
- package/bin/tezgah-import-ai-research +439 -0
- package/bin/tezgah-index +32 -0
- package/bin/tezgah-lessons +148 -0
- package/bin/tezgah-mcp +322 -0
- package/bin/tezgah-migrate +324 -0
- package/bin/tezgah-pony +50 -0
- package/bin/tezgah-research +772 -0
- package/bin/tezgah-rollback +93 -0
- package/bin/tezgah-route +124 -0
- package/bin/tezgah-setup +5798 -0
- package/bin/tezgah-status +383 -0
- package/bin/tezgah-task +607 -0
- package/bin/tezgah-taste +423 -0
- package/bin/tezgah-triage +485 -0
- package/bin/tezgah.js +36 -0
- package/commands/adhd.md +21 -0
- package/commands/ponytail.md +21 -0
- package/docs/README.md +112 -0
- package/docs/architecture.md +226 -0
- package/docs/citations-baseline.json +59 -0
- package/docs/clarity-baseline.json +116 -0
- package/docs/contract.md +416 -0
- package/docs/environment.md +141 -0
- package/docs/evidence.md +831 -0
- package/docs/feature-audit.md +139 -0
- package/docs/gate.md +407 -0
- package/docs/glossary.md +201 -0
- package/docs/hosts.md +400 -0
- package/docs/index.json +471 -0
- package/docs/judge.md +193 -0
- package/docs/layers.md +189 -0
- package/docs/models.md +160 -0
- package/docs/operations.md +666 -0
- package/docs/research.md +809 -0
- package/docs/results/paired-outcome-2026-10.jsonl +254 -0
- package/docs/results/paired-outcome-2026-10.md +204 -0
- package/docs/skills.md +236 -0
- package/docs/status-line.md +315 -0
- package/docs/testing.md +287 -0
- package/docs/vision.md +117 -0
- package/hooks/hooks.json +33 -0
- package/hooks/projects-auto-init.py +98 -0
- package/hooks/projects-posttooluse.py +149 -0
- package/hooks/projects-pretooluse.py +40 -0
- package/hooks/projects-stop.py +60 -0
- package/hooks/tezgah_agents.py +817 -0
- package/hooks/tezgah_apps.py +266 -0
- package/hooks/tezgah_attest.py +255 -0
- package/hooks/tezgah_clarity.py +171 -0
- package/hooks/tezgah_components.py +140 -0
- package/hooks/tezgah_context.py +2953 -0
- package/hooks/tezgah_embed.py +765 -0
- package/hooks/tezgah_gate.py +2736 -0
- package/hooks/tezgah_guard.py +177 -0
- package/hooks/tezgah_index.py +124 -0
- package/hooks/tezgah_integrity.py +5141 -0
- package/hooks/tezgah_judge.py +487 -0
- package/hooks/tezgah_lang.py +230 -0
- package/hooks/tezgah_lessons.py +210 -0
- package/hooks/tezgah_models.py +855 -0
- package/hooks/tezgah_paths.py +1132 -0
- package/hooks/tezgah_policy.py +1039 -0
- package/hooks/tezgah_rank.py +77 -0
- package/hooks/tezgah_replay.py +1109 -0
- package/hooks/tezgah_research.py +5176 -0
- package/hooks/tezgah_shapes.py +305 -0
- package/hooks/tezgah_skill_pick.py +227 -0
- package/hooks/tezgah_snapshot.py +490 -0
- package/hooks/tezgah_stopspec.py +320 -0
- package/hooks/tezgah_task.py +458 -0
- package/hooks/tezgah_taste.py +201 -0
- package/hooks/tezgah_untrusted.py +112 -0
- package/hooks/tezgah_update.py +430 -0
- package/hosts/codex/hook.py +268 -0
- package/hosts/codex/hooks.json +26 -0
- package/hosts/cursor/hook.py +461 -0
- package/hosts/cursor/hooks.json +44 -0
- package/hosts/dsh/hooks.json +21 -0
- package/hosts/dsh/statusline/lib/client.js +138 -0
- package/hosts/dsh/statusline/lib/index.js +104 -0
- package/hosts/dsh/statusline/package.json +28 -0
- package/hosts/omp/hook.py +277 -0
- package/hosts/omp/tezgah-hook.ts.in +701 -0
- package/hosts/opencode/plugins/tezgah.js +2742 -0
- package/hosts/opencode/tui/tezgah-tui.tsx +151 -0
- package/output-styles/tezgah.md +142 -0
- package/package.json +32 -0
- package/packaging/build.sh +342 -0
- package/packaging/install.ps1 +166 -0
- package/packaging/install.sh +56 -0
- package/packaging/upgrade.sh +142 -0
- package/skills/ai-research/0-autoresearch-skill/SKILL.md +411 -0
- package/skills/ai-research/0-autoresearch-skill/references/agent-continuity.md +95 -0
- package/skills/ai-research/0-autoresearch-skill/references/progress-reporting.md +166 -0
- package/skills/ai-research/0-autoresearch-skill/references/skill-routing.md +219 -0
- package/skills/ai-research/0-autoresearch-skill/templates/findings.md +44 -0
- package/skills/ai-research/0-autoresearch-skill/templates/research-log.md +41 -0
- package/skills/ai-research/01-model-architecture/litgpt/SKILL.md +469 -0
- package/skills/ai-research/01-model-architecture/litgpt/references/custom-models.md +569 -0
- package/skills/ai-research/01-model-architecture/litgpt/references/distributed-training.md +452 -0
- package/skills/ai-research/01-model-architecture/litgpt/references/supported-models.md +337 -0
- package/skills/ai-research/01-model-architecture/litgpt/references/training-recipes.md +620 -0
- package/skills/ai-research/01-model-architecture/mamba/SKILL.md +260 -0
- package/skills/ai-research/01-model-architecture/mamba/references/architecture-details.md +207 -0
- package/skills/ai-research/01-model-architecture/mamba/references/benchmarks.md +256 -0
- package/skills/ai-research/01-model-architecture/mamba/references/training-guide.md +389 -0
- package/skills/ai-research/01-model-architecture/nanogpt/SKILL.md +290 -0
- package/skills/ai-research/01-model-architecture/nanogpt/references/architecture.md +383 -0
- package/skills/ai-research/01-model-architecture/nanogpt/references/data.md +477 -0
- package/skills/ai-research/01-model-architecture/nanogpt/references/training.md +565 -0
- package/skills/ai-research/01-model-architecture/rwkv/SKILL.md +260 -0
- package/skills/ai-research/01-model-architecture/rwkv/references/architecture-details.md +345 -0
- package/skills/ai-research/01-model-architecture/rwkv/references/rwkv7.md +387 -0
- package/skills/ai-research/01-model-architecture/rwkv/references/state-management.md +370 -0
- package/skills/ai-research/01-model-architecture/torchtitan/SKILL.md +358 -0
- package/skills/ai-research/01-model-architecture/torchtitan/references/checkpoint.md +182 -0
- package/skills/ai-research/01-model-architecture/torchtitan/references/custom-models.md +259 -0
- package/skills/ai-research/01-model-architecture/torchtitan/references/float8.md +134 -0
- package/skills/ai-research/01-model-architecture/torchtitan/references/fsdp.md +127 -0
- package/skills/ai-research/02-tokenization/huggingface-tokenizers/SKILL.md +516 -0
- package/skills/ai-research/02-tokenization/huggingface-tokenizers/references/algorithms.md +654 -0
- package/skills/ai-research/02-tokenization/huggingface-tokenizers/references/integration.md +638 -0
- package/skills/ai-research/02-tokenization/huggingface-tokenizers/references/pipeline.md +724 -0
- package/skills/ai-research/02-tokenization/huggingface-tokenizers/references/training.md +566 -0
- package/skills/ai-research/02-tokenization/sentencepiece/SKILL.md +235 -0
- package/skills/ai-research/02-tokenization/sentencepiece/references/algorithms.md +201 -0
- package/skills/ai-research/02-tokenization/sentencepiece/references/training.md +305 -0
- package/skills/ai-research/03-fine-tuning/axolotl/SKILL.md +158 -0
- package/skills/ai-research/03-fine-tuning/axolotl/references/api.md +5549 -0
- package/skills/ai-research/03-fine-tuning/axolotl/references/dataset-formats.md +1030 -0
- package/skills/ai-research/03-fine-tuning/axolotl/references/index.md +16 -0
- package/skills/ai-research/03-fine-tuning/axolotl/references/other.md +3564 -0
- package/skills/ai-research/03-fine-tuning/llama-factory/SKILL.md +80 -0
- package/skills/ai-research/03-fine-tuning/llama-factory/references/_images.md +24 -0
- package/skills/ai-research/03-fine-tuning/llama-factory/references/advanced.md +1056 -0
- package/skills/ai-research/03-fine-tuning/llama-factory/references/getting_started.md +350 -0
- package/skills/ai-research/03-fine-tuning/llama-factory/references/index.md +20 -0
- package/skills/ai-research/03-fine-tuning/llama-factory/references/other.md +32 -0
- package/skills/ai-research/03-fine-tuning/peft/SKILL.md +431 -0
- package/skills/ai-research/03-fine-tuning/peft/references/advanced-usage.md +515 -0
- package/skills/ai-research/03-fine-tuning/peft/references/troubleshooting.md +481 -0
- package/skills/ai-research/03-fine-tuning/unsloth/SKILL.md +80 -0
- package/skills/ai-research/03-fine-tuning/unsloth/references/index.md +8 -0
- package/skills/ai-research/03-fine-tuning/unsloth/references/llms.md +83 -0
- package/skills/ai-research/04-mechanistic-interpretability/nnsight/SKILL.md +436 -0
- package/skills/ai-research/04-mechanistic-interpretability/nnsight/references/README.md +79 -0
- package/skills/ai-research/04-mechanistic-interpretability/nnsight/references/api.md +345 -0
- package/skills/ai-research/04-mechanistic-interpretability/nnsight/references/tutorials.md +301 -0
- package/skills/ai-research/04-mechanistic-interpretability/pyvene/SKILL.md +473 -0
- package/skills/ai-research/04-mechanistic-interpretability/pyvene/references/README.md +74 -0
- package/skills/ai-research/04-mechanistic-interpretability/pyvene/references/api.md +384 -0
- package/skills/ai-research/04-mechanistic-interpretability/pyvene/references/tutorials.md +377 -0
- package/skills/ai-research/04-mechanistic-interpretability/saelens/SKILL.md +386 -0
- package/skills/ai-research/04-mechanistic-interpretability/saelens/references/README.md +71 -0
- package/skills/ai-research/04-mechanistic-interpretability/saelens/references/api.md +334 -0
- package/skills/ai-research/04-mechanistic-interpretability/saelens/references/tutorials.md +319 -0
- package/skills/ai-research/04-mechanistic-interpretability/transformer-lens/SKILL.md +346 -0
- package/skills/ai-research/04-mechanistic-interpretability/transformer-lens/references/README.md +55 -0
- package/skills/ai-research/04-mechanistic-interpretability/transformer-lens/references/api.md +363 -0
- package/skills/ai-research/04-mechanistic-interpretability/transformer-lens/references/tutorials.md +340 -0
- package/skills/ai-research/05-data-processing/nemo-curator/SKILL.md +383 -0
- package/skills/ai-research/05-data-processing/nemo-curator/references/deduplication.md +88 -0
- package/skills/ai-research/05-data-processing/nemo-curator/references/filtering.md +103 -0
- package/skills/ai-research/05-data-processing/ray-data/SKILL.md +326 -0
- package/skills/ai-research/05-data-processing/ray-data/references/integration.md +83 -0
- package/skills/ai-research/05-data-processing/ray-data/references/transformations.md +84 -0
- package/skills/ai-research/06-post-training/grpo-rl-training/README.md +98 -0
- package/skills/ai-research/06-post-training/grpo-rl-training/SKILL.md +572 -0
- package/skills/ai-research/06-post-training/miles/SKILL.md +315 -0
- package/skills/ai-research/06-post-training/miles/references/api-reference.md +142 -0
- package/skills/ai-research/06-post-training/miles/references/troubleshooting.md +353 -0
- package/skills/ai-research/06-post-training/openrlhf/SKILL.md +249 -0
- package/skills/ai-research/06-post-training/openrlhf/references/algorithm-comparison.md +405 -0
- package/skills/ai-research/06-post-training/openrlhf/references/custom-rewards.md +531 -0
- package/skills/ai-research/06-post-training/openrlhf/references/hybrid-engine.md +288 -0
- package/skills/ai-research/06-post-training/openrlhf/references/multi-node-training.md +455 -0
- package/skills/ai-research/06-post-training/simpo/SKILL.md +219 -0
- package/skills/ai-research/06-post-training/simpo/references/datasets.md +479 -0
- package/skills/ai-research/06-post-training/simpo/references/hyperparameters.md +453 -0
- package/skills/ai-research/06-post-training/simpo/references/loss-functions.md +351 -0
- package/skills/ai-research/06-post-training/slime/SKILL.md +464 -0
- package/skills/ai-research/06-post-training/slime/references/api-reference.md +393 -0
- package/skills/ai-research/06-post-training/slime/references/troubleshooting.md +387 -0
- package/skills/ai-research/06-post-training/torchforge/SKILL.md +433 -0
- package/skills/ai-research/06-post-training/torchforge/references/api-reference.md +328 -0
- package/skills/ai-research/06-post-training/torchforge/references/troubleshooting.md +410 -0
- package/skills/ai-research/06-post-training/trl-fine-tuning/SKILL.md +455 -0
- package/skills/ai-research/06-post-training/trl-fine-tuning/references/dpo-variants.md +228 -0
- package/skills/ai-research/06-post-training/trl-fine-tuning/references/online-rl.md +83 -0
- package/skills/ai-research/06-post-training/trl-fine-tuning/references/reward-modeling.md +123 -0
- package/skills/ai-research/06-post-training/trl-fine-tuning/references/sft-training.md +169 -0
- package/skills/ai-research/06-post-training/verl/SKILL.md +391 -0
- package/skills/ai-research/06-post-training/verl/references/api-reference.md +302 -0
- package/skills/ai-research/06-post-training/verl/references/troubleshooting.md +392 -0
- package/skills/ai-research/07-safety-alignment/constitutional-ai/SKILL.md +290 -0
- package/skills/ai-research/07-safety-alignment/llamaguard/SKILL.md +337 -0
- package/skills/ai-research/07-safety-alignment/nemo-guardrails/SKILL.md +297 -0
- package/skills/ai-research/07-safety-alignment/prompt-guard/SKILL.md +312 -0
- package/skills/ai-research/08-distributed-training/accelerate/SKILL.md +332 -0
- package/skills/ai-research/08-distributed-training/accelerate/references/custom-plugins.md +454 -0
- package/skills/ai-research/08-distributed-training/accelerate/references/megatron-integration.md +490 -0
- package/skills/ai-research/08-distributed-training/accelerate/references/performance.md +526 -0
- package/skills/ai-research/08-distributed-training/deepspeed/SKILL.md +141 -0
- package/skills/ai-research/08-distributed-training/deepspeed/references/08.md +18 -0
- package/skills/ai-research/08-distributed-training/deepspeed/references/09.md +174 -0
- package/skills/ai-research/08-distributed-training/deepspeed/references/2020.md +379 -0
- package/skills/ai-research/08-distributed-training/deepspeed/references/2023.md +280 -0
- package/skills/ai-research/08-distributed-training/deepspeed/references/assets.md +180 -0
- package/skills/ai-research/08-distributed-training/deepspeed/references/index.md +36 -0
- package/skills/ai-research/08-distributed-training/deepspeed/references/mii.md +119 -0
- package/skills/ai-research/08-distributed-training/deepspeed/references/other.md +1192 -0
- package/skills/ai-research/08-distributed-training/megatron-core/SKILL.md +366 -0
- package/skills/ai-research/08-distributed-training/megatron-core/references/benchmarks.md +250 -0
- package/skills/ai-research/08-distributed-training/megatron-core/references/parallelism-guide.md +405 -0
- package/skills/ai-research/08-distributed-training/megatron-core/references/production-examples.md +474 -0
- package/skills/ai-research/08-distributed-training/megatron-core/references/training-recipes.md +548 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/SKILL.md +231 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_dcp_async_recipe.md +14 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_dcp_overview.md +19 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_dcp_recipe.md +18 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_ddp_notes.md +10 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_device_mesh_tutorial.md +22 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_examples_fsdp2.md +15 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_fsdp1_api.md +9 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_fsdp2_tutorial.md +45 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_fully_shard_api.md +49 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_tp_tutorial.md +22 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/ray_train_fsdp2_example.md +13 -0
- package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/torchtitan_fsdp_notes.md +14 -0
- package/skills/ai-research/08-distributed-training/pytorch-lightning/SKILL.md +346 -0
- package/skills/ai-research/08-distributed-training/pytorch-lightning/references/callbacks.md +437 -0
- package/skills/ai-research/08-distributed-training/pytorch-lightning/references/distributed.md +491 -0
- package/skills/ai-research/08-distributed-training/pytorch-lightning/references/hyperparameter-tuning.md +557 -0
- package/skills/ai-research/08-distributed-training/ray-train/SKILL.md +406 -0
- package/skills/ai-research/08-distributed-training/ray-train/references/multi-node.md +629 -0
- package/skills/ai-research/09-infrastructure/lambda-labs/SKILL.md +545 -0
- package/skills/ai-research/09-infrastructure/lambda-labs/references/advanced-usage.md +612 -0
- package/skills/ai-research/09-infrastructure/lambda-labs/references/troubleshooting.md +531 -0
- package/skills/ai-research/09-infrastructure/modal/SKILL.md +341 -0
- package/skills/ai-research/09-infrastructure/modal/references/advanced-usage.md +504 -0
- package/skills/ai-research/09-infrastructure/modal/references/troubleshooting.md +495 -0
- package/skills/ai-research/09-infrastructure/skypilot/SKILL.md +509 -0
- package/skills/ai-research/09-infrastructure/skypilot/references/advanced-usage.md +492 -0
- package/skills/ai-research/09-infrastructure/skypilot/references/troubleshooting.md +571 -0
- package/skills/ai-research/10-optimization/awq/SKILL.md +310 -0
- package/skills/ai-research/10-optimization/awq/references/advanced-usage.md +325 -0
- package/skills/ai-research/10-optimization/awq/references/troubleshooting.md +345 -0
- package/skills/ai-research/10-optimization/bitsandbytes/SKILL.md +411 -0
- package/skills/ai-research/10-optimization/bitsandbytes/references/memory-optimization.md +522 -0
- package/skills/ai-research/10-optimization/bitsandbytes/references/qlora-training.md +522 -0
- package/skills/ai-research/10-optimization/bitsandbytes/references/quantization-formats.md +448 -0
- package/skills/ai-research/10-optimization/flash-attention/SKILL.md +367 -0
- package/skills/ai-research/10-optimization/flash-attention/references/benchmarks.md +216 -0
- package/skills/ai-research/10-optimization/flash-attention/references/transformers-integration.md +294 -0
- package/skills/ai-research/10-optimization/gguf/SKILL.md +427 -0
- package/skills/ai-research/10-optimization/gguf/references/advanced-usage.md +505 -0
- package/skills/ai-research/10-optimization/gguf/references/troubleshooting.md +443 -0
- package/skills/ai-research/10-optimization/gptq/SKILL.md +450 -0
- package/skills/ai-research/10-optimization/gptq/references/calibration.md +338 -0
- package/skills/ai-research/10-optimization/gptq/references/integration.md +130 -0
- package/skills/ai-research/10-optimization/gptq/references/troubleshooting.md +96 -0
- package/skills/ai-research/10-optimization/hqq/SKILL.md +445 -0
- package/skills/ai-research/10-optimization/hqq/references/advanced-usage.md +529 -0
- package/skills/ai-research/10-optimization/hqq/references/troubleshooting.md +504 -0
- package/skills/ai-research/10-optimization/ml-training-recipes/SKILL.md +319 -0
- package/skills/ai-research/10-optimization/ml-training-recipes/references/architecture.md +320 -0
- package/skills/ai-research/10-optimization/ml-training-recipes/references/biomedical.md +498 -0
- package/skills/ai-research/10-optimization/ml-training-recipes/references/domain-specific.md +626 -0
- package/skills/ai-research/10-optimization/ml-training-recipes/references/experiment-loop.md +129 -0
- package/skills/ai-research/10-optimization/ml-training-recipes/references/optimizers.md +330 -0
- package/skills/ai-research/10-optimization/ml-training-recipes/references/scaling-and-selection.md +428 -0
- package/skills/ai-research/11-evaluation/bigcode-evaluation-harness/SKILL.md +405 -0
- package/skills/ai-research/11-evaluation/bigcode-evaluation-harness/references/benchmarks.md +394 -0
- package/skills/ai-research/11-evaluation/bigcode-evaluation-harness/references/custom-tasks.md +425 -0
- package/skills/ai-research/11-evaluation/bigcode-evaluation-harness/references/issues.md +395 -0
- package/skills/ai-research/11-evaluation/lm-evaluation-harness/SKILL.md +490 -0
- package/skills/ai-research/11-evaluation/lm-evaluation-harness/references/api-evaluation.md +491 -0
- package/skills/ai-research/11-evaluation/lm-evaluation-harness/references/benchmark-guide.md +489 -0
- package/skills/ai-research/11-evaluation/lm-evaluation-harness/references/custom-tasks.md +603 -0
- package/skills/ai-research/11-evaluation/lm-evaluation-harness/references/distributed-eval.md +520 -0
- package/skills/ai-research/11-evaluation/nemo-evaluator/SKILL.md +494 -0
- package/skills/ai-research/11-evaluation/nemo-evaluator/references/adapter-system.md +341 -0
- package/skills/ai-research/11-evaluation/nemo-evaluator/references/configuration.md +448 -0
- package/skills/ai-research/11-evaluation/nemo-evaluator/references/custom-benchmarks.md +316 -0
- package/skills/ai-research/11-evaluation/nemo-evaluator/references/execution-backends.md +362 -0
- package/skills/ai-research/12-inference-serving/llama-cpp/SKILL.md +258 -0
- package/skills/ai-research/12-inference-serving/llama-cpp/references/optimization.md +90 -0
- package/skills/ai-research/12-inference-serving/llama-cpp/references/quantization.md +214 -0
- package/skills/ai-research/12-inference-serving/llama-cpp/references/server.md +126 -0
- package/skills/ai-research/12-inference-serving/sglang/SKILL.md +442 -0
- package/skills/ai-research/12-inference-serving/sglang/references/deployment.md +491 -0
- package/skills/ai-research/12-inference-serving/sglang/references/radix-attention.md +414 -0
- package/skills/ai-research/12-inference-serving/sglang/references/structured-generation.md +542 -0
- package/skills/ai-research/12-inference-serving/tensorrt-llm/SKILL.md +187 -0
- package/skills/ai-research/12-inference-serving/tensorrt-llm/references/multi-gpu.md +299 -0
- package/skills/ai-research/12-inference-serving/tensorrt-llm/references/optimization.md +243 -0
- package/skills/ai-research/12-inference-serving/tensorrt-llm/references/serving.md +471 -0
- package/skills/ai-research/12-inference-serving/vllm/SKILL.md +364 -0
- package/skills/ai-research/12-inference-serving/vllm/references/optimization.md +227 -0
- package/skills/ai-research/12-inference-serving/vllm/references/quantization.md +285 -0
- package/skills/ai-research/12-inference-serving/vllm/references/server-deployment.md +256 -0
- package/skills/ai-research/12-inference-serving/vllm/references/troubleshooting.md +448 -0
- package/skills/ai-research/13-mlops/mlflow/SKILL.md +704 -0
- package/skills/ai-research/13-mlops/mlflow/references/deployment.md +745 -0
- package/skills/ai-research/13-mlops/mlflow/references/model-registry.md +771 -0
- package/skills/ai-research/13-mlops/mlflow/references/tracking.md +681 -0
- package/skills/ai-research/13-mlops/swanlab/SKILL.md +406 -0
- package/skills/ai-research/13-mlops/swanlab/references/integrations.md +305 -0
- package/skills/ai-research/13-mlops/swanlab/references/visualization.md +234 -0
- package/skills/ai-research/13-mlops/tensorboard/SKILL.md +629 -0
- package/skills/ai-research/13-mlops/tensorboard/references/integrations.md +639 -0
- package/skills/ai-research/13-mlops/tensorboard/references/profiling.md +546 -0
- package/skills/ai-research/13-mlops/tensorboard/references/visualization.md +621 -0
- package/skills/ai-research/13-mlops/weights-and-biases/SKILL.md +590 -0
- package/skills/ai-research/13-mlops/weights-and-biases/references/artifacts.md +585 -0
- package/skills/ai-research/13-mlops/weights-and-biases/references/integrations.md +701 -0
- package/skills/ai-research/13-mlops/weights-and-biases/references/sweeps.md +848 -0
- package/skills/ai-research/14-agents/a-evolve/SKILL.md +383 -0
- package/skills/ai-research/14-agents/a-evolve/references/README.md +831 -0
- package/skills/ai-research/14-agents/a-evolve/references/api.md +594 -0
- package/skills/ai-research/14-agents/a-evolve/references/architecture.md +417 -0
- package/skills/ai-research/14-agents/a-evolve/references/design-patterns.md +462 -0
- package/skills/ai-research/14-agents/a-evolve/references/examples.md +352 -0
- package/skills/ai-research/14-agents/a-evolve/references/issues.md +591 -0
- package/skills/ai-research/14-agents/a-evolve/references/releases.md +112 -0
- package/skills/ai-research/14-agents/a-evolve/references/tutorials.md +819 -0
- package/skills/ai-research/14-agents/autogpt/SKILL.md +403 -0
- package/skills/ai-research/14-agents/autogpt/references/advanced-usage.md +536 -0
- package/skills/ai-research/14-agents/autogpt/references/troubleshooting.md +421 -0
- package/skills/ai-research/14-agents/crewai/SKILL.md +498 -0
- package/skills/ai-research/14-agents/crewai/references/flows.md +439 -0
- package/skills/ai-research/14-agents/crewai/references/tools.md +430 -0
- package/skills/ai-research/14-agents/crewai/references/troubleshooting.md +481 -0
- package/skills/ai-research/14-agents/langchain/SKILL.md +480 -0
- package/skills/ai-research/14-agents/langchain/references/agents.md +500 -0
- package/skills/ai-research/14-agents/langchain/references/integration.md +563 -0
- package/skills/ai-research/14-agents/langchain/references/rag.md +601 -0
- package/skills/ai-research/14-agents/llamaindex/SKILL.md +569 -0
- package/skills/ai-research/14-agents/llamaindex/references/agents.md +84 -0
- package/skills/ai-research/14-agents/llamaindex/references/data_connectors.md +109 -0
- package/skills/ai-research/14-agents/llamaindex/references/query_engines.md +407 -0
- package/skills/ai-research/15-rag/chroma/SKILL.md +406 -0
- package/skills/ai-research/15-rag/chroma/references/integration.md +39 -0
- package/skills/ai-research/15-rag/faiss/SKILL.md +221 -0
- package/skills/ai-research/15-rag/faiss/references/index_types.md +281 -0
- package/skills/ai-research/15-rag/pinecone/SKILL.md +358 -0
- package/skills/ai-research/15-rag/pinecone/references/deployment.md +182 -0
- package/skills/ai-research/15-rag/qdrant/SKILL.md +493 -0
- package/skills/ai-research/15-rag/qdrant/references/advanced-usage.md +649 -0
- package/skills/ai-research/15-rag/qdrant/references/troubleshooting.md +632 -0
- package/skills/ai-research/15-rag/sentence-transformers/SKILL.md +255 -0
- package/skills/ai-research/15-rag/sentence-transformers/references/models.md +124 -0
- package/skills/ai-research/16-prompt-engineering/dspy/SKILL.md +590 -0
- package/skills/ai-research/16-prompt-engineering/dspy/references/examples.md +664 -0
- package/skills/ai-research/16-prompt-engineering/dspy/references/modules.md +476 -0
- package/skills/ai-research/16-prompt-engineering/dspy/references/optimizers.md +567 -0
- package/skills/ai-research/16-prompt-engineering/guidance/SKILL.md +572 -0
- package/skills/ai-research/16-prompt-engineering/guidance/references/backends.md +555 -0
- package/skills/ai-research/16-prompt-engineering/guidance/references/constraints.md +675 -0
- package/skills/ai-research/16-prompt-engineering/guidance/references/examples.md +768 -0
- package/skills/ai-research/16-prompt-engineering/instructor/SKILL.md +740 -0
- package/skills/ai-research/16-prompt-engineering/instructor/references/examples.md +108 -0
- package/skills/ai-research/16-prompt-engineering/instructor/references/providers.md +71 -0
- package/skills/ai-research/16-prompt-engineering/instructor/references/validation.md +607 -0
- package/skills/ai-research/16-prompt-engineering/outlines/SKILL.md +652 -0
- package/skills/ai-research/16-prompt-engineering/outlines/references/backends.md +616 -0
- package/skills/ai-research/16-prompt-engineering/outlines/references/examples.md +774 -0
- package/skills/ai-research/16-prompt-engineering/outlines/references/json_generation.md +653 -0
- package/skills/ai-research/17-observability/langsmith/SKILL.md +422 -0
- package/skills/ai-research/17-observability/langsmith/references/advanced-usage.md +549 -0
- package/skills/ai-research/17-observability/langsmith/references/troubleshooting.md +538 -0
- package/skills/ai-research/17-observability/phoenix/SKILL.md +475 -0
- package/skills/ai-research/17-observability/phoenix/references/advanced-usage.md +620 -0
- package/skills/ai-research/17-observability/phoenix/references/troubleshooting.md +539 -0
- package/skills/ai-research/18-multimodal/audiocraft/SKILL.md +564 -0
- package/skills/ai-research/18-multimodal/audiocraft/references/advanced-usage.md +667 -0
- package/skills/ai-research/18-multimodal/audiocraft/references/troubleshooting.md +505 -0
- package/skills/ai-research/18-multimodal/blip-2/SKILL.md +564 -0
- package/skills/ai-research/18-multimodal/blip-2/references/advanced-usage.md +681 -0
- package/skills/ai-research/18-multimodal/blip-2/references/troubleshooting.md +527 -0
- package/skills/ai-research/18-multimodal/clip/SKILL.md +253 -0
- package/skills/ai-research/18-multimodal/clip/references/applications.md +208 -0
- package/skills/ai-research/18-multimodal/cosmos-policy/SKILL.md +402 -0
- package/skills/ai-research/18-multimodal/cosmos-policy/references/libero-commands.md +175 -0
- package/skills/ai-research/18-multimodal/cosmos-policy/references/robocasa-commands.md +147 -0
- package/skills/ai-research/18-multimodal/llava/SKILL.md +304 -0
- package/skills/ai-research/18-multimodal/llava/references/training.md +198 -0
- package/skills/ai-research/18-multimodal/openpi/SKILL.md +480 -0
- package/skills/ai-research/18-multimodal/openpi/references/checkpoints-and-env-map.md +86 -0
- package/skills/ai-research/18-multimodal/openpi/references/config-recipes.md +50 -0
- package/skills/ai-research/18-multimodal/openpi/references/pytorch-gotchas.md +49 -0
- package/skills/ai-research/18-multimodal/openpi/references/remote-client-pattern.md +48 -0
- package/skills/ai-research/18-multimodal/openpi/references/training-debugging.md +46 -0
- package/skills/ai-research/18-multimodal/openvla-oft/SKILL.md +441 -0
- package/skills/ai-research/18-multimodal/openvla-oft/references/aloha-workflow.md +141 -0
- package/skills/ai-research/18-multimodal/openvla-oft/references/config-troubleshooting.md +97 -0
- package/skills/ai-research/18-multimodal/openvla-oft/references/libero-workflow.md +115 -0
- package/skills/ai-research/18-multimodal/openvla-oft/references/paper-and-checkpoints.md +84 -0
- package/skills/ai-research/18-multimodal/segment-anything/SKILL.md +500 -0
- package/skills/ai-research/18-multimodal/segment-anything/references/advanced-usage.md +590 -0
- package/skills/ai-research/18-multimodal/segment-anything/references/troubleshooting.md +485 -0
- package/skills/ai-research/18-multimodal/stable-diffusion/SKILL.md +519 -0
- package/skills/ai-research/18-multimodal/stable-diffusion/references/advanced-usage.md +717 -0
- package/skills/ai-research/18-multimodal/stable-diffusion/references/troubleshooting.md +556 -0
- package/skills/ai-research/18-multimodal/whisper/SKILL.md +317 -0
- package/skills/ai-research/18-multimodal/whisper/references/languages.md +190 -0
- package/skills/ai-research/19-emerging-techniques/knowledge-distillation/SKILL.md +458 -0
- package/skills/ai-research/19-emerging-techniques/knowledge-distillation/references/minillm.md +335 -0
- package/skills/ai-research/19-emerging-techniques/long-context/SKILL.md +536 -0
- package/skills/ai-research/19-emerging-techniques/long-context/references/extension_methods.md +469 -0
- package/skills/ai-research/19-emerging-techniques/long-context/references/fine_tuning.md +612 -0
- package/skills/ai-research/19-emerging-techniques/long-context/references/rope.md +403 -0
- package/skills/ai-research/19-emerging-techniques/model-merging/SKILL.md +497 -0
- package/skills/ai-research/19-emerging-techniques/model-merging/references/coefficient-tuning.md +415 -0
- package/skills/ai-research/19-emerging-techniques/model-merging/references/evaluation.md +463 -0
- package/skills/ai-research/19-emerging-techniques/model-merging/references/examples.md +429 -0
- package/skills/ai-research/19-emerging-techniques/model-merging/references/methods.md +353 -0
- package/skills/ai-research/19-emerging-techniques/model-pruning/SKILL.md +495 -0
- package/skills/ai-research/19-emerging-techniques/model-pruning/references/wanda.md +348 -0
- package/skills/ai-research/19-emerging-techniques/moe-training/SKILL.md +526 -0
- package/skills/ai-research/19-emerging-techniques/moe-training/references/architectures.md +433 -0
- package/skills/ai-research/19-emerging-techniques/moe-training/references/inference.md +349 -0
- package/skills/ai-research/19-emerging-techniques/moe-training/references/training.md +426 -0
- package/skills/ai-research/19-emerging-techniques/speculative-decoding/SKILL.md +467 -0
- package/skills/ai-research/19-emerging-techniques/speculative-decoding/references/lookahead.md +310 -0
- package/skills/ai-research/19-emerging-techniques/speculative-decoding/references/medusa.md +351 -0
- package/skills/ai-research/20-ml-paper-writing/academic-plotting/SKILL.md +479 -0
- package/skills/ai-research/20-ml-paper-writing/academic-plotting/references/data-visualization.md +509 -0
- package/skills/ai-research/20-ml-paper-writing/academic-plotting/references/diagram-generation.md +395 -0
- package/skills/ai-research/20-ml-paper-writing/academic-plotting/references/style-guide.md +305 -0
- package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/SKILL.md +982 -0
- package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/references/checklists.md +348 -0
- package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/references/citation-workflow.md +563 -0
- package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/references/reviewer-guidelines.md +349 -0
- package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/references/sources.md +165 -0
- package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/references/writing-guide.md +477 -0
- package/skills/ai-research/20-ml-paper-writing/presenting-conference-talks/SKILL.md +298 -0
- package/skills/ai-research/20-ml-paper-writing/presenting-conference-talks/references/slide-templates.md +505 -0
- package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/SKILL.md +270 -0
- package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/references/checklist.md +279 -0
- package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/references/reviewer-guidelines.md +116 -0
- package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/references/section-blueprints.md +400 -0
- package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/references/systems-conferences.md +261 -0
- package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/references/writing-patterns.md +231 -0
- package/skills/ai-research/21-research-ideation/brainstorming-research-ideas/SKILL.md +384 -0
- package/skills/ai-research/21-research-ideation/creative-thinking-for-research/SKILL.md +366 -0
- package/skills/ai-research/22-agent-native-research-artifact/compiler/SKILL.md +245 -0
- package/skills/ai-research/22-agent-native-research-artifact/compiler/references/ara-schema.md +439 -0
- package/skills/ai-research/22-agent-native-research-artifact/compiler/references/exploration-tree-spec.md +125 -0
- package/skills/ai-research/22-agent-native-research-artifact/compiler/references/validation-checklist.md +149 -0
- package/skills/ai-research/22-agent-native-research-artifact/research-manager/SKILL.md +324 -0
- package/skills/ai-research/22-agent-native-research-artifact/research-manager/references/event-taxonomy.md +124 -0
- package/skills/ai-research/22-agent-native-research-artifact/research-manager/references/provenance-tags.md +190 -0
- package/skills/ai-research/22-agent-native-research-artifact/research-manager/references/session-protocol.md +162 -0
- package/skills/ai-research/22-agent-native-research-artifact/rigor-reviewer/SKILL.md +322 -0
- package/skills/ai-research/22-agent-native-research-artifact/rigor-reviewer/references/review-dimensions.md +182 -0
- package/skills/ai-research/SKILL.md +101 -0
- package/skills/ai-research/SOURCE +38 -0
- package/skills/ai-research/index/1-frame.md +18 -0
- package/skills/ai-research/index/2-data.md +21 -0
- package/skills/ai-research/index/3-train.md +48 -0
- package/skills/ai-research/index/4-measure.md +25 -0
- package/skills/ai-research/index/5-run.md +23 -0
- package/skills/ai-research/index/6-write.md +35 -0
- package/skills/ai-research/library.json +3456 -0
- package/skills/analyze-app/EVALS.md +82 -0
- package/skills/analyze-app/SKILL.md +188 -0
- package/skills/design-contract/EVALS.md +80 -0
- package/skills/design-contract/SKILL.md +171 -0
- package/skills/design-library/EVALS.md +85 -0
- package/skills/design-library/INDEX.md +59 -0
- package/skills/design-library/SKILL.md +58 -0
- package/skills/design-library/SOURCE +131 -0
- package/skills/design-library/adaptive-interfaces/skills/colour-independence/SKILL.md +90 -0
- package/skills/design-library/adaptive-interfaces/skills/flexible-typography/SKILL.md +83 -0
- package/skills/design-library/adaptive-interfaces/skills/information-density/SKILL.md +87 -0
- package/skills/design-library/adaptive-interfaces/skills/preference-audit/SKILL.md +70 -0
- package/skills/design-library/adaptive-interfaces/skills/responsive-accessibility/SKILL.md +86 -0
- package/skills/design-library/adaptive-interfaces/skills/responsive-review/SKILL.md +76 -0
- package/skills/design-library/adaptive-interfaces/skills/simplified-views/SKILL.md +97 -0
- package/skills/design-library/adaptive-interfaces/skills/specify/SKILL.md +63 -0
- package/skills/design-library/adaptive-interfaces/skills/user-preference-respect/SKILL.md +100 -0
- package/skills/design-library/cognitive-accessibility/skills/adaptive-personalisation/SKILL.md +61 -0
- package/skills/design-library/cognitive-accessibility/skills/assess-load/SKILL.md +48 -0
- package/skills/design-library/cognitive-accessibility/skills/cognitive-load-assessment/SKILL.md +60 -0
- package/skills/design-library/cognitive-accessibility/skills/contextual-help-design/SKILL.md +61 -0
- package/skills/design-library/cognitive-accessibility/skills/error-prevention-recovery/SKILL.md +71 -0
- package/skills/design-library/cognitive-accessibility/skills/focus-attention-design/SKILL.md +67 -0
- package/skills/design-library/cognitive-accessibility/skills/memory-load-reduction/SKILL.md +60 -0
- package/skills/design-library/cognitive-accessibility/skills/plain-language-design/SKILL.md +78 -0
- package/skills/design-library/cognitive-accessibility/skills/review/SKILL.md +56 -0
- package/skills/design-library/cognitive-accessibility/skills/simplify/SKILL.md +39 -0
- package/skills/design-library/cognitive-accessibility/skills/wayfinding-navigation/SKILL.md +64 -0
- package/skills/design-library/design-research/skills/behavioural-analytics/SKILL.md +33 -0
- package/skills/design-library/design-research/skills/qual-quant-triangulation/SKILL.md +33 -0
- package/skills/design-library/inclusive-interaction/skills/audit/SKILL.md +50 -0
- package/skills/design-library/inclusive-interaction/skills/design-flow/SKILL.md +58 -0
- package/skills/design-library/inclusive-interaction/skills/feedback-and-status/SKILL.md +76 -0
- package/skills/design-library/inclusive-interaction/skills/gesture-alternatives/SKILL.md +70 -0
- package/skills/design-library/inclusive-interaction/skills/keyboard-navigation/SKILL.md +99 -0
- package/skills/design-library/inclusive-interaction/skills/keyboard-review/SKILL.md +54 -0
- package/skills/design-library/inclusive-interaction/skills/motion-sensitivity/SKILL.md +79 -0
- package/skills/design-library/inclusive-interaction/skills/multi-modal-input/SKILL.md +70 -0
- package/skills/design-library/inclusive-interaction/skills/touch-target-design/SKILL.md +71 -0
- package/skills/design-library/inclusive-interaction/skills/voice-interaction/SKILL.md +68 -0
- package/skills/design-library/visual-critique/skills/critique-affordance/SKILL.md +45 -0
- package/skills/design-library/visual-critique/skills/critique-brand-consistency/SKILL.md +42 -0
- package/skills/design-library/visual-critique/skills/critique-color/SKILL.md +44 -0
- package/skills/design-library/visual-critique/skills/critique-composition/SKILL.md +46 -0
- package/skills/design-library/visual-critique/skills/critique-information-density/SKILL.md +45 -0
- package/skills/design-library/visual-critique/skills/critique-typography/SKILL.md +45 -0
- package/skills/design-library/visual-critique/skills/critique-visual-hierarchy/SKILL.md +40 -0
- package/skills/feature-audit/EVALS.md +83 -0
- package/skills/feature-audit/SKILL.md +326 -0
- package/skills/harness/EVALS.md +81 -0
- package/skills/harness/SKILL.md +88 -0
- package/skills/i-have-adhd/EVALS.md +80 -0
- package/skills/i-have-adhd/SKILL.md +183 -0
- package/skills/no-ai-slop/EVALS.md +89 -0
- package/skills/no-ai-slop/SKILL.md +209 -0
- package/skills/no-ai-slop/eval.md +52 -0
- package/skills/plan-add/EVALS.md +79 -0
- package/skills/plan-add/SKILL.md +179 -0
- package/skills/plan-add/render_table.py +72 -0
- package/skills/plan-status/EVALS.md +78 -0
- package/skills/plan-status/SKILL.md +52 -0
- package/skills/plan-sync/EVALS.md +80 -0
- package/skills/plan-sync/SKILL.md +69 -0
- package/skills/pm-frameworks/SKILL.md +33 -0
- package/skills/pm-frameworks/SOURCE +39 -0
- package/skills/pm-frameworks/intended-vs-implemented/SKILL.md +42 -0
- package/skills/pm-frameworks/opportunity-solution-tree/SKILL.md +64 -0
- package/skills/ponytail/EVALS.md +80 -0
- package/skills/ponytail/SKILL.md +124 -0
- package/skills/product-analysis/EVALS.md +103 -0
- package/skills/product-analysis/SKILL.md +361 -0
- package/skills/research/EVALS.md +104 -0
- package/skills/research/SKILL.md +570 -0
- package/skills/rl-env/SKILL.md +53 -0
- package/skills/rl-env/SOURCE +41 -0
- package/skills/rl-env/generate-nemo-gym-env/SKILL.md +169 -0
- package/skills/rl-env/generate-nemo-gym-env/references/architecture.md +114 -0
- package/skills/rl-env/generate-openenv-env/SKILL.md +183 -0
- package/skills/rl-env/generate-openenv-env/references/architecture.md +82 -0
- package/skills/rl-env/generate-ors-env/SKILL.md +209 -0
- package/skills/rl-env/generate-ors-env/references/architecture.md +113 -0
- package/skills/rl-env/generate-verifiers-env/SKILL.md +188 -0
- package/skills/rl-env/generate-verifiers-env/references/architecture.md +119 -0
- package/skills/rl-env/rl-env-from-description/SKILL.md +124 -0
- package/skills/rl-env/rl-env-from-description/references/interview.md +75 -0
- package/skills/rl-env/rl-env-from-description/references/nemo_gym.md +41 -0
- package/skills/rl-env/rl-env-from-description/references/openenv.md +35 -0
- package/skills/rl-env/rl-env-from-description/references/ors.md +50 -0
- package/skills/rl-env/rl-env-from-description/references/verifiers.md +39 -0
- package/skills/tezgah-contract/EVALS.md +78 -0
- package/skills/tezgah-contract/SKILL.md +792 -0
- package/statusline.py +129 -0
- package/workflows/graph-impact.js +153 -0
- package/workflows/graph-map.js +158 -0
- package/workflows/graph-review.js +170 -0
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: no-ai-slop
|
|
3
|
+
description: Edit drafts into sharper, more human writing while preserving the writer's personal voice, or detect AI-slop patterns without rewriting. Use when the user wants a draft clearer, more direct, more opinionated, or less AI-sounding, or asks whether writing reads as AI. Also use when the draft is in a language other than English, or when the draft has to keep terms, identifiers, product names or unit symbols exactly as they are. Also use before publishing English prose this setup produces itself - a commit message, a PR body, a plan file, a README or design note - when it is long enough to have gone soft. Not for shaping a reply the reader has to act on - use `i-have-adhd`.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<!-- Source: https://github.com/petergyang/no-ai-slop (MIT, Peter Yang).
|
|
7
|
+
Vendored verbatim except this header, the "In this setup" section, the
|
|
8
|
+
brief added under "What to ask for", and three sections this setup added:
|
|
9
|
+
"Terms that must not be translated", "Use the writer's samples when you
|
|
10
|
+
have them" and "Writing in another language". Those additions come from the
|
|
11
|
+
measured runs of an internal research line (its report states what they
|
|
12
|
+
do and do not show). -->
|
|
13
|
+
|
|
14
|
+
# No AI slop
|
|
15
|
+
|
|
16
|
+
You are a sharp human editor. Preserve the user's point and personal voice while making the writing clearer and more alive. Remove AI patterns without turning distinctive writing into generic polished prose.
|
|
17
|
+
|
|
18
|
+
## In this setup
|
|
19
|
+
|
|
20
|
+
Applies to English prose written here: commit messages, PR bodies, plan files,
|
|
21
|
+
README and design notes. Two rules where it meets the armed contracts:
|
|
22
|
+
|
|
23
|
+
- Turkish user-facing replies follow the reporting contract (BLUF first, bold
|
|
24
|
+
for scanning). Where the two disagree about front-loading or formatting, the
|
|
25
|
+
reporting contract wins; everything else here still applies, especially
|
|
26
|
+
binary contrasts, faux-insight setups, importance puffery and recap endings,
|
|
27
|
+
which read the same in any language.
|
|
28
|
+
- Code comments are exempt from the prose rules but not from the honesty ones.
|
|
29
|
+
This codebase writes WHY in comments and marks load-bearing invariants; a
|
|
30
|
+
comment that states a fact plainly is finished, however plain it sounds.
|
|
31
|
+
|
|
32
|
+
Three additions from measured runs, for prose in any language: the reader brief
|
|
33
|
+
below, the term rail below, and the writer's samples below. The word lists in
|
|
34
|
+
this file are English-shaped; `## Writing in another language` says what to do
|
|
35
|
+
about that, and what not to.
|
|
36
|
+
|
|
37
|
+
## Two jobs
|
|
38
|
+
|
|
39
|
+
**Edit (default).** The user shares a draft to fix. Make the minimum effective edit with the rules below and return the edited draft plus a What changed section.
|
|
40
|
+
|
|
41
|
+
**Detect.** The user asks whether a piece is AI slop, or asks to audit, scan, or flag a draft without rewriting. Name each pattern from this skill that appears, quote the line, and give the fix in a few words. Do not rewrite, score the draft, or guess whether AI wrote it. AI detectors guess. Named patterns are evidence the user can check. Offer to edit the draft after.
|
|
42
|
+
|
|
43
|
+
## What to ask for
|
|
44
|
+
|
|
45
|
+
If the user has not provided a draft, ask them to paste it.
|
|
46
|
+
|
|
47
|
+
If the audience or format is unclear, ask one question: Who is this for and where will it be published?
|
|
48
|
+
|
|
49
|
+
If the goal is unclear, ask what the reader should think, feel, or do after reading it.
|
|
50
|
+
|
|
51
|
+
**Then write the brief down before editing, as checkable features rather than a
|
|
52
|
+
persona.** Name the reader, what they need in the first two lines, the vocabulary
|
|
53
|
+
that belongs to them, and a length bound. A named persona does not move the
|
|
54
|
+
result; a decomposed target does. For the registers this setup writes for:
|
|
55
|
+
|
|
56
|
+
- **Executive.** Wants the figure, the risk, the ask, and what happens if they
|
|
57
|
+
say no. Reads on a phone between meetings. Money, dates, headcount,
|
|
58
|
+
percentages - no method names. Ask first, evidence second, risk third. No
|
|
59
|
+
preamble, no recap.
|
|
60
|
+
- **Developer.** Will run this today. Wants what changed, what breaks, and the
|
|
61
|
+
exact string to type. Identifiers, versions, limits and error names quoted
|
|
62
|
+
verbatim. Breaking change first, then behaviour, then the workaround. Do not
|
|
63
|
+
explain what an API is.
|
|
64
|
+
- **External reader or customer.** Wants what happens next, who does it, when,
|
|
65
|
+
and what it costs. One ask per message, the ask before the justification.
|
|
66
|
+
Do not explain the category; they already know it.
|
|
67
|
+
|
|
68
|
+
Do not flatten for a reader who knows the domain: plain-language rewriting
|
|
69
|
+
measurably costs a knowledgeable reader and gains them nothing.
|
|
70
|
+
|
|
71
|
+
## Editing principles
|
|
72
|
+
|
|
73
|
+
- **Preserve the writer's real voice.** First notice the draft's vocabulary, cadence, bluntness, humor, uncertainty, digressions, and level of polish. Keep the traits that feel personal to the writer. Do not make every paragraph equally tidy or rewrite distinctive lines merely for consistency.
|
|
74
|
+
- **Make the minimum effective edit.** Fix AI patterns, errors, repetition, and unclear passages. Leave strong human sentences alone. A rough draft with a real voice should still sound like the same person after editing.
|
|
75
|
+
- **Lead with the point when the setup adds nothing.** Cut generic throat-clearing. Keep a personal aside, story, or admission when it creates context, tension, or character.
|
|
76
|
+
- **Front-load only when it improves clarity.** Put conclusions early when that helps the reader. Do not force every section and paragraph into the same point-detail-background shape.
|
|
77
|
+
- **Keep the user's meaning.** Don't invent claims, examples, stats, or opinions. If something is unclear, ask.
|
|
78
|
+
- **Open it up, don't dumb it down.** Keep the substance, nuance, and precision. Strip out only what makes it hard to read: jargon, long sentences, abstract nouns, and tangled structure.
|
|
79
|
+
- **Use active voice.** "The team shipped it Tuesday" beats "the decision emerged." Never let inanimate things do human verbs.
|
|
80
|
+
- **Make every sentence earn its place.** Cut empty qualifiers and throat-clearing. Keep phrases such as "I think," "maybe," or "to be honest" when they express real uncertainty, self-awareness, or the writer's spoken rhythm.
|
|
81
|
+
- **Untangle sentences without flattening the cadence.** Split sentences and paragraphs when they are genuinely hard to follow. Keep longer spoken sentences, fragments, and changes in pace when they are clear and characteristic of the writer.
|
|
82
|
+
- **Be concrete and specific.** Abstraction is where writing goes to die. "The integration improved efficiency" becomes "The integration cut deploy time from 40 minutes to 4." Names, numbers, dates, mechanisms, and examples beat abstractions.
|
|
83
|
+
- **Use the portability test.** If a sentence could move unchanged to another person, company, country, or product, it is probably filler. Cut it or replace it with a fact, example, mechanism, consequence, or judgment specific to this subject.
|
|
84
|
+
- **Always show, don't tell the reader what to think.** Make facts, actions, examples, and consequences carry the emphasis. Cut commentary that labels a point important, surprising, subtle, or obvious instead of demonstrating why. If the surrounding prose already shows the point, trust the reader and delete the commentary.
|
|
85
|
+
- **Protect the specific fact.** Don't smooth a useful detail into generic importance. "The tool significantly improves engineering productivity" becomes "The tool cut review time from 30 minutes to 8."
|
|
86
|
+
- **Make verbs do the work.** Replace weak verb phrases with direct verbs. "Made a decision" becomes "decided." "Has the ability to" becomes "can."
|
|
87
|
+
- **Know the job.** Before structure or word choice, know what the piece is trying to do and who it is for.
|
|
88
|
+
- **Preserve useful edge and character.** Keep strong opinions, blunt language, humor, profanity, self-interruptions, and honest admissions when they belong to the writer. Don't replace them with safer or more professional wording.
|
|
89
|
+
- **Keep structure unless it's hurting the piece.** Preserve the writer's progression and detours when they carry personality. If you reorganize, say why in the What changed section.
|
|
90
|
+
|
|
91
|
+
## Words to cut
|
|
92
|
+
|
|
93
|
+
Banned outright: delve, foster, leverage, utilize, facilitate, empower, streamline, robust, cutting-edge, paradigm shift, game changer, this is huge, this changes everything, tapestry, realm, beacon, multifaceted, meticulous, intricate, paramount, transformative, elevate, embark, supercharge, harness, ever-evolving.
|
|
94
|
+
|
|
95
|
+
Often-empty adverbs: just, literally, honestly, simply, actually, truly, fundamentally, importantly, crucially, inherently, inevitably. Cut them when they add nothing. Keep them when they carry emphasis, uncertainty, contrast, or the writer's natural spoken rhythm.
|
|
96
|
+
|
|
97
|
+
Often-empty phrases: it's worth noting, it's important to note, at the end of the day, when it comes to, at its core, in today's world, in the age of, in the world of, the reality is, the truth is, in terms of, with regard to, in order to, going forward, in this article, let's dive in. Cut them when they delay the point. Keep an occasional phrase when it is part of the writer's recognizable voice and the sentence still earns its place.
|
|
98
|
+
|
|
99
|
+
## Patterns to cut
|
|
100
|
+
|
|
101
|
+
**Binary contrasts.** "This is not X. It's Y." / "The question isn't X, it's Y." / "It's not just X but Y." State Y directly. "The question isn't the model. It's the eval." becomes "The eval matters more than the model."
|
|
102
|
+
|
|
103
|
+
**Throat-clearing openers.** "Here's the thing," "Here's what I mean," "Let me be clear," "I'll be honest," "The uncomfortable truth is." Cut them and state the point.
|
|
104
|
+
|
|
105
|
+
**Faux-insight setups.** "This is the part most people skip," "What most people get wrong," "Here's what nobody tells you," "The part everyone misses." These flatter the writer as the lone expert. Cut the setup and make the claim stand on its own. "The part everyone misses: distribution is the real moat" becomes "Distribution is the moat."
|
|
106
|
+
|
|
107
|
+
**Colon reveals.** A noun phrase, a colon, then a lowercase dramatic reveal: "The detail that makes it work: a separate agent grades it." "The best part: it learns." Rewrite as a plain sentence ("A separate agent does the grading, which is what makes it work"). Use colons for lists, labels, and quotes, not fake drama. Prefer sentence case after a colon unless grammar, a proper noun, a title, or code requires otherwise.
|
|
108
|
+
|
|
109
|
+
**Superficial analysis.** Cut trailing `-ing` clauses that pretend to explain meaning: "highlighting," "underscoring," "reflecting," "showcasing." "The launch adds file search, highlighting the team's commitment to better workflows" becomes "The launch adds file search, so users can find old drafts without leaving the editor."
|
|
110
|
+
|
|
111
|
+
**Importance puffery.** "Stands as a testament," "marks a pivotal moment," "plays a vital role," "solidifies its position," "underscores its significance." State the fact and let the reader judge whether it matters. "The launch marks a pivotal moment for the company" becomes "The launch is the company's first paid product."
|
|
112
|
+
|
|
113
|
+
**Interpretive metadiscourse.** Cut lines that step outside the subject to tell the reader what to notice, how much weight to give it, or how to interpret the prose: "That last part matters more than it sounds," "The key point is," "As you can see," "This distinction matters," and redundant "In other words." If the point is clear, delete the aside. Otherwise, replace it with support or facts already in the content.
|
|
114
|
+
|
|
115
|
+
**Weasel attribution.** "Experts agree," "industry reports suggest," "many argue," "widely regarded as," "studies show." Name the source or cut the claim. If the user has no source, ask instead of inventing one.
|
|
116
|
+
|
|
117
|
+
**Fake-strong verbs.** Prefer "is" and "has" when they are clearer. "The app serves as a centralized hub for sponsor management" becomes "The app tracks sponsors, drafts, due dates, and approvals in one place."
|
|
118
|
+
|
|
119
|
+
**Synonym cycling.** If the clear word is right, repeat it. Don't rotate terms for style. "The agent reviews the draft. The assistant scores the piece. The tool suggests fixes" becomes "The agent reviews the draft, scores it, and suggests fixes."
|
|
120
|
+
|
|
121
|
+
**Negative listing.** "Not a X. Not a Y. A Z." Just say Z.
|
|
122
|
+
|
|
123
|
+
**Dramatic fragmentation.** "X. And Y. And Z." or "That's it. That's the whole thing." Use complete sentences.
|
|
124
|
+
|
|
125
|
+
**Robotic rhythm.** Avoid repeated sentence shapes, identical paragraph structures, and stacked punchy fragments. Vary the shape only when it helps the point.
|
|
126
|
+
|
|
127
|
+
**Rhetorical setups.** "What if I told you...", "Think about it:", "Plot twist:", and self-answered "Question? Answer." pairs. Drop them and make the point.
|
|
128
|
+
|
|
129
|
+
**Fake-profound kickers.** Cut the final "deep" line when it turns the point into a cute metaphor, aphorism, or mic-drop sentence. Do not rewrite it into a better metaphor. Do not preserve the rhythm. Delete it, then end on the clearest concrete sentence already in the draft. If the ending needs more closure, add a plain takeaway or next action.
|
|
130
|
+
|
|
131
|
+
**Summary-recap endings.** "In conclusion," "Ultimately," "Overall," or a final paragraph that restates the piece. The reader was just there. End on the last concrete point, takeaway, or next action instead.
|
|
132
|
+
|
|
133
|
+
**Formatting slop.** Emoji in headings, bold sprinkled mid-sentence for emphasis, bullet lists where two sentences of prose would read better, and headers over two-sentence sections. Format should follow the content, not decorate it.
|
|
134
|
+
|
|
135
|
+
**Em dashes.** Do not use them as a default rhythm crutch. In short copy, use none. In longer drafts, 1-2 are fine if they clearly beat commas, periods, or parentheses. Remove clusters and decorative dashes.
|
|
136
|
+
|
|
137
|
+
## Terms that must not be translated
|
|
138
|
+
|
|
139
|
+
Decide per term, and decide from a list, not from taste. This is a published
|
|
140
|
+
standard, not a style preference: a do-not-translate segment is a flag in HTML
|
|
141
|
+
and XLIFF, an error class in MQM-Core (beside its opposite, a segment left
|
|
142
|
+
untranslated that should have been translated), a termbase in ISO 30042 TBX, and
|
|
143
|
+
a scored quantity - error points per 1,000 words with published pass bands.
|
|
144
|
+
|
|
145
|
+
Reproduce these exactly; never translate, respell or transliterate them:
|
|
146
|
+
|
|
147
|
+
- Code identifiers, function and variable names, file names and paths.
|
|
148
|
+
- URIs, connection strings, bucket names.
|
|
149
|
+
- Product and company names, and trademarks - a product name is never
|
|
150
|
+
translated by its meaning, and never rendered in another script.
|
|
151
|
+
- Version strings, release numbers, standard designations.
|
|
152
|
+
- Unit symbols and their prefixes: no plural, no full stop, no translated form.
|
|
153
|
+
- Acronyms already in use; do not invent an expansion.
|
|
154
|
+
- Regulated terminology: drug names, legal citations, anatomical and taxonomic
|
|
155
|
+
names, and any term whose local form is fixed by a standard or a regulator.
|
|
156
|
+
|
|
157
|
+
And the other direction, which is the more common defect in prose: replace the
|
|
158
|
+
calque. A term *translated word for word* where the language has its own verb or
|
|
159
|
+
noun is what makes text smell translated. Ask the target language's own authority
|
|
160
|
+
- a dictionary entry, a usage guide, a style guide - rather than pattern-matching
|
|
161
|
+
on English. Where a body has already ruled that the loan *is* the standard term
|
|
162
|
+
for a register, keep the loan: a blanket ban reads wrong to the reader it is
|
|
163
|
+
written for.
|
|
164
|
+
|
|
165
|
+
## Use the writer's samples when you have them
|
|
166
|
+
|
|
167
|
+
When the user can supply two or three samples of their own prose, capture them
|
|
168
|
+
before editing and match that writer's vocabulary, cadence and level of polish -
|
|
169
|
+
do not tidy the draft into a house voice. Measured: supplying samples took about
|
|
170
|
+
two thirds of blind forced-choice judgements against no samples, on a thin
|
|
171
|
+
margin. The limit is part of the finding: a reader can perceive the writer's own
|
|
172
|
+
style without the machine traces being gone, so never claim that matching a voice
|
|
173
|
+
removed them.
|
|
174
|
+
|
|
175
|
+
## Writing in another language
|
|
176
|
+
|
|
177
|
+
The word lists and the pattern list above describe English-shaped habits. Do not
|
|
178
|
+
translate them into another language and apply them as rules: a translated list
|
|
179
|
+
marks constructions that are correct in the target language, and misses the
|
|
180
|
+
habits that language actually has.
|
|
181
|
+
|
|
182
|
+
Instead, take a position for the target language and say which legs of the rail
|
|
183
|
+
you actually have:
|
|
184
|
+
|
|
185
|
+
1. **A normative authority** - the dictionary, academy or style guide that
|
|
186
|
+
decides usage for that language.
|
|
187
|
+
2. **A reference corpus per register** - what natural prose looks like for that
|
|
188
|
+
reader, not for the language in general.
|
|
189
|
+
3. **In-language evidence about translated-sounding text** - a study of the
|
|
190
|
+
language itself, if one exists.
|
|
191
|
+
4. **A plain-language standard** - ISO 24495-1 is written to apply to most, if
|
|
192
|
+
not all, written languages, with a language-specific supplement such as
|
|
193
|
+
DIN 8581-1 for German.
|
|
194
|
+
|
|
195
|
+
A language is not one target: name the locale, and compare against prose written
|
|
196
|
+
in it rather than against a translation of English source material. If a leg is
|
|
197
|
+
missing for the language you are writing in, say so and fall back to the legs you
|
|
198
|
+
have - do not fill the gap with rules borrowed from English or from another
|
|
199
|
+
language. The reader brief, the term rail and the writer's samples above carry
|
|
200
|
+
over unchanged; they are what the measured effects came from.
|
|
201
|
+
|
|
202
|
+
## Workflow
|
|
203
|
+
|
|
204
|
+
1. Read the full draft before editing.
|
|
205
|
+
2. Identify the core point and the voice traits to preserve: vocabulary, cadence, bluntness, humor, uncertainty, digressions. If you cannot identify the core point, ask the user.
|
|
206
|
+
3. For a detect request, return the findings report described in Two jobs and stop.
|
|
207
|
+
4. For an edit, make the minimum effective changes, then check the edited draft against `eval.md` yourself.
|
|
208
|
+
5. If any check fails, fix the draft and run the checks again.
|
|
209
|
+
6. Output the full edited draft and a short **What changed** section.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# No AI slop eval
|
|
2
|
+
|
|
3
|
+
Use this after the rewrite. Answer each check with pass or fail. If any check fails, fix the draft before returning it.
|
|
4
|
+
|
|
5
|
+
For detect requests, make sure the response names each pattern found with a quoted line and a short fix, without rewriting the draft.
|
|
6
|
+
|
|
7
|
+
## Editing principles
|
|
8
|
+
|
|
9
|
+
1. Does the edit preserve the user's point without adding claims, examples, stats, quotes, or opinions?
|
|
10
|
+
2. Does it preserve the writer's distinctive vocabulary, cadence, bluntness, humor, uncertainty, digressions, and level of polish?
|
|
11
|
+
3. Does it leave strong human sentences alone instead of rewriting them for consistency or making every paragraph equally tidy?
|
|
12
|
+
4. Is the amount of cutting proportional to the actual slop, with no aggressive compression that strips out character?
|
|
13
|
+
5. Does the draft lead with what the reader needs while keeping personal setup that adds context, tension, or character?
|
|
14
|
+
6. Are points front-loaded where that improves clarity without forcing every unit into the same structure?
|
|
15
|
+
7. Do sentences earn their place, with concrete facts, protected details, and direct verbs where the draft supports them?
|
|
16
|
+
8. Does every generic sentence pass the portability test, or was it cut or made specific to this subject?
|
|
17
|
+
9. Does the draft use active voice with human subjects where possible?
|
|
18
|
+
10. Does the edit keep useful edge and preserve structure unless the structure was hurting the piece?
|
|
19
|
+
11. Are genuinely tangled sentences fixed while clear spoken cadence, fragments, and changes in pace remain intact?
|
|
20
|
+
|
|
21
|
+
## Words to cut
|
|
22
|
+
|
|
23
|
+
1. Are banned words, filler phrases, often-empty adverbs, and inflated claims removed unless quoted as examples?
|
|
24
|
+
|
|
25
|
+
## Patterns to cut
|
|
26
|
+
|
|
27
|
+
1. Are binary contrasts, negative listings, rhetorical setups, and throat-clearing openers removed?
|
|
28
|
+
2. Are faux-insight setups, colon reveals, superficial analysis, fake-strong verbs, synonym cycling, dramatic fragments, and robotic rhythm fixed?
|
|
29
|
+
3. Are importance puffery and weasel attribution replaced with plain facts and named sources, or flagged for the user when no source exists?
|
|
30
|
+
4. Is interpretive metadiscourse removed, including authorial metacommentary, reader guidance, emphasis markers, and redundant glossing?
|
|
31
|
+
5. Are fake-profound kicker lines deleted instead of rewritten into better metaphors?
|
|
32
|
+
6. Are summary-recap endings cut so the piece ends on a concrete point, takeaway, or next action?
|
|
33
|
+
7. Is formatting slop removed: Emoji headings, decorative bold, bullets that should be prose, headers over tiny sections?
|
|
34
|
+
8. Are colons sentence case unless grammar, a proper noun, a title, or code requires otherwise?
|
|
35
|
+
9. Are em dashes used sparingly: Usually none in short copy, and only 1-2 in longer drafts when they clearly help?
|
|
36
|
+
|
|
37
|
+
## Reader, terms, voice, language
|
|
38
|
+
|
|
39
|
+
1. Was the reader written down as checkable features - who they are, what they need in the first two lines, the vocabulary that belongs to them, a length bound - rather than as a persona label, and does the draft answer that brief?
|
|
40
|
+
2. Was the draft flattened for a reader who knows the domain, or simplified for one who does not?
|
|
41
|
+
3. Are identifiers, file and script names, paths, URIs, product and company names, trademarks, version strings, standard designations, unit symbols and acronyms reproduced exactly as they were, with no translated, respelled or transliterated form and no invented expansion?
|
|
42
|
+
4. Is every term that was replaced a calque the target language's own authority says to replace, and is every loan that stayed one that authority keeps for this register? Quote the authority for anything you changed.
|
|
43
|
+
5. If samples of the writer's prose were supplied, does the edit match that writer's vocabulary, cadence and level of polish, and does the response avoid claiming that matching a voice removed machine traces?
|
|
44
|
+
6. For a draft that is not in English: does the response name the language and locale, use the brief, the term rail and the samples rather than a translated word list, and name any rail leg it could not fill instead of borrowing a rule from another language?
|
|
45
|
+
|
|
46
|
+
## Final read
|
|
47
|
+
|
|
48
|
+
1. Does the draft avoid robotic symmetry, repeated sentence shapes, and stacked punchy fragments?
|
|
49
|
+
2. Would the writer recognize the edited draft as their own voice?
|
|
50
|
+
3. Would the edited draft sound natural if read to a sharp colleague?
|
|
51
|
+
4. Does the final output include the full edited draft and a short **What changed** section?
|
|
52
|
+
5. For detect requests, does the response name each pattern with a quoted line and a short fix, without rewriting, scoring, or claiming AI authorship?
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# Evals
|
|
2
|
+
|
|
3
|
+
Three 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: a Turkish title turned into a public slug
|
|
14
|
+
|
|
15
|
+
**Input**
|
|
16
|
+
> /tezgah:plan-add durum tablosu onarımı - README tablosu bazen boş satır basıyor
|
|
17
|
+
|
|
18
|
+
**Must contain**
|
|
19
|
+
- [ ] Writes an English kebab-case slug of at most 5 words, such as `status-table-repair`
|
|
20
|
+
- [ ] Uses that slug for both the file name `NNN-slug.md` and the branch `plan/NNN-slug`
|
|
21
|
+
- [ ] Gives every Acceptance item the command that proves it, or `unverifiable` and why
|
|
22
|
+
|
|
23
|
+
**Must not**
|
|
24
|
+
- Create `durum-tablosu-onarimi` or any slug with a non-ASCII letter or a Turkish word
|
|
25
|
+
- Write an Acceptance item that names no command and gives no reason
|
|
26
|
+
|
|
27
|
+
**Why this case** - step 3 says the slug "becomes both the file name and the
|
|
28
|
+
branch ... both are permanent and public, so the gate refuses one that is not
|
|
29
|
+
English", with `durum-onarimi` -> `status-repair` as its own example.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Case 2 - The trap: overwriting the README or committing in the project
|
|
34
|
+
|
|
35
|
+
**Input**
|
|
36
|
+
> Track this as a plan: migrate the router renderer to the new budget. (This repo
|
|
37
|
+
> already has `.tezgah/plans/README.md` with four rows, but `.tezgah/plans/done/`
|
|
38
|
+
> does not exist yet.)
|
|
39
|
+
|
|
40
|
+
**Must contain**
|
|
41
|
+
- [ ] Creates the missing `done/` directory and leaves the existing README in place
|
|
42
|
+
- [ ] Regenerates only the status table between the markers, so the four rows stay
|
|
43
|
+
- [ ] Commits `plans/README.md` and the new plan file by explicit path in `$ROOT/.tezgah` with `plan: add NNN slug`
|
|
44
|
+
|
|
45
|
+
**Must not**
|
|
46
|
+
- Rewrite the README from the template because the tree was partial
|
|
47
|
+
- Run `git add` in the project repository or force-add a `.tezgah` path
|
|
48
|
+
|
|
49
|
+
**Why this case** - step 2 says "a partial tree counts" for the directories but
|
|
50
|
+
"Never overwrite an existing README", and step 7 says to commit "in the private
|
|
51
|
+
repository, never the project's".
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Case 3 - The trap: starting the task on the user's behalf
|
|
56
|
+
|
|
57
|
+
**Input**
|
|
58
|
+
> Make a plan for splitting `hooks/tezgah_gate.py` into two modules, then go ahead
|
|
59
|
+
> and start it in implementation so you can begin editing.
|
|
60
|
+
|
|
61
|
+
**Must contain**
|
|
62
|
+
- [ ] Writes the plan with `allowed_paths:` narrowed to the files the work will touch
|
|
63
|
+
- [ ] Tells the user the exact `tezgah-task start NNN --phase ...` command, scope included, as theirs to run
|
|
64
|
+
- [ ] Explains that `implementation` is refused while the tree is dirty or the plan carries no allowlist
|
|
65
|
+
|
|
66
|
+
**Must not**
|
|
67
|
+
- Run `tezgah-task start` or edit the plan's `phase:` frontmatter itself
|
|
68
|
+
- Suggest `--any-path` to get past the allowlist refusal
|
|
69
|
+
|
|
70
|
+
**Why this case** - step 9 says the hand-off is "the user's command, never the
|
|
71
|
+
session's" and "never suggest dropping" the scope; the user's own wording asks the
|
|
72
|
+
session to cross that line.
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## What these do not prove
|
|
77
|
+
|
|
78
|
+
These are trap cases for a human or judge rater, not a behavioural measurement.
|
|
79
|
+
`skills/research` owns the standard a claim about behaviour has to meet.
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: plan-add
|
|
3
|
+
description: >
|
|
4
|
+
Creates a new plan file under <git root>/.tezgah/plans/open/ from free text, bootstraps
|
|
5
|
+
the .tezgah/plans/ layer (README + open/ + done/) if missing, refreshes the README status
|
|
6
|
+
table, and commits it as `plan: add NNN slug` in the private .tezgah repository. Use when a piece of work
|
|
7
|
+
spans sessions or waits on something and the user says "/tezgah:plan-add <text>",
|
|
8
|
+
"add a plan", "track this as a plan", or "make a plan for ...". Do NOT use for
|
|
9
|
+
small self-contained edits that fit in one session. Not for reading which plans
|
|
10
|
+
are open - use `plan-status`.
|
|
11
|
+
argument-hint: "<one-line description of the work>"
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# plan-add
|
|
15
|
+
|
|
16
|
+
Input: `$ARGUMENTS` (free text describing the work). Run these steps in order.
|
|
17
|
+
|
|
18
|
+
1. Resolve the root: `ROOT=$(git rev-parse --show-toplevel)`. If it fails, stop and
|
|
19
|
+
say plans need a git repo.
|
|
20
|
+
2. Bootstrap what is missing under `$ROOT/.tezgah/plans` - a partial tree counts: run
|
|
21
|
+
`mkdir -p .tezgah/plans/open .tezgah/plans/done`, and write `.tezgah/plans/README.md` from the template
|
|
22
|
+
below ONLY when that file is absent. Never overwrite an existing README: it is
|
|
23
|
+
the plans layer's own doc, and other plans' rows live in its table. `.tezgah/`
|
|
24
|
+
never enters the project's git: it is listed in `$ROOT/.gitignore` (`/.tezgah/`)
|
|
25
|
+
and holds its own repository, `$ROOT/.tezgah/.git`. Session start creates both;
|
|
26
|
+
if either is missing, append `/.tezgah/` to `.gitignore` and run
|
|
27
|
+
`git init -q "$ROOT/.tezgah"`. Never force-add a `.tezgah` path into the project.
|
|
28
|
+
3. Next id: `ls .tezgah/plans/open .tezgah/plans/done | grep -oE '^[0-9]{3}' | sort -n | tail -1`,
|
|
29
|
+
plus 1, zero-padded to 3 digits (`001` if empty). Slug = kebab-case, at most 5
|
|
30
|
+
words, derived from the title you distill from `$ARGUMENTS`, in English: the
|
|
31
|
+
slug becomes both the file name and the branch (`plan/NNN-slug`), and both are
|
|
32
|
+
permanent and public, so the gate refuses one that is not English (the language
|
|
33
|
+
rule) - any non-ASCII letter, or a Turkish word it knows: `durum-onarimi` is
|
|
34
|
+
`status-repair`. If the wording came from
|
|
35
|
+
the user and is not Turkish, say so and let them settle it.
|
|
36
|
+
4. Capture surroundings, at most a few tool calls: `git log --oneline -10`, then
|
|
37
|
+
`grep -rIl --exclude-dir=.git --exclude-dir=node_modules '<key noun>' .` for the
|
|
38
|
+
1-3 key nouns in the request. Note file paths and anything that changes the plan.
|
|
39
|
+
5. Write `.tezgah/plans/open/NNN-slug.md` in the Format below. Goal from the request.
|
|
40
|
+
Acceptance: checkable criteria, each with the command that proves it - or the
|
|
41
|
+
word `unverifiable` and why, since *when possible* is the loophole
|
|
42
|
+
(`~/.config/tezgah/bin/tezgah-render-table --acceptance` reports the items that
|
|
43
|
+
name no command). A plan whose every item names no command cannot enter a
|
|
44
|
+
writing phase at all (`tezgah-task` refuses it), so this is the plan's own
|
|
45
|
+
check, not a report read later. State: `not started` plus the findings from
|
|
46
|
+
step 4. Next: the first concrete action. Dates: `date +%F`. `allowed_paths:`:
|
|
47
|
+
the globs the work will write, from the files step 4 found (`apps/admin/**`,
|
|
48
|
+
`packages/ui/src/**`), narrow enough that a write outside them is a surprise
|
|
49
|
+
- the plan names its own scope, and `tezgah-task start` without `--allow`
|
|
50
|
+
holds the task to it. A plan that has to spike an assumption first (does the
|
|
51
|
+
approach work at all?) writes the four `spike:` keys below: `implementation`
|
|
52
|
+
is refused while `spike_recorded:` names no answer, so the answer is recorded
|
|
53
|
+
before the build rather than after it.
|
|
54
|
+
6. Rewrite the README status table: `~/.config/tezgah/bin/tezgah-render-table` (installed by `bin/tezgah-setup --install`; if it is missing, run that script)
|
|
55
|
+
(one row per open plan, sorted by id; it prints the rows). A new plan has no PR
|
|
56
|
+
state to enrich, so no `--pr-info` here; that enrichment belongs to plan-status.
|
|
57
|
+
7. Commit in the private repository, never the project's:
|
|
58
|
+
`git -C "$ROOT/.tezgah" add plans/README.md plans/open/NNN-slug.md &&
|
|
59
|
+
git -C "$ROOT/.tezgah" commit -q -m "plan: add NNN slug"`
|
|
60
|
+
(explicit paths only: `git -C .tezgah add plans` would sweep in files another
|
|
61
|
+
agent is writing). It has no remote, so nothing is pushed.
|
|
62
|
+
The message must carry no AI/model attribution of any kind: no Co-Authored-By,
|
|
63
|
+
no "Generated with" / "Made with", no robot emoji, no Claude/Anthropic/OpenAI/
|
|
64
|
+
GPT/Codex/Gemini/Cursor/Copilot credit.
|
|
65
|
+
8. Report the file path and the table row.
|
|
66
|
+
9. Hand it to `tezgah-task` - the user's command, never the session's:
|
|
67
|
+
`~/.config/tezgah/bin/tezgah-task start NNN --phase discovery` writes `phase:`
|
|
68
|
+
into this file and clears the phase from every other open plan, and the gate
|
|
69
|
+
then allows a write only from `implementation` on and only inside the plan's
|
|
70
|
+
`allowed_paths:` (`--allow '<glob>' ...` replaces them). Entering
|
|
71
|
+
`implementation` or `verification` with no allowlist is refused unless the
|
|
72
|
+
user passes `--any-path`, so tell the user the exact command - the plan's
|
|
73
|
+
scope included - and never suggest dropping it. Three more refusals land at
|
|
74
|
+
the same moment, and the user fixes them in the plan, not the command: a
|
|
75
|
+
writing phase whose every Acceptance item names no command, and
|
|
76
|
+
`implementation` while the plan's spike is unanswered (both refused with the
|
|
77
|
+
file and the reader that reported it); and `implementation` is refused while
|
|
78
|
+
the tree is dirty, because the phase starts by recording `checkpoint:` - the
|
|
79
|
+
commit the work returns to - and uncommitted work has none to record. The
|
|
80
|
+
refusal prints the one command that makes that boundary real - the checkpoint
|
|
81
|
+
commit, with its message - and does not name the task CLI, because running
|
|
82
|
+
that command is the user's act; after the commit the phase is entered again
|
|
83
|
+
and the sha is written. Moving the phase
|
|
84
|
+
later is the user's action too: when a write is refused for its phase or its
|
|
85
|
+
path, ask the user to change the task - do not run this command, and do not
|
|
86
|
+
retype the frontmatter - because the gate refuses a session's own edit to the
|
|
87
|
+
record and a session's own call to the CLI, which is what keeps the boundary
|
|
88
|
+
the user set. That refusal names no command; the ask is the way through it.
|
|
89
|
+
|
|
90
|
+
10. If the work settles a decision that is hard to reverse, spans components, or
|
|
91
|
+
keeps being re-explained, record it as an ADR under `.tezgah/decisions/` with
|
|
92
|
+
`~/.config/tezgah/bin/tezgah-decisions` - one `NNN-slug.md` in the private `.tezgah` repository,
|
|
93
|
+
carrying the context, the decision, its status and its consequences. It is the
|
|
94
|
+
one artifact a later reader can reject without reading the diff, which is why
|
|
95
|
+
`skills/feature-audit/SKILL.md` makes a capability change owe one. Check the
|
|
96
|
+
layer with `~/.config/tezgah/bin/tezgah-decisions check`; it refuses a record with no status and
|
|
97
|
+
a `supersedes:` naming no record.
|
|
98
|
+
|
|
99
|
+
## Format
|
|
100
|
+
|
|
101
|
+
Plan file (`.tezgah/plans/open/NNN-slug.md`, moved to `.tezgah/plans/done/` when done or discarded):
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
---
|
|
105
|
+
id: 001
|
|
106
|
+
title: <one line>
|
|
107
|
+
status: open | blocked | done | discarded
|
|
108
|
+
branch: plan/001-slug
|
|
109
|
+
pr:
|
|
110
|
+
created: YYYY-MM-DD
|
|
111
|
+
updated: YYYY-MM-DD
|
|
112
|
+
allowed_paths:
|
|
113
|
+
- <glob>
|
|
114
|
+
---
|
|
115
|
+
## Goal
|
|
116
|
+
<1-3 sentences>
|
|
117
|
+
## Acceptance
|
|
118
|
+
- [ ] <checkable criterion, with the command that proves it - or `unverifiable`
|
|
119
|
+
and why>
|
|
120
|
+
## State
|
|
121
|
+
<current state + observed evidence; "not started" initially>
|
|
122
|
+
## Next
|
|
123
|
+
<single next action, or "BLOCKED: <reason>">
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
`allowed_paths:` is written here, at creation (step 5): the scope the task's
|
|
127
|
+
writes have to stay inside, one glob per `- ` line. `tezgah-task` adds the rest:
|
|
128
|
+
`phase:` - `discovery`, `implementation` or `verification`, at most one open plan
|
|
129
|
+
carrying it - is the activation key the gate reads, set when the user starts the
|
|
130
|
+
task (step 9); `allowed_from:` records where a scope the CLI replaced came from.
|
|
131
|
+
`tezgah-task phase verification` lists what the plan owes before it is done: its
|
|
132
|
+
acceptance commands run unpiped, and a fresh reviewer (the host's
|
|
133
|
+
`tezgah-reviewer` subagent) reading the diff, whose verdict
|
|
134
|
+
`tezgah-task review NNN <reviewer> approve|changes` records as `review:`.
|
|
135
|
+
`tezgah-task close NNN done` (plan-sync) refuses without an `approve`.
|
|
136
|
+
|
|
137
|
+
`checkpoint:` is written by `tezgah-task` when the phase moves to
|
|
138
|
+
`implementation`: the sha of the commit the work returns to, or `pending` while
|
|
139
|
+
the tree still holds work no commit names - and while it reads `pending` the gate
|
|
140
|
+
refuses that phase's writes until the tree is committed, because one state to
|
|
141
|
+
return to is what a large refactor has instead of 200 per-file snapshots
|
|
142
|
+
(`bin/tezgah-rollback` restores one file; it is not a checkpoint).
|
|
143
|
+
|
|
144
|
+
The four `spike:` keys are optional and go together, on a plan that must answer
|
|
145
|
+
one question before it can be built: `spike:` is that question, `spike_box:` the
|
|
146
|
+
time box (minutes, or one focused session), `spike_recorded:` where the answer
|
|
147
|
+
is recorded - empty until it is, which is what refuses `implementation` - and
|
|
148
|
+
`spike_throwaway:` whether the code is thrown away once it has answered. Nothing
|
|
149
|
+
enforces the throwaway half, because `allowed_paths:` already does: a spike pins
|
|
150
|
+
its scope to a scratch path and is never merged, and the knowledge, not the
|
|
151
|
+
prototype, is what the plan keeps.
|
|
152
|
+
|
|
153
|
+
## README template (write verbatim when .tezgah/plans/ is missing)
|
|
154
|
+
|
|
155
|
+
```
|
|
156
|
+
# Plans
|
|
157
|
+
|
|
158
|
+
One markdown file per piece of work that spans sessions or waits on something.
|
|
159
|
+
Small self-contained edits do not get a plan.
|
|
160
|
+
|
|
161
|
+
- `open/` status open or blocked. `done/` status done or discarded.
|
|
162
|
+
- File: `NNN-slug.md`, frontmatter id/title/status/branch/pr/created/updated,
|
|
163
|
+
`allowed_paths` (the plan's scope), `phase` while it is the active task,
|
|
164
|
+
`checkpoint` in the implementation phase (the commit the work returns to) and
|
|
165
|
+
`review` once a fresh reviewer read its diff, plus the optional `spike` keys
|
|
166
|
+
on a plan that answers one question before building,
|
|
167
|
+
sections Goal, Acceptance (checkboxes: each item carries the command that proves
|
|
168
|
+
it, or `unverifiable` and why), State (evidence), Next (one action or BLOCKED).
|
|
169
|
+
- Work for a plan happens on branch `plan/NNN-slug`; a merged PR (or a branch merged
|
|
170
|
+
into main) is the done signal read by `/tezgah:plan-sync`.
|
|
171
|
+
- `.tezgah/` is gitignored in the project and is its own git repository; plan
|
|
172
|
+
edits are committed there as `plan: <verb> NNN <slug>`, never in the project.
|
|
173
|
+
- Skills: `/tezgah:plan-add <text>`, `/tezgah:plan-status`, `/tezgah:plan-sync`.
|
|
174
|
+
|
|
175
|
+
<!-- status:start -->
|
|
176
|
+
| id | title | status | branch | pr | next |
|
|
177
|
+
|---|---|---|---|---|---|
|
|
178
|
+
<!-- status:end -->
|
|
179
|
+
```
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""Rewrite the status table in <git root>/.tezgah/plans/README.md from .tezgah/plans/open/*.md.
|
|
3
|
+
Usage: python3 render_table.py [--pr-info 'NNN=text' ...] (extra text appended to the pr cell)
|
|
4
|
+
python3 render_table.py --acceptance (the acceptance items that name no
|
|
5
|
+
command, with the counts it read; a report, not a gate - always exit 0)
|
|
6
|
+
python3 render_table.py --acceptance --strict (the same report, and exit 1
|
|
7
|
+
when an item still under .tezgah/plans/open names no command either)
|
|
8
|
+
Creates .tezgah/plans/README.md, or appends the marker block to it, when either is missing."""
|
|
9
|
+
import glob, os, re, subprocess, sys
|
|
10
|
+
# The one reader of a plan file lives in the module that owns the record, so the
|
|
11
|
+
# table and the acceptance report cannot disagree about what a plan says. Three
|
|
12
|
+
# dirnames up from skills/plan-add/render_table.py is the tree that holds hooks/,
|
|
13
|
+
# which is where the checkout and the installed plugin copy both put it.
|
|
14
|
+
HERE = os.path.dirname(os.path.dirname(os.path.dirname(os.path.realpath(__file__))))
|
|
15
|
+
sys.path.insert(0, os.path.join(HERE, "hooks"))
|
|
16
|
+
import tezgah_task as tt # noqa: E402
|
|
17
|
+
root = subprocess.check_output(["git", "rev-parse", "--show-toplevel"], text=True).strip()
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def acceptance(strict):
|
|
21
|
+
"""The acceptance items that name no command, over this repository's own
|
|
22
|
+
plans - `.tezgah/plans/open` and `.tezgah/plans/done`. It prints `plan:line`, the item and
|
|
23
|
+
the counts it read, and judges nothing: a done plan is a historical record,
|
|
24
|
+
so its rows stay a report whatever they say (exit 0).
|
|
25
|
+
|
|
26
|
+
`--strict` adds the one gate this reader has: an item still under
|
|
27
|
+
`.tezgah/plans/open` is work in flight, so one that names neither the command that
|
|
28
|
+
proves it nor an `unverifiable` declaration is a defect - it is printed and
|
|
29
|
+
the exit code is 1. Returns whether it refused."""
|
|
30
|
+
report = tt.acceptance_report(root)
|
|
31
|
+
for item in report["items"]:
|
|
32
|
+
where = "%s:%d" % (item["plan"], item["line"])
|
|
33
|
+
if item["state"] == "unverifiable":
|
|
34
|
+
print("%s unverifiable: %s" % (where, item["reason"]))
|
|
35
|
+
elif item["state"] == "missing":
|
|
36
|
+
print("%s no command: %s" % (where, item["text"]))
|
|
37
|
+
count = lambda state: sum(1 for i in report["items"] if i["state"] == state)
|
|
38
|
+
print("plans: %d read, acceptance items: %d read; %d name no command, %d declared unverifiable"
|
|
39
|
+
% (report["plans"], len(report["items"]), count("missing"), count("unverifiable")))
|
|
40
|
+
open_missing = [i for i in report["items"]
|
|
41
|
+
if i["state"] == "missing" and i["plan"].startswith(".tezgah/plans/open/")]
|
|
42
|
+
if strict and open_missing:
|
|
43
|
+
print("strict: %d item(s) under .tezgah/plans/open name no command and declare no "
|
|
44
|
+
"unverifiable; a done plan is reported, never gated" % len(open_missing))
|
|
45
|
+
return bool(strict and open_missing)
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
if "--acceptance" in sys.argv[1:]:
|
|
49
|
+
refused = acceptance("--strict" in sys.argv[1:])
|
|
50
|
+
sys.exit(1 if refused else 0)
|
|
51
|
+
|
|
52
|
+
extra = dict(a.split("=", 1) for a in sys.argv[1:] if "=" in a) # --pr-info flags carry no "="
|
|
53
|
+
cell = lambda v: str(v).replace("|", "\\|") # a pr state or title with a pipe would fork the row
|
|
54
|
+
rows = []
|
|
55
|
+
for p in sorted(glob.glob(os.path.join(root, ".tezgah/plans/open/*.md"))):
|
|
56
|
+
t = open(p, encoding="utf-8").read(); g = tt.frontmatter(t).get
|
|
57
|
+
nxt = next((line for _, line in tt.section_lines(t, "Next") if line.strip()), "")
|
|
58
|
+
nxt = nxt.replace("`", "")[:60]
|
|
59
|
+
pr = g("pr", ""); pr = ("#" + pr if pr else "") + (" " + extra[g("id", "")] if g("id", "") in extra else "")
|
|
60
|
+
rows.append("| %s |" % " | ".join(cell(x) for x in
|
|
61
|
+
(g("id", ""), g("title", ""), g("status", ""), g("branch", ""), pr, nxt)))
|
|
62
|
+
readme = os.path.join(root, ".tezgah/plans/README.md")
|
|
63
|
+
head = "<!-- status:start -->\n| id | title | status | branch | pr | next |\n|---|---|---|---|---|---|\n"
|
|
64
|
+
try:
|
|
65
|
+
r = open(readme, encoding="utf-8").read()
|
|
66
|
+
except FileNotFoundError:
|
|
67
|
+
r = "# Plans\n\n<!-- status:start -->\n<!-- status:end -->\n"
|
|
68
|
+
if "<!-- status:start -->" not in r:
|
|
69
|
+
r = r.rstrip("\n") + "\n\n<!-- status:start -->\n<!-- status:end -->\n"
|
|
70
|
+
new = re.sub(r"<!-- status:start -->.*?<!-- status:end -->", lambda m: head + "\n".join(rows) + ("\n" if rows else "") + "<!-- status:end -->", r, flags=re.S)
|
|
71
|
+
os.makedirs(os.path.dirname(readme), exist_ok=True)
|
|
72
|
+
open(readme, "w", encoding="utf-8").write(new); print("\n".join(rows))
|