Loading files
This file is pinned to the selected release. Download the original to open it in your design tool.
<!doctype html>
<!-- Generated by store/tools/hands-on.mjs. Edit store/hands-on.json, not this file. -->
<html lang="en">
<head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="description" content="Eight hands-on OpenHarness experiences, with real native demos, starting prompts and work you can keep."><title>Get your hands on it · OpenHarness</title><link rel="stylesheet" href="hands-on.css"><script src="hands-on.js" defer></script></head>
<body>
<a class="skip-link" href="#experiences">Skip to the experiences</a>
<header class="masthead"><a href="../README.md" class="wordmark">OpenHarness</a><span>A field guide for the curious</span><a href="hands-on.md">Text guide <span aria-hidden="true">↗</span></a></header>
<main>
<div class="opening"><p class="eyebrow">From handoff to hands-on</p><h1>Get your hands on it.</h1><p>The agent brings the tools of a craft. You bring the idea, the taste and the next thing to try.</p></div>
<nav class="crafts" aria-label="Choose a craft"><a href="#mujoco" data-experience="mujoco"><span class="craft-number">01</span><span><strong>Physics</strong><small>MuJoCo</small></span></a>
<a href="#blender" data-experience="blender"><span class="craft-number">02</span><span><strong>3D design</strong><small>Blender</small></span></a>
<a href="#godogen" data-experience="godogen"><span class="craft-number">03</span><span><strong>Games</strong><small>Godogen</small></span></a>
<a href="#strudel" data-experience="strudel"><span class="craft-number">04</span><span><strong>Music</strong><small>Strudel</small></span></a>
<a href="#rdkit" data-experience="rdkit"><span class="craft-number">05</span><span><strong>Molecules</strong><small>RDKit</small></span></a>
<a href="#typst" data-experience="typst"><span class="craft-number">06</span><span><strong>Documents</strong><small>Typst</small></span></a>
<a href="#jev-sheets" data-experience="jev-sheets"><span class="craft-number">07</span><span><strong>Data</strong><small>Jev Sheets</small></span></a>
<a href="#circuitjs" data-experience="circuitjs"><span class="craft-number">08</span><span><strong>Circuits</strong><small>CircuitJS</small></span></a></nav>
<div id="experiences"><article id="mujoco" class="experience" aria-labelledby="mujoco-title">
<div class="overview">
<div class="invitation"><p class="eyebrow">MuJoCo / Physics</p><h2 id="mujoco-title">Try a different world.</h2><p class="intro">Take one moment in a robot's run and see two futures unfold together. Change the ground, gravity or a sideways shove, then scrub to the moment they part ways.</p><div class="keeps"><span class="eyebrow">Yours to keep</span><p>A reproducible physics experiment and measurements CSV.</p></div><a class="guide-link" href="../store/viewers/mujoco-viewer/README.md">Open the harness guide <span aria-hidden="true">↗</span></a></div>
<figure>
<div class="media-stage"><img class="poster" src="images/mujoco-what-if-shove.png" alt="A Unitree Go2 in the native MuJoCo viewer, comparing two futures with a shared timeline and body-height measurements." loading="lazy" decoding="async"><video hidden controls playsinline preload="none" data-src="images/mujoco-what-if-demo.mp4" poster="images/mujoco-what-if-shove.png" aria-label="MuJoCo recorded walkthrough" aria-describedby="mujoco-scene"></video></div>
<div class="media-actions"><button type="button" class="watch" data-watch><span aria-hidden="true">▶</span> Watch real session</button><a href="images/mujoco-what-if-shove.png" target="_blank" rel="noopener">Full image <span aria-hidden="true">↗</span></a><a class="video-file" href="images/mujoco-what-if-demo.mp4">Video file</a></div>
<figcaption id="mujoco-scene">A real MuJoCo session: a 100 N sideways force for 0.15 seconds, with the same recorded controls in both worlds.</figcaption>
</figure>
</div>
<div class="practice">
<section class="starting-point" aria-labelledby="mujoco-start"><p class="eyebrow">Start something of your own</p><h3 id="mujoco-start">Give the agent a direction.</h3><label class="sr-only" for="mujoco-prompt">Starting prompt for MuJoCo</label><textarea id="mujoco-prompt" class="prompt" readonly rows="5" spellcheck="false">Load the Unitree Go2 and make it stand, then do three slow squats. Record the motion so I can open What if, change the surface friction and compare what happens from the same moment.</textarea><div class="copy-row"><button type="button" class="primary" data-copy="mujoco-prompt">Copy starting prompt</button><span class="copy-status" role="status"></span></div><p class="start-help">In Harness, start a MuJoCo project and paste this into the agent chat. Change the idea to make it yours.</p><details><summary>Continue from something you kept</summary><label class="sr-only" for="mujoco-followup">Follow-up prompt for MuJoCo</label><textarea id="mujoco-followup" class="prompt followup" readonly rows="5" spellcheck="false">Read my saved physics-experiment.json and reproduce it with the MuJoCo experiment tool. Explain when the robot first loses height, then help me change the controller and record another run.</textarea><div class="copy-row"><button type="button" data-copy="mujoco-followup">Copy follow-up</button><span class="copy-status" role="status"></span></div><p class="start-help">Keep the result in this project, or give the agent the path to your downloaded copy.</p></details></section>
<section class="walkthrough" aria-labelledby="mujoco-try"><p class="eyebrow">Then get your hands on it</p><h3 id="mujoco-try">Make a choice. See it happen.</h3><ol><li><h4>Catch a moment</h4><p>Open What if, choose a body to follow and pin the current state.</p></li><li><h4>Change one thing</h4><p>Try Slippery ground or Lunar gravity, then Compare futures. Scrub both worlds together, or click Farthest apart to inspect the greatest sampled difference.</p></li><li><h4>Keep the experiment</h4><p>Save experiment preserves the model, its assets, the starting state, controls and measured frames. Measurements CSV keeps the numbers too.</p></li></ol><p class="scope-note">Both futures use the same recorded controls. This compares open-loop physics; it does not rerun the Python controller.</p></section>
</div>
<div class="next-craft"><span>There is another craft to try.</span><a href="#blender" data-experience="blender">3D design with Blender <span aria-hidden="true">→</span></a></div>
</article>
<article id="blender" class="experience" aria-labelledby="blender-title">
<div class="overview">
<div class="invitation"><p class="eyebrow">Blender / 3D design</p><h2 id="blender-title">Shape it until it feels right.</h2><p class="intro">Ask for the controls that matter to your design. Turn them yourself, watch Blender rebuild the geometry, and keep the directions you want to come back to.</p><div class="keeps"><span class="eyebrow">Yours to keep</span><p>Source, chosen values, model, measurements and a standalone rebuild script.</p></div><a class="guide-link" href="../store/agents/blender/README.md">Open the harness guide <span aria-hidden="true">↗</span></a></div>
<figure>
<div class="media-stage"><img class="poster" src="images/blender-shape-lab.png" alt="Shape Lab displaying a sculptural ribbon lamp with adjustable dimensions and a shelf of saved designs." loading="lazy" decoding="async"><video hidden controls playsinline preload="none" data-src="images/blender-shape-lab-demo.mp4" poster="images/blender-shape-lab.png" aria-label="Blender recorded walkthrough" aria-describedby="blender-scene"></video></div>
<div class="media-actions"><button type="button" class="watch" data-watch><span aria-hidden="true">▶</span> Watch real session</button><a href="images/blender-shape-lab.png" target="_blank" rel="noopener">Full image <span aria-hidden="true">↗</span></a><a class="video-file" href="images/blender-shape-lab-demo.mp4">Video file</a></div>
<figcaption id="blender-scene">A real Blender build of an authored ribbon lamp, with saved design variants.</figcaption>
</figure>
</div>
<div class="practice">
<section class="starting-point" aria-labelledby="blender-start"><p class="eyebrow">Start something of your own</p><h3 id="blender-start">Give the agent a direction.</h3><label class="sr-only" for="blender-prompt">Starting prompt for Blender</label><textarea id="blender-prompt" class="prompt" readonly rows="5" spellcheck="false">Design a sculptural desk lamp from twisting ribbons. Give me Shape Lab controls for height, twist, ribbon count and finish, with sensible ranges. I want to explore the proportions myself and keep a few directions before the final render.</textarea><div class="copy-row"><button type="button" class="primary" data-copy="blender-prompt">Copy starting prompt</button><span class="copy-status" role="status"></span></div><p class="start-help">In Harness, start a Blender project and paste this into the agent chat. Change the idea to make it yours.</p><details><summary>Continue from something you kept</summary><label class="sr-only" for="blender-followup">Follow-up prompt for Blender</label><textarea id="blender-followup" class="prompt followup" readonly rows="5" spellcheck="false">Use my chosen Shape Lab values for the next build. Refine the base and cable opening without losing these proportions, then export the model and render a turntable.</textarea><div class="copy-row"><button type="button" data-copy="blender-followup">Copy follow-up</button><span class="copy-status" role="status"></span></div><p class="start-help">Keep the result in this project, or give the agent the path to your downloaded copy.</p></details></section>
<section class="walkthrough" aria-labelledby="blender-try"><p class="eyebrow">Then get your hands on it</p><h3 id="blender-try">Make a choice. See it happen.</h3><ol><li><h4>Choose your controls</h4><p>Ask the agent for meaningful Shape Lab controls in the scene it builds. The starter mug already has a set to try.</p></li><li><h4>Find a direction</h4><p>Change the values and build a preview. Orbit the actual geometry, keep a named design and compare it with another.</p></li><li><h4>Make it yours</h4><p>Download a kept design's project ZIP. Use values on next build carries your chosen values into the agent's next full export and render.</p></li></ol><p class="scope-note">Each preview builds real Blender geometry. Build time depends on the scene; previews stay separate from the main export until the next full build.</p></section>
</div>
<div class="next-craft"><span>There is another craft to try.</span><a href="#godogen" data-experience="godogen">Games with Godogen <span aria-hidden="true">→</span></a></div>
</article>
<article id="godogen" class="experience" aria-labelledby="godogen-title">
<div class="overview">
<div class="invitation"><p class="eyebrow">Godogen / Games</p><h2 id="godogen-title">Try that moment again.</h2><p class="intro">Miss a jump, rewind and try another move. When something feels great or needs work, pin the exact moment so the agent can see what you mean.</p><div class="keeps"><span class="eyebrow">Yours to keep</span><p>A screenshot, complete game state, feedback and that version's compiled game.</p></div><a class="guide-link" href="../store/viewers/game-viewer/README.md">Open the harness guide <span aria-hidden="true">↗</span></a></div>
<figure>
<div class="media-stage"><img class="poster" src="images/godogen-rewind.png" alt="A playable game paused on its Rewind timeline with Try from here and Pin moment controls." loading="lazy" decoding="async"><video hidden controls playsinline preload="none" data-src="images/godogen-rewind-demo.mp4" poster="images/godogen-rewind.png" aria-label="Godogen recorded walkthrough" aria-describedby="godogen-scene"></video></div>
<div class="media-actions"><button type="button" class="watch" data-watch><span aria-hidden="true">▶</span> Watch real session</button><a href="images/godogen-rewind.png" target="_blank" rel="noopener">Full image <span aria-hidden="true">↗</span></a><a class="video-file" href="images/godogen-rewind-demo.mp4">Video file</a></div>
<figcaption id="godogen-scene">A real playable browser game, including state restoration and saved playtest feedback.</figcaption>
</figure>
</div>
<div class="practice">
<section class="starting-point" aria-labelledby="godogen-start"><p class="eyebrow">Start something of your own</p><h3 id="godogen-start">Give the agent a direction.</h3><label class="sr-only" for="godogen-prompt">Starting prompt for Godogen</label><textarea id="godogen-prompt" class="prompt" readonly rows="5" spellcheck="false">Make a small rooftop delivery game with three jumps, a visible destination and forgiving controls. Make Rewind and Try from here work for the complete game state, so I can replay a difficult moment and leave useful playtest notes.</textarea><div class="copy-row"><button type="button" class="primary" data-copy="godogen-prompt">Copy starting prompt</button><span class="copy-status" role="status"></span></div><p class="start-help">In Harness, start a Godogen project and paste this into the agent chat. Change the idea to make it yours.</p><details><summary>Continue from something you kept</summary><label class="sr-only" for="godogen-followup">Follow-up prompt for Godogen</label><textarea id="godogen-followup" class="prompt followup" readonly rows="5" spellcheck="false">Read the saved playtest moments in out/playtests. Make the jump in my Change note easier to read, preserve the movement I marked Keep, then let me play the revised version.</textarea><div class="copy-row"><button type="button" data-copy="godogen-followup">Copy follow-up</button><span class="copy-status" role="status"></span></div><p class="start-help">Keep the result in this project, or give the agent the path to your downloaded copy.</p></details></section>
<section class="walkthrough" aria-labelledby="godogen-try"><p class="eyebrow">Then get your hands on it</p><h3 id="godogen-try">Make a choice. See it happen.</h3><ol><li><h4>Play a little</h4><p>Enter Play in a game with Rewind support. The viewer remembers the recent run while you play.</p></li><li><h4>Try another move</h4><p>Open Rewind and scrub back. Try from here resumes from that state; returning to the live moment restores the run you left.</p></li><li><h4>Pin what matters</h4><p>Pin moment with a Keep, Change or Explore note. Saved moments reopens that game version, screenshot and state after later edits.</p></li></ol><p class="scope-note">Rewind needs snapshot support in the authored game. Saved moments preserve compiled output; editable source stays in the project, and external assets still need their original service.</p></section>
</div>
<div class="next-craft"><span>There is another craft to try.</span><a href="#strudel" data-experience="strudel">Music with Strudel <span aria-hidden="true">→</span></a></div>
</article>
<article id="strudel" class="experience" aria-labelledby="strudel-title">
<div class="overview">
<div class="invitation"><p class="eyebrow">Strudel / Music</p><h2 id="strudel-title">Perform the version you love.</h2><p class="intro">A track is an instrument you can play. Bring voices in and out, try a code change and mark the part you want to hear again. Keep the sound of that performance.</p><div class="keeps"><span class="eyebrow">Yours to keep</span><p>A stereo WAV, played code versions and a timed performance journal in a ZIP.</p></div><a class="guide-link" href="../store/agents/strudel/README.md">Open the harness guide <span aria-hidden="true">↗</span></a></div>
<figure>
<div class="media-stage"><img class="poster" src="images/strudel-live-take.png" alt="Strudel's live voice lanes beside a recorded take with waveform, named moments and an audio-and-source download." loading="lazy" decoding="async"><video hidden controls playsinline preload="none" data-src="images/strudel-live-take-demo.mp4" poster="images/strudel-live-take.png" aria-label="Strudel recorded walkthrough" aria-describedby="strudel-scene"></video></div>
<div class="media-actions"><button type="button" class="watch" data-watch><span aria-hidden="true">▶</span> Watch real session · with music</button><a href="images/strudel-live-take.png" target="_blank" rel="noopener">Full image <span aria-hidden="true">↗</span></a><a class="video-file" href="images/strudel-live-take-demo.mp4">Video file</a></div>
<figcaption id="strudel-scene">A real performance of the original Lantern room track. The video includes the captured audio.</figcaption>
</figure>
</div>
<div class="practice">
<section class="starting-point" aria-labelledby="strudel-start"><p class="eyebrow">Start something of your own</p><h3 id="strudel-start">Give the agent a direction.</h3><label class="sr-only" for="strudel-prompt">Starting prompt for Strudel</label><textarea id="strudel-prompt" class="prompt" readonly rows="5" spellcheck="false">Write a warm 96 bpm evening groove with drums, a rounded bass, soft chords and a small bell melody. Use synths so it works offline, name the voices, and leave space for me to mute, solo and record a live take.</textarea><div class="copy-row"><button type="button" class="primary" data-copy="strudel-prompt">Copy starting prompt</button><span class="copy-status" role="status"></span></div><p class="start-help">In Harness, start a Strudel project and paste this into the agent chat. Change the idea to make it yours.</p><details><summary>Continue from something you kept</summary><label class="sr-only" for="strudel-followup">Follow-up prompt for Strudel</label><textarea id="strudel-followup" class="prompt followup" readonly rows="5" spellcheck="false">Listen to the take I kept and read its journal in out/takes. Build the next arrangement around the quiet section I marked, using the source version that was playing there.</textarea><div class="copy-row"><button type="button" data-copy="strudel-followup">Copy follow-up</button><span class="copy-status" role="status"></span></div><p class="start-help">Keep the result in this project, or give the agent the path to your downloaded copy.</p></details></section>
<section class="walkthrough" aria-labelledby="strudel-try"><p class="eyebrow">Then get your hands on it</p><h3 id="strudel-try">Make a choice. See it happen.</h3><ol><li><h4>Start the instrument</h4><p>Click Play, listen to the voices and choose Record take when you are ready.</p></li><li><h4>Perform it</h4><p>Mute or solo a voice, run a code change and mark a moment. Finish take opens the captured stereo audio with a seekable waveform.</p></li><li><h4>Keep the sound</h4><p>Name the performance and Keep take. Reopen it from Takes or download Audio + source to carry it away.</p></li></ol><p class="scope-note">Takes capture up to two minutes of the instrument's output. The WAV preserves what you heard from it; external samples and custom imports are not bundled.</p></section>
</div>
<div class="next-craft"><span>There is another craft to try.</span><a href="#rdkit" data-experience="rdkit">Molecules with RDKit <span aria-hidden="true">→</span></a></div>
</article>
<article id="rdkit" class="experience" aria-labelledby="rdkit-title">
<div class="overview">
<div class="invitation"><p class="eyebrow">RDKit / Molecules</p><h2 id="rdkit-title">See a molecule turn.</h2><p class="intro">Choose a flexible bond and move through its sampled shapes. Watch atoms approach one another, follow the calculated energy curve and keep a pose worth investigating.</p><div class="keeps"><span class="eyebrow">Yours to keep</span><p>Input and sampled conformers, selected SDF, energy CSV and reproducible calculation source.</p></div><a class="guide-link" href="../store/agents/rdkit/README.md">Open the harness guide <span aria-hidden="true">↗</span></a></div>
<figure>
<div class="media-stage"><img class="poster" src="images/rdkit-bond-scan.png" alt="An authored molecule in 3D with a reference pose, native MMFF94 bond-energy curve and a selected rotation angle." loading="lazy" decoding="async"><video hidden controls playsinline preload="none" data-src="images/rdkit-bond-scan-demo.mp4" poster="images/rdkit-bond-scan.png" aria-label="RDKit recorded walkthrough" aria-describedby="rdkit-scene"></video></div>
<div class="media-actions"><button type="button" class="watch" data-watch><span aria-hidden="true">▶</span> Watch real session</button><a href="images/rdkit-bond-scan.png" target="_blank" rel="noopener">Full image <span aria-hidden="true">↗</span></a><a class="video-file" href="images/rdkit-bond-scan-demo.mp4">Video file</a></div>
<figcaption id="rdkit-scene">A native RDKit bond scan on an authored molecule, shown with its starting conformer.</figcaption>
</figure>
</div>
<div class="practice">
<section class="starting-point" aria-labelledby="rdkit-start"><p class="eyebrow">Start something of your own</p><h3 id="rdkit-start">Give the agent a direction.</h3><label class="sr-only" for="rdkit-prompt">Starting prompt for RDKit</label><textarea id="rdkit-prompt" class="prompt" readonly rows="5" spellcheck="false">Build a 3D conformer of 2-phenylethanol with explicit hydrogens. I want to explore a flexible non-ring single bond in Bond scan, compare its shapes and understand where steric crowding raises the rigid MMFF94 energy.</textarea><div class="copy-row"><button type="button" class="primary" data-copy="rdkit-prompt">Copy starting prompt</button><span class="copy-status" role="status"></span></div><p class="start-help">In Harness, start a RDKit project and paste this into the agent chat. Change the idea to make it yours.</p><details><summary>Continue from something you kept</summary><label class="sr-only" for="rdkit-followup">Follow-up prompt for RDKit</label><textarea id="rdkit-followup" class="prompt followup" readonly rows="5" spellcheck="false">Read the note and selected.sdf from my kept study in out/torsions. Reproduce its energy curve, explain the crowded poses and suggest another bond to explore.</textarea><div class="copy-row"><button type="button" data-copy="rdkit-followup">Copy follow-up</button><span class="copy-status" role="status"></span></div><p class="start-help">Keep the result in this project, or give the agent the path to your downloaded copy.</p></details></section>
<section class="walkthrough" aria-labelledby="rdkit-try"><p class="eyebrow">Then get your hands on it</p><h3 id="rdkit-try">Make a choice. See it happen.</h3><ol><li><h4>Pick a bond</h4><p>Open Bond scan and Use current conformer. Choose a four-atom chain, or measure a dihedral with T and four atom clicks.</p></li><li><h4>Explore its shapes</h4><p>Scan bond, then drag the energy curve, scrub the rotation or jump to the lowest sampled point. Compare against the starting pose.</p></li><li><h4>Keep a study</h4><p>Choose a pose, add a note and Keep study. Download the full scan and its Python reproducer, or reopen it from the saved library.</p></li></ol><p class="scope-note">This is a rigid MMFF94 scan, with the other internal coordinates fixed. It does not establish a relaxed barrier, equilibrium population or biological activity.</p></section>
</div>
<div class="next-craft"><span>There is another craft to try.</span><a href="#typst" data-experience="typst">Documents with Typst <span aria-hidden="true">→</span></a></div>
</article>
<article id="typst" class="experience" aria-labelledby="typst-title">
<div class="overview">
<div class="invitation"><p class="eyebrow">Typst / Documents</p><h2 id="typst-title">Point at what you mean.</h2><p class="intro">Hold a draft still while you read it. Quote a sentence, circle a detail or leave a page note, then compare the next draft without losing the one you reviewed.</p><div class="keeps"><span class="eyebrow">Yours to keep</span><p>The reviewed PDF, anchored notes, readable feedback and a portable review ZIP.</p></div><a class="guide-link" href="../store/viewers/doc-viewer/README.md">Open the harness guide <span aria-hidden="true">↗</span></a></div>
<figure>
<div class="media-stage"><img class="poster" src="images/doc-review.png" alt="A native PDF draft held for review, with anchored Change, Keep and Question notes." loading="lazy" decoding="async"><video hidden controls playsinline preload="none" data-src="images/doc-review-demo.mp4" poster="images/doc-review.png" aria-label="Typst recorded walkthrough" aria-describedby="typst-scene"></video></div>
<div class="media-actions"><button type="button" class="watch" data-watch><span aria-hidden="true">▶</span> Watch real session</button><a href="images/doc-review.png" target="_blank" rel="noopener">Full image <span aria-hidden="true">↗</span></a><a class="video-file" href="images/doc-review-demo.mp4">Video file</a></div>
<figcaption id="typst-scene">A real Typst PDF rendered by pdf.js, with review notes carried into a later revision.</figcaption>
</figure>
</div>
<div class="practice">
<section class="starting-point" aria-labelledby="typst-start"><p class="eyebrow">Start something of your own</p><h3 id="typst-start">Give the agent a direction.</h3><label class="sr-only" for="typst-prompt">Starting prompt for Typst</label><textarea id="typst-prompt" class="prompt" readonly rows="5" spellcheck="false">Make a two-page design brief for a small desk lamp: the idea, intended use, dimensions, materials and three open questions. Use Typst and give it a clear visual hierarchy. I want to review the PDF in the pane before we revise it.</textarea><div class="copy-row"><button type="button" class="primary" data-copy="typst-prompt">Copy starting prompt</button><span class="copy-status" role="status"></span></div><p class="start-help">In Harness, start a Typst project and paste this into the agent chat. Change the idea to make it yours.</p><details><summary>Continue from something you kept</summary><label class="sr-only" for="typst-followup">Follow-up prompt for Typst</label><textarea id="typst-followup" class="prompt followup" readonly rows="5" spellcheck="false">Read the kept review in .harness/doc-reviews, including review.md and reference.pdf. Revise the editable Typst source around my Change notes and preserve the details marked Keep.</textarea><div class="copy-row"><button type="button" data-copy="typst-followup">Copy follow-up</button><span class="copy-status" role="status"></span></div><p class="start-help">Keep the result in this project, or give the agent the path to your downloaded copy.</p></details></section>
<section class="walkthrough" aria-labelledby="typst-try"><p class="eyebrow">Then get your hands on it</p><h3 id="typst-try">Make a choice. See it happen.</h3><ol><li><h4>Hold this draft</h4><p>Open Review and Hold this draft. The exact PDF stays still while the agent continues working.</p></li><li><h4>Point and explain</h4><p>Select text and Note selected text, Pin an area or add a Page note. Mark it Change, Keep or Question and write what you mean.</p></li><li><h4>Carry it forward</h4><p>Keep review, then ask the agent to read its review.md. Compare latest deliberately; unique exact quotations can follow text to another page.</p></li></ol><p class="scope-note">Changed or repeated quotations need human inspection. Area and page notes stay with the reviewed PDF. The packet includes the PDF and feedback; editable source stays in the workspace.</p></section>
</div>
<div class="next-craft"><span>There is another craft to try.</span><a href="#jev-sheets" data-experience="jev-sheets">Data with Jev Sheets <span aria-hidden="true">→</span></a></div>
</article>
<article id="jev-sheets" class="experience" aria-labelledby="jev-sheets-title">
<div class="overview">
<div class="invitation"><p class="eyebrow">Jev Sheets / Data</p><h2 id="jev-sheets-title">Ask a better question.</h2><p class="intro">Before asking a whole spreadsheet, compare two versions of a question on frozen rows. Read the answers side by side and use your judgment to decide what the wording missed.</p><div class="keeps"><span class="eyebrow">Yours to keep</span><p>Frozen rows, exact questions, answers, probabilities, provider details, your notes and CSV/ZIP exports.</p></div><a class="guide-link" href="../store/agents/jev-sheets/README.md">Open the harness guide <span aria-hidden="true">↗</span></a></div>
<figure>
<div class="media-stage"><img class="poster" src="images/question-lab.png" alt="Question Lab comparing two urgency questions on fictional support rows, prominently labeled offline practice." loading="lazy" decoding="async"><video hidden controls playsinline preload="none" data-src="images/question-lab-demo.mp4" poster="images/question-lab.png" aria-label="Jev Sheets recorded walkthrough" aria-describedby="jev-sheets-scene"></video></div>
<div class="media-actions"><button type="button" class="watch" data-watch><span aria-hidden="true">▶</span> Watch real session</button><a href="images/question-lab.png" target="_blank" rel="noopener">Full image <span aria-hidden="true">↗</span></a><a class="video-file" href="images/question-lab-demo.mp4">Video file</a></div>
<figcaption id="jev-sheets-scene"><strong class="practice-badge">Offline practice demo</strong> Offline practice with fictional rows. The demo shows the workflow, not Jev's live judgment quality.</figcaption>
</figure>
</div>
<div class="practice">
<section class="starting-point" aria-labelledby="jev-sheets-start"><p class="eyebrow">Start something of your own</p><h3 id="jev-sheets-start">Give the agent a direction.</h3><label class="sr-only" for="jev-sheets-prompt">Starting prompt for Jev Sheets</label><textarea id="jev-sheets-prompt" class="prompt" readonly rows="5" spellcheck="false">Help me turn our support tickets into a sheet. Start with an urgency question, then suggest clearer wording to compare in Question Lab. I want to review a small sample and the unsure rows before asking the entire file.</textarea><div class="copy-row"><button type="button" class="primary" data-copy="jev-sheets-prompt">Copy starting prompt</button><span class="copy-status" role="status"></span></div><p class="start-help">In Harness, start a Jev Sheets project and paste this into the agent chat. Change the idea to make it yours.</p><details><summary>Continue from something you kept</summary><label class="sr-only" for="jev-sheets-followup">Follow-up prompt for Jev Sheets</label><textarea id="jev-sheets-followup" class="prompt followup" readonly rows="5" spellcheck="false">Read my kept trial in .harness/question-trials, including the rows and review.md. Help me choose clearer wording and retain that header in sheet.json before running the whole file.</textarea><div class="copy-row"><button type="button" data-copy="jev-sheets-followup">Copy follow-up</button><span class="copy-status" role="status"></span></div><p class="start-help">Keep the result in this project, or give the agent the path to your downloaded copy.</p></details></section>
<section class="walkthrough" aria-labelledby="jev-sheets-try"><p class="eyebrow">Then get your hands on it</p><h3 id="jev-sheets-try">Make a choice. See it happen.</h3><ol><li><h4>Freeze a sample</h4><p>Open Question Lab, choose an existing question and write a candidate. Preview 10, 20 or 40 rows and inspect the exact text and context.</p></li><li><h4>Compare the wording</h4><p>Compare asks both versions together. Inspect changed answers and full probabilities, then mark Original, New wording or Unsure and add your notes.</p></li><li><h4>Keep your reasoning</h4><p>Keep this trial saves the evidence. Try on whole sheet adds the candidate as a separate column; ask the agent to retain the chosen header in sheet.json.</p></li></ol><p class="scope-note">Real answers send sampled rows to your connected Jev provider and require a key. Offline mode is practice only. Confidence and reviewer preferences are not measures of accuracy.</p></section>
</div>
<div class="next-craft"><span>There is another craft to try.</span><a href="#circuitjs" data-experience="circuitjs">Circuits with CircuitJS <span aria-hidden="true">→</span></a></div>
</article>
<article id="circuitjs" class="experience" aria-labelledby="circuitjs-title">
<div class="overview">
<div class="invitation"><p class="eyebrow">CircuitJS / Circuits</p><h2 id="circuitjs-title">See what changed in the signal.</h2><p class="intro">Capture a circuit, turn a component value and overlay the new trace. Place two cursors around the part that interests you and keep the observations with the circuit that produced them.</p><div class="keeps"><span class="eyebrow">Yours to keep</span><p>Native circuit exports, timestamped measurements, an SVG plot, notes and a checksummed ZIP.</p></div><a class="guide-link" href="../store/agents/circuitjs/README.md">Open the harness guide <span aria-hidden="true">↗</span></a></div>
<figure>
<div class="media-stage"><img class="poster" src="images/scope-lab.png" alt="Scope Lab comparing native RC filter traces at two resistance values with A and B measurement cursors." loading="lazy" decoding="async"><video hidden controls playsinline preload="none" data-src="images/scope-lab-demo.mp4" poster="images/scope-lab.png" aria-label="CircuitJS recorded walkthrough" aria-describedby="circuitjs-scene"></video></div>
<div class="media-actions"><button type="button" class="watch" data-watch><span aria-hidden="true">▶</span> Watch real session</button><a href="images/scope-lab.png" target="_blank" rel="noopener">Full image <span aria-hidden="true">↗</span></a><a class="video-file" href="images/scope-lab-demo.mp4">Video file</a></div>
<figcaption id="circuitjs-scene">A native CircuitJS RC filter at two resistance values, captured by its real solver.</figcaption>
</figure>
</div>
<div class="practice">
<section class="starting-point" aria-labelledby="circuitjs-start"><p class="eyebrow">Start something of your own</p><h3 id="circuitjs-start">Give the agent a direction.</h3><label class="sr-only" for="circuitjs-prompt">Starting prompt for CircuitJS</label><textarea id="circuitjs-prompt" class="prompt" readonly rows="5" spellcheck="false">Build a 100 Hz RC low-pass filter with a 1 kΩ resistor and 1 µF capacitor. Label the input and output nodes. I want to capture both in Scope Lab, double the resistance and compare the amplitude and timing.</textarea><div class="copy-row"><button type="button" class="primary" data-copy="circuitjs-prompt">Copy starting prompt</button><span class="copy-status" role="status"></span></div><p class="start-help">In Harness, start a CircuitJS project and paste this into the agent chat. Change the idea to make it yours.</p><details><summary>Continue from something you kept</summary><label class="sr-only" for="circuitjs-followup">Follow-up prompt for CircuitJS</label><textarea id="circuitjs-followup" class="prompt followup" readonly rows="5" spellcheck="false">Read both kept captures in .harness/circuit-captures. Compare their CSV measurements and my notes, explain what changing the resistance did, then help me choose the next circuit value to try.</textarea><div class="copy-row"><button type="button" data-copy="circuitjs-followup">Copy follow-up</button><span class="copy-status" role="status"></span></div><p class="start-help">Keep the result in this project, or give the agent the path to your downloaded copy.</p></details></section>
<section class="walkthrough" aria-labelledby="circuitjs-try"><p class="eyebrow">Then get your hands on it</p><h3 id="circuitjs-try">Make a choice. See it happen.</h3><ol><li><h4>Capture a window</h4><p>Open Scope Lab, choose named nodes or component voltage/current, select a duration and Capture circuit.</p></li><li><h4>Compare a change</h4><p>Change a component in the circuit and capture again. Choose the earlier take in Compare with; place A and B cursors and zoom between them.</p></li><li><h4>Keep both traces</h4><p>Name each take, record what you noticed and Keep capture. Your captures reopens saved traces; Download capture.zip carries the circuit and observations away.</p></li></ol><p class="scope-note">Each capture starts a separate native simulation from the current circuit export. It uses a fresh time origin; initial transients can differ. Keep both captures to preserve a comparison.</p></section>
</div>
<div class="next-craft"><span>There is another craft to try.</span><a href="#mujoco" data-experience="mujoco">Physics with MuJoCo <span aria-hidden="true">→</span></a></div>
</article></div>
<noscript><p class="no-script">All eight experiences are shown below. Starting prompts can be selected and copied; open a Video file link to watch a recording.</p></noscript>
</main>
<footer><p>Eight experiences in this source checkout. <a href="../README.md#run-it">Get started with Harness</a> · <a href="try-hands-on.md">Run a native starter</a> · <a href="../README.md#domain-specific-harnesses-dsh">Browse all harnesses</a></p><p>Videos and images are recorded native sessions, authored separately from these suggested prompts. This guide runs locally without a service; media plays only when you choose it. Jev's demonstration uses offline practice answers.</p></footer>
</body></html>
6aa43136fThis file is pinned to the selected release. Download the original to open it in your design tool.