6 Commits
Author SHA1 Message Date
admin 09f70fd203 Teach planner-scope the owner issue-claim handoff
Check instruction packages / check (push) Successful in 3s
Check instruction packages / check (pull_request) Successful in 3s
2026-10-12 09:26:21 -04:00
anodyine ea94dc877e Merge pull request 'Show Reviewer named skill set in README' (#7) from ISSUE-6 into main
Check instruction packages / check (push) Successful in 3s
2026-10-09 09:12:40 -04:00
admin b2ad71ea1d Document Reviewer named skill set in README
Check instruction packages / check (push) Successful in 3s
Check instruction packages / check (pull_request) Successful in 3s
2026-10-09 09:08:35 -04:00
admin 467dd39976 Clarify how imported starter forks are assigned
Check instruction packages / check (push) Successful in 3s
2026-10-09 08:22:19 -04:00
admin 66bc26afb8 Clarify skill license boundary in notices
Check instruction packages / check (push) Successful in 4s
2026-10-09 08:18:45 -04:00
anodyine 85e6b976a6 Merge pull request 'Publish migrated first-party role guidance v0.3.0' (#1) from ISSUE-805 into main
Check instruction packages / check (push) Successful in 4s
Reviewed-on: #1
2026-10-06 10:12:33 -04:00
6 changed files with 30 additions and 10 deletions

No files matched your search

+3 -4
View File
@@ -2,13 +2,12 @@
The instruction packages and authoring tools in this repository are licensed under the MIT License in [LICENSE](LICENSE). Include that license and copyright notice when redistributing a package or fork.
The optional role guidance is newly written for RelayView from the owner's personal skill collection. Several source skills trace to Matt Pocock's skills at revision `c55ee46073ed923f86ce59a5eb3b6d895095d1b7`; the `c4-diff` source skill traces to Jo Van Eyck's skills at revision `f2de8f7042a5125116ed27627fc7320b73048469`. Their MIT copyright and permission notices are preserved below. No plugin text, code, or assets are redistributed. This release has no third-party runtime dependencies or vendored executable assets. Python's standard library runs the authoring checks and is not bundled into a skill package.
The RelayView owner, its private prompts, and its separate open trust modules are outside this repository and its MIT grant.
The optional role guidance is written for RelayView from the owner's personal skill collection. Several source skills trace to Matt Pocock's skills at revision `c55ee46073ed923f86ce59a5eb3b6d895095d1b7`; the `c4-diff` source skill traces to Jo Van Eyck's skills at revision `f2de8f7042a5125116ed27627fc7320b73048469`. Their MIT copyright and permission notices are preserved below. No plugin text, code, or assets are redistributed. This release has no third-party runtime dependencies or vendored executable assets. Python's standard library runs the authoring checks and is not bundled into a skill package.
## Matt Pocock source-skill notice
The RelayView owner, its private prompts, and its separate open trust modules are outside this repository and its MIT grant.
MIT License
Copyright (c) 2026 Matt Pocock
+21 -2
View File
@@ -6,7 +6,7 @@ Public source for RelayView-maintained instruction-only role skills and an illus
| Directory | Status | Role / step | Version |
| --- | --- | --- | --- |
| `packages/planner-scope` | Maintained default | Planner / planning | 0.2.0 |
| `packages/planner-scope` | Maintained default | Planner / planning | 0.3.0 |
| `packages/implementer-handoff` | Maintained default | Implementer / implementation | 0.2.0 |
| `packages/codebase-design` | Optional guidance | Planner / planning | 0.3.0 |
| `packages/grill-me` | Optional guidance | Planner / planning | 0.3.0 |
@@ -31,6 +31,25 @@ Public source for RelayView-maintained instruction-only role skills and an illus
Only named releases of maintained packages receive RelayView compatibility testing and maintenance. Optional guidance requires explicit role assignment; the two original defaults remain available. 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.
## A named set in RelayView
A named set groups admitted packages for one role and workflow step. In **Settings → Skills**, the Reviewer has **Reviewer inspection on request** selected as its manual set. Its saved and effective choices match, so future Reviewer sessions capture these two skills for manual invocation. The automatic selector remains at its configured default, which is empty in this example.
![RelayView Settings Skills Reviewer card with the manual set Reviewer inspection on request saved and effective, containing Code review followed by Component diff](docs/images/reviewer-manual-skill-set.png)
The screenshot's ordered manual members come from this excerpt under `trustedSkills.sets` in the owner configuration. Both member IDs must also be admitted in `trustedSkills.catalog`; defining a set makes it available, while selecting and saving it makes it effective for future sessions.
```yaml
- id: reviewer-inspection
name: Reviewer inspection on request
role: reviewer
step: review
invocationMode: manual
members: [code-review, c4-diff]
```
The two maintained defaults are original RelayView packages. Some optional guidance adapts earlier MIT-licensed skills; see the [third-party notices](NOTICE.md).
## Fork the starter
Clone this repository, copy `examples/starter-planner` to a new directory named for your skill, and edit its `SKILL.md` and `local-guidance.md`. Set the frontmatter `name` to the directory name and give it a distinct version. Keep `source.kind` as `user` and set `source.reference` to your fork's release identifier. Update each `files[].sha256` with the SHA-256 of the exact file bytes. Then run:
@@ -43,7 +62,7 @@ python -m tools.packages pack examples/starter-planner dist/starter-planner.zip
Replace `examples/starter-planner` in the last two commands with your package directory. The `pack` command writes a reproducible ZIP containing the package, `LICENSE`, and `NOTICE.md`, then prints its SHA-256. The check returns the owner's package identity digest. Both use only Python 3's standard library and this repository's source. Preserve the license and notice when redistributing the package or fork.
To import a user fork, place its closed package directory under the owner's configured trusted root, use Settings → Skills to import the relative `SKILL.md` path under a new unique ID, and assign it to the matching future role step. Saving a new assignment takes effect for future sessions immediately; existing sessions retain their captured bytes. The Settings catalog displays source, version, digest, role, step, and pending versus effective assignment. The owner's admission remains authoritative even when these local checks pass.
To use a user fork, place its closed package directory under the owner's configured trusted root and 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. That selection takes effect for future sessions immediately; existing sessions retain their captured bytes. The Settings catalog displays source, version, digest, role, step, and pending versus effective assignment. The owner's admission remains authoritative even when these local checks pass.
To use a maintained 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 that role's future assignment. Planner guidance uses existing read and planning tools; Implementer guidance uses existing implementation and reporting tools. Neither selection changes a role's tools, credentials, lifecycle stages, validation requirements, Gitea effects, review, merge, or Human acceptance. The owner keeps the existing Gitea task workflow.
Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

+3 -1
View File
@@ -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.3.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, the default claim is 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 Human. An accepted Plan alone does not establish that claim. The operator may disable or replace the status transition through owner policy; follow the effective policy recorded for the task.
+2 -2
View File
@@ -2,14 +2,14 @@
"schemaVersion": 1,
"source": {
"kind": "first-party",
"reference": "v0.2.0"
"reference": "v0.4.0"
},
"role": "planner",
"step": "planning",
"files": [
{
"path": "SKILL.md",
"sha256": "31399ba322d8a4d3ed9814e7fd5d54883b4773c5b7dc3a241b8e14f8f7c16072"
"sha256": "bfac8352adffa8e2aaa246a6b5f11a333045a82aeefe5d0e42e76eaa776a6a70"
},
{
"path": "scope.md",
+1 -1
View File
@@ -65,7 +65,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.4.0" if name == "planner-scope" else "v0.2.0"})
self.assertIn(resource, [item["path"] for item in manifest["files"]])
self.assertIn(marker, (package / "SKILL.md").read_text() + (package / resource).read_text())