agentsclimarketplace

Analyze feedback stability

Skill simra-tech/OpenADA/skills/analyze-feedback-stability

Analyze feedback-loop stability with backend-independent OpenADA evidence. Use for differential, common-mode, nested, feed-forward, regulator, or switched-loop questions involving operating-point validity, loop injection and probe identity, gain and phase crossover review, phase or gain margin, closed-loop correlation, oscillation diagnosis, or choosing one focused compensation experiment without relying on simulator-specific commands.From its SKILL.md

Install
npx -y skills add simra-tech/OpenADA --skill analyze-feedback-stability

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 19 stars19 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

8.3 KB, as published. Nobody here has run it

Analyze Feedback Stability

Produce an evidence-bounded diagnosis, not a universal compensation recipe. Use $openada:openada to invoke semantic operations and interpret results. Keep the topology, prepared testbench, PDK/models, and native artifacts authoritative.

Separate the claims

Use these exact layers:

  • Establish analysis evidence with openada.operation/circuit.simulate/v1alpha2 and openada.assertion/simulation.evidence.valid/v1alpha1.
  • Bind the exact native AC Cartesian vectors through openada.operation/result.series.extract/v1alpha1 and openada.assertion/series.extraction.valid/v1alpha1.
  • Derive the implemented loop metrics only through openada.operation/result.transfer.measure/v1alpha2 and openada.assertion/transfer.measurement.valid/v1alpha1.
  • Derive ordinary time-domain or real-series scalars only through openada.operation/result.measure/v1alpha2 and openada.assertion/measurement.valid/v1alpha1.
  • Judge an explicit stability limit only through openada.operation/specification.evaluate/v1alpha1 and openada.assertion/specification.satisfied/v1alpha1.

Inspect capability records, then run openada profile show openada.operation/result.transfer.measure/v1alpha2 before constructing a request. Do not invent a metric kind or fall back to a backend expression when the requested result.transfer.measure metric kind is not supported. Mark that metric not evaluated. None of these layers alone establishes silicon, reliability, or signoff.

Freeze one baseline

Record:

  • authoritative design/testbench identity and design phase;
  • supply, bias, common mode, differential stimulus, load, corner, temperature, and operating mode;
  • enabled paths, stages, switches, feedback elements, and intended loop state;
  • exact loop break or injection point, direction/sign convention, return probe, loop-response signals, and requested closed-loop probes;
  • selected operation/feature, driver, native product/version, request/result IDs, and evidence destination.

Classify differential, common-mode, nested, local, global, and feed-forward paths from authoritative connectivity evidence. Signal names and a remembered topology are not proof. If topology, polarity, enabled state, injection, or probe orientation remains ambiguous, ask one narrow question and stop before quantitative margin claims.

The simulation operation consumes a prepared testbench; it does not create a safe loop break or mutate the design. Require a reviewed testbench or a separate authorized design/testbench-construction task. Record how the injection source preserves the relevant DC state and loading.

Pass the DC gate

  1. Require capability openada.feature/simulation.analysis.op/v1alpha1 and request nominal OP evidence under the frozen conditions.
  2. Treat analysis-evidence pass only as proof of valid OP evidence.
  3. Use result.measure for the topology-specific common-mode, bias, rail, headroom, saturation, or device-operating facts needed by the review.
  4. Evaluate explicit acceptable ranges through the specification contract when they exist. Otherwise label the engineering acceptance as an identified reviewer assumption, not a specification result.

Stop quantitative stability interpretation when OP evidence fails or is unknown, when required DC result.measure results are invalid/unavailable, or when the simulated state is inconsistent with the intended loop mode. Report that gate; do not explain railing, saturation, or a floating state as phase-margin failure.

Acquire complete loop evidence

Require capability openada.feature/simulation.analysis.ac/v1alpha1 for the declared frequency range. Bind the request to the same baseline and retain the exact generated simulator input and native result artifacts.

After analysis evidence passes, request supported result.transfer.measure metrics that preserve:

  • loop-response signal definition, orientation, and sign convention;
  • full magnitude and unwrapped phase over the declared frequency range;
  • every falling 0 dB crossing candidate used to decide whether the result is unique or ambiguous, including interpolation method;
  • phase and phase margin at the unique falling unity-gain crossing under the stated convention;
  • ambiguous, missing, or multiple crossings rather than selecting the most favorable scalar.

The implemented transfer profile constructs H = output / input from four explicit same-unit real series on one positive-Hz axis. It retains magnitude and deterministically unwrapped phase, calls the first point first-simulated-frequency-not-dc, and supports:

  • low_frequency_gain_db at that first positive frequency;
  • bandwidth_3db at the unique falling first-gain-minus-3.0-dB crossing;
  • unity_gain_frequency at the unique falling 0 dB crossing; and
  • phase_margin as 180 degrees plus unwrapped phase at that crossing, only when the request explicitly declares loop-gain-negative-feedback.

Crossings use linear response interpolation over log10 frequency. An absent crossing is typed not_found; multiple falling crossings are unknown. Gain margin, phase-crossing search, favorable-crossing selection, smoothing, fitting, and a stability claim remain unavailable. Preserve the valid AC artifact and mark those metrics not evaluated. A plot may motivate a hypothesis, but it is not a result.transfer.measure result.

Correlate the closed loop

Use a separate AC or transient request, with the matching advertised feature, for the exact closed-loop input/output and common-mode probes. Current profiles can derive declared settling behavior or the first-simulated-frequency AC transfer gain from evidence bound to the same baseline. Overshoot and ringing metrics remain unavailable; do not infer them from a plot or rename an result.measure extremum result.

Do not answer a closed-loop question from an open-loop signal. Do not declare a physical instability until the evidence distinguishes it from:

  • unintended switch or operating mode;
  • floating nodes, saturation, or invalid bias;
  • convergence or numerical artifacts;
  • model/configuration changes or simulator-version effects;
  • incorrect injection, probe orientation, or result.transfer.measure convention.

Evaluate specifications and one hypothesis

Evaluate phase margin, crossover range, settling, or other implemented limits only when the user/project supplied explicit bounds, units, and conditions. Keep gain margin not evaluated in v1alpha1. Keep one result per loop and condition; one passing crossover does not cover a multi-loop system.

When evidence supports a diagnosis, propose one change tied to one hypothesis. Run it in a separately identified baseline, preserve the design/testbench diff, and repeat the same OP, loop, and closed-loop evidence. Do not change topology, compensation, or authoritative design data without authorization.

Route status

StateInterpretation
Analysis evidence passThe requested native analysis is trustworthy enough for supported result operations
Analysis evidence failThe solver's defined terminal failure is proven; no margin conclusion follows
Analysis evidence unknownResolve evidence, binding, configuration, or execution uncertainty
result.transfer.measure passThe stated metric is valid for its exact input/output phasors, interpretation, and method
result.transfer.measure fail/unknown/unavailableMargin or response is not evaluated; repair or add the semantic primitive
Specification pass/failOnly the explicit limit at the frozen condition was evaluated

Report

Return the frozen baseline, loop classification, DC gate, injection and probes, all simulated crossovers, closed-loop correlation, contract status at each layer, exact driver/artifact lineage, confounders, and one smallest next experiment. Mark statements as simulated, inferred, or proposed. Finish with signoff: not claimed.

Keep looking

Skills are one crate of 628,971. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.