视觉画布设计
canvas-design
基于设计原则创作静态视觉作品,用于海报与品牌图形。
recover-paper-result【文档与办公】Reproduce a fast paper result using only the paper, module documents, generated module skills, and datasets, explicitly forbidding reads from the original source repository during recovery.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Use this skill after all module skills have been generated and validated. The goal is to test whether the skills can reconstruct the paper's behavior without relying on the original repository.
All recovery artifacts must be in English.
Before recovery, load prepare-paper-recovery-env when available and read environment/runtime_handoff.json. Treat the handoff as the authoritative runtime preflight: use its allowed sources, package/model blockers, benchmark snapshot paths, GPU notes, and environment mutation status instead of repeating broad discovery.
During recovery, do not read the original paper repository. Allowed sources are:
paper_profile.mdmodule_plan.jsonmodules/*.mdenvironment/runtime_handoff.json and environment/logs/*Write recovery/source_manifest.json listing every source path or URL used. If any original repo path appears, the recovery is invalid.
For independent evaluation runs, do not use prior attempt outputs as shortcuts. Prior generated data items, prompts, model outputs, training logs, or recovery results are not allowed recovery evidence for the current attempt. If a fresh benchmark or dataset fetch is blocked and a local benchmark checkout from another attempt or workspace path is the only practical source, treat it as a reused benchmark source: record the fresh-fetch command and blocker, the reused path, commit/version if available, why reuse was necessary, and copy or snapshot the concrete resource files used into the current attempt under recovery/benchmark_sources/. The current attempt must still derive its own data item and run its own recovery/training step.
If the user supplies a model path, GPU ids, or environment path, prefer that runtime for recovery. If the supplied environment has incompatible packages, do not modify it unless the user explicitly permits mutation. Use an existing compatible environment or create a separate one, and record:
Do a bounded preflight before expensive recovery:
$HF_HOME, $TRANSFORMERS_CACHE, ~/.cache/huggingface, the workspace, and explicitly named project paths. Do not recursively scan broad NFS roots such as /share/project.recovery/logs/.prepare-paper-recovery-env instead of accepting the blocker. Recovery
should consume a prepared runtime handoff, not turn first-pass probes into a
final blocked result.environment.python or python.executable inside a
private recovery environment, use that executable for the recovery harness and
record it in recovery/logs/experiment_command_log.json and
recovery/source_manifest.json. Do not silently run recovery with the
host/shared conda Python after preparing a private env.module_plan.json.fast_recovery_target.environment/runtime_handoff.json. If it is missing, run
prepare-paper-recovery-env first or record a blocker; do not continue to an
accepted recovery with an unprepared or still-pending environment stage.recovery/experiment_plan.md before running the experiment. It must name the full target, reduced target if any, chosen target, why it is the strongest feasible target, commands to run, expected artifacts, and minimum acceptance criteria.recovery_result.json as the primary evidence; it must be produced by an executable command such as python recovery/run_recovery.py.recovery/logs/experiment_command_log.json.recovery/logs/generated_skill_invocations.json listing each generated module exercised, the evidence type (called script, imported helper, cross-check, or not applicable), and the log/artifact path proving it.recovery_result.json.paper_target from module_plan.json.fast_recovery_target; do not hard-code a different dataset, metric, or target value in the recovery harness.mechanism_checks that show the selected run exercised the paper mechanism. Include required search/tool calls, grounding checks for intermediate evidence, and any module-specific invariants.recovery/recovery_result.json.python <skills_root>/recover-paper-result/scripts/validate_recovery_experiment.py \
<attempt_dir> \
--output <attempt_dir>/recovery/experiment_validation.json
accept analysis with a failing gate.scripts/evaluate_qa.py for EM/F1.recovery/logs/.{
"schema_version": 1,
"paper_id": "short_slug",
"experiment": "dataset or table target",
"is_proxy": true,
"sample_count": 1,
"metrics": {"em": 1.0, "f1": 1.0},
"paper_target": {"metric": "f1", "value": 0.497},
"commands": ["command used"],
"artifacts": ["relative/path"],
"mechanism_checks": {},
"notes": "limitations and interpretation"
}
recovery/experiment_plan.md exists and explains the selected experiment strength.recovery/logs/experiment_command_log.json contains the actual command(s) that produced recovery_result.json, including return code and output tails.recovery/logs/generated_skill_invocations.json proves generated skill scripts/helpers were called or cross-checked.recovery/experiment_validation.json exists and reports ok: true.environment/runtime_handoff.json when the environment stage ran.run_manifest.json.stages.prepare_environment is complete or blocked
before recovery artifacts are accepted.module_plan.json.fast_recovery_target.mechanism_checks; a high metric alone is not enough when the proxy is meant to validate an algorithmic loop.analyze-paper-recovery will turn it into module-level feedback.When the user allows a reduced run for papers that require data generation or expensive training, the recovery must still perform real work:
recovery/logs/generated_data_item.json.recovery/logs/training_trace.json; if another filename is also useful, duplicate or reference the same values rather than making the trace hard to find.training_step_executed and qwen3_model_loaded false unless the required stack actually ran.reduced_training_executed, keep required-model booleans false, and explain that it is not full model training. Set optimizer_step_executed true only if trainable parameters or optimizer state actually changed in this approved reduced run.params_before and params_after. It may also include clearer aliases such as parameters_before and parameters_after, but the params_* fields must be present when optimizer_step_executed is true.scripts/evaluate_qa.py: compute exact match and token F1 for QA prediction files.scripts/validate_recovery_experiment.py: validate executable experiment evidence before analysis.