What problem does it solve? Manually sweeping hardware or toolchain parameters to find an optimal configuration is slow, error-prone, and hard to track. This Skill runs an autonomous loop that executes your program, parses the objective metric, picks the next parameter set, and iterates until the objective is met, patience runs out, or the timeout is reached. ## Core Features & Use Cases - Autonomous run-analyze-tune loop: Executes the target program, extracts the objective metric with a parsing script, logs every design point to CSV, and selects the next configuration using grid search, coordinate descent, or binary search. - Parameter range inference: When ranges are not provided, it reads the source code (argparse definitions, config files, SystemVerilog parameters) and infers sensible ranges using domain heuristics, logging them for review. - State recovery and reporting: Maintains DSE_STATE.json and dse_log.csv for crash recovery, and produces a final DSE_REPORT.md with best configuration, sensitivity analysis, and stopping reason. - Use Case: Tune gem5 cache size, associativity, and ROB entries to maximize IPC over a 3-hour budget, or sweep yosys synthesis options to minimize area at timing closure. ## Quick Start Ask the agent to run a DSE loop on your program, naming the parameters to tune, the objective metric to minimize or maximize, and a wall-clock timeout.