🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Data Science CV Repro Reviewer

by @zack-dev-cm

Review computer-vision experiment reproducibility evidence, dataset readiness, metric gates, and launch risk. Use when a user asks for a cautious CV experime...

Versionv1.9.5
Downloads808
Installs1
Stars⭐ 1
TERMINAL
clawhub install data-science-cv-repro-lab

πŸ“– About This Skill


name: data-science-cv-repro-lab description: Data Science CV Repro Lab is a public ClawHub CV repro-lab skill. Use it when the user says "cv repro lab", "computer vision reproducibility", "CV experiment evidence", or wants execution-grade CV experiments and evidence capture across Colab, Kaggle, browser automation, and GPU VMs. version: 1.9.3 homepage: https://zack-dev-cm.github.io/ user-invocable: true metadata: {"openclaw":{"homepage":"https://zack-dev-cm.github.io/","skillKey":"data-science-cv-repro-lab","requires":{"anyBins":["python3","python"]}}}

Data Science CV Repro Lab

Search intent: cv repro lab, computer vision reproducibility, cv experiment evidence, colab kaggle cv workflow

Goal

Turn CV work into a reproducible decision loop:

  • fixed inputs
  • explicit metrics
  • durable artifacts
  • bounded browser automation
  • long-run health monitoring
  • promotion only on verified benchmark wins
  • This skill is the execution and evidence layer, not the full score-improvement stack. If the real ask is "beat the baseline", "escape a plateau", or "find a better recipe", pair it with sota-agent and a fixed improvement harness before spending more compute.

    Use This Skill When

  • the user asks to debug CV training, segmentation, detection, or runtime behavior
  • the workflow includes OpenClaw, Colab, Kaggle, or browser-only notebook actions
  • you need preprocessing, augmentation, or label-alignment review
  • the task requires checkpoint comparisons, export comparisons, or promotion gating
  • the user wants VM or GPU watchdog logic, heartbeat files, or auto-stop behavior
  • the user wants a general third-party CV workflow, not only repo-specific advice
  • If the primary goal is benchmark improvement rather than clean execution, route the search loop through sota-agent and use this skill as the execution lane.

    Quick Start

    1. Lock the objective before touching code. - Write the product problem in one sentence. - Name the primary metric. - Name the non-regression surfaces. - State what blocks promotion.

    2. Initialize the durable records immediately. - Use python3 {baseDir}/scripts/init_cv_dataset_manifest.py --out --dataset-id . - Use python3 {baseDir}/scripts/init_cv_run_card.py --out --candidate-id --task-id --baseline-id . - If the task is plateau recovery or benchmark improvement, use python3 {baseDir}/scripts/init_cv_improvement_harness.py --out --task-id --candidate-family . - If the workflow mixes runtime sweeps, QA runs, benchmark panels, or synced VM artifacts, use python3 {baseDir}/scripts/init_cv_review_dashboard_manifest.py --out --dashboard-id --title </code>. - If a browser lane matters, use <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">python3 {baseDir}/scripts/init_cv_browser_run_card.py --out <json> --target-url <url></code>. - If browser-visible overlays or prompt variants are part of the hypothesis, use <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">python3 {baseDir}/scripts/init_cv_validation_scorecard.py --out <json> --scorecard-id <id> --surface <surface></code>. - If a long VM run is involved, use <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">python3 {baseDir}/scripts/init_cv_vm_bootstrap_manifest.py --out <json> --output-root <run_root> --model-family <name> --command python train.py --epochs 40</code>.</p><p style="margin:8px 0">3. Capture the current state immediately. - Use <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">python3 {baseDir}/scripts/capture_cv_run_context.py --repo-root <repo> --out <json> --markdown-out <md> --param key=value</code>. - Record git state, module versions, GPU state, and experiment params before launch. - Use the dataset, artifact, and browser manifest helpers for any additional evidence instead of broad host inspection.</p><p style="margin:8px 0">4. Pick the right orchestration lane. - Local debug lane: tiny overfit, transform audits, shape and dtype checks. - Browser notebook lane: Colab or Kaggle steps that must happen in a real browser or notebook UI. - Colab GPU lane: runtime selection, smoke validation, artifact export, and browser evidence. - Custom VM or cluster lane: long runs with heartbeats, watchdogs, stall detection, sync, and auto-stop. - Review dashboard lane: one local or synced surface for runtime sweeps, QA runs, curated comparisons, and benchmark panels. - Promotion lane: fixed benchmark matrix plus customer-facing surface checks.</p><p style="margin:8px 0">5. Work the debug ladder in order. - <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">Harness review</code>: fixed split, primary metric, slice table, rerun rule, and stop condition. - <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">Validation scorecard</code>: browser or notebook visual QA with per-image pass or fail notes when the UI is part of the release story. - <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">Data audit</code>: split integrity, label normalization, image-mask pairing, resize geometry. - <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">Preview audit</code>: at least one augmentation preview and one transformed batch preview. - <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">Failure-set review</code>: keep 20-50 representative overlays with short notes instead of trusting one scalar metric. - <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">Tiny overfit</code>: 4-16 shared samples with <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">no_aug</code>. - <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">Short resumed run</code>: continue from the best trusted checkpoint. - <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">Long run</code>: only after the short loop is healthy.</p><p style="margin:8px 0">6. Keep agentic work bounded. - External browser LLM output is hypothesis generation, not release evidence. - Keep the main thread on the benchmark contract and improvement harness. - Use bounded Codex subagents for scouting, data audits, patch proposals, and per-case review. - For repeated case review, batch over a manifest or CSV instead of free-form chat drift. - Browser steps must emit screenshots, machine-readable scores, and explicit success markers. - Hard-fail on unavailable browser modes, dead CDP sessions, or ambiguous notebook state. - Keep planner, executor, reviewer, and promoter responsibilities distinct even if one agent performs more than one role.</p><p style="margin:8px 0">7. Promote only on full-surface wins. - Raw checkpoint quality - Exported or runtime quality - User-facing render, service, or product surface - Runtime cost or throughput if deployment matters - Adjacent-seed or rerun stability if the claimed delta is small - Generate a promotion bundle with <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">python3 {baseDir}/scripts/init_cv_promotion_bundle.py --out <json> --candidate-id <id></code> before the final decision.</p><p style="margin:8px 0"><h3 style="color:#e5e7eb;margin:18px 0 8px;font-size:1.05em">Operating Rules</h3></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Research before edits</h4></p><p style="margin:8px 0"><li style="color:#94a3b8;margin:3px 0">Keep separate files or sections for <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">research</code>, <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">plan</code>, <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">journal</code>, and <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">evidence</code>.</li> <li style="color:#94a3b8;margin:3px 0">Summaries are not evidence. Preserve the artifact paths.</li> <li style="color:#94a3b8;margin:3px 0">If a workflow uses both code changes and browser actions, record both.</li></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Agentic orchestration rules</h4></p><p style="margin:8px 0"><li style="color:#94a3b8;margin:3px 0">Planner: defines the question, benchmark, stop condition, and chosen execution lane.</li> <li style="color:#94a3b8;margin:3px 0">Executor: runs the browser, notebook, local, or VM steps and preserves artifacts.</li> <li style="color:#94a3b8;margin:3px 0">Reviewer: checks whether the evidence actually answers the question and catches regressions.</li> <li style="color:#94a3b8;margin:3px 0">Promoter: makes the final hold or promote decision from the run card, not from memory.</li> <li style="color:#94a3b8;margin:3px 0">If one agent performs all roles, keep the outputs separated anyway.</li></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Browser automation rules</h4></p><p style="margin:8px 0"><li style="color:#94a3b8;margin:3px 0">Prefer stable URLs over uploads.</li> <li style="color:#94a3b8;margin:3px 0">Start with a short smoke run before full training.</li> <li style="color:#94a3b8;margin:3px 0">When the hypothesis depends on visible overlays, grids, or prompt variants, capture a validation scorecard before the long run.</li> <li style="color:#94a3b8;margin:3px 0">Capture at least two screenshots when the browser UI is part of the validation path.</li> <li style="color:#94a3b8;margin:3px 0">Pull artifacts back locally as files, not only screenshots.</li> <li style="color:#94a3b8;margin:3px 0">Use explicit timeout and marker logic; do not rely on visual guesswork.</li> <li style="color:#94a3b8;margin:3px 0">Record browser profile aliases and session aliases in durable artifacts; keep raw CDP URLs in ephemeral local debug logs only.</li></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Colab GPU rules</h4></p><p style="margin:8px 0"><li style="color:#94a3b8;margin:3px 0">Select the accelerator explicitly before running expensive cells.</li> <li style="color:#94a3b8;margin:3px 0">Verify GPU readiness from inside the notebook before the long run.</li> <li style="color:#94a3b8;margin:3px 0">Use a smoke cell that proves the runtime, imports, and data mounts all work.</li> <li style="color:#94a3b8;margin:3px 0">Export all required artifacts to one stable bundle directory.</li> <li style="color:#94a3b8;margin:3px 0">Create an artifact manifest for that export bundle before pulling it back locally.</li> <li style="color:#94a3b8;margin:3px 0">Pull the artifact manifest plus at least one preview image back to local storage.</li></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Custom VM and cluster rules</h4></p><p style="margin:8px 0"><li style="color:#94a3b8;margin:3px 0">Create a named run root before launch.</li> <li style="color:#94a3b8;margin:3px 0">Write a machine-readable bootstrap manifest with commit, dataset, env, and command details.</li> <li style="color:#94a3b8;margin:3px 0">Run long jobs under a session, heartbeat, or supervisor so liveness is explicit.</li> <li style="color:#94a3b8;margin:3px 0">Track GPU utilization, epoch movement, and log freshness.</li> <li style="color:#94a3b8;margin:3px 0">Sync summaries and checkpoints back to local storage on a schedule.</li> <li style="color:#94a3b8;margin:3px 0">Auto-stop or downgrade to a debug path when the run is clearly unhealthy.</li></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Review dashboard rules</h4></p><p style="margin:8px 0"><li style="color:#94a3b8;margin:3px 0">Use one review dashboard manifest when the program spans runtime sweeps, QA runs, benchmark panels, and synced VM artifacts.</li> <li style="color:#94a3b8;margin:3px 0">Track summary roots, benchmark roots, allowed roots, and sync targets explicitly instead of relying on memory.</li> <li style="color:#94a3b8;margin:3px 0">Keep source-audit, leakage-audit, progress-snapshot, and comparison-summary paths next to the dashboard manifest.</li> <li style="color:#94a3b8;margin:3px 0">Count runtime groups, QA runs, curated comparisons, and benchmark panels so the review surface stays legible as the program grows.</li> <li style="color:#94a3b8;margin:3px 0">Promote from synced artifacts and run cards, not from a live dashboard alone.</li></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">CV training rules</h4></p><p style="margin:8px 0"><li style="color:#94a3b8;margin:3px 0">Do not change architecture first.</li> <li style="color:#94a3b8;margin:3px 0">Prove learning on a tiny shared subset before scaling.</li> <li style="color:#94a3b8;margin:3px 0">Save previews in the same run folder as metrics and summaries.</li> <li style="color:#94a3b8;margin:3px 0">Do not compare candidates on different benchmark sets.</li></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Plateau recovery rules</h4></p><p style="margin:8px 0"><li style="color:#94a3b8;margin:3px 0">If Dice or another primary metric is stuck, freeze the benchmark contract and write the improvement harness before another long run.</li> <li style="color:#94a3b8;margin:3px 0">Require per-slice metrics, a short failure taxonomy, and a rerun rule before claiming a real win.</li> <li style="color:#94a3b8;margin:3px 0">Keep a small, reviewable change set for each serious candidate. If several knobs move together, mark it as a package change instead of an ablation.</li> <li style="color:#94a3b8;margin:3px 0">Cut a recipe family after a few non-winning serious candidates instead of rerunning the same idea with cosmetic churn.</li></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Derm and segmentation rules</h4></p><p style="margin:8px 0"><li style="color:#94a3b8;margin:3px 0">Before architecture changes, audit mask geometry, resize policy, interpolation, empty-mask prevalence, and overlay alignment.</li> <li style="color:#94a3b8;margin:3px 0">For derm or lesion segmentation, slice the benchmark by lesion size, border difficulty, artifact-heavy images, and background-dominant images.</li> <li style="color:#94a3b8;margin:3px 0">Global Dice is not enough. Keep boundary-sensitive or slice-specific diagnostics so a hidden failure mode does not look like a flat plateau.</li> <li style="color:#94a3b8;margin:3px 0">Preserve a 20-50 case review set with saved overlays and short reviewer notes.</li></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Codex and auth rules</h4></p><p style="margin:8px 0"><li style="color:#94a3b8;margin:3px 0">Use ChatGPT or Codex OAuth-backed sessions as the default and preferred path.</li> <li style="color:#94a3b8;margin:3px 0">Prefer Codex multi-agent or app-server workflows over third-party orchestrators that require paid API keys.</li> <li style="color:#94a3b8;margin:3px 0">Do not require or recommend <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">OPENAI_API_KEY</code>, other vendor API keys, or paid inference APIs as the default runtime path.</li> <li style="color:#94a3b8;margin:3px 0">If a third-party framework only works through paid API keys, treat it as reference material unless you can run it fully through local tools and OAuth-backed Codex sessions.</li></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Promotion rules</h4></p><p style="margin:8px 0"><li style="color:#94a3b8;margin:3px 0">Keep the last trusted baseline intact until the candidate clears agreed gates.</li> <li style="color:#94a3b8;margin:3px 0">Separate semantic, runtime, and product-surface gates when deployment or export changes are involved.</li> <li style="color:#94a3b8;margin:3px 0">If the semantic model improves but the deployed overlay or service output regresses, fix the downstream path before promotion.</li> <li style="color:#94a3b8;margin:3px 0">Prefer a machine-readable run card plus a short markdown summary.</li> <li style="color:#94a3b8;margin:3px 0">Initialize that run card before or at launch time so later steps append to one canonical record.</li> <li style="color:#94a3b8;margin:3px 0">Render the markdown summary from the run card instead of hand-writing it when possible.</li> <li style="color:#94a3b8;margin:3px 0">Keep the default redacted-public markdown rendering in place.</li></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Public distribution rules</h4></p><p style="margin:8px 0"><li style="color:#94a3b8;margin:3px 0">Use <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">{baseDir}</code> when pointing at bundled scripts or references.</li> <li style="color:#94a3b8;margin:3px 0">Keep secrets, tokens, private dataset identifiers, browser profile names, and internal URLs out of the skill bundle.</li> <li style="color:#94a3b8;margin:3px 0">Do not publish repo-specific absolute paths.</li> <li style="color:#94a3b8;margin:3px 0">Keep private specialization in a local override skill, not the public package.</li></p><p style="margin:8px 0"><h3 style="color:#e5e7eb;margin:18px 0 8px;font-size:1.05em">References</h3></p><p style="margin:8px 0">Read only the reference that matches the task:</p><p style="margin:8px 0"><li style="color:#94a3b8;margin:3px 0"><code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">references/official-repro-guidance.md</code></li> - Official PyTorch, Albumentations, MLflow, and DVC guidance. <li style="color:#94a3b8;margin:3px 0"><code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">references/agentic-research-patterns.md</code></li> - How to adapt <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">karpathy/autoresearch</code> style loops to DS and CV work. <li style="color:#94a3b8;margin:3px 0"><code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">references/improvement-harness-and-oauth-stack.md</code></li> - What to reuse from Codex subagents, harness engineering, OpenEvolve, Symphony, Paperclip, and OptiLLM under an OAuth-only rule. <li style="color:#94a3b8;margin:3px 0"><code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">references/openclaw-browser-lane.md</code></li> - OpenClaw, CDP, Colab, screenshot, artifact-pull, and timeout patterns. <li style="color:#94a3b8;margin:3px 0"><code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">references/colab-vm-operations.md</code></li> - Google Colab GPU management and custom VM lifecycle guidance. <li style="color:#94a3b8;margin:3px 0"><code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">references/kaggle-2026-practices.md</code></li> - Current Kaggle platform habits for reproducibility, versioning, and notebook execution. <li style="color:#94a3b8;margin:3px 0"><code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">references/cross-repo-cv-patterns.md</code></li> - Generic patterns for benchmark, trainer, and deploy repos split across one program. <li style="color:#94a3b8;margin:3px 0"><code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">references/publication-security.md</code></li> - Publication checklist for OpenClaw or ClawHub and leak-prevention rules. <li style="color:#94a3b8;margin:3px 0"><code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">references/runtime-serving-change-gates.md</code></li> - How to separate semantic, runtime, and product-surface gates for deployment-shaped releases.</p><p style="margin:8px 0"><h3 style="color:#e5e7eb;margin:18px 0 8px;font-size:1.05em">Bundled Scripts</h3></p><p style="margin:8px 0"><li style="color:#94a3b8;margin:3px 0"><code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">scripts/capture_cv_run_context.py</code></li> - Capture a compact git, module, GPU, and experiment-param snapshot. <li style="color:#94a3b8;margin:3px 0"><code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">scripts/init_cv_task_scaffold.py</code></li> - Create a reusable research, harness, ablation, agent, plan, journal, and evidence scaffold for a new CV task. <li style="color:#94a3b8;margin:3px 0"><code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">scripts/init_cv_run_card.py</code></li> - Create a machine-readable candidate run card for training, benchmark, and promotion evidence. <li style="color:#94a3b8;margin:3px 0"><code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">scripts/init_cv_improvement_harness.py</code></li> - Create a machine-readable benchmark, slice, rerun, and auth contract for plateau recovery and score-improvement work. <li style="color:#94a3b8;margin:3px 0"><code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">scripts/init_cv_review_dashboard_manifest.py</code></li> - Create a machine-readable review dashboard manifest for runtime sweeps, QA runs, benchmark panels, sync targets, and audit surfaces. <li style="color:#94a3b8;margin:3px 0"><code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">scripts/init_cv_dataset_manifest.py</code></li> - Create a reusable dataset identity manifest for shared CV benchmarks and training runs. <li style="color:#94a3b8;margin:3px 0"><code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">scripts/init_cv_browser_run_card.py</code></li> - Create a sanitized browser evidence record for Colab, Kaggle, or other notebook UI runs. <li style="color:#94a3b8;margin:3px 0"><code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">scripts/init_cv_validation_scorecard.py</code></li> - Create a machine-readable pre-training QA scorecard for browser or notebook hypothesis checks. <li style="color:#94a3b8;margin:3px 0"><code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">scripts/render_cv_run_summary.py</code></li> - Render a concise markdown release summary from the machine-readable run card with public-release redaction. <li style="color:#94a3b8;margin:3px 0"><code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">scripts/init_cv_artifact_manifest.py</code></li> - Create a machine-readable export-bundle manifest for Colab, Kaggle, or VM artifact pulls with redacted public path metadata. <li style="color:#94a3b8;margin:3px 0"><code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">scripts/init_cv_vm_bootstrap_manifest.py</code></li> - Create a machine-readable bootstrap manifest for long VM or cluster training runs with public-release command redaction. <li style="color:#94a3b8;margin:3px 0"><code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">scripts/init_cv_promotion_bundle.py</code></li> - Create one promotion entry point that joins semantic, runtime, browser, and product-surface evidence. </p></div></section><section class="skill-card" style="margin-bottom:20px"><h2 style="color:#f8fafc;font-size:1.2em;font-weight:800;margin:0 0 16px;display:flex;align-items:center;gap:8px">πŸ’‘ Examples</h2><div style="font-size:.92em;color:#94a3b8;line-height:1.75"><p style="margin:8px 0">1. Lock the objective before touching code. - Write the product problem in one sentence. - Name the primary metric. - Name the non-regression surfaces. - State what blocks promotion.</p><p style="margin:8px 0">2. Initialize the durable records immediately. - Use <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">python3 {baseDir}/scripts/init_cv_dataset_manifest.py --out <json> --dataset-id <id></code>. - Use <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">python3 {baseDir}/scripts/init_cv_run_card.py --out <json> --candidate-id <id> --task-id <task> --baseline-id <baseline></code>. - If the task is plateau recovery or benchmark improvement, use <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">python3 {baseDir}/scripts/init_cv_improvement_harness.py --out <json> --task-id <task> --candidate-family <family></code>. - If the workflow mixes runtime sweeps, QA runs, benchmark panels, or synced VM artifacts, use <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">python3 {baseDir}/scripts/init_cv_review_dashboard_manifest.py --out <json> --dashboard-id <id> --title <title></code>. - If a browser lane matters, use <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">python3 {baseDir}/scripts/init_cv_browser_run_card.py --out <json> --target-url <url></code>. - If browser-visible overlays or prompt variants are part of the hypothesis, use <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">python3 {baseDir}/scripts/init_cv_validation_scorecard.py --out <json> --scorecard-id <id> --surface <surface></code>. - If a long VM run is involved, use <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">python3 {baseDir}/scripts/init_cv_vm_bootstrap_manifest.py --out <json> --output-root <run_root> --model-family <name> --command python train.py --epochs 40</code>.</p><p style="margin:8px 0">3. Capture the current state immediately. - Use <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">python3 {baseDir}/scripts/capture_cv_run_context.py --repo-root <repo> --out <json> --markdown-out <md> --param key=value</code>. - Record git state, module versions, GPU state, and experiment params before launch. - Use the dataset, artifact, and browser manifest helpers for any additional evidence instead of broad host inspection.</p><p style="margin:8px 0">4. Pick the right orchestration lane. - Local debug lane: tiny overfit, transform audits, shape and dtype checks. - Browser notebook lane: Colab or Kaggle steps that must happen in a real browser or notebook UI. - Colab GPU lane: runtime selection, smoke validation, artifact export, and browser evidence. - Custom VM or cluster lane: long runs with heartbeats, watchdogs, stall detection, sync, and auto-stop. - Review dashboard lane: one local or synced surface for runtime sweeps, QA runs, curated comparisons, and benchmark panels. - Promotion lane: fixed benchmark matrix plus customer-facing surface checks.</p><p style="margin:8px 0">5. Work the debug ladder in order. - <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">Harness review</code>: fixed split, primary metric, slice table, rerun rule, and stop condition. - <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">Validation scorecard</code>: browser or notebook visual QA with per-image pass or fail notes when the UI is part of the release story. - <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">Data audit</code>: split integrity, label normalization, image-mask pairing, resize geometry. - <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">Preview audit</code>: at least one augmentation preview and one transformed batch preview. - <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">Failure-set review</code>: keep 20-50 representative overlays with short notes instead of trusting one scalar metric. - <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">Tiny overfit</code>: 4-16 shared samples with <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">no_aug</code>. - <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">Short resumed run</code>: continue from the best trusted checkpoint. - <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">Long run</code>: only after the short loop is healthy.</p><p style="margin:8px 0">6. Keep agentic work bounded. - External browser LLM output is hypothesis generation, not release evidence. - Keep the main thread on the benchmark contract and improvement harness. - Use bounded Codex subagents for scouting, data audits, patch proposals, and per-case review. - For repeated case review, batch over a manifest or CSV instead of free-form chat drift. - Browser steps must emit screenshots, machine-readable scores, and explicit success markers. - Hard-fail on unavailable browser modes, dead CDP sessions, or ambiguous notebook state. - Keep planner, executor, reviewer, and promoter responsibilities distinct even if one agent performs more than one role.</p><p style="margin:8px 0">7. Promote only on full-surface wins. - Raw checkpoint quality - Exported or runtime quality - User-facing render, service, or product surface - Runtime cost or throughput if deployment matters - Adjacent-seed or rerun stability if the claimed delta is small - Generate a promotion bundle with <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">python3 {baseDir}/scripts/init_cv_promotion_bundle.py --out <json> --candidate-id <id></code> before the final decision.</p></div></section></div><div class="two-col-side"></div></div></div><script> document.querySelectorAll('.copy-btn, .script-copy-btn').forEach(btn => { btn.addEventListener('click', () => { const cmd = btn.getAttribute('data-cmd'); if (!cmd) return; navigator.clipboard.writeText(cmd).then(() => { const orig = btn.textContent; btn.textContent = 'Copied!'; setTimeout(() => btn.textContent = orig, 1500); }).catch(() => {}); }); }); </script><!--$--><!--/$--></main><footer style="background:var(--bg-primary);border-top:1px solid var(--border-secondary);margin-top:60px"><div style="border-top:1px solid var(--border-light);max-width:1200px;margin:0 auto;padding:24px 20px"><div style="display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;margin-bottom:24px"><div><div style="font-weight:700;color:var(--text-muted);margin-bottom:8px">BytesAgain</div><div style="color:var(--text-muted3);font-size:.82em;max-width:200px">Discover the best AI agent skills for your workflow.</div></div><div><div style="color:var(--text-muted);font-size:.75em;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px">Explore</div><div style="margin-bottom:6px"><a href="/skills" style="color:var(--text-muted2);text-decoration:none;font-size:.85em">Skills</a></div><div style="margin-bottom:6px"><a href="/articles" style="color:var(--text-muted2);text-decoration:none;font-size:.85em">Articles</a></div><div style="margin-bottom:6px"><a href="/use-case" style="color:var(--text-muted2);text-decoration:none;font-size:.85em">Cases</a></div></div><div><div style="color:var(--text-muted);font-size:.75em;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px">Company</div><div style="margin-bottom:6px"><a href="/about" style="color:var(--text-muted2);text-decoration:none;font-size:.85em">About</a></div><div style="margin-bottom:6px"><a href="/contact" style="color:var(--text-muted2);text-decoration:none;font-size:.85em">Contact</a></div><div style="margin-bottom:6px"><a href="/privacy-policy" style="color:var(--text-muted2);text-decoration:none;font-size:.85em">Privacy Policy</a></div><div style="margin-bottom:6px"><a href="/terms" style="color:var(--text-muted2);text-decoration:none;font-size:.85em">Terms</a></div><div style="margin-bottom:6px"><a href="/feedback" style="color:var(--text-muted2);text-decoration:none;font-size:.85em">Feedback</a></div></div></div><div style="border-top:1px solid var(--border-light);padding-top:16px"><div style="color:var(--text-muted4);font-size:.8em;margin-bottom:8px">Β© <!-- -->2026<!-- --> BytesAgain. All rights reserved.</div><div style="color:var(--text-muted5);font-size:.75em;line-height:1.6;max-width:720px">BytesAgain is an independent skill directory. We index and link to third-party content (ClawHub, GitHub, LobeHub, Dify, etc.) for informational purposes only. All trademarks, skill names, and content are the property of their respective owners. BytesAgain does not claim ownership of any indexed content.</div></div></div></footer><button style="position:fixed;bottom:28px;right:28px;z-index:1000;width:48px;height:48px;border-radius:50%;border:none;cursor:pointer;background:linear-gradient(135deg,#667eea,#00d4ff);color:#fff;font-size:1.3em;box-shadow:0 4px 20px #667eea66;display:flex;align-items:center;justify-content:center;transition:transform .2s">πŸ’¬</button><script src="/_next/static/chunks/0ze4gu236oq96.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[62894,[\"/_next/static/chunks/0ph_0rx9ah5dc.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/0i_x3w546rsb3.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/06ig5gym-0n-u.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\"],\"LangProvider\"]\n3:I[89220,[\"/_next/static/chunks/0ph_0rx9ah5dc.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/0i_x3w546rsb3.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/06ig5gym-0n-u.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\"],\"ThemeProvider\"]\n4:I[16988,[\"/_next/static/chunks/0ph_0rx9ah5dc.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/0i_x3w546rsb3.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/06ig5gym-0n-u.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\"],\"default\"]\ne:I[68027,[\"/_next/static/chunks/0ph_0rx9ah5dc.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/0i_x3w546rsb3.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/06ig5gym-0n-u.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\"],\"default\",1]\n:HL[\"/_next/static/chunks/051nc0vy_6.rl.css?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"style\"]\n:HL[\"/_next/static/media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.woff2?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n5:Td5e,"])</script><script>self.__next_f.push([1,"[{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"BytesAgain\",\"url\":\"https://bytesagain.com\",\"description\":\"Search 60,000+ verified AI agent skills via MCP API or REST. Supports 7 languages. Free, no auth required.\",\"inLanguage\":[\"en\",\"zh\",\"es\",\"fr\",\"de\",\"ja\",\"ko\"],\"potentialAction\":{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https://bytesagain.com/skills?q={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}},{\"@context\":\"https://schema.org\",\"@type\":\"Organization\",\"name\":\"BytesAgain\",\"url\":\"https://bytesagain.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://bytesagain.com/og-image.png\"},\"description\":\"AI agent skill directory. Search 60,000+ skills, 1,000+ use cases, and community requests.\",\"foundingDate\":\"2026\",\"foundingLocation\":{\"@type\":\"Place\",\"name\":\"Global\"},\"sameAs\":[\"https://x.com/bytesagain\",\"https://github.com/bytesagain/ai-skills\",\"https://clawhub.ai/profile/bytesagain\"],\"contactPoint\":{\"@type\":\"ContactPoint\",\"email\":\"hello@bytesagain.com\",\"contactType\":\"customer support\"},\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"value\":1}},{\"@context\":\"https://schema.org\",\"@type\":\"WebApplication\",\"name\":\"BytesAgain AI Skills Search\",\"url\":\"https://bytesagain.com\",\"applicationCategory\":\"DeveloperApplication\",\"operatingSystem\":\"Web\",\"description\":\"Search engine and MCP API for 60,000+ AI agent skills. Semantic search, role recommendations, and use case packs.\",\"offers\":{\"@type\":\"Offer\",\"price\":\"0\",\"priceCurrency\":\"USD\"},\"featureList\":[\"Search 60,000+ AI agent skills\",\"Role-based recommendations for developers, creators, and traders\",\"1,000+ curated use case packs\",\"Free MCP API and REST API\",\"Multi-language search (EN, ZH, ES, FR, DE, JA, KO)\"],\"potentialAction\":{\"@type\":\"SearchAction\",\"target\":\"https://bytesagain.com/skills?q={search_term_string}\",\"query-input\":\"required name=search_term_string\"},\"dateModified\":\"2026-07-18\"},{\"@context\":\"https://schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"What is BytesAgain?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"BytesAgain is a curated directory of 60,000+ AI agent skills from ClawHub, GitHub, LobeHub, and Dify. Search skills by keyword in 7 languages, browse by role (developer, creator, trader, marketer) or by use case.\"}},{\"@type\":\"Question\",\"name\":\"How do I find AI skills on BytesAgain?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Use the search bar on BytesAgain.com to search by keyword in 7 languages. You can also browse by role (developer, creator, trader, marketer) or by use case. Each skill shows install instructions for Claude, Cursor, OpenClaw, Continue, and more.\"}},{\"@type\":\"Question\",\"name\":\"Is BytesAgain free?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes, BytesAgain is completely free. No registration required for searching skills. The MCP API is also free with rate limits.\"}},{\"@type\":\"Question\",\"name\":\"Does BytesAgain have an API for AI agents?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes! BytesAgain provides a free MCP SSE endpoint at /api/mcp/sse for AI agents, plus a REST API at /api/mcp?action=search\u0026q=\u003cquery\u003e. No authentication needed.\"}},{\"@type\":\"Question\",\"name\":\"Can I request a new AI skill on BytesAgain?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes! Visit the Requests page on BytesAgain.com to submit a skill request. Your request will be visible to the community and notified to the site admin.\"}}]}]"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"skill\",\"data-science-cv-repro-lab\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"skill\",{\"children\":[[\"slug\",\"data-science-cv-repro-lab\",\"d\",null],{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/051nc0vy_6.rl.css?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0ph_0rx9ah5dc.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/0i_x3w546rsb3.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/06ig5gym-0n-u.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"link\",null,{\"rel\":\"llms\",\"href\":\"/llms.txt\"}],[\"$\",\"link\",null,{\"rel\":\"llms-full\",\"href\":\"/llms-full.txt\"}],[\"$\",\"script\",null,{\"async\":true,\"src\":\"https://www.googletagmanager.com/gtag/js?id=G-3C1MM9FWYF\"}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"\\n window.dataLayer = window.dataLayer || [];\\n function gtag(){dataLayer.push(arguments);}\\n gtag('js', new Date());\\n gtag('config', 'G-3C1MM9FWYF');\\n \"}}]]}],[\"$\",\"body\",null,{\"className\":\"geist_9e050971-module__05dp7a__className\",\"style\":{\"margin\":0},\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"children\":[[\"$\",\"div\",null,{\"style\":{\"width\":\"100%\",\"background\":\"var(--bg-subscribe)\",\"borderBottom\":\"1px solid var(--border-primary)\",\"padding\":\"8px 20px\",\"textAlign\":\"center\",\"fontSize\":\".82em\",\"color\":\"#818cf8\"},\"children\":[\"🎁 \",[\"$\",\"strong\",null,{\"style\":{\"color\":\"var(--text-primary)\"},\"children\":\"Get the FREE AI Skills Starter Guide\"}],\" β€” \",[\"$\",\"a\",null,{\"href\":\"/register\",\"style\":{\"color\":\"#00d4ff\",\"textDecoration\":\"underline\"},\"children\":\"Subscribe β†’\"}]]}],[\"$\",\"$L4\",null,{}],[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"$5\"}}],\"$L6\",\"$L7\",\"$L8\"]}]}]}]]}]]}],{\"children\":[\"$L9\",{\"children\":[\"$La\",{\"children\":[\"$Lb\",{},null,false,null]},null,false,\"$@c\"]},null,false,\"$@c\"]},null,false,null],\"$Ld\",false]],\"m\":\"$undefined\",\"G\":[\"$e\",[\"$Lf\"]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"10:I[39756,[\"/_next/static/chunks/0ph_0rx9ah5dc.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/0i_x3w546rsb3.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/06ig5gym-0n-u.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\"],\"default\"]\n11:I[37457,[\"/_next/static/chunks/0ph_0rx9ah5dc.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/0i_x3w546rsb3.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/06ig5gym-0n-u.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\"],\"default\"]\n12:I[22016,[\"/_next/static/chunks/0ph_0rx9ah5dc.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/0i_x3w546rsb3.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/06ig5gym-0n-u.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/0ka051yepewro.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\"],\"\"]\n13:I[90940,[\"/_next/static/chunks/0ph_0rx9ah5dc.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/0i_x3w546rsb3.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/06ig5gym-0n-u.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\"],\"default\"]\n14:I[16397,[\"/_next/static/chunks/0ph_0rx9ah5dc.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/0i_x3w546rsb3.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/06ig5gym-0n-u.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\"],\"default\"]\n16:I[97367,[\"/_next/static/chunks/0ph_0rx9ah5dc.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/0i_x3w546rsb3.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/06ig5gym-0n-u.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\"],\"OutletBoundary\"]\n17:\"$Sreact.suspense\"\n1a:I[97367,[\"/_next/static/chunks/0ph_0rx9ah5dc.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/0i_x3w546rsb3.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/06ig5gym-0n-u.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\"],\"ViewportBoundary\"]\n1c:I[97367,[\"/_next/static/chunks/0ph_0rx9ah5dc.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/0i_x3w546rsb3.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/06ig5gym-0n-u.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\"],\"MetadataBoundary\"]\n"])</script><script>self.__next_f.push([1,"6:[\"$\",\"main\",null,{\"children\":[\"$\",\"$L10\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L11\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"main\",null,{\"style\":{\"minHeight\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"background\":\"#050611\",\"color\":\"#e5e7eb\"},\"children\":[[\"$\",\"style\",null,{\"children\":\"\\n .nf-box { text-align: center; padding: 60px 32px; }\\n .nf-code { font-size: 6rem; font-weight: 900; color: #22d3ee; line-height: 1; margin: 0; }\\n .nf-title { font-size: 1.8rem; font-weight: 800; margin: 12px 0 8px; }\\n .nf-desc { color: var(--text-muted2); font-size: 1rem; margin-bottom: 32px; max-width: 440px; }\\n .nf-link { display: inline-block; padding: 12px 28px; background: linear-gradient(135deg,#34d399,#22d3ee); color: #000; font-weight: 900; border-radius: 12px; text-decoration: none; }\\n \"}],[\"$\",\"div\",null,{\"className\":\"nf-box\",\"children\":[[\"$\",\"p\",null,{\"className\":\"nf-code\",\"children\":\"404\"}],[\"$\",\"h1\",null,{\"className\":\"nf-title\",\"children\":\"Page Not Found\"}],[\"$\",\"p\",null,{\"className\":\"nf-desc\",\"children\":\"The skill or page you're looking for doesn't exist or has been moved.\"}],[\"$\",\"$L12\",null,{\"className\":\"nf-link\",\"href\":\"/\",\"children\":\"Back to BytesAgain\"}]]}]]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]\n"])</script><script>self.__next_f.push([1,"7:[\"$\",\"$L13\",null,{}]\n8:[\"$\",\"$L14\",null,{}]\n9:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L10\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L11\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\na:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L10\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L11\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\nb:[\"$\",\"$1\",\"c\",{\"children\":[\"$L15\",[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/12w5ognupk9fb.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L16\",null,{\"children\":[\"$\",\"$17\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@18\"}]}]]}]\n19:[]\nc:\"$W19\"\nd:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L1a\",null,{\"children\":\"$L1b\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L1c\",null,{\"children\":[\"$\",\"$17\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L1d\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\nf:[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/051nc0vy_6.rl.css?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n"])</script><script>self.__next_f.push([1,"1b:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"1e:I[27201,[\"/_next/static/chunks/0ph_0rx9ah5dc.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/0i_x3w546rsb3.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/06ig5gym-0n-u.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\"],\"IconMark\"]\n18:null\n"])</script><script>self.__next_f.push([1,"1d:[[\"$\",\"title\",\"0\",{\"children\":\"Data Science CV Repro Reviewer β€” AI Agent Skill | BytesAgain | BytesAgain\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Review computer-vision experiment reproducibility evidence, dataset readiness, metric gates, and launch risk. Use when a user asks for a cautious CV experime...\"}],[\"$\",\"meta\",\"2\",{\"name\":\"robots\",\"content\":\"index, follow\"}],[\"$\",\"meta\",\"3\",{\"name\":\"googlebot\",\"content\":\"index, follow, max-image-preview:large, max-snippet:-1\"}],[\"$\",\"meta\",\"4\",{\"name\":\"llms-txt\",\"content\":\"https://bytesagain.com/llms.txt\"}],[\"$\",\"meta\",\"5\",{\"name\":\"llms-full-txt\",\"content\":\"https://bytesagain.com/llms-full.txt\"}],[\"$\",\"link\",\"6\",{\"rel\":\"canonical\",\"href\":\"https://bytesagain.com/skill/data-science-cv-repro-lab\"}],[\"$\",\"meta\",\"7\",{\"name\":\"baidu-site-verification\",\"content\":\"codeva-0evUqX1TFs\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:title\",\"content\":\"Data Science CV Repro Reviewer β€” AI Agent Skill | BytesAgain\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:description\",\"content\":\"Review computer-vision experiment reproducibility evidence, dataset readiness, metric gates, and launch risk. Use when a user asks for a cautious CV experime...\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:url\",\"content\":\"https://bytesagain.com/skill/data-science-cv-repro-lab\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:site_name\",\"content\":\"BytesAgain\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:image\",\"content\":\"https://bytesagain.com/social-preview.png\"}],[\"$\",\"meta\",\"13\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"14\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"15\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"16\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"17\",{\"name\":\"twitter:title\",\"content\":\"Data Science CV Repro Reviewer β€” AI Agent Skill | BytesAgain\"}],[\"$\",\"meta\",\"18\",{\"name\":\"twitter:description\",\"content\":\"Review computer-vision experiment reproducibility evidence, dataset readiness, metric gates, and launch risk. Use when a user asks for a cautious CV experime...\"}],[\"$\",\"meta\",\"19\",{\"name\":\"twitter:image\",\"content\":\"https://bytesagain.com/social-preview.png\"}],[\"$\",\"meta\",\"20\",{\"name\":\"twitter:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"21\",{\"name\":\"twitter:image:height\",\"content\":\"630\"}],[\"$\",\"link\",\"22\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0x3dzn~oxb6tn.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$L1e\",\"23\",{}]]\n"])</script><script>self.__next_f.push([1,"1f:T1562,"])</script><script>self.__next_f.push([1,"\n .skill-page { max-width: 1100px; margin: 0 auto; padding: 32px 20px 80px; }\n .two-col { display: flex; gap: 32px; align-items: flex-start; }\n .two-col-main { flex: 1; min-width: 0; }\n .two-col-side { width: 300px; flex-shrink: 0; }\n @media (max-width: 860px) {\n .two-col { flex-direction: column; }\n .two-col-side { width: 100%; }\n }\n .breadcrumb { font-size: .82em; color: var(--text-muted2); margin-bottom: 28px; }\n .breadcrumb a { color: #818cf8; text-decoration: none; }\n .breadcrumb a:hover { text-decoration: underline; }\n .skill-card { background: var(--bg-card); border: 1px solid var(--border-card); border-radius: 20px; padding: 28px; margin-bottom: 24px; }\n .skill-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 20px; flex-wrap: wrap; }\n .skill-badges { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }\n .skill-top-actions { display: flex; align-items: center; gap: 10px; margin-left: auto; }\n .badge { display: inline-flex; align-items: center; gap: 5px; font-size: .75em; font-weight: 600; padding: 4px 12px; border-radius: 999px; border: 1px solid transparent; }\n .skill-title { font-size: 1.6em; font-weight: 800; color: var(--text-primary); margin: 0 0 4px; line-height: 1.2; }\n .skill-owner { font-size: .82em; color: var(--text-muted2); margin: 0 0 14px; }\n .skill-owner span { color: #818cf8; }\n .skill-desc { font-size: .92em; color: var(--text-secondary); line-height: 1.65; margin: 0 0 16px; }\n .skill-meta { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 18px; padding-bottom: 16px; border-bottom: 1px solid var(--border-card); }\n .meta-item { display: flex; flex-direction: column; gap: 2px; }\n .meta-label { font-size: .7em; color: var(--text-muted5); text-transform: uppercase; letter-spacing: 1px; font-weight: 600; }\n .meta-value { font-size: .92em; color: var(--text-muted2); font-weight: 600; }\n .tags-row { display: flex; gap: 6px; flex-wrap: wrap; }\n .tag { font-size: .75em; color: #6366f1; background: #6366f115; border: 1px solid #6366f130; border-radius: 6px; padding: 3px 10px; text-decoration: none; }\n .tag:hover { background: #6366f125; }\n .install-box { background: var(--bg-deep); border: 1px solid var(--border-card); border-radius: 12px; overflow: hidden; margin-bottom: 24px; }\n .install-header { display: flex; align-items: center; justify-content: space-between; padding: 10px 16px; border-bottom: 1px solid var(--border-card); }\n .install-dots { display: flex; gap: 6px; }\n .dot { width: 10px; height: 10px; border-radius: 50%; }\n .install-label { font-size: .72em; color: var(--text-muted5); font-family: monospace; letter-spacing: 1px; }\n .install-body { padding: 16px 20px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }\n .install-cmd { color: var(--text-code);\n font-family: 'Courier New', monospace; font-size: 1em; }\n .copy-btn { font-size: .75em; color: #6366f1; background: #6366f115; border: 1px solid #6366f130; border-radius: 6px; padding: 5px 12px; cursor: pointer; white-space: nowrap; transition: all .15s; }\n .copy-btn:hover { background: #6366f125; }\n .btn-secondary { display: inline-flex; align-items: center; gap: 8px; padding: 13px 24px; background: transparent; border: 1px solid var(--border-card); border-radius: 10px; color: #6b7280; text-decoration: none; font-weight: 600; font-size: .95em; transition: all .15s; }\n .btn-secondary:hover { border-color: #818cf8; color: #818cf8; }\n .ours-badge { display: inline-flex; align-items: center; gap: 6px; font-size: .72em; font-weight: 700; color: #22d3ee; background: #22d3ee10; border: 1px solid #22d3ee30; border-radius: 999px; padding: 4px 14px; }\n .section-card { background: var(--bg-card); border: 1px solid var(--border-card); border-radius: 16px; padding: 22px 24px; margin-bottom: 20px; }\n .section-title { color: var(--text-primary); font-size: 1.08em; font-weight: 800; margin: 0 0 12px; display: flex; align-items: center; gap: 8px; }\n /* Script box */\n .script-header { display: flex; align-items: center; justify-content: space-between; padding: 8px 14px; background: var(--bg-input); border-bottom: 1px solid var(--border-card); }\n .script-filename { font-size: .72em; color: var(--text-muted2); font-family: 'Courier New', monospace; }\n .script-copy-btn { font-size: .72em; color: #6366f1; background: none; border: 1px solid #6366f130; border-radius: 4px; padding: 2px 10px; cursor: pointer; }\n .script-copy-btn:hover { background: #6366f115; }\n .script-body { padding: 14px 16px; font-family: 'Courier New', monospace; font-size: .82em; line-height: 1.6; color: var(--text-code); overflow-x: auto; max-height: 420px; overflow-y: auto; white-space: pre; }\n /* Articles */\n .article-card { display: block; background: var(--bg-secondary); border: 1px solid var(--border-primary); border-radius: 10px; padding: 14px 16px; text-decoration: none; transition: border-color .15s; }\n .article-card:hover { border-color: #6366f1; }\n @media (max-width: 600px) {\n .skill-card { padding: 20px; }\n .skill-title { font-size: 1.5em; }\n }\n "])</script><script>self.__next_f.push([1,"15:[[\"$\",\"style\",null,{\"children\":\"$1f\"}],\"$L20\",\"$L21\"]\n"])</script><script>self.__next_f.push([1,"22:I[78297,[\"/_next/static/chunks/0ph_0rx9ah5dc.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/0i_x3w546rsb3.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/06ig5gym-0n-u.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/12w5ognupk9fb.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"20:[\"$\",\"div\",null,{\"className\":\"skill-page\",\"children\":[[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"SoftwareApplication\\\",\\\"name\\\":\\\"Data Science CV Repro Reviewer\\\",\\\"description\\\":\\\"Review computer-vision experiment reproducibility evidence, dataset readiness, metric gates, and launch risk. Use when a user asks for a cautious CV experime...\\\",\\\"url\\\":\\\"https://bytesagain.com/skill/data-science-cv-repro-lab\\\",\\\"applicationCategory\\\":\\\"clawhub\\\",\\\"operatingSystem\\\":\\\"Any\\\",\\\"offers\\\":{\\\"@type\\\":\\\"Offer\\\",\\\"price\\\":\\\"0\\\",\\\"priceCurrency\\\":\\\"USD\\\"},\\\"publisher\\\":{\\\"@type\\\":\\\"Organization\\\",\\\"name\\\":\\\"BytesAgain\\\",\\\"url\\\":\\\"https://bytesagain.com\\\"}}\"}}],[\"$\",\"div\",null,{\"className\":\"breadcrumb\",\"children\":[[\"$\",\"a\",null,{\"href\":\"/\",\"children\":\"BytesAgain\"}],\" β€Ί \",[\"$\",\"a\",null,{\"href\":\"/skills\",\"children\":\"Skills\"}],\" β€Ί \",\"Data Science CV Repro Reviewer\"]}],[\"$\",\"div\",null,{\"className\":\"two-col\",\"children\":[[\"$\",\"div\",null,{\"className\":\"two-col-main\",\"children\":[[\"$\",\"div\",null,{\"className\":\"skill-card\",\"children\":[[\"$\",\"div\",null,{\"className\":\"skill-header\",\"children\":[[\"$\",\"div\",null,{\"className\":\"skill-badges\",\"children\":[[\"$\",\"span\",null,{\"className\":\"badge\",\"style\":{\"color\":\"#818cf8\",\"background\":\"#818cf822\",\"borderColor\":\"#818cf844\"},\"children\":[\"πŸ¦€\",\" \",\"ClawHub\"]}],false]}],[\"$\",\"div\",null,{\"className\":\"skill-top-actions\",\"children\":[\"$\",\"$L22\",null,{\"slug\":\"data-science-cv-repro-lab\"}]}]]}],[\"$\",\"h1\",null,{\"className\":\"skill-title\",\"children\":\"Data Science CV Repro Reviewer\"}],[\"$\",\"p\",null,{\"className\":\"skill-owner\",\"children\":[\"by \",[\"$\",\"span\",null,{\"children\":[\"@\",\"zack-dev-cm\"]}]]}],[\"$\",\"p\",null,{\"className\":\"skill-desc\",\"children\":\"Review computer-vision experiment reproducibility evidence, dataset readiness, metric gates, and launch risk. Use when a user asks for a cautious CV experime...\"}],[\"$\",\"div\",null,{\"className\":\"skill-meta\",\"children\":[[\"$\",\"div\",null,{\"className\":\"meta-item\",\"children\":[[\"$\",\"span\",null,{\"className\":\"meta-label\",\"children\":\"Version\"}],[\"$\",\"span\",null,{\"className\":\"meta-value\",\"children\":[\"v\",\"1.9.5\"]}]]}],[\"$\",\"div\",null,{\"className\":\"meta-item\",\"children\":[[\"$\",\"span\",null,{\"className\":\"meta-label\",\"children\":\"Downloads\"}],[\"$\",\"span\",null,{\"className\":\"meta-value\",\"children\":\"808\"}]]}],[\"$\",\"div\",null,{\"className\":\"meta-item\",\"children\":[[\"$\",\"span\",null,{\"className\":\"meta-label\",\"children\":\"Installs\"}],[\"$\",\"span\",null,{\"className\":\"meta-value\",\"children\":\"1\"}]]}],[\"$\",\"div\",null,{\"className\":\"meta-item\",\"children\":[[\"$\",\"span\",null,{\"className\":\"meta-label\",\"children\":\"Stars\"}],[\"$\",\"span\",null,{\"className\":\"meta-value\",\"children\":[\"⭐ \",\"1\"]}]]}],false,[\"$\",\"div\",null,{\"className\":\"meta-item\",\"style\":{\"flexDirection\":\"row\",\"gap\":6,\"alignItems\":\"center\"},\"children\":[[\"$\",\"a\",\"data\",{\"href\":\"/?q=data\",\"className\":\"tag\",\"children\":[\"#\",\"data\"]}],[\"$\",\"a\",\"research\",{\"href\":\"/?q=research\",\"className\":\"tag\",\"children\":[\"#\",\"research\"]}],[\"$\",\"a\",\"legal\",{\"href\":\"/?q=legal\",\"className\":\"tag\",\"children\":[\"#\",\"legal\"]}],[\"$\",\"a\",\"hr\",{\"href\":\"/?q=hr\",\"className\":\"tag\",\"children\":[\"#\",\"hr\"]}],[\"$\",\"a\",\"education\",{\"href\":\"/?q=education\",\"className\":\"tag\",\"children\":[\"#\",\"education\"]}]]}]]}],[\"$\",\"div\",null,{\"style\":{\"marginTop\":6},\"children\":[\"$\",\"a\",null,{\"href\":\"https://clawhub.ai/zack-dev-cm/data-science-cv-repro-lab\",\"target\":\"_blank\",\"rel\":\"noopener\",\"className\":\"btn-secondary\",\"style\":{\"padding\":\"6px 12px\",\"fontSize\":\".82em\",\"borderRadius\":8,\"background\":\"transparent\",\"border\":\"1px solid var(--border-card)\",\"color\":\"var(--text-muted2)\",\"textDecoration\":\"none\",\"whiteSpace\":\"nowrap\"},\"children\":[\"View on \",\"ClawHub\",\" β†’\"]}]}]]}],[\"$\",\"div\",null,{\"className\":\"install-box\",\"children\":[[\"$\",\"div\",null,{\"className\":\"install-header\",\"children\":[[\"$\",\"div\",null,{\"className\":\"install-dots\",\"children\":[[\"$\",\"div\",null,{\"className\":\"dot\",\"style\":{\"background\":\"#ef4444\"}}],[\"$\",\"div\",null,{\"className\":\"dot\",\"style\":{\"background\":\"#eab308\"}}],[\"$\",\"div\",null,{\"className\":\"dot\",\"style\":{\"background\":\"#22c55e\"}}]]}],[\"$\",\"span\",null,{\"className\":\"install-label\",\"children\":\"TERMINAL\"}]]}],[\"$\",\"div\",null,{\"className\":\"install-body\",\"style\":{\"flexWrap\":\"wrap\"},\"children\":[[\"$\",\"code\",null,{\"className\":\"install-cmd\",\"children\":\"clawhub install data-science-cv-repro-lab\"}],[\"$\",\"button\",null,{\"className\":\"copy-btn\",\"data-cmd\":\"clawhub install data-science-cv-repro-lab\",\"style\":{\"fontWeight\":700},\"children\":\"Copy\"}]]}]]}],[\"$\",\"section\",null,{\"className\":\"skill-card\",\"style\":{\"marginBottom\":20},\"children\":[\"$L23\",\"$L24\"]}],null,\"$L25\",null,null,null,null,null,false,false]}],\"$L26\"]}]]}]\n"])</script><script>self.__next_f.push([1,"21:[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"\\n document.querySelectorAll('.copy-btn, .script-copy-btn').forEach(btn =\u003e {\\n btn.addEventListener('click', () =\u003e {\\n const cmd = btn.getAttribute('data-cmd');\\n if (!cmd) return;\\n navigator.clipboard.writeText(cmd).then(() =\u003e {\\n const orig = btn.textContent;\\n btn.textContent = 'Copied!';\\n setTimeout(() =\u003e btn.textContent = orig, 1500);\\n }).catch(() =\u003e {});\\n });\\n });\\n \"}}]\n"])</script><script>self.__next_f.push([1,"29:I[71521,[\"/_next/static/chunks/0ph_0rx9ah5dc.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/0i_x3w546rsb3.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/06ig5gym-0n-u.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/12w5ognupk9fb.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\"],\"default\"]\n23:[\"$\",\"h2\",null,{\"style\":{\"color\":\"#f8fafc\",\"fontSize\":\"1.2em\",\"fontWeight\":800,\"margin\":\"0 0 16px\",\"display\":\"flex\",\"alignItems\":\"center\",\"gap\":8},\"children\":\"πŸ“– About This Skill\"}]\n27:T67cf,"])</script><script>self.__next_f.push([1,"\u003cp style=\"margin:8px 0\"\u003e\u003chr style=\"border:none;border-top:1px solid #1e1e3f;margin:12px 0\"\u003e\nname: data-science-cv-repro-lab\ndescription: Data Science CV Repro Lab is a public ClawHub CV repro-lab skill. Use it when the user says \"cv repro lab\", \"computer vision reproducibility\", \"CV experiment evidence\", or wants execution-grade CV experiments and evidence capture across Colab, Kaggle, browser automation, and GPU VMs.\nversion: 1.9.3\nhomepage: https://zack-dev-cm.github.io/\nuser-invocable: true\nmetadata: {\"openclaw\":{\"homepage\":\"https://zack-dev-cm.github.io/\",\"skillKey\":\"data-science-cv-repro-lab\",\"requires\":{\"anyBins\":[\"python3\",\"python\"]}}}\n\u003chr style=\"border:none;border-top:1px solid #1e1e3f;margin:12px 0\"\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eData Science CV Repro Lab\u003c/h2\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003eSearch intent: \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003ecv repro lab\u003c/code\u003e, \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003ecomputer vision reproducibility\u003c/code\u003e, \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003ecv experiment evidence\u003c/code\u003e, \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003ecolab kaggle cv workflow\u003c/code\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch3 style=\"color:#e5e7eb;margin:18px 0 8px;font-size:1.05em\"\u003eGoal\u003c/h3\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003eTurn CV work into a reproducible decision loop:\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003efixed inputs\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eexplicit metrics\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003edurable artifacts\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003ebounded browser automation\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003elong-run health monitoring\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003epromotion only on verified benchmark wins\u003c/li\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003eThis skill is the execution and evidence layer, not the full score-improvement stack.\nIf the real ask is \"beat the baseline\", \"escape a plateau\", or \"find a better recipe\",\npair it with \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003esota-agent\u003c/code\u003e and a fixed improvement harness before spending more compute.\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch3 style=\"color:#e5e7eb;margin:18px 0 8px;font-size:1.05em\"\u003eUse This Skill When\u003c/h3\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003ethe user asks to debug CV training, segmentation, detection, or runtime behavior\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003ethe workflow includes OpenClaw, Colab, Kaggle, or browser-only notebook actions\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eyou need preprocessing, augmentation, or label-alignment review\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003ethe task requires checkpoint comparisons, export comparisons, or promotion gating\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003ethe user wants VM or GPU watchdog logic, heartbeat files, or auto-stop behavior\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003ethe user wants a general third-party CV workflow, not only repo-specific advice\u003c/li\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003eIf the primary goal is benchmark improvement rather than clean execution, route the search loop\nthrough \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003esota-agent\u003c/code\u003e and use this skill as the execution lane.\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch3 style=\"color:#e5e7eb;margin:18px 0 8px;font-size:1.05em\"\u003eQuick Start\u003c/h3\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e1. Lock the objective before touching code.\n - Write the product problem in one sentence.\n - Name the primary metric.\n - Name the non-regression surfaces.\n - State what blocks promotion.\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e2. Initialize the durable records immediately.\n - Use \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003epython3 {baseDir}/scripts/init_cv_dataset_manifest.py --out \u003cjson\u003e --dataset-id \u003cid\u003e\u003c/code\u003e.\n - Use \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003epython3 {baseDir}/scripts/init_cv_run_card.py --out \u003cjson\u003e --candidate-id \u003cid\u003e --task-id \u003ctask\u003e --baseline-id \u003cbaseline\u003e\u003c/code\u003e.\n - If the task is plateau recovery or benchmark improvement, use \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003epython3 {baseDir}/scripts/init_cv_improvement_harness.py --out \u003cjson\u003e --task-id \u003ctask\u003e --candidate-family \u003cfamily\u003e\u003c/code\u003e.\n - If the workflow mixes runtime sweeps, QA runs, benchmark panels, or synced VM artifacts, use \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003epython3 {baseDir}/scripts/init_cv_review_dashboard_manifest.py --out \u003cjson\u003e --dashboard-id \u003cid\u003e --title \u003ctitle\u003e\u003c/code\u003e.\n - If a browser lane matters, use \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003epython3 {baseDir}/scripts/init_cv_browser_run_card.py --out \u003cjson\u003e --target-url \u003curl\u003e\u003c/code\u003e.\n - If browser-visible overlays or prompt variants are part of the hypothesis, use \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003epython3 {baseDir}/scripts/init_cv_validation_scorecard.py --out \u003cjson\u003e --scorecard-id \u003cid\u003e --surface \u003csurface\u003e\u003c/code\u003e.\n - If a long VM run is involved, use \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003epython3 {baseDir}/scripts/init_cv_vm_bootstrap_manifest.py --out \u003cjson\u003e --output-root \u003crun_root\u003e --model-family \u003cname\u003e --command python train.py --epochs 40\u003c/code\u003e.\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e3. Capture the current state immediately.\n - Use \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003epython3 {baseDir}/scripts/capture_cv_run_context.py --repo-root \u003crepo\u003e --out \u003cjson\u003e --markdown-out \u003cmd\u003e --param key=value\u003c/code\u003e.\n - Record git state, module versions, GPU state, and experiment params before launch.\n - Use the dataset, artifact, and browser manifest helpers for any additional evidence instead of broad host inspection.\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e4. Pick the right orchestration lane.\n - Local debug lane: tiny overfit, transform audits, shape and dtype checks.\n - Browser notebook lane: Colab or Kaggle steps that must happen in a real browser or notebook UI.\n - Colab GPU lane: runtime selection, smoke validation, artifact export, and browser evidence.\n - Custom VM or cluster lane: long runs with heartbeats, watchdogs, stall detection, sync, and auto-stop.\n - Review dashboard lane: one local or synced surface for runtime sweeps, QA runs, curated comparisons, and benchmark panels.\n - Promotion lane: fixed benchmark matrix plus customer-facing surface checks.\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e5. Work the debug ladder in order.\n - \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003eHarness review\u003c/code\u003e: fixed split, primary metric, slice table, rerun rule, and stop condition.\n - \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003eValidation scorecard\u003c/code\u003e: browser or notebook visual QA with per-image pass or fail notes when the UI is part of the release story.\n - \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003eData audit\u003c/code\u003e: split integrity, label normalization, image-mask pairing, resize geometry.\n - \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003ePreview audit\u003c/code\u003e: at least one augmentation preview and one transformed batch preview.\n - \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003eFailure-set review\u003c/code\u003e: keep 20-50 representative overlays with short notes instead of trusting one scalar metric.\n - \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003eTiny overfit\u003c/code\u003e: 4-16 shared samples with \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003eno_aug\u003c/code\u003e.\n - \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003eShort resumed run\u003c/code\u003e: continue from the best trusted checkpoint.\n - \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003eLong run\u003c/code\u003e: only after the short loop is healthy.\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e6. Keep agentic work bounded.\n - External browser LLM output is hypothesis generation, not release evidence.\n - Keep the main thread on the benchmark contract and improvement harness.\n - Use bounded Codex subagents for scouting, data audits, patch proposals, and per-case review.\n - For repeated case review, batch over a manifest or CSV instead of free-form chat drift.\n - Browser steps must emit screenshots, machine-readable scores, and explicit success markers.\n - Hard-fail on unavailable browser modes, dead CDP sessions, or ambiguous notebook state.\n - Keep planner, executor, reviewer, and promoter responsibilities distinct even if one agent performs more than one role.\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e7. Promote only on full-surface wins.\n - Raw checkpoint quality\n - Exported or runtime quality\n - User-facing render, service, or product surface\n - Runtime cost or throughput if deployment matters\n - Adjacent-seed or rerun stability if the claimed delta is small\n - Generate a promotion bundle with \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003epython3 {baseDir}/scripts/init_cv_promotion_bundle.py --out \u003cjson\u003e --candidate-id \u003cid\u003e\u003c/code\u003e before the final decision.\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch3 style=\"color:#e5e7eb;margin:18px 0 8px;font-size:1.05em\"\u003eOperating Rules\u003c/h3\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eResearch before edits\u003c/h4\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eKeep separate files or sections for \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003eresearch\u003c/code\u003e, \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003eplan\u003c/code\u003e, \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003ejournal\u003c/code\u003e, and \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003eevidence\u003c/code\u003e.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eSummaries are not evidence. Preserve the artifact paths.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eIf a workflow uses both code changes and browser actions, record both.\u003c/li\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eAgentic orchestration rules\u003c/h4\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003ePlanner: defines the question, benchmark, stop condition, and chosen execution lane.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eExecutor: runs the browser, notebook, local, or VM steps and preserves artifacts.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eReviewer: checks whether the evidence actually answers the question and catches regressions.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003ePromoter: makes the final hold or promote decision from the run card, not from memory.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eIf one agent performs all roles, keep the outputs separated anyway.\u003c/li\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eBrowser automation rules\u003c/h4\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003ePrefer stable URLs over uploads.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eStart with a short smoke run before full training.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eWhen the hypothesis depends on visible overlays, grids, or prompt variants, capture a validation scorecard before the long run.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eCapture at least two screenshots when the browser UI is part of the validation path.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003ePull artifacts back locally as files, not only screenshots.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eUse explicit timeout and marker logic; do not rely on visual guesswork.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eRecord browser profile aliases and session aliases in durable artifacts; keep raw CDP URLs in ephemeral local debug logs only.\u003c/li\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eColab GPU rules\u003c/h4\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eSelect the accelerator explicitly before running expensive cells.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eVerify GPU readiness from inside the notebook before the long run.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eUse a smoke cell that proves the runtime, imports, and data mounts all work.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eExport all required artifacts to one stable bundle directory.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eCreate an artifact manifest for that export bundle before pulling it back locally.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003ePull the artifact manifest plus at least one preview image back to local storage.\u003c/li\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eCustom VM and cluster rules\u003c/h4\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eCreate a named run root before launch.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eWrite a machine-readable bootstrap manifest with commit, dataset, env, and command details.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eRun long jobs under a session, heartbeat, or supervisor so liveness is explicit.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eTrack GPU utilization, epoch movement, and log freshness.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eSync summaries and checkpoints back to local storage on a schedule.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eAuto-stop or downgrade to a debug path when the run is clearly unhealthy.\u003c/li\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eReview dashboard rules\u003c/h4\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eUse one review dashboard manifest when the program spans runtime sweeps, QA runs, benchmark panels, and synced VM artifacts.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eTrack summary roots, benchmark roots, allowed roots, and sync targets explicitly instead of relying on memory.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eKeep source-audit, leakage-audit, progress-snapshot, and comparison-summary paths next to the dashboard manifest.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eCount runtime groups, QA runs, curated comparisons, and benchmark panels so the review surface stays legible as the program grows.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003ePromote from synced artifacts and run cards, not from a live dashboard alone.\u003c/li\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eCV training rules\u003c/h4\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eDo not change architecture first.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eProve learning on a tiny shared subset before scaling.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eSave previews in the same run folder as metrics and summaries.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eDo not compare candidates on different benchmark sets.\u003c/li\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003ePlateau recovery rules\u003c/h4\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eIf Dice or another primary metric is stuck, freeze the benchmark contract and write the improvement harness before another long run.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eRequire per-slice metrics, a short failure taxonomy, and a rerun rule before claiming a real win.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eKeep a small, reviewable change set for each serious candidate. If several knobs move together, mark it as a package change instead of an ablation.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eCut a recipe family after a few non-winning serious candidates instead of rerunning the same idea with cosmetic churn.\u003c/li\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eDerm and segmentation rules\u003c/h4\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eBefore architecture changes, audit mask geometry, resize policy, interpolation, empty-mask prevalence, and overlay alignment.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eFor derm or lesion segmentation, slice the benchmark by lesion size, border difficulty, artifact-heavy images, and background-dominant images.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eGlobal Dice is not enough. Keep boundary-sensitive or slice-specific diagnostics so a hidden failure mode does not look like a flat plateau.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003ePreserve a 20-50 case review set with saved overlays and short reviewer notes.\u003c/li\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eCodex and auth rules\u003c/h4\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eUse ChatGPT or Codex OAuth-backed sessions as the default and preferred path.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003ePrefer Codex multi-agent or app-server workflows over third-party orchestrators that require paid API keys.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eDo not require or recommend \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003eOPENAI_API_KEY\u003c/code\u003e, other vendor API keys, or paid inference APIs as the default runtime path.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eIf a third-party framework only works through paid API keys, treat it as reference material unless you can run it fully through local tools and OAuth-backed Codex sessions.\u003c/li\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003ePromotion rules\u003c/h4\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eKeep the last trusted baseline intact until the candidate clears agreed gates.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eSeparate semantic, runtime, and product-surface gates when deployment or export changes are involved.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eIf the semantic model improves but the deployed overlay or service output regresses, fix the downstream path before promotion.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003ePrefer a machine-readable run card plus a short markdown summary.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eInitialize that run card before or at launch time so later steps append to one canonical record.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eRender the markdown summary from the run card instead of hand-writing it when possible.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eKeep the default redacted-public markdown rendering in place.\u003c/li\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003ePublic distribution rules\u003c/h4\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eUse \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003e{baseDir}\u003c/code\u003e when pointing at bundled scripts or references.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eKeep secrets, tokens, private dataset identifiers, browser profile names, and internal URLs out of the skill bundle.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eDo not publish repo-specific absolute paths.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eKeep private specialization in a local override skill, not the public package.\u003c/li\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch3 style=\"color:#e5e7eb;margin:18px 0 8px;font-size:1.05em\"\u003eReferences\u003c/h3\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003eRead only the reference that matches the task:\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003ereferences/official-repro-guidance.md\u003c/code\u003e\u003c/li\u003e\n - Official PyTorch, Albumentations, MLflow, and DVC guidance.\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003ereferences/agentic-research-patterns.md\u003c/code\u003e\u003c/li\u003e\n - How to adapt \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003ekarpathy/autoresearch\u003c/code\u003e style loops to DS and CV work.\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003ereferences/improvement-harness-and-oauth-stack.md\u003c/code\u003e\u003c/li\u003e\n - What to reuse from Codex subagents, harness engineering, OpenEvolve, Symphony, Paperclip, and OptiLLM under an OAuth-only rule.\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003ereferences/openclaw-browser-lane.md\u003c/code\u003e\u003c/li\u003e\n - OpenClaw, CDP, Colab, screenshot, artifact-pull, and timeout patterns.\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003ereferences/colab-vm-operations.md\u003c/code\u003e\u003c/li\u003e\n - Google Colab GPU management and custom VM lifecycle guidance.\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003ereferences/kaggle-2026-practices.md\u003c/code\u003e\u003c/li\u003e\n - Current Kaggle platform habits for reproducibility, versioning, and notebook execution.\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003ereferences/cross-repo-cv-patterns.md\u003c/code\u003e\u003c/li\u003e\n - Generic patterns for benchmark, trainer, and deploy repos split across one program.\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003ereferences/publication-security.md\u003c/code\u003e\u003c/li\u003e\n - Publication checklist for OpenClaw or ClawHub and leak-prevention rules.\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003ereferences/runtime-serving-change-gates.md\u003c/code\u003e\u003c/li\u003e\n - How to separate semantic, runtime, and product-surface gates for deployment-shaped releases.\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch3 style=\"color:#e5e7eb;margin:18px 0 8px;font-size:1.05em\"\u003eBundled Scripts\u003c/h3\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003escripts/capture_cv_run_context.py\u003c/code\u003e\u003c/li\u003e\n - Capture a compact git, module, GPU, and experiment-param snapshot.\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003escripts/init_cv_task_scaffold.py\u003c/code\u003e\u003c/li\u003e\n - Create a reusable research, harness, ablation, agent, plan, journal, and evidence scaffold for a new CV task.\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003escripts/init_cv_run_card.py\u003c/code\u003e\u003c/li\u003e\n - Create a machine-readable candidate run card for training, benchmark, and promotion evidence.\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003escripts/init_cv_improvement_harness.py\u003c/code\u003e\u003c/li\u003e\n - Create a machine-readable benchmark, slice, rerun, and auth contract for plateau recovery and score-improvement work.\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003escripts/init_cv_review_dashboard_manifest.py\u003c/code\u003e\u003c/li\u003e\n - Create a machine-readable review dashboard manifest for runtime sweeps, QA runs, benchmark panels, sync targets, and audit surfaces.\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003escripts/init_cv_dataset_manifest.py\u003c/code\u003e\u003c/li\u003e\n - Create a reusable dataset identity manifest for shared CV benchmarks and training runs.\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003escripts/init_cv_browser_run_card.py\u003c/code\u003e\u003c/li\u003e\n - Create a sanitized browser evidence record for Colab, Kaggle, or other notebook UI runs.\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003escripts/init_cv_validation_scorecard.py\u003c/code\u003e\u003c/li\u003e\n - Create a machine-readable pre-training QA scorecard for browser or notebook hypothesis checks.\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003escripts/render_cv_run_summary.py\u003c/code\u003e\u003c/li\u003e\n - Render a concise markdown release summary from the machine-readable run card with public-release redaction.\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003escripts/init_cv_artifact_manifest.py\u003c/code\u003e\u003c/li\u003e\n - Create a machine-readable export-bundle manifest for Colab, Kaggle, or VM artifact pulls with redacted public path metadata.\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003escripts/init_cv_vm_bootstrap_manifest.py\u003c/code\u003e\u003c/li\u003e\n - Create a machine-readable bootstrap manifest for long VM or cluster training runs with public-release command redaction.\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003escripts/init_cv_promotion_bundle.py\u003c/code\u003e\u003c/li\u003e\n - Create one promotion entry point that joins semantic, runtime, browser, and product-surface evidence.\n\u003c/p\u003e"])</script><script>self.__next_f.push([1,"24:[\"$\",\"div\",null,{\"style\":{\"fontSize\":\".92em\",\"color\":\"#94a3b8\",\"lineHeight\":1.75},\"dangerouslySetInnerHTML\":{\"__html\":\"$27\"}}]\n28:T18a4,"])</script><script>self.__next_f.push([1,"\u003cp style=\"margin:8px 0\"\u003e1. Lock the objective before touching code.\n - Write the product problem in one sentence.\n - Name the primary metric.\n - Name the non-regression surfaces.\n - State what blocks promotion.\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e2. Initialize the durable records immediately.\n - Use \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003epython3 {baseDir}/scripts/init_cv_dataset_manifest.py --out \u003cjson\u003e --dataset-id \u003cid\u003e\u003c/code\u003e.\n - Use \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003epython3 {baseDir}/scripts/init_cv_run_card.py --out \u003cjson\u003e --candidate-id \u003cid\u003e --task-id \u003ctask\u003e --baseline-id \u003cbaseline\u003e\u003c/code\u003e.\n - If the task is plateau recovery or benchmark improvement, use \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003epython3 {baseDir}/scripts/init_cv_improvement_harness.py --out \u003cjson\u003e --task-id \u003ctask\u003e --candidate-family \u003cfamily\u003e\u003c/code\u003e.\n - If the workflow mixes runtime sweeps, QA runs, benchmark panels, or synced VM artifacts, use \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003epython3 {baseDir}/scripts/init_cv_review_dashboard_manifest.py --out \u003cjson\u003e --dashboard-id \u003cid\u003e --title \u003ctitle\u003e\u003c/code\u003e.\n - If a browser lane matters, use \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003epython3 {baseDir}/scripts/init_cv_browser_run_card.py --out \u003cjson\u003e --target-url \u003curl\u003e\u003c/code\u003e.\n - If browser-visible overlays or prompt variants are part of the hypothesis, use \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003epython3 {baseDir}/scripts/init_cv_validation_scorecard.py --out \u003cjson\u003e --scorecard-id \u003cid\u003e --surface \u003csurface\u003e\u003c/code\u003e.\n - If a long VM run is involved, use \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003epython3 {baseDir}/scripts/init_cv_vm_bootstrap_manifest.py --out \u003cjson\u003e --output-root \u003crun_root\u003e --model-family \u003cname\u003e --command python train.py --epochs 40\u003c/code\u003e.\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e3. Capture the current state immediately.\n - Use \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003epython3 {baseDir}/scripts/capture_cv_run_context.py --repo-root \u003crepo\u003e --out \u003cjson\u003e --markdown-out \u003cmd\u003e --param key=value\u003c/code\u003e.\n - Record git state, module versions, GPU state, and experiment params before launch.\n - Use the dataset, artifact, and browser manifest helpers for any additional evidence instead of broad host inspection.\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e4. Pick the right orchestration lane.\n - Local debug lane: tiny overfit, transform audits, shape and dtype checks.\n - Browser notebook lane: Colab or Kaggle steps that must happen in a real browser or notebook UI.\n - Colab GPU lane: runtime selection, smoke validation, artifact export, and browser evidence.\n - Custom VM or cluster lane: long runs with heartbeats, watchdogs, stall detection, sync, and auto-stop.\n - Review dashboard lane: one local or synced surface for runtime sweeps, QA runs, curated comparisons, and benchmark panels.\n - Promotion lane: fixed benchmark matrix plus customer-facing surface checks.\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e5. Work the debug ladder in order.\n - \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003eHarness review\u003c/code\u003e: fixed split, primary metric, slice table, rerun rule, and stop condition.\n - \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003eValidation scorecard\u003c/code\u003e: browser or notebook visual QA with per-image pass or fail notes when the UI is part of the release story.\n - \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003eData audit\u003c/code\u003e: split integrity, label normalization, image-mask pairing, resize geometry.\n - \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003ePreview audit\u003c/code\u003e: at least one augmentation preview and one transformed batch preview.\n - \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003eFailure-set review\u003c/code\u003e: keep 20-50 representative overlays with short notes instead of trusting one scalar metric.\n - \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003eTiny overfit\u003c/code\u003e: 4-16 shared samples with \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003eno_aug\u003c/code\u003e.\n - \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003eShort resumed run\u003c/code\u003e: continue from the best trusted checkpoint.\n - \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003eLong run\u003c/code\u003e: only after the short loop is healthy.\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e6. Keep agentic work bounded.\n - External browser LLM output is hypothesis generation, not release evidence.\n - Keep the main thread on the benchmark contract and improvement harness.\n - Use bounded Codex subagents for scouting, data audits, patch proposals, and per-case review.\n - For repeated case review, batch over a manifest or CSV instead of free-form chat drift.\n - Browser steps must emit screenshots, machine-readable scores, and explicit success markers.\n - Hard-fail on unavailable browser modes, dead CDP sessions, or ambiguous notebook state.\n - Keep planner, executor, reviewer, and promoter responsibilities distinct even if one agent performs more than one role.\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e7. Promote only on full-surface wins.\n - Raw checkpoint quality\n - Exported or runtime quality\n - User-facing render, service, or product surface\n - Runtime cost or throughput if deployment matters\n - Adjacent-seed or rerun stability if the claimed delta is small\n - Generate a promotion bundle with \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003epython3 {baseDir}/scripts/init_cv_promotion_bundle.py --out \u003cjson\u003e --candidate-id \u003cid\u003e\u003c/code\u003e before the final decision.\u003c/p\u003e"])</script><script>self.__next_f.push([1,"25:[\"$\",\"section\",null,{\"className\":\"skill-card\",\"style\":{\"marginBottom\":20},\"children\":[[\"$\",\"h2\",null,{\"style\":{\"color\":\"#f8fafc\",\"fontSize\":\"1.2em\",\"fontWeight\":800,\"margin\":\"0 0 16px\",\"display\":\"flex\",\"alignItems\":\"center\",\"gap\":8},\"children\":\"πŸ’‘ Examples\"}],[\"$\",\"div\",null,{\"style\":{\"fontSize\":\".92em\",\"color\":\"#94a3b8\",\"lineHeight\":1.75},\"dangerouslySetInnerHTML\":{\"__html\":\"$28\"}}]]}]\n26:[\"$\",\"div\",null,{\"className\":\"two-col-side\",\"children\":[\"$\",\"$L29\",null,{\"category\":\"clawhub\",\"currentSlug\":\"data-science-cv-repro-lab\",\"name\":\"Data Science CV Repro Reviewer\",\"tags\":[\"data\",\"research\",\"legal\",\"hr\",\"education\"]}]}]\n"])</script></body></html>