The skills in this bundle are portable markdown — they work in any agent that reads instruction files. The scripts here are optional helpers that automate parts of the LDD workflow.
You do not need these scripts to use LDD. The skills work without them. Scripts exist to reduce friction on the operations that benefit most from automation.
| Script | Automates | Skill / workflow it supports |
|---|---|---|
drift-scan.py |
Periodic repo drift indicators (seven-indicator scan) | drift-detection |
capture-clean-baseline.py |
Capture RED baselines via direct LLM API (no agent harness) | method-evolution, distribution sampling, any fixture measurement |
capture-red-green.py |
Paired RED/GREEN captures for multi-scenario fixtures (skill content prepended as system message on GREEN) | method-evolution, multi-scenario fixture measurement (e.g. architect-mode-auto-dispatch) |
evolve-skill.sh |
RED/GREEN rerun of a skill against its fixture (terminal-driven) | method-evolution |
render-diagrams.sh |
Regenerate SVG from .dot sources |
(maintenance) |
demo-trace-chart.py |
Render the LDD trace block (sparkline, mini chart, per-iter bars, trend arrow) from a hard-coded 6-iteration task — pure renderer, no I/O, no LLM calls | using-ldd (trace visualization) |
demo-e2e-trace.py |
Executed E2E demo: optimizes a real compute_average() through the inner / refine / outer loops (three of the four LDD axes), running actual rubric checks against actual code and re-rendering the trace after each iteration. The fourth axis (CoT) has its own runnable example in skills/dialectical-cot/SKILL.md. --fast skips per-iter pauses |
using-ldd + loop-driven-engineering |
drift-scan.py— Python 3.10+,git,grep. No third-party deps.capture-clean-baseline.py— Python 3.10+ plus one API key:OPENROUTER_API_KEY,OPENAI_API_KEY, orANTHROPIC_API_KEY. Uses stdliburllib— no third-party deps.capture-red-green.py— same API-key + stdlib requirements ascapture-clean-baseline.py. Takes--fixture+--skill-files+--scenarios/--scenarios-file+--run-dir; writes pairedred.md/green.mdper scenario under<fixture>/<run-dir>/<scenario>/.evolve-skill.sh—bash, a subagent / LLM session you can paste into. No API key needed (terminal-driven workflow).render-diagrams.sh—graphviz(dot).demo-trace-chart.py,demo-e2e-trace.py— Python 3.10+, stdlib only. No API key, no deps. Run standalone.
To close the "single-run point estimate" gap for a given fixture:
export OPENROUTER_API_KEY=... # or OPENAI_API_KEY / ANTHROPIC_API_KEY
TS=$(date -u +%Y%m%dT%H%M%SZ)
SKILL=root-cause-by-layer
mkdir -p "tests/fixtures/$SKILL/runs/${TS}-clean-N10"
for i in $(seq 1 10); do
python scripts/capture-clean-baseline.py \
"tests/fixtures/$SKILL/scenario.md" \
--temperature 0.8 \
--out "tests/fixtures/$SKILL/runs/${TS}-clean-N10/red-${i}.md"
doneScore each red-*.md against rubric.md and publish the distribution. Typical cost: under $1 per skill at current OpenRouter pricing.
Scripts are second-class citizens. The skills are versioned and measured; the scripts are best-effort helpers. If a script becomes indispensable, that's a signal to rewrite the relevant part of the skill to make the script unnecessary — the skill should not depend on tooling the host agent may not have.
capture-clean-baseline.py is the one exception where the script closes a structural measurement problem (subagent-harness contamination). The skills themselves still work without it; the script is for maintainers and adopters who want clean baselines.
- Not a CI pipeline. You can wire these into CI, but they're not designed for it.
- Not a test runner. They don't execute your project's tests.
capture-clean-baseline.pycalls LLM APIs; the other three do not.