Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
87ebe1683e | ||
|
|
a968e669c0 | ||
|
|
28c221cdd2 |
No files matched your search
@@ -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/planner-scope` | Maintained default | Planner / planning | 0.2.0 |
|
||||||
| `packages/implementer-handoff` | Maintained default | Implementer / implementation | 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/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-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/designer-to-spec`, `designer-to-tickets` | Optional manual guidance | Designer / design | 0.6.0 |
|
||||||
| `packages/codebase-design` | Optional guidance | Planner / planning | 0.3.0 |
|
| `packages/codebase-design` | Optional guidance | Planner / planning | 0.3.0 |
|
||||||
@@ -70,6 +71,16 @@ To use a user fork, place its closed package directory under the owner's configu
|
|||||||
|
|
||||||
To use a maintained Planner or Implementer default, copy its release package under the same trusted root, admit its `SKILL.md` through the owner catalog, then select it for its declared role in Settings. Settings import accepts user-source packages; configure first-party packages in the owner catalog. Select a fork with `source.kind: user` and a distinct ID to replace a Planner or Implementer future assignment. RelayView pins and assigns the Issue Designer default automatically; its optional methods use `workflowPresets.designerSkills`. Planner guidance uses existing read and planning tools; Implementer guidance uses existing implementation and reporting tools. Guidance selection does not change a role's tools, credentials, lifecycle stages, validation requirements, Gitea effects, review, merge, or Human acceptance. The owner keeps the existing Gitea task workflow.
|
To use a maintained Planner or Implementer default, copy its release package under the same trusted root, admit its `SKILL.md` through the owner catalog, then select it for its declared role in Settings. Settings import accepts user-source packages; configure first-party packages in the owner catalog. Select a fork with `source.kind: user` and a distinct ID to replace a Planner or Implementer future assignment. RelayView pins and assigns the Issue Designer default automatically; its optional methods use `workflowPresets.designerSkills`. Planner guidance uses existing read and planning tools; Implementer guidance uses existing implementation and reporting tools. Guidance selection does not change a role's tools, credentials, lifecycle stages, validation requirements, Gitea effects, review, merge, or Human acceptance. The owner keeps the existing Gitea task workflow.
|
||||||
|
|
||||||
|
## Write the guidance
|
||||||
|
|
||||||
|
A package's instructions are read by a model, so write them for one. Before adding an instruction, especially in response to behavior seen in a run, ask:
|
||||||
|
|
||||||
|
- Can RelayView's owner determine the result from facts it holds? Then the owner should produce it, and the guidance should use it.
|
||||||
|
- Does the text state the action to take and a check the agent can run on the result, rather than what to avoid?
|
||||||
|
- Does the environment the agent works in differ from the familiar one it expects? Name each difference and the action that handles it.
|
||||||
|
|
||||||
|
Judge a change over several runs, using the tool calls each run made, not one successful conversation. RelayView's `docs/authoritative/architecture-heuristics.md`, under "Model-Facing Work", records these defaults in full.
|
||||||
|
|
||||||
## Release identity
|
## Release identity
|
||||||
|
|
||||||
A release tag pins public source. CI runs package checks and archives from that source. RelayView's bundled copy records the source tag and commit plus each package identity and file hash, then verifies the bytes in its own focused test. A bundled update creates a new release identity; it does not overwrite a user fork.
|
A release tag pins public source. CI runs package checks and archives from that source. RelayView's bundled copy records the source tag and commit plus each package identity and file hash, then verifies the bytes in its own focused test. A bundled update creates a new release identity; it does not overwrite a user fork.
|
||||||
|
|||||||
@@ -4,9 +4,30 @@ description: Plan a bounded throwaway prototype to answer a design question.
|
|||||||
disable-model-invocation: true
|
disable-model-invocation: true
|
||||||
metadata:
|
metadata:
|
||||||
relayview-display-name: Designer prototype
|
relayview-display-name: Designer prototype
|
||||||
relayview-version: 0.6.0
|
relayview-version: 0.6.2
|
||||||
---
|
---
|
||||||
|
|
||||||
# Prototype
|
# 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.
|
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 `cd` to the command directory, then the command with an unknown option, 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.
|
||||||
@@ -2,14 +2,14 @@
|
|||||||
"schemaVersion": 1,
|
"schemaVersion": 1,
|
||||||
"source": {
|
"source": {
|
||||||
"kind": "first-party",
|
"kind": "first-party",
|
||||||
"reference": "v0.6.0"
|
"reference": "v0.6.2"
|
||||||
},
|
},
|
||||||
"role": "designer",
|
"role": "designer",
|
||||||
"step": "design",
|
"step": "design",
|
||||||
"files": [
|
"files": [
|
||||||
{
|
{
|
||||||
"path": "SKILL.md",
|
"path": "SKILL.md",
|
||||||
"sha256": "3898ccf2566614ac3fc54afadd857ebd1e61701d0fe1344b92f79f6b01278706"
|
"sha256": "53faaae81e3ed97345a0887c7f6d6779f0f1de82d83697e4bf48d3250596658c"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -25,7 +25,7 @@ class PackageTests(unittest.TestCase):
|
|||||||
skill = (package / "SKILL.md").read_text()
|
skill = (package / "SKILL.md").read_text()
|
||||||
frontmatter = skill.split("---", 2)[1]
|
frontmatter = skill.split("---", 2)[1]
|
||||||
self.assertEqual("disable-model-invocation: true" in frontmatter, name in manual)
|
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)
|
self.assertIn(f"relayview-version: {version}", frontmatter)
|
||||||
manifest = json.loads((package / "relayview-skill.json").read_text())
|
manifest = json.loads((package / "relayview-skill.json").read_text())
|
||||||
self.assertEqual(manifest["source"], {"kind": "first-party", "reference": f"v{version}"})
|
self.assertEqual(manifest["source"], {"kind": "first-party", "reference": f"v{version}"})
|
||||||
|
|||||||
Reference in new issue
Block a user