Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a8462b52ae | ||
|
|
2f060c479e | ||
|
|
86cf1b6f81 | ||
|
|
015b4d1d0e | ||
|
|
01b6c24a57 | ||
|
|
2ddf21cb48 | ||
|
|
dd7b9c9d0b | ||
|
|
6948a2670a | ||
|
|
1f6cce14a8 | ||
|
|
1756c46c06 | ||
|
|
74ace113f6 | ||
|
|
a6fe199ba7 | ||
|
|
82c070df41 | ||
|
|
64164444e6 | ||
|
|
2d7bf2404a | ||
|
|
f42eba659d | ||
|
|
b4666bbda1 |
No files matched your search
@@ -1,41 +1,41 @@
|
||||
# RelayView skills
|
||||
|
||||
Public source for RelayView-maintained instruction-only role skills and an illustrative author starter. The proprietary RelayView owner controls workflow stages, role tools, verification, and Human acceptance. A skill guides one assigned role during one step; it does not add tools, credentials, network access, or workflow authority.
|
||||
Public source for RelayView-maintained instruction-only role skills and an illustrative author starter. The proprietary RelayView owner controls workflow stages, role tools, verification, and Operator acceptance. A skill guides one assigned role during one step; it does not add tools, credentials, network access, or workflow authority.
|
||||
|
||||
## Packages and support
|
||||
|
||||
| Directory | Status | Role / step | Version |
|
||||
| --- | --- | --- | --- |
|
||||
| `packages/{planner,implementer,reviewer}-investigation` | Maintained automatic guidance | One matching role / step each | 0.7.0 |
|
||||
| `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` | 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 |
|
||||
| `packages/grill-me` | Optional guidance | Planner / planning | 0.3.0 |
|
||||
| `packages/grilling` | Optional guidance | Planner / planning | 0.3.0 |
|
||||
| `packages/to-questionnaire` | Optional guidance | Planner / planning | 0.3.0 |
|
||||
| `packages/research` | Optional guidance | Planner / planning | 0.3.0 |
|
||||
| `packages/improve-codebase-architecture` | Optional guidance | Planner / planning | 0.3.0 |
|
||||
| `packages/diagnosing-bugs` | Optional guidance | Implementer / implementation | 0.3.0 |
|
||||
| `packages/domain-modeling` | Optional guidance | Implementer / implementation | 0.3.0 |
|
||||
| `packages/migrate-to-shoehorn` | Optional guidance | Implementer / implementation | 0.3.0 |
|
||||
| `packages/pr` | Optional guidance | Implementer / implementation | 0.3.0 |
|
||||
| `packages/prototype` | Optional guidance | Implementer / implementation | 0.3.0 |
|
||||
| `packages/scaffold-exercises` | Optional guidance | Implementer / implementation | 0.3.0 |
|
||||
| `packages/shared-abstraction-refactor` | Optional guidance | Implementer / implementation | 0.3.0 |
|
||||
| `packages/split-large-files` | Optional guidance | Implementer / implementation | 0.3.0 |
|
||||
| `packages/tdd` | Optional manual guidance | Implementer / implementation | 0.3.0 |
|
||||
| `packages/tdd-auto` | Optional automatic guidance | Implementer / implementation | 0.3.1 |
|
||||
| `packages/writing-for-agents` | Optional guidance | Implementer / implementation | 0.3.0 |
|
||||
| `packages/code-review` | Optional guidance | Reviewer / review | 0.3.0 |
|
||||
| `packages/c4-diff` | Optional guidance | Reviewer / review | 0.3.0 |
|
||||
| `examples/starter-planner` | Illustrative starter; not a production default | Planner / planning | 0.1.0 |
|
||||
| `packages/{planner,implementer,reviewer}-investigation` | Maintained automatic guidance | One matching role / step each | 0.13.0 |
|
||||
| `packages/planner-scope` | Maintained default | Planner / planning | 0.13.0 |
|
||||
| `packages/implementer-handoff` | Maintained default | Implementer / implementation | 0.13.0 |
|
||||
| `packages/issue-designer-default` | Maintained default | Designer / design | 0.13.0 |
|
||||
| `packages/designer-wayfinder`, `designer-grilling` | Optional manual guidance | Designer / design | 0.13.0 |
|
||||
| `packages/designer-prototype` | Optional manual guidance | Designer / design | 0.13.0 |
|
||||
| `packages/designer-research`, `designer-domain-modeling`, `designer-triage` | Optional manual guidance | Designer / design | 0.13.0 |
|
||||
| `packages/designer-to-spec`, `designer-to-tickets` | Optional manual guidance | Designer / design | 0.13.0 |
|
||||
| `packages/codebase-design` | Optional guidance | Planner / planning | 0.13.0 |
|
||||
| `packages/grill-me` | Optional guidance | Planner / planning | 0.13.0 |
|
||||
| `packages/grilling` | Optional guidance | Planner / planning | 0.13.0 |
|
||||
| `packages/to-questionnaire` | Optional guidance | Planner / planning | 0.13.0 |
|
||||
| `packages/research` | Optional guidance | Planner / planning | 0.13.0 |
|
||||
| `packages/improve-codebase-architecture` | Optional guidance | Planner / planning | 0.13.0 |
|
||||
| `packages/diagnosing-bugs` | Optional guidance | Implementer / implementation | 0.13.0 |
|
||||
| `packages/domain-modeling` | Optional guidance | Implementer / implementation | 0.13.0 |
|
||||
| `packages/migrate-to-shoehorn` | Optional guidance | Implementer / implementation | 0.13.0 |
|
||||
| `packages/pr` | Optional guidance | Implementer / implementation | 0.13.0 |
|
||||
| `packages/prototype` | Optional guidance | Implementer / implementation | 0.13.0 |
|
||||
| `packages/scaffold-exercises` | Optional guidance | Implementer / implementation | 0.13.0 |
|
||||
| `packages/shared-abstraction-refactor` | Optional guidance | Implementer / implementation | 0.13.0 |
|
||||
| `packages/split-large-files` | Optional guidance | Implementer / implementation | 0.13.0 |
|
||||
| `packages/tdd` | Optional manual guidance | Implementer / implementation | 0.13.0 |
|
||||
| `packages/tdd-auto` | Optional automatic guidance | Implementer / implementation | 0.13.0 |
|
||||
| `packages/writing-for-agents` | Optional guidance | Implementer / implementation | 0.13.0 |
|
||||
| `packages/code-review` | Optional guidance | Reviewer / review | 0.13.0 |
|
||||
| `packages/c4-diff` | Optional guidance | Reviewer / review | 0.13.0 |
|
||||
| `examples/starter-planner` | Illustrative starter; not a production default | Planner / planning | 0.13.0 |
|
||||
|
||||
Only named releases of maintained packages receive RelayView compatibility testing and maintenance. Optional guidance requires explicit role assignment; the Planner and Implementer defaults remain available alongside the pinned Issue Designer default. User forks are maintained by their publishers. This release uses the instruction package schema version 1 admitted by RelayView's Community MVP. It contains only `SKILL.md`, declared `.md`/`.txt` resources, and `relayview-skill.json` within each package. Scripts, executable files, undeclared files, and requested permissions fail checks and owner admission. There is no fixed release calendar: maintained packages are versioned when their content or compatibility changes. A breaking owner contract requires a new compatible maintained release before the product depends on it.
|
||||
Only named releases of maintained packages receive RelayView compatibility testing and maintenance. Optional guidance requires explicit role assignment; the Planner and Implementer defaults remain available alongside the pinned Issue Designer default. User forks are maintained by their publishers. Instruction packages use schema version 1, or schema version 2 for a Planner package declaring owner-validated `issueClaim` metadata. Schema 2 accepts a nullable target status label; the owner enforces the claim transition after proved implementation handoff. It contains only `SKILL.md`, declared `.md`/`.txt` resources, and `relayview-skill.json` within each package. Scripts, executable files, undeclared files, and requested permissions fail checks and owner admission. There is no fixed release calendar: maintained packages are versioned when their content or compatibility changes. A breaking owner contract requires a new compatible maintained release before the product depends on it.
|
||||
|
||||
## A named set in RelayView
|
||||
|
||||
@@ -70,7 +70,7 @@ Replace `examples/starter-planner` in the last two commands with your package di
|
||||
|
||||
To use a user fork, place its closed package directory under the owner's configured trusted root. For Planner, Implementer, or Reviewer guidance, use Settings → Skills to import the relative `SKILL.md` path under a new unique ID. Import validates and records the package; it does not assign it. Add that ID to a role-compatible named set in the owner configuration and restart the owner to load the set. Then select the set for the matching role in Settings → Skills and save. For an optional Designer method, declare its ID and relative `SKILL.md` path in `trustedSkills.catalog`, list the ID in `workflowPresets.designerSkills`, and restart the owner. Designer has no Settings import or set selector for this assignment. These assignments affect future sessions; existing sessions retain their captured bytes. The owner's admission remains authoritative even when these local checks pass.
|
||||
|
||||
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 Operator acceptance. The owner keeps the existing Gitea task workflow.
|
||||
|
||||
## Write the guidance
|
||||
|
||||
@@ -87,3 +87,17 @@ Judge a change over several runs, using the tool calls each run made, not one su
|
||||
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.
|
||||
|
||||
The MIT license covers this repository only. The contribution policy is in [CONTRIBUTING.md](CONTRIBUTING.md); dependency notices are in [NOTICE.md](NOTICE.md).
|
||||
|
||||
The automatic `code-review-auto` package supplies optional bounded, path-aware finding presentation. Broader two-axis standards/spec inspection remains in the manual `code-review` package. Both use only the assigned Reviewer capabilities; required adequacy, disposition and recovery stay with the owner.
|
||||
|
||||
Automatic role communication packages (`planner-communication`,
|
||||
`implementer-communication`, `reviewer-communication`) use schema 3 with
|
||||
`treatment: "communication_context"`. This metadata declares their ablation
|
||||
boundary; it grants no tools or authority. Preserve the declaration in forks.
|
||||
RelayView rejects these packages in a named automatic set when the frozen
|
||||
communication treatment is off. Unrelated automatic packages remain available.
|
||||
The owner retains publication identity/order, mandatory status, complete durable
|
||||
artifacts, verification and Operator acceptance. These packages customize
|
||||
answer/detail/example/acknowledgement presentation only.
|
||||
|
||||
The automatic `research-auto` Planner package supplies primary-source selection, preferred-domain exploration/refinement and evidence-reading methodology, publication/version checking, corroboration and already-admitted empirical evidence methods. The manual `research` package remains available on request. Tool arguments, budgets, continuation, recovery and untrusted research provenance belong to the owner.
|
||||
@@ -4,7 +4,7 @@ description: Explain structural changes in an owner-pinned code diff with tracea
|
||||
disable-model-invocation: true
|
||||
metadata:
|
||||
relayview-display-name: Component diff
|
||||
relayview-version: 0.3.0
|
||||
relayview-version: 0.13.0
|
||||
---
|
||||
|
||||
# Component diff review
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
"schemaVersion": 1,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.3.0"
|
||||
"reference": "v0.13.0"
|
||||
},
|
||||
"role": "reviewer",
|
||||
"step": "review",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "f1746262e65a8a3de9223a8c42a30b354a6718fea3819079cd13597a258da567"
|
||||
"sha256": "74bd447bb072c0667fb2276398ee2cadc28079917a4c7781fe18fd5e7f868b83"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
---
|
||||
name: code-review-auto
|
||||
description: Present findings for the owner-assigned review candidate.
|
||||
metadata:
|
||||
relayview-display-name: Review finding presentation
|
||||
relayview-version: 0.13.0
|
||||
---
|
||||
|
||||
# Review finding presentation
|
||||
|
||||
Keep findings bounded, path-aware, and actionable.
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.13.0"
|
||||
},
|
||||
"role": "reviewer",
|
||||
"step": "review",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "2040364a3cd49fb21346295fff371c1ef242e3227e33cd9138c30bbf10923514"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -4,7 +4,7 @@ description: Review the owner-pinned candidate against repository standards and
|
||||
disable-model-invocation: true
|
||||
metadata:
|
||||
relayview-display-name: Code review
|
||||
relayview-version: 0.3.0
|
||||
relayview-version: 0.13.0
|
||||
---
|
||||
|
||||
# Two-axis code review
|
||||
@@ -12,3 +12,5 @@ metadata:
|
||||
Review only the candidate and commit identity supplied by the owner. Keep standards and Plan fidelity separate. For standards, cite the exact repository rule and changed hunk; identify possible design smells as judgment calls, never as rule violations. A documented local standard takes precedence over a general heuristic. For Plan fidelity, identify missing or partial requirements, unrequested behavior, and behavior whose implementation contradicts the accepted Plan. Cite the Plan clause and code evidence for each finding.
|
||||
|
||||
Report both axes even if one has no findings. Distinguish evidence, inference, and uncertainty; skip issues already enforced by tooling unless the enforcement itself failed. Do not edit the candidate, create subagents, choose a new base, change the acceptance state, or request a new review run. The owner controls review scheduling, exact-head binding, and the response to findings.
|
||||
|
||||
Keep findings bounded, path-aware, and actionable.
|
||||
@@ -2,14 +2,14 @@
|
||||
"schemaVersion": 1,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.3.0"
|
||||
"reference": "v0.13.0"
|
||||
},
|
||||
"role": "reviewer",
|
||||
"step": "review",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "c2b05163e738e59573b96f723d5340f56304299bcdf251e38b2d2afb4eda2b5a"
|
||||
"sha256": "c3ce841b0e1e104393d2feabd9982fff08bab59177a8b36a7910dec89a3a8734"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -3,7 +3,7 @@ name: codebase-design
|
||||
description: Examine module interfaces and seams while drafting a repository Plan.
|
||||
metadata:
|
||||
relayview-display-name: Codebase design
|
||||
relayview-version: 0.3.0
|
||||
relayview-version: 0.13.0
|
||||
---
|
||||
|
||||
# Codebase design for Planner
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
"schemaVersion": 1,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.3.0"
|
||||
"reference": "v0.13.0"
|
||||
},
|
||||
"role": "planner",
|
||||
"step": "planning",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "8633b139187c3ba62e75338f3792ef6d7a445559b792cfb4926cb722609c161a"
|
||||
"sha256": "4932d91c98ec71eced5decd4b79f6533b93dbe04e78a810b6de7a329bbd4e23f"
|
||||
},
|
||||
{
|
||||
"path": "module-guide.md",
|
||||
|
||||
@@ -4,9 +4,9 @@ description: Sharpen project terms, invariants, and boundaries for an issue draf
|
||||
disable-model-invocation: true
|
||||
metadata:
|
||||
relayview-display-name: Designer domain modeling
|
||||
relayview-version: 0.6.0
|
||||
relayview-version: 0.13.0
|
||||
---
|
||||
|
||||
# Domain modeling
|
||||
|
||||
Read the assigned project's current context and relevant authoritative contracts. Name concepts in the project's own vocabulary; identify identities, state transitions, invariants, and boundaries that the proposed work touches. Ask the Human when a term or invariant changes acceptance. Put the resulting definitions and open choices in the draft without claiming a repository document was edited.
|
||||
Read the assigned project's current context and relevant authoritative contracts. Name concepts in the project's own vocabulary; identify identities, state transitions, invariants, and boundaries that the proposed work touches. Ask the Operator when a term or invariant changes acceptance. Put the resulting definitions and open choices in the draft without claiming a repository document was edited.
|
||||
@@ -2,14 +2,14 @@
|
||||
"schemaVersion": 1,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.6.0"
|
||||
"reference": "v0.13.0"
|
||||
},
|
||||
"role": "designer",
|
||||
"step": "design",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "cfb72adc02cf0a488c341d965c16e22d22e90c52ab0540a9072b09c592d1abd7"
|
||||
"sha256": "db980f11e64f3936e913d33ba71e7f33b5ad171c82af9c814cb7fd32b43b03e2"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,12 +1,12 @@
|
||||
---
|
||||
name: designer-grilling
|
||||
description: Stress test one proposed issue design through focused Human questions.
|
||||
description: Stress test one proposed issue design through focused Operator questions.
|
||||
disable-model-invocation: true
|
||||
metadata:
|
||||
relayview-display-name: Designer grilling
|
||||
relayview-version: 0.6.0
|
||||
relayview-version: 0.13.0
|
||||
---
|
||||
|
||||
# Grilling
|
||||
|
||||
State the design and scope to be challenged and seek the Human's agreement before entering this method. Probe one consequential assumption at a time: behavior, boundary, dependency, failure, or verification. Use each answer to choose the next question. Stop when the important branches are resolved or explicitly left open; summarize the agreed design and open decisions in the draft.
|
||||
State the design and scope to be challenged and seek the Operator's agreement before entering this method. Probe one consequential assumption at a time: behavior, boundary, dependency, failure, or verification. Use each answer to choose the next question. Stop when the important branches are resolved or explicitly left open; summarize the agreed design and open decisions in the draft.
|
||||
@@ -2,14 +2,14 @@
|
||||
"schemaVersion": 1,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.6.0"
|
||||
"reference": "v0.13.0"
|
||||
},
|
||||
"role": "designer",
|
||||
"step": "design",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "431da86a21da7b74fa55bce36c1e0fc806d066cd8b1ace7a784e1eb4a2db4a89"
|
||||
"sha256": "e1cbf117510c6497241122ab8f7564d78d7fdaf85ba6e3b43256c881dea2d6bb"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -4,30 +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.2
|
||||
relayview-version: 0.13.0
|
||||
---
|
||||
|
||||
# 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 Operator 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
|
||||
## Let the Operator 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.
|
||||
The Operator 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.
|
||||
- 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 Operator 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.
|
||||
- Make the Operator'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.
|
||||
- Give the Human only the commands needed to answer the design question. Add a reset command only when one of those commands changes the scenario; then put it in `/scratch/bin` and give it by its name alone, followed by the command to try again.
|
||||
- Ask the Human about what they saw as a user of the software, in terms of the design question.
|
||||
- Give the Operator only the commands needed to answer the design question. Add a reset command only when one of those commands changes the scenario; then put it in `/scratch/bin` and give it by its name alone, followed by the command to try again.
|
||||
- Ask the Operator 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:
|
||||
Work through this checklist, then give the Operator 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 are in `/scratch/bin`, so the Human runs each by its name.
|
||||
3. Helper commands are in `/scratch/bin`, so the Operator 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.
|
||||
5. You ran the first command to try yourself, exactly as the Operator will type it, from that directory, and it showed what the question is about.
|
||||
@@ -2,14 +2,14 @@
|
||||
"schemaVersion": 1,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.6.2"
|
||||
"reference": "v0.13.0"
|
||||
},
|
||||
"role": "designer",
|
||||
"step": "design",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "b72f085f33c10ea48f69fbe55c4f364f6a873a8ae2e6baeb8eaf2aaf71df5045"
|
||||
"sha256": "ebf3ff2a5321ca8984e318d37a37c00b9ad9ef3c7966e9cf04eeab996eb16ae3"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -4,7 +4,7 @@ description: Research a design question using admitted repository, tracker, and
|
||||
disable-model-invocation: true
|
||||
metadata:
|
||||
relayview-display-name: Designer research
|
||||
relayview-version: 0.6.0
|
||||
relayview-version: 0.13.0
|
||||
---
|
||||
|
||||
# Research
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
"schemaVersion": 1,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.6.0"
|
||||
"reference": "v0.13.0"
|
||||
},
|
||||
"role": "designer",
|
||||
"step": "design",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "676c4291d4bab19c76c0d945eefe21aa6787783e4e2d2285e0d6e270303d1e94"
|
||||
"sha256": "d745d68f04984c5d69ec0356da24c2147eb9738003096e792f6ad3a72b040cf0"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -4,9 +4,9 @@ description: Turn an agreed problem into a complete reviewable issue specificati
|
||||
disable-model-invocation: true
|
||||
metadata:
|
||||
relayview-display-name: Designer to spec
|
||||
relayview-version: 0.6.0
|
||||
relayview-version: 0.13.0
|
||||
---
|
||||
|
||||
# To spec
|
||||
|
||||
Use the agreed problem and observed project contracts to draft an outcome, scope boundaries, acceptance observations, failure and recovery behavior, and open decisions. Check prerequisites against the assigned tracker and mark uncertain links as proposed. Save the complete text through the owner-stored draft. The Human decides readiness and publication.
|
||||
Use the agreed problem and observed project contracts to draft an outcome, scope boundaries, acceptance observations, failure and recovery behavior, and open decisions. Check prerequisites against the assigned tracker and mark uncertain links as proposed. Save the complete text through the owner-stored draft. The Operator decides readiness and publication.
|
||||
@@ -2,14 +2,14 @@
|
||||
"schemaVersion": 1,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.6.0"
|
||||
"reference": "v0.13.0"
|
||||
},
|
||||
"role": "designer",
|
||||
"step": "design",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "c4b8707f88faf1b9f3e04bb707b45bbb3d89848a8a3b2ac807dc819e8dd29f91"
|
||||
"sha256": "96afff887cda29d1a2447ef4ccd8f6dd3fbf00b622623bd3d69d6bc0f1efc40d"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -4,9 +4,9 @@ description: Decompose an agreed specification into ordered issue proposals.
|
||||
disable-model-invocation: true
|
||||
metadata:
|
||||
relayview-display-name: Designer to tickets
|
||||
relayview-version: 0.6.0
|
||||
relayview-version: 0.13.0
|
||||
---
|
||||
|
||||
# To tickets
|
||||
|
||||
Choose independently reviewable slices with observable outcomes and prerequisite edges only where one slice truly requires another. For each proposed issue, state scope, acceptance, verification, and context a cold-start agent needs. Present the ordered set and relationship rationale to the Human. Keep proposals private until Human review and owner publication.
|
||||
Choose independently reviewable slices with observable outcomes and prerequisite edges only where one slice truly requires another. For each proposed issue, state scope, acceptance, verification, and context a cold-start agent needs. Present the ordered set and relationship rationale to the Operator. Keep proposals private until Operator review and owner publication.
|
||||
@@ -2,14 +2,14 @@
|
||||
"schemaVersion": 1,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.6.0"
|
||||
"reference": "v0.13.0"
|
||||
},
|
||||
"role": "designer",
|
||||
"step": "design",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "561db3543cfdffe55b8002954d7debcf9d0fc1125d51c688a74cf2469d3d73a1"
|
||||
"sha256": "b52ad8f158a1aa27c469e33e9f15b3b3f47ad8c3658444ee0fc6d137ed80ad53"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -4,9 +4,9 @@ description: Classify and route an observed issue before drafting work.
|
||||
disable-model-invocation: true
|
||||
metadata:
|
||||
relayview-display-name: Designer triage
|
||||
relayview-version: 0.6.0
|
||||
relayview-version: 0.13.0
|
||||
---
|
||||
|
||||
# Triage
|
||||
|
||||
Observe the current report and related tracker state. Separate verified symptoms, missing information, proposed behavior, and duplicate or prerequisite work. Suggest the smallest useful next state and explain the evidence for it. Draft an issue or question for Human review; only owner controls can change tracker status or placement.
|
||||
Observe the current report and related tracker state. Separate verified symptoms, missing information, proposed behavior, and duplicate or prerequisite work. Suggest the smallest useful next state and explain the evidence for it. Draft an issue or question for Operator review; only owner controls can change tracker status or placement.
|
||||
@@ -2,14 +2,14 @@
|
||||
"schemaVersion": 1,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.6.0"
|
||||
"reference": "v0.13.0"
|
||||
},
|
||||
"role": "designer",
|
||||
"step": "design",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "fa62a0806921d87ddd27e494cfc379513cc147ad658eb5a2981970ccb25babf5"
|
||||
"sha256": "d09d9621c07476e1d3294d952ac85f011ac3ab83308a981817bcb991e70d402d"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,12 +1,12 @@
|
||||
---
|
||||
name: designer-wayfinder
|
||||
description: Map an uncertain design decision into options and a Human choice.
|
||||
description: Map an uncertain design decision into options and a Operator choice.
|
||||
disable-model-invocation: true
|
||||
metadata:
|
||||
relayview-display-name: Designer Wayfinder
|
||||
relayview-version: 0.6.0
|
||||
relayview-version: 0.13.0
|
||||
---
|
||||
|
||||
# Wayfinder
|
||||
|
||||
Use this method for a decision whose alternatives materially change the work. First describe the decision, why it matters, and the bounded scope to the Human; enter the method only after the Human agrees. Observe current facts, list viable options with consequences and reversibility, and ask the smallest question that separates them. Record the Human's decision and remaining uncertainty in the owner-stored draft when relevant. This is decision work, not a ready implementation claim.
|
||||
Use this method for a decision whose alternatives materially change the work. First describe the decision, why it matters, and the bounded scope to the Operator; enter the method only after the Operator agrees. Observe current facts, list viable options with consequences and reversibility, and ask the smallest question that separates them. Record the Operator's decision and remaining uncertainty in the owner-stored draft when relevant. This is decision work, not a ready implementation claim.
|
||||
@@ -2,14 +2,14 @@
|
||||
"schemaVersion": 1,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.6.0"
|
||||
"reference": "v0.13.0"
|
||||
},
|
||||
"role": "designer",
|
||||
"step": "design",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "c5b5db0755af497cfe9be9fee9912f1406fb3b8546d7f389998516ba298f27b0"
|
||||
"sha256": "fb441d89ae15ed309d85dd8af4ae151dd951fb155c19ccf672083cca876e2671"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -3,7 +3,7 @@ name: diagnosing-bugs
|
||||
description: Build a reproducible feedback loop before fixing an assigned defect.
|
||||
metadata:
|
||||
relayview-display-name: Diagnose bugs
|
||||
relayview-version: 0.3.0
|
||||
relayview-version: 0.13.0
|
||||
---
|
||||
|
||||
# Diagnose within implementation
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
"schemaVersion": 1,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.3.0"
|
||||
"reference": "v0.13.0"
|
||||
},
|
||||
"role": "implementer",
|
||||
"step": "implementation",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "41c5d0ccb48b19aef95e19103f3c7721b9c3ddf2e8bdf3ff2c429a26853b18ae"
|
||||
"sha256": "b3c6d9a89c50365d0cd41b327e52c54043e1aa52b2dcb351656fe4950ee12144"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -3,12 +3,12 @@ name: domain-modeling
|
||||
description: Reconcile verified domain vocabulary and accepted decisions during implementation.
|
||||
metadata:
|
||||
relayview-display-name: Domain modeling
|
||||
relayview-version: 0.3.0
|
||||
relayview-version: 0.13.0
|
||||
---
|
||||
|
||||
# Domain documentation in implementation
|
||||
|
||||
Read the repository's domain glossary and documentation rules before changing a model. When the assigned implementation reveals ambiguous or conflicting terms, compare the proposed meaning with current code, tests, and the accepted Plan. Raise an unresolved decision through the assigned Human communication path; do not turn a guess into an authoritative term.
|
||||
Read the repository's domain glossary and documentation rules before changing a model. When the assigned implementation reveals ambiguous or conflicting terms, compare the proposed meaning with current code, tests, and the accepted Plan. Raise an unresolved decision through the assigned Operator communication path; do not turn a guess into an authoritative term.
|
||||
|
||||
After a term or consequential design decision is accepted and verified, update the repository's existing glossary or decision record within the assigned worktree. Keep glossary entries about domain meaning rather than implementation mechanics. Record an ADR only for a hard-to-reverse, surprising trade-off whose decision authority and alternatives are known. Keep run-specific test evidence with the issue or review handoff.
|
||||
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
"schemaVersion": 1,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.3.0"
|
||||
"reference": "v0.13.0"
|
||||
},
|
||||
"role": "implementer",
|
||||
"step": "implementation",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "8a4d491493655b19feeb799af625ccef1f9064f203f3e38f57ccd7e547c28be6"
|
||||
"sha256": "0c203c9d52a7fce7d017d00e3b568b67b6236b5895523cb92bf5be8189fb264c"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -4,11 +4,11 @@ description: Ask one deliberate question at a time to clarify an assigned Plan.
|
||||
disable-model-invocation: true
|
||||
metadata:
|
||||
relayview-display-name: Grill me
|
||||
relayview-version: 0.3.0
|
||||
relayview-version: 0.13.0
|
||||
---
|
||||
|
||||
# One-question planning interview
|
||||
|
||||
When the Human explicitly invokes this skill during planning, map the unresolved decisions affecting the assigned task. Check the repository and current Plan context for facts before asking. Ask one consequential question at a time, with a recommended answer and its consequence. Wait for the Human's answer before advancing to a dependent question.
|
||||
When the Operator explicitly invokes this skill during planning, map the unresolved decisions affecting the assigned task. Check the repository and current Plan context for facts before asking. Ask one consequential question at a time, with a recommended answer and its consequence. Wait for the Operator's answer before advancing to a dependent question.
|
||||
|
||||
Keep a visible list of settled decisions and remaining branches. Stop when the requested scope, important alternatives, and verification expectations are explicit enough for a Plan. Place accepted decisions in the Plan through the assigned planning interface; do not treat an unanswered question as approval. This interview does not start implementation or change an owner workflow stage.
|
||||
@@ -2,14 +2,14 @@
|
||||
"schemaVersion": 1,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.3.0"
|
||||
"reference": "v0.13.0"
|
||||
},
|
||||
"role": "planner",
|
||||
"step": "planning",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "36895ad26a065b073d3d823557d83b62bd7bb771e74e65e4f246f4e08b52bb16"
|
||||
"sha256": "c71bcdd1f7b3d9378d591581e5642a09193c947a66a2b9268e60c3a3d00a6e32"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,14 +1,14 @@
|
||||
---
|
||||
name: grilling
|
||||
description: Interview a Planner's Human about independent decision branches in rounds.
|
||||
description: Interview a Planner's Operator about independent decision branches in rounds.
|
||||
disable-model-invocation: true
|
||||
metadata:
|
||||
relayview-display-name: Grilling
|
||||
relayview-version: 0.3.0
|
||||
relayview-version: 0.13.0
|
||||
---
|
||||
|
||||
# Planning decision rounds
|
||||
|
||||
When the Human explicitly invokes this skill, draw the decision tree for the assigned Plan. Resolve repository facts with the Planner's assigned read tools. Identify the current frontier: questions whose prerequisites are already settled. Ask that frontier together in one numbered round, giving a recommended answer and consequence for each question. Wait for the Human's answers, update the tree, then recompute the frontier.
|
||||
When the Operator explicitly invokes this skill, draw the decision tree for the assigned Plan. Resolve repository facts with the Planner's assigned read tools. Identify the current frontier: questions whose prerequisites are already settled. Ask that frontier together in one numbered round, giving a recommended answer and consequence for each question. Wait for the Operator's answers, update the tree, then recompute the frontier.
|
||||
|
||||
Keep dependent questions for later rounds. State when a branch remains unresolved; silence is not a decision. Stop when the frontier is empty and the Human confirms the scope is understood. Record settled requirements and open decisions through the assigned planning interface. Do not launch other agents, edit the repository, or change workflow stages.
|
||||
Keep dependent questions for later rounds. State when a branch remains unresolved; silence is not a decision. Stop when the frontier is empty and the Operator confirms the scope is understood. Record settled requirements and open decisions through the assigned planning interface. Do not launch other agents, edit the repository, or change workflow stages.
|
||||
@@ -2,14 +2,14 @@
|
||||
"schemaVersion": 1,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.3.0"
|
||||
"reference": "v0.13.0"
|
||||
},
|
||||
"role": "planner",
|
||||
"step": "planning",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "1c88593633482d44022eac49de217fc16c8f102067549ba819f1b1ca1728307e"
|
||||
"sha256": "6646c00bc0d1e45a1b7875d95c68e21d4cebd4958d046b61f0eb9c8cd7d73c51"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
---
|
||||
name: implementer-communication
|
||||
description: Communication style for the assigned implementer; proportional answers, examples, Markdown and natural acknowledgements.
|
||||
metadata:
|
||||
relayview-display-name: Implementer communication
|
||||
relayview-version: 0.13.0
|
||||
---
|
||||
|
||||
Lead with the answer, decision, observed finding, or material uncertainty. Use detail proportional to the immediate question, including requested examples and technical mechanics, with no fixed word, line, or token limit. Keep inspection effort independent of conversational length.
|
||||
|
||||
For user-facing focused Chat messages, use Markdown when it makes the answer easier to read. A simple reply may be plain prose. Use concise headings, lists, tables, and inline code only when they help the content; avoid decorative structure. When code needs a block, use a fenced code block with the correct language identifier if the language is known. Leave a fence unlabeled when the language is unknown or the content is genuinely plain.
|
||||
|
||||
Keep the acknowledgement brief, relaxed, clear, and professional. Use natural contractions and vary the wording to fit the request; do not default to “I understand…” or repeat the user's full checklist. Briefly convey the requested outcome in your own words and, when useful, name an accurate first action. A short receipt is enough when the task and authorization are already clear. There is no fixed sentence count; three short sentences are fine. Describe only work within your current authorization. Receipt never means completed work, successful validation, approval, or newly granted implementation authority. Continue the authorized work without waiting for an unnecessary Operator reply.
|
||||
|
||||
Describe observed work and material uncertainty. Explain delivered behavior, material deviations, verification and remaining limitations in the applicable report fields. After an accepted artifact, explain the result and material remaining action without repeating the whole report. Conversational detail and coding effort are independent; investigate, implement and verify as thoroughly as the task requires.
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"schemaVersion": 3,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.13.0"
|
||||
},
|
||||
"role": "implementer",
|
||||
"step": "implementation",
|
||||
"treatment": "communication_context",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "89cc00ed7f84f2b759a02b3c561033b467828067c2bba061d822df4ebca34400"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -3,12 +3,12 @@ name: implementer-handoff
|
||||
description: Reconcile verified implementation documentation and prepare review content during implementation.
|
||||
metadata:
|
||||
relayview-display-name: Implementer handoff
|
||||
relayview-version: 0.2.0
|
||||
relayview-version: 0.13.0
|
||||
---
|
||||
|
||||
# Implementer handoff
|
||||
|
||||
During the assigned implementation step, keep the repository's current-behavior documentation aligned with the code and checks you actually completed. Read the project's documentation rules and the relevant existing contract before editing it. Use the [handoff guide](handoff.md) for the documentation disposition and review content.
|
||||
During the assigned implementation step, keep the repository's current-behavior documentation aligned with the code and checks you actually completed. Read the project's documentation rules and the relevant existing contract before editing it. Use the [handoff guide](handoff.md) for implementation clarification, documentation disposition and review content.
|
||||
|
||||
Prepare a concise, attributable review handoff when the assigned workflow gives you a place to submit one. Identify the exact candidate, focused checks and their observed results, any manual evidence and its observer, unresolved limitations, and the documentation disposition. A command attempted is not a check passed; report failures and stale evidence explicitly.
|
||||
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
# Handoff guide
|
||||
|
||||
## Implementation and clarification
|
||||
|
||||
Read the relevant files and make focused changes. Use the assigned investigation method for repository discovery; this handoff method owns clarification and report preparation.
|
||||
|
||||
Ask the planner for more information when blocked after reasonable investigation. If the final contract appears wrong, explain the mismatch clearly, make the safest local correction if obvious within the authoritative scope, and validate it. Clarification methods guide communication; scope changes require owner authority.
|
||||
|
||||
## Documentation
|
||||
|
||||
- Update the current-behavior contract only for behavior verified on the candidate. Keep proposed work clearly proposed.
|
||||
@@ -11,4 +17,4 @@
|
||||
- Summarize the user-visible change and its bounded impact.
|
||||
- Name the candidate revision and the focused checks run against it, with observed pass or failure results.
|
||||
- Give a reviewer executable steps and expected observations for any behavior that automated checks cannot establish.
|
||||
- State remaining uncertainty and recovery steps. Attribute provider or Human observations to their actual source.
|
||||
- State remaining uncertainty and recovery steps. Attribute provider or Operator observations to their actual source.
|
||||
@@ -2,18 +2,18 @@
|
||||
"schemaVersion": 1,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.2.0"
|
||||
"reference": "v0.13.0"
|
||||
},
|
||||
"role": "implementer",
|
||||
"step": "implementation",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "bfeafa2d7780fe2c0bb4206ab9a03acd12804347ceb0f3ffb3e06e1be514c852"
|
||||
"sha256": "1cd3190db3991f9c310e2d3c3be854a32171cdf4d774d7868de466d5a403afe6"
|
||||
},
|
||||
{
|
||||
"path": "handoff.md",
|
||||
"sha256": "303c3e792cf0e8da6215e6eeb69f5a2f1f2bd0b67db016160d9e83a970ad95d3"
|
||||
"sha256": "5171fe6c5aab6934f828efd6b06dcc3811e94f567035a56515fbc6798d4c9751"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -3,7 +3,7 @@ name: implementer-investigation
|
||||
description: Investigate source, generated configuration, load order and negative search results within the assigned implementer boundary.
|
||||
metadata:
|
||||
relayview-display-name: Implementer investigation
|
||||
relayview-version: 0.7.0
|
||||
relayview-version: 0.13.0
|
||||
---
|
||||
|
||||
Use the admitted command/filesystem boundary. Inspect relevant package defaults,
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
"schemaVersion": 1,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.7.0"
|
||||
"reference": "v0.13.0"
|
||||
},
|
||||
"role": "implementer",
|
||||
"step": "implementation",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "7775acb6525cf134d33321c3f4d79c074903086dc948138ef747af53f88e8ef5"
|
||||
"sha256": "4d2d2d4852652b2766ca3fb5c9d4508e626d15f0d7734a4a4c747f8decbf9b82"
|
||||
},
|
||||
{
|
||||
"path": "investigation.md",
|
||||
|
||||
@@ -4,7 +4,7 @@ description: Assess assigned module-deepening opportunities as read-only plannin
|
||||
disable-model-invocation: true
|
||||
metadata:
|
||||
relayview-display-name: Architecture opportunities
|
||||
relayview-version: 0.3.0
|
||||
relayview-version: 0.13.0
|
||||
---
|
||||
|
||||
# Architecture opportunity assessment
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
"schemaVersion": 1,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.3.0"
|
||||
"reference": "v0.13.0"
|
||||
},
|
||||
"role": "planner",
|
||||
"step": "planning",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "07b2c9f88207a541c493c85fe7faa6d4b3d04eadbcf7ab592f9e5a4187692ee9"
|
||||
"sha256": "76b396ab9912e96f2181710218182830f80abec9026bed95dd37ec5c263dff55"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -3,15 +3,15 @@ name: issue-designer-default
|
||||
description: Guide ordinary Issue Designer Chats from observed facts to a reviewable draft.
|
||||
metadata:
|
||||
relayview-display-name: Issue Designer default
|
||||
relayview-version: 0.6.1
|
||||
relayview-version: 0.13.0
|
||||
---
|
||||
|
||||
# Issue Designer default
|
||||
|
||||
Check current facts before drafting. Read the assigned repository's relevant authoritative documentation, code, tests, and tracker observations; state the source, observation time, and any incomplete read. Keep proposed behavior separate from verified current behavior.
|
||||
|
||||
Choose the scale with the Human: one issue for bounded work, an ordered issue set for dependent work, or a narrower question when the outcome is unclear. Ask only for decisions that change scope, acceptance, or authority. A useful draft states the problem, observable outcome, boundaries, prerequisites, and verification including failure behavior. Preserve unresolved choices explicitly.
|
||||
Choose the scale with the Operator: one issue for bounded work, an ordered issue set for dependent work, or a narrower question when the outcome is unclear. Ask only for decisions that change scope, acceptance, or authority. A useful draft states the problem, observable outcome, boundaries, prerequisites, and verification including failure behavior. Preserve unresolved choices explicitly.
|
||||
|
||||
Use the owner-stored draft for one issue and the ordered set for dependent work. Give each item a complete body, an explicit readiness basis, and the relationships needed to read it independently. Keep known facts and proposed behavior distinct.
|
||||
|
||||
At readiness marking, recheck the current issue and comments when an issue exists, cited authoritative documentation, source and tests, and the target and installed environment facts available through assigned tools or attributed Human observations. Record when and how completely each input was observed. Include non-secret retrieval instructions for a test target, host or service setup, and verification when a future agent will need them. If a material input is stale or unavailable, mark the affected item `needs-info` and name its specific unresolved question and available evidence. Propose `ready-for-agent` only when a new Planner can start from the item and its references without this Chat. The Human reviews the exact set and publishes through owner controls.
|
||||
At readiness marking, recheck the current issue and comments when an issue exists, cited authoritative documentation, source and tests, and the target and installed environment facts available through assigned tools or attributed Operator observations. Record when and how completely each input was observed. Include non-secret retrieval instructions for a test target, host or service setup, and verification when a future agent will need them. If a material input is stale or unavailable, mark the affected item `needs-info` and name its specific unresolved question and available evidence. Propose `ready-for-agent` only when a new Planner can start from the item and its references without this Chat. The Operator reviews the exact set and publishes through owner controls.
|
||||
@@ -2,14 +2,14 @@
|
||||
"schemaVersion": 1,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.6.1"
|
||||
"reference": "v0.13.0"
|
||||
},
|
||||
"role": "designer",
|
||||
"step": "design",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "d2d4b743cc9bab550910b95a49f9e7c97805510dcb49d66d7a2f79f9c859bf4f"
|
||||
"sha256": "dde8456e8e6e1bee384f9ec2fbefcbc581cd775213f0e0be23f9e07c4a62b019"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -4,7 +4,7 @@ description: Replace suitable TypeScript test assertions with an admitted partia
|
||||
disable-model-invocation: true
|
||||
metadata:
|
||||
relayview-display-name: Migrate to shoehorn
|
||||
relayview-version: 0.3.0
|
||||
relayview-version: 0.13.0
|
||||
---
|
||||
|
||||
# TypeScript test fixture migration
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
"schemaVersion": 1,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.3.0"
|
||||
"reference": "v0.13.0"
|
||||
},
|
||||
"role": "implementer",
|
||||
"step": "implementation",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "56b0d3f5ea1cbf8603201d4f5563e6f582561fe58c5679ed428dc7c29d31e461"
|
||||
"sha256": "b94a2ad8f2f611979117a4601f3c0b3852ae37f6df77717828c0a20c17825366"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
---
|
||||
name: planner-communication
|
||||
description: Communication style for the assigned planner; proportional answers, examples, Markdown and natural acknowledgements.
|
||||
metadata:
|
||||
relayview-display-name: Planner communication
|
||||
relayview-version: 0.13.0
|
||||
---
|
||||
|
||||
Lead with the answer, decision, observed finding, or material uncertainty. Use detail proportional to the immediate question, including requested examples and technical mechanics, with no fixed word, line, or token limit. Keep inspection effort independent of conversational length.
|
||||
|
||||
For user-facing focused Chat messages, use Markdown when it makes the answer easier to read. A simple reply may be plain prose. Use concise headings, lists, tables, and inline code only when they help the content; avoid decorative structure. When code needs a block, use a fenced code block with the correct language identifier if the language is known. Leave a fence unlabeled when the language is unknown or the content is genuinely plain.
|
||||
|
||||
Keep the acknowledgement brief, relaxed, clear, and professional. Use natural contractions and vary the wording to fit the request; do not default to “I understand…” or repeat the user's full checklist. Briefly convey the requested outcome in your own words and, when useful, name an accurate first action. A short receipt is enough when the task and authorization are already clear. There is no fixed sentence count; three short sentences are fine. Describe only work within your current authorization. Receipt never means completed work, successful validation, approval, or newly granted implementation authority. Continue the authorized work without waiting for an unnecessary Operator reply.
|
||||
|
||||
Before Plan v1 finalization, lead with a concise recommendation and material tradeoffs, default to prose or a short list, and ask only questions whose answers can change the decision or implementation Plan. Include example code when requested or when a small fragment is necessary to explain the decision. Keep ordinary discussion focused on the question rather than prematurely emitting a complete implementation, test suite, or plan-shaped code sample. After finalization, explain the result without repeating the complete Plan. Keep ordinary status answers concise and expand when requested. Required immutable artifacts remain complete for every downstream consumer.
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"schemaVersion": 3,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.13.0"
|
||||
},
|
||||
"role": "planner",
|
||||
"step": "planning",
|
||||
"treatment": "communication_context",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "fe45e08225328bab250475bc966bf480320459320d70a2be6dc07655eda37cc6"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -3,7 +3,7 @@ name: planner-investigation
|
||||
description: Investigate source, generated configuration, load order and negative search results within the assigned planner boundary.
|
||||
metadata:
|
||||
relayview-display-name: Planner investigation
|
||||
relayview-version: 0.7.0
|
||||
relayview-version: 0.13.0
|
||||
---
|
||||
|
||||
Use only assigned read roots and the assigned read/search tools. Investigate
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
"schemaVersion": 1,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.7.0"
|
||||
"reference": "v0.13.0"
|
||||
},
|
||||
"role": "planner",
|
||||
"step": "planning",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "e1410558c392100d9557d118a9d82e1068ed7a42142bcfe076f09ceed0dac966"
|
||||
"sha256": "c49e963469978510919a8344bf1d79988f94c2282bae22fa87d8e8b4af3aec34"
|
||||
},
|
||||
{
|
||||
"path": "investigation.md",
|
||||
|
||||
@@ -3,7 +3,7 @@ name: planner-scope
|
||||
description: Check assigned issue scope, neighboring work, and verification before drafting a Plan.
|
||||
metadata:
|
||||
relayview-display-name: Planner scope
|
||||
relayview-version: 0.2.0
|
||||
relayview-version: 0.13.0
|
||||
---
|
||||
|
||||
# Planner scope
|
||||
@@ -13,3 +13,5 @@ When drafting the assigned Plan, identify the requested behavior, its boundary,
|
||||
If the owner supplies an admitted work-item identity, use the assigned read tools to inspect it. Preserve source attribution; an issue description is a request, not evidence that its proposed behavior exists. Where tracker access is unavailable, state the missing context instead of guessing a work-item identity.
|
||||
|
||||
Write the Plan through the owner's assigned planning interface. The Plan is ready when each requested outcome has an implementation boundary and a checkable success or recovery observation. Owner-controlled workflow stages and checks determine execution authority.
|
||||
|
||||
For a linked Gitea issue, this package declares the owner's transition from `status/ready-for-agent` to `status/in-progress` after it proves that the exact Plan reached the Implementer. Finalize the Plan through the assigned interface, then use owner-reported handoff and issue-claim outcomes when explaining progress to the Operator. An accepted Plan alone does not establish that claim. A user may replace this skill with a Planner fork whose package declares a different target status or disables the claim; follow the selected package's policy recorded for the task.
|
||||
@@ -1,19 +1,22 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"schemaVersion": 2,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.2.0"
|
||||
"reference": "v0.13.0"
|
||||
},
|
||||
"role": "planner",
|
||||
"step": "planning",
|
||||
"issueClaim": {
|
||||
"statusLabel": "status/in-progress"
|
||||
},
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "31399ba322d8a4d3ed9814e7fd5d54883b4773c5b7dc3a241b8e14f8f7c16072"
|
||||
"sha256": "015651bbb9022025ff71732cb9ff1f6ea087ed143d76fa69091b6273a8fc7db7"
|
||||
},
|
||||
{
|
||||
"path": "scope.md",
|
||||
"sha256": "fc365d5f5c90f878992204235f32b1148aa4934a31f8c10eb063292fb64cf248"
|
||||
"sha256": "abed1a1590273b5f62f1e1f47ba8c92d00693de72c0d5e9b014ed1c911ac0a8e"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6,3 +6,38 @@
|
||||
- Distinguish verified current behavior from a proposal.
|
||||
- Identify one observable success path and one meaningful failure or recovery path.
|
||||
- Record uncertainty as an open decision; do not turn silence into approval.
|
||||
|
||||
Focus on:
|
||||
- affected files and symbols
|
||||
- existing patterns and architecture
|
||||
- invariants and edge cases
|
||||
- ordering and dependencies between changes
|
||||
- tests, validation, and likely failure modes
|
||||
- any assumptions that the implementer must know
|
||||
- explicitly authorized supporting context that influences behavior
|
||||
|
||||
Return a compact structured plan. Prefer YAML-compatible Markdown:
|
||||
|
||||
```yaml
|
||||
objective: ...
|
||||
constraints:
|
||||
- ...
|
||||
steps:
|
||||
- id: ...
|
||||
files:
|
||||
- ...
|
||||
symbols:
|
||||
- ...
|
||||
change: ...
|
||||
requirements:
|
||||
- ...
|
||||
depends_on:
|
||||
- ...
|
||||
edge_cases:
|
||||
- ...
|
||||
validation:
|
||||
- ...
|
||||
open_questions:
|
||||
- ...
|
||||
```
|
||||
|
||||
@@ -4,13 +4,13 @@ description: Prepare a reviewable pull-request description for an implemented ca
|
||||
disable-model-invocation: true
|
||||
metadata:
|
||||
relayview-display-name: PR content
|
||||
relayview-version: 0.3.0
|
||||
relayview-version: 0.13.0
|
||||
---
|
||||
|
||||
# Prepare review content
|
||||
|
||||
When the assigned implementation needs a pull-request description, draft text from the current candidate and evidence actually observed. Give the reviewer the behavioral summary, exact candidate revision, focused checks and their outcomes, documentation disposition, material risk, and repeatable manual observations where automation cannot prove behavior. Link to source files or artifacts whose identity you verified.
|
||||
|
||||
State failures, limitations, and stale checks plainly. Attribute Human and provider observations to their actual observer; do not present model prose as gate evidence. Keep reviewer commands runnable in the repository's documented shell, with concrete paths or a precise way to discover a missing value.
|
||||
State failures, limitations, and stale checks plainly. Attribute Operator and provider observations to their actual observer; do not present model prose as gate evidence. Keep reviewer commands runnable in the repository's documented shell, with concrete paths or a precise way to discover a missing value.
|
||||
|
||||
Deliver the draft through the assigned Implementer report or communication path. PR creation, remote comments, review decisions, publication, and merge remain owner-managed operations unless separately authorized by that workflow.
|
||||
@@ -2,14 +2,14 @@
|
||||
"schemaVersion": 1,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.3.0"
|
||||
"reference": "v0.13.0"
|
||||
},
|
||||
"role": "implementer",
|
||||
"step": "implementation",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "86f5c76f96b1f7a4258d21ecd0aeb9ee39cf95fb45eb90e2ee6b172ca460e47a"
|
||||
"sha256": "5d3cab7beb8c9c377126fd0cfb4ec32939ff1d18d8a6962d98143ada1e12e712"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -4,7 +4,7 @@ description: Build a disposable local prototype to answer one implementation que
|
||||
disable-model-invocation: true
|
||||
metadata:
|
||||
relayview-display-name: Prototype
|
||||
relayview-version: 0.3.0
|
||||
relayview-version: 0.13.0
|
||||
---
|
||||
|
||||
# Bounded implementation prototype
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
"schemaVersion": 1,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.3.0"
|
||||
"reference": "v0.13.0"
|
||||
},
|
||||
"role": "implementer",
|
||||
"step": "implementation",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "319fe249629788f51b3c8738ded5a1c88336534ad96fa43e7c80a554f09ef586"
|
||||
"sha256": "d59ea525fea7c5bee39f6fc1399f667ea2e7ddb0005932a75619eff42d9e8c9f"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
---
|
||||
name: research-auto
|
||||
description: Source selection and reading methods for assigned Planner research.
|
||||
metadata:
|
||||
relayview-display-name: Research methodology
|
||||
relayview-version: 0.13.0
|
||||
---
|
||||
|
||||
# Research methodology
|
||||
|
||||
Prefer primary sources: applicable official documentation, specifications, source code, release notes, maintainer records, and reproducible first-party artifacts that own a claim; use secondary sources for orientation and corroboration. When an applicable authoritative domain is already known, preferredDomains may rank it higher; omit the option during broad exploration and refine a later search after discovering the right domain. Prefer narrow publisher hosts over broad multi-tenant hosts, and inspect/fetch returned sources before relying on them.
|
||||
|
||||
When external research is material, use web_search to discover candidate public sources before web_fetching selected applicable evidence instead of guessing a destination URL.
|
||||
|
||||
Check publication date, applicable product and version, and whether a source supports the precise claim. State uncertainty, conflicts, missing access, and inferences explicitly.
|
||||
|
||||
Corroborate consequential or surprising claims with independent evidence when practical; mirrors, syndication, repetition, and pages derived from one upstream source are not independent.
|
||||
|
||||
For an empirically testable technical claim, prefer a small reproducible local experiment only when this role already has an approved execution capability. Record the question, procedure, relevant versions and resolved paths, observation, and limitations; do not generalize beyond the tested environment.
|
||||
|
||||
Use confidence language proportional to the evidence and identify claims that still depend on provider ranking, inaccessible sources, or unverified assumptions.
|
||||
|
||||
Repeat an exact query only when the cached result is intentionally sufficient; use a materially narrower query when new terms, version, claim, or source scope justify a distinct auditable search.
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.13.0"
|
||||
},
|
||||
"role": "planner",
|
||||
"step": "planning",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "ce259cdd63a1dedbee5d71ba76088a0c18b05c3d6c75ad611157974aa6d8680c"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -4,7 +4,7 @@ description: Ground assigned planning questions in traceable primary sources usi
|
||||
disable-model-invocation: true
|
||||
metadata:
|
||||
relayview-display-name: Primary-source research
|
||||
relayview-version: 0.3.0
|
||||
relayview-version: 0.13.0
|
||||
---
|
||||
|
||||
# Primary-source research
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
"schemaVersion": 1,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.3.0"
|
||||
"reference": "v0.13.0"
|
||||
},
|
||||
"role": "planner",
|
||||
"step": "planning",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "78a832c0bae3d3829afcf78c5cee19a08f0a624e0775b29db5e33c038b725d53"
|
||||
"sha256": "e2ae3d82e67fae872c17cbe91b4d14d6b5b86ff9084db40a170b42be10c46fff"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
---
|
||||
name: reviewer-communication
|
||||
description: Communication style for the assigned reviewer; proportional answers, examples, Markdown and natural acknowledgements.
|
||||
metadata:
|
||||
relayview-display-name: Reviewer communication
|
||||
relayview-version: 0.13.0
|
||||
---
|
||||
|
||||
Lead with the answer, decision, observed finding, or material uncertainty. Use detail proportional to the immediate question, including requested examples and technical mechanics, with no fixed word, line, or token limit. Keep inspection effort independent of conversational length.
|
||||
|
||||
For user-facing focused Chat messages, use Markdown when it makes the answer easier to read. A simple reply may be plain prose. Use concise headings, lists, tables, and inline code only when they help the content; avoid decorative structure. When code needs a block, use a fenced code block with the correct language identifier if the language is known. Leave a fence unlabeled when the language is unknown or the content is genuinely plain.
|
||||
|
||||
Keep the acknowledgement brief, relaxed, clear, and professional. Use natural contractions and vary the wording to fit the request; do not default to “I understand…” or repeat the user's full checklist. Briefly convey the requested outcome in your own words and, when useful, name an accurate first action. A short receipt is enough when the task and authorization are already clear. There is no fixed sentence count; three short sentences are fine. Describe only work within your current authorization. Receipt never means completed work, successful validation, approval, or newly granted implementation authority. Continue the authorized work without waiting for an unnecessary Operator reply.
|
||||
|
||||
Explain a finding using its exact candidate, concrete rationale and actionable requested change. Give the exact as-of round or leaf and state when later evidence is unavailable. Explain settled judgments from their recorded results. Keep orientation focused on the verified role and immutable Plan. Advisory explanations preserve the formal result's complete fields and disposition.
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"schemaVersion": 3,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.13.0"
|
||||
},
|
||||
"role": "reviewer",
|
||||
"step": "review",
|
||||
"treatment": "communication_context",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "cebbfd13a642195d7419462557f9d6f4cf774c893d8002d3198880e9e33ce6ca"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -3,7 +3,7 @@ name: reviewer-investigation
|
||||
description: Investigate source, generated configuration, load order and negative search results within the assigned reviewer boundary.
|
||||
metadata:
|
||||
relayview-display-name: Reviewer investigation
|
||||
relayview-version: 0.7.0
|
||||
relayview-version: 0.13.0
|
||||
---
|
||||
|
||||
Use only assigned read roots and the assigned read/search tools. Investigate
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
"schemaVersion": 1,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.7.0"
|
||||
"reference": "v0.13.0"
|
||||
},
|
||||
"role": "reviewer",
|
||||
"step": "review",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "f3c6395f3d077ad1a7901cf31ec7656df032292d0181be9dc8a18e36b92769c9"
|
||||
"sha256": "15adb432777f41039cb4f2ca2d1706f380f2a240b37e2651a86a60c2de4fc6e4"
|
||||
},
|
||||
{
|
||||
"path": "investigation.md",
|
||||
|
||||
@@ -4,7 +4,7 @@ description: Build exercise stubs in an assigned course repository using its loc
|
||||
disable-model-invocation: true
|
||||
metadata:
|
||||
relayview-display-name: Scaffold exercises
|
||||
relayview-version: 0.3.0
|
||||
relayview-version: 0.13.0
|
||||
---
|
||||
|
||||
# Exercise scaffolding
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
"schemaVersion": 1,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.3.0"
|
||||
"reference": "v0.13.0"
|
||||
},
|
||||
"role": "implementer",
|
||||
"step": "implementation",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "a2714d0a09f737b48e8f581f21a5cd7f9ab946e8dca072cfc813ef61c3f1dc18"
|
||||
"sha256": "d6e4353d27064c567bb6e1262a6d84e5f705cb856662bd968d20be18e7906bd7"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -4,7 +4,7 @@ description: Find stable repeated patterns in the assigned implementation scope
|
||||
disable-model-invocation: true
|
||||
metadata:
|
||||
relayview-display-name: Shared abstraction refactor
|
||||
relayview-version: 0.3.0
|
||||
relayview-version: 0.13.0
|
||||
---
|
||||
|
||||
# Shared abstraction refactor
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
"schemaVersion": 1,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.3.0"
|
||||
"reference": "v0.13.0"
|
||||
},
|
||||
"role": "implementer",
|
||||
"step": "implementation",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "a7906eb68c07ac53cf74525ba02984056c78f205fc6815049959c150c0b1a188"
|
||||
"sha256": "f71b1a5720317b5b46eb4d4e4a507dd78662b9a82c36c536a7cabf0236ed6557"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -4,7 +4,7 @@ description: Split assigned oversized files along cohesive responsibilities whil
|
||||
disable-model-invocation: true
|
||||
metadata:
|
||||
relayview-display-name: Split large files
|
||||
relayview-version: 0.3.0
|
||||
relayview-version: 0.13.0
|
||||
---
|
||||
|
||||
# Split large files
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
"schemaVersion": 1,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.3.0"
|
||||
"reference": "v0.13.0"
|
||||
},
|
||||
"role": "implementer",
|
||||
"step": "implementation",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "6cca9cdf43e97778b9ea763d0f7f9faed575583150cdbe88796072c78f8c685b"
|
||||
"sha256": "73f6f38080000eb062b13c62c8ad4d5c68887ec50a5076ca98d91c4e9c4d0c1e"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -3,7 +3,7 @@ name: tdd-auto
|
||||
description: Test-driven development for an assigned implementation Plan; use red, green, and focused verification at its agreed test seams.
|
||||
metadata:
|
||||
relayview-display-name: Test-driven development
|
||||
relayview-version: 0.3.1
|
||||
relayview-version: 0.13.0
|
||||
---
|
||||
|
||||
# Test-driven development
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
"schemaVersion": 1,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.3.1"
|
||||
"reference": "v0.13.0"
|
||||
},
|
||||
"role": "implementer",
|
||||
"step": "implementation",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "cf4f0cd039dc283caabc3238e3d084c2d59a3f8c8ba030595e9ea80e2b1338e6"
|
||||
"sha256": "83a59bc7631b3295a9c81b86e6134e5027e85dcfbf4be93c92118930a496c01a"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -4,7 +4,7 @@ description: Implement an assigned behavior at the Plan's agreed test seam using
|
||||
disable-model-invocation: true
|
||||
metadata:
|
||||
relayview-display-name: Test-driven development
|
||||
relayview-version: 0.3.0
|
||||
relayview-version: 0.13.0
|
||||
---
|
||||
|
||||
# Test-driven development
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
"schemaVersion": 1,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.3.0"
|
||||
"reference": "v0.13.0"
|
||||
},
|
||||
"role": "implementer",
|
||||
"step": "implementation",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "ab633f2670c8d9027301fa985b048ad469b086ed74b1659df8955f2eab9b3a9c"
|
||||
"sha256": "b66d4641c1ec5d9757644b377cfb2dd39fafe6d3bd107f463381eaeaf51d4071"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -4,11 +4,11 @@ description: Draft questions for an outside expert when the assigned Plan needs
|
||||
disable-model-invocation: true
|
||||
metadata:
|
||||
relayview-display-name: Planning questionnaire
|
||||
relayview-version: 0.3.0
|
||||
relayview-version: 0.13.0
|
||||
---
|
||||
|
||||
# Planning questionnaire
|
||||
|
||||
When the Human explicitly invokes this skill, identify the facts or decisions the assigned Plan cannot resolve from the repository or admitted sources. Ask who can supply the missing knowledge and what decision their answer will support. Draft a concise questionnaire in the Planner conversation for the Human to send through their chosen channel.
|
||||
When the Operator explicitly invokes this skill, identify the facts or decisions the assigned Plan cannot resolve from the repository or admitted sources. Ask who can supply the missing knowledge and what decision their answer will support. Draft a concise questionnaire in the Planner conversation for the Operator to send through their chosen channel.
|
||||
|
||||
Put the highest-value questions first. Give each question one topic and enough context for an outside recipient to answer without seeing the task history. Include a place to state uncertainty or partial answers. Record the unanswered items as open Plan decisions; incorporate answers only after the Human provides them. Drafting the text neither sends it nor advances the workflow.
|
||||
Put the highest-value questions first. Give each question one topic and enough context for an outside recipient to answer without seeing the task history. Include a place to state uncertainty or partial answers. Record the unanswered items as open Plan decisions; incorporate answers only after the Operator provides them. Drafting the text neither sends it nor advances the workflow.
|
||||
@@ -2,14 +2,14 @@
|
||||
"schemaVersion": 1,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.3.0"
|
||||
"reference": "v0.13.0"
|
||||
},
|
||||
"role": "planner",
|
||||
"step": "planning",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "1ccb2b78ffade9faec27b83427a0e3d8fa7f54109b436578f1d79e0ac22d4fe5"
|
||||
"sha256": "20e87aa107dd937c7edc9696aa2681bf54cfb8044efa0f6aa3ebb456af3f3cde"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -4,7 +4,7 @@ description: Write assigned agent-facing repository guidance with precise trigge
|
||||
disable-model-invocation: true
|
||||
metadata:
|
||||
relayview-display-name: Writing for agents
|
||||
relayview-version: 0.3.0
|
||||
relayview-version: 0.13.0
|
||||
---
|
||||
|
||||
# Writing for agents
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
"schemaVersion": 1,
|
||||
"source": {
|
||||
"kind": "first-party",
|
||||
"reference": "v0.3.0"
|
||||
"reference": "v0.13.0"
|
||||
},
|
||||
"role": "implementer",
|
||||
"step": "implementation",
|
||||
"files": [
|
||||
{
|
||||
"path": "SKILL.md",
|
||||
"sha256": "3a2fd1e3253a7373648f333456d1383c161203467ed89526a8129639806f377e"
|
||||
"sha256": "9637378a91621e16219ed455ba5d8c0460c8bd6ffefe299797603dd1896b7c85"
|
||||
}
|
||||
]
|
||||
}
|
||||
+74
-4
@@ -12,6 +12,76 @@ ROOT = Path(__file__).resolve().parents[1]
|
||||
|
||||
|
||||
class PackageTests(unittest.TestCase):
|
||||
def test_research_auto_contains_only_extracted_method(self):
|
||||
package = ROOT / "packages/research-auto"
|
||||
check_package(package)
|
||||
text = (package / "SKILL.md").read_text()
|
||||
self.assertIn("omit the option during broad exploration", text)
|
||||
self.assertIn("inspect/fetch returned sources", text)
|
||||
self.assertIn("Check publication date", text)
|
||||
self.assertIn("Corroborate consequential", text)
|
||||
self.assertNotIn("spawn", text)
|
||||
self.assertNotIn("save a research file", text)
|
||||
|
||||
def test_communication_packages_declare_their_treatment(self):
|
||||
for role in ("planner", "implementer", "reviewer"):
|
||||
package = ROOT / f"packages/{role}-communication"
|
||||
result = check_package(package)
|
||||
manifest = json.loads((package / "relayview-skill.json").read_text())
|
||||
self.assertEqual(manifest["treatment"], "communication_context")
|
||||
text = (package / "SKILL.md").read_text()
|
||||
self.assertIn("proportional", text)
|
||||
self.assertIn("acknowledgement", text)
|
||||
self.assertIn("Markdown", text)
|
||||
|
||||
def test_automatic_review_is_only_extracted_presentation(self):
|
||||
package = ROOT / "packages/code-review-auto"
|
||||
check_package(package)
|
||||
text = (package / "SKILL.md").read_text()
|
||||
self.assertIn("path-aware, and actionable", text)
|
||||
self.assertNotIn("Report both axes", text)
|
||||
self.assertNotIn("subagent", text)
|
||||
|
||||
def test_handoff_clarification_method(self):
|
||||
package = ROOT / "packages/implementer-handoff"
|
||||
check_package(package)
|
||||
text = (package / "handoff.md").read_text()
|
||||
self.assertIn("blocked after reasonable investigation", text)
|
||||
self.assertIn("scope changes require owner authority", text)
|
||||
self.assertNotIn("Trace load order", text)
|
||||
|
||||
def test_schema_two_claim_policy_bounds(self):
|
||||
with tempfile.TemporaryDirectory() as directory:
|
||||
package = Path(directory) / "planner-scope"
|
||||
shutil.copytree(ROOT / "packages/planner-scope", package)
|
||||
sidecar = package / "relayview-skill.json"
|
||||
original = json.loads(sidecar.read_text())
|
||||
for label in (None, "status/review"):
|
||||
manifest = dict(original, issueClaim={"statusLabel": label})
|
||||
sidecar.write_text(json.dumps(manifest))
|
||||
check_package(package)
|
||||
for claim in ({}, [], {"statusLabel": "status/ready-for-agent"},
|
||||
{"statusLabel": 42}, {"statusLabel": "review"},
|
||||
{"statusLabel": None, "extra": True}):
|
||||
with self.subTest(claim=claim):
|
||||
sidecar.write_text(json.dumps(dict(original, issueClaim=claim)))
|
||||
with self.assertRaises(PackageError):
|
||||
check_package(package)
|
||||
for role, step in (("implementer", "implementation"), ("reviewer", "review"), ("designer", "design")):
|
||||
sidecar.write_text(json.dumps(dict(original, role=role, step=step)))
|
||||
with self.assertRaises(PackageError):
|
||||
check_package(package)
|
||||
|
||||
def test_planner_scope_presentation_and_claim(self):
|
||||
package = ROOT / "packages/planner-scope"
|
||||
check_package(package)
|
||||
text = (package / "scope.md").read_text()
|
||||
for phrase in ("affected files and symbols", "invariants and edge cases", "YAML-compatible Markdown", "open_questions:"):
|
||||
self.assertIn(phrase, text)
|
||||
self.assertNotIn("follow-up monitor", text)
|
||||
manifest = json.loads((package / "relayview-skill.json").read_text())
|
||||
self.assertEqual(manifest["issueClaim"], {"statusLabel": "status/in-progress"})
|
||||
|
||||
def test_role_investigation_packages(self):
|
||||
for role, step in (("planner", "planning"), ("implementer", "implementation"), ("reviewer", "review")):
|
||||
package = ROOT / "packages" / f"{role}-investigation"
|
||||
@@ -40,7 +110,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 = {automatic: "0.6.1", "designer-prototype": "0.6.2"}.get(name, "0.6.0")
|
||||
version = "0.13.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}"})
|
||||
@@ -52,9 +122,9 @@ class PackageTests(unittest.TestCase):
|
||||
frontmatter = skill.split("---", 2)[1]
|
||||
self.assertIn("name: tdd-auto", frontmatter)
|
||||
self.assertNotIn("disable-model-invocation: true", frontmatter)
|
||||
self.assertIn("relayview-version: 0.3.1", frontmatter)
|
||||
self.assertIn("relayview-version: 0.13.0", frontmatter)
|
||||
manifest = json.loads((package / "relayview-skill.json").read_text())
|
||||
self.assertEqual(manifest["source"], {"kind": "first-party", "reference": "v0.3.1"})
|
||||
self.assertEqual(manifest["source"], {"kind": "first-party", "reference": "v0.13.0"})
|
||||
check_package(package)
|
||||
self.assertIn("disable-model-invocation: true", (ROOT / "packages/tdd/SKILL.md").read_text())
|
||||
|
||||
@@ -103,7 +173,7 @@ class PackageTests(unittest.TestCase):
|
||||
package = ROOT / "packages" / name
|
||||
manifest = json.loads((package / "relayview-skill.json").read_text())
|
||||
self.assertEqual((manifest["role"], manifest["step"]), (role, step))
|
||||
self.assertEqual(manifest["source"], {"kind": "first-party", "reference": "v0.2.0"})
|
||||
self.assertEqual(manifest["source"], {"kind": "first-party", "reference": "v0.13.0"})
|
||||
self.assertIn(resource, [item["path"] for item in manifest["files"]])
|
||||
self.assertIn(marker, (package / "SKILL.md").read_text() + (package / resource).read_text())
|
||||
|
||||
|
||||
+16
-2
@@ -44,15 +44,29 @@ def check_package(path):
|
||||
manifest = json.loads(_text(raw_manifest, str(sidecar)))
|
||||
except (ValueError, TypeError) as error:
|
||||
_fail(f"{sidecar}: invalid JSON: {error}")
|
||||
if not isinstance(manifest, dict) or set(manifest) != {"schemaVersion", "source", "role", "step", "files"}:
|
||||
if not isinstance(manifest, dict) or (
|
||||
(manifest.get("schemaVersion") == 1 and set(manifest) != {"schemaVersion", "source", "role", "step", "files"}) or
|
||||
(manifest.get("schemaVersion") == 2 and set(manifest) != {"schemaVersion", "source", "role", "step", "files", "issueClaim"}) or
|
||||
(manifest.get("schemaVersion") == 3 and set(manifest) != {"schemaVersion", "source", "role", "step", "files", "treatment"}) or
|
||||
manifest.get("schemaVersion") not in (1, 2, 3)
|
||||
):
|
||||
_fail(f"{path}: unsupported manifest fields")
|
||||
source = manifest["source"]
|
||||
if not isinstance(source, dict) or set(source) != {"kind", "reference"}:
|
||||
_fail(f"{path}: invalid source")
|
||||
if source["kind"] not in ("first-party", "user") or not isinstance(source["reference"], str) or not re.fullmatch(r"[A-Za-z0-9._:-]{1,128}", source["reference"]):
|
||||
_fail(f"{path}: invalid source identity")
|
||||
if manifest["schemaVersion"] != 1 or (manifest["role"], manifest["step"]) not in (("planner", "planning"), ("implementer", "implementation"), ("reviewer", "review"), ("designer", "design")):
|
||||
if (manifest["role"], manifest["step"]) not in (("planner", "planning"), ("implementer", "implementation"), ("reviewer", "review"), ("designer", "design")):
|
||||
_fail(f"{path}: incompatible role or step")
|
||||
if manifest["schemaVersion"] == 2:
|
||||
claim = manifest["issueClaim"]
|
||||
label = claim.get("statusLabel") if isinstance(claim, dict) else None
|
||||
if (manifest["role"], manifest["step"]) != ("planner", "planning") or not isinstance(claim, dict) or set(claim) != {"statusLabel"} or (
|
||||
label is not None and (not isinstance(label, str) or not re.fullmatch(r"status/[a-z][a-z0-9-]{0,63}", label) or label == "status/ready-for-agent")
|
||||
):
|
||||
_fail(f"{path}: invalid issue claim policy")
|
||||
if manifest["schemaVersion"] == 3 and (manifest["treatment"] != "communication_context" or manifest["role"] == "designer"):
|
||||
_fail(f"{path}: invalid communication treatment")
|
||||
files = manifest["files"]
|
||||
if not isinstance(files, list) or not 1 <= len(files) <= 16:
|
||||
_fail(f"{path}: invalid file list")
|
||||
|
||||
Reference in new issue
Block a user