From 28c221cdd2ada846382ab4bf584e024b0eba36bc Mon Sep 17 00:00:00 2001 From: Kyle Merritt Date: Wed, 11 Nov 2026 19:20:49 -0500 Subject: [PATCH] Guide Designer prototypes to hand over the user's own commands The Human answers a prototype's design question by using it as the software's user will, so the prototype method now has the Designer prepare the scenario itself and give the Human the real command, syntax and directory a user would use, with any reset command offered for that purpose alone. Co-Authored-By: Claude Opus 5.5 --- README.md | 3 ++- packages/designer-prototype/SKILL.md | 23 ++++++++++++++++++- .../designer-prototype/relayview-skill.json | 4 ++-- tests/test_packages.py | 2 +- 4 files changed, 27 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 61ca847..503674d 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,8 @@ Public source for RelayView-maintained instruction-only role skills and an illus | `packages/planner-scope` | Maintained default | Planner / planning | 0.2.0 | | `packages/implementer-handoff` | Maintained default | Implementer / implementation | 0.2.0 | | `packages/issue-designer-default` | Maintained default | Designer / design | 0.6.1 | -| `packages/designer-wayfinder`, `designer-grilling`, `designer-prototype` | Optional manual guidance | Designer / design | 0.6.0 | +| `packages/designer-wayfinder`, `designer-grilling` | Optional manual guidance | Designer / design | 0.6.0 | +| `packages/designer-prototype` | Optional manual guidance | Designer / design | 0.6.2 | | `packages/designer-research`, `designer-domain-modeling`, `designer-triage` | Optional manual guidance | Designer / design | 0.6.0 | | `packages/designer-to-spec`, `designer-to-tickets` | Optional manual guidance | Designer / design | 0.6.0 | | `packages/codebase-design` | Optional guidance | Planner / planning | 0.3.0 | diff --git a/packages/designer-prototype/SKILL.md b/packages/designer-prototype/SKILL.md index 3f5647c..bfb5d7c 100644 --- a/packages/designer-prototype/SKILL.md +++ b/packages/designer-prototype/SKILL.md @@ -4,9 +4,30 @@ description: Plan a bounded throwaway prototype to answer a design question. disable-model-invocation: true metadata: relayview-display-name: Designer prototype - relayview-version: 0.6.0 + relayview-version: 0.6.2 --- # Prototype Propose the exact question, bounded code or data scope, expected preview or data effects, and limits to the Human before entering this method. Use only owner-admitted prototype controls after agreement. Treat observations as evidence about the question, not production behavior. Record what was tried, observed, and still uncertain; keep throwaway changes out of the issue's implementation claim. + +## Let the Human try it as a user + +The Human answers the question by using the prototype the way the software's user will. The commands they type are part of the design under review: the command name, its arguments and options, and the directory it runs from. + +- Prepare the scenario yourself before handing over. Create the sample data, repositories, and earlier history the question needs, and run any setup steps, so the scenario is ready when the Human arrives. +- Put the scenario's data where the app finds it by default, such as its default config or source directory under HOME, so the user's command needs no extra options. +- Make the Human's first command one the software's user will type: the real command name, the syntax this change proposes, and the arguments a user would pass, run from the directory where a user would be. +- Give each command to try exactly as that user types it, and say what it shows. +- When the scenario needs restoring between tries, give a reset command by its name alone, followed by the user's command to try again. +- Ask the Human about what they saw as a user of the software, in terms of the design question. + +## Before handing over + +Work through this checklist, then give the Human the shell command and the first command to try: + +1. The app's command runs by its own name from `/scratch/bin`: a configured command the owner listed, or a launcher you wrote. Run it with an unknown option from the command directory and confirm its usage message names the command as the user types it. +2. The scenario's data is where the app finds it by default under the workspace's HOME. +3. Helper commands, such as a reset command, are in `/scratch/bin`, so the Human runs each by its name. +4. The command directory is set with `configure` to where the app's user runs the app. +5. You ran the first command to try yourself, exactly as the Human will type it, from that directory, and it showed what the question is about. diff --git a/packages/designer-prototype/relayview-skill.json b/packages/designer-prototype/relayview-skill.json index 8c1d54f..a162995 100644 --- a/packages/designer-prototype/relayview-skill.json +++ b/packages/designer-prototype/relayview-skill.json @@ -2,14 +2,14 @@ "schemaVersion": 1, "source": { "kind": "first-party", - "reference": "v0.6.0" + "reference": "v0.6.2" }, "role": "designer", "step": "design", "files": [ { "path": "SKILL.md", - "sha256": "3898ccf2566614ac3fc54afadd857ebd1e61701d0fe1344b92f79f6b01278706" + "sha256": "e3ce203d245e6a264a0159672610c84032c38bc1dd3892335561fed4e5531eb3" } ] } diff --git a/tests/test_packages.py b/tests/test_packages.py index afa131d..38b555e 100644 --- a/tests/test_packages.py +++ b/tests/test_packages.py @@ -25,7 +25,7 @@ class PackageTests(unittest.TestCase): skill = (package / "SKILL.md").read_text() frontmatter = skill.split("---", 2)[1] self.assertEqual("disable-model-invocation: true" in frontmatter, name in manual) - version = "0.6.1" if name == automatic else "0.6.0" + version = {automatic: "0.6.1", "designer-prototype": "0.6.2"}.get(name, "0.6.0") self.assertIn(f"relayview-version: {version}", frontmatter) manifest = json.loads((package / "relayview-skill.json").read_text()) self.assertEqual(manifest["source"], {"kind": "first-party", "reference": f"v{version}"})