Add role-scoped automatic investigation guidance
Check instruction packages / check (push) Successful in 4s
Check instruction packages / check (pull_request) Successful in 3s

This commit is contained in:
admin committed 2026-11-13 10:53:21 -05:00
1 parent 115341e15d
commit a74cdc7574
12 files changed
+166

No files matched your search

+6
View File
@@ -6,6 +6,12 @@ The RelayView owner, its private prompts, and its separate open trust modules ar
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.
The three investigation packages are original RelayView guidance released under
this repository’s MIT license. They express the role-local investigation method;
no private owner implementation, protocol, or other private prompt is included.
Their identical investigation.md resources share one method across separately
scoped packages.
## Matt Pocock source-skill notice
MIT License
+1
View File
@@ -6,6 +6,7 @@ Public source for RelayView-maintained instruction-only role skills and an illus
| 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 |
@@ -0,0 +1,15 @@
---
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
---
Use the admitted command/filesystem boundary. Inspect relevant package defaults,
system configuration, runtime state, reference repositories and symlink targets
read-only when that boundary admits them. Use absolute paths and line numbers
when reporting external findings. If access is denied, use the owner-provided
recovery contract and identify the missing evidence.
The included investigation resource supplies the search method.
@@ -0,0 +1,14 @@
# Search and investigation
Trace load order before treating a negative search as evidence of absence. Follow
includes, imports, sources, require/dofile calls, symlinks and generated outputs
within the assigned boundary. Identify which file is actually loaded and whether
a generator or package default supplies its value.
Search interpreted configuration for literal values and expression pieces:
modifier variables (mainMod, modKey, mod, leader), key or path fragments, function
and dispatcher names, modes, section names and visible outcomes. For example,
a binding may join mainMod with " + S" rather than contain "SUPER + S".
Combine alternatives in one broad search where the assigned search tool supports
it. When results are empty, check the search method, load order and admitted scope
before concluding the behavior is missing.
@@ -0,0 +1,19 @@
{
"schemaVersion": 1,
"source": {
"kind": "first-party",
"reference": "v0.7.0"
},
"role": "implementer",
"step": "implementation",
"files": [
{
"path": "SKILL.md",
"sha256": "7775acb6525cf134d33321c3f4d79c074903086dc948138ef747af53f88e8ef5"
},
{
"path": "investigation.md",
"sha256": "714f05eb6cd6f68fe7a44ed352fffcc6309a348d9184edb03b4724c16af9228c"
}
]
}
+15
View File
@@ -0,0 +1,15 @@
---
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
---
Use only assigned read roots and the assigned read/search tools. Investigate
package defaults, generated configuration, runtime state or reference repositories
only when they are in those roots. If relevant evidence lies elsewhere, identify
the missing evidence and use the owner-provided supporting-evidence recovery
contract. Check that each cited file belongs to an assigned root.
The included investigation resource supplies the search method.
@@ -0,0 +1,14 @@
# Search and investigation
Trace load order before treating a negative search as evidence of absence. Follow
includes, imports, sources, require/dofile calls, symlinks and generated outputs
within the assigned boundary. Identify which file is actually loaded and whether
a generator or package default supplies its value.
Search interpreted configuration for literal values and expression pieces:
modifier variables (mainMod, modKey, mod, leader), key or path fragments, function
and dispatcher names, modes, section names and visible outcomes. For example,
a binding may join mainMod with " + S" rather than contain "SUPER + S".
Combine alternatives in one broad search where the assigned search tool supports
it. When results are empty, check the search method, load order and admitted scope
before concluding the behavior is missing.
@@ -0,0 +1,19 @@
{
"schemaVersion": 1,
"source": {
"kind": "first-party",
"reference": "v0.7.0"
},
"role": "planner",
"step": "planning",
"files": [
{
"path": "SKILL.md",
"sha256": "e1410558c392100d9557d118a9d82e1068ed7a42142bcfe076f09ceed0dac966"
},
{
"path": "investigation.md",
"sha256": "714f05eb6cd6f68fe7a44ed352fffcc6309a348d9184edb03b4724c16af9228c"
}
]
}
+15
View File
@@ -0,0 +1,15 @@
---
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
---
Use only assigned read roots and the assigned read/search tools. Investigate
package defaults, generated configuration, runtime state or reference repositories
only when they are in those roots. If relevant evidence lies elsewhere, identify
the missing evidence and use the owner-provided supporting-evidence recovery
contract. Check that each cited file belongs to an assigned root.
The included investigation resource supplies the search method.
@@ -0,0 +1,14 @@
# Search and investigation
Trace load order before treating a negative search as evidence of absence. Follow
includes, imports, sources, require/dofile calls, symlinks and generated outputs
within the assigned boundary. Identify which file is actually loaded and whether
a generator or package default supplies its value.
Search interpreted configuration for literal values and expression pieces:
modifier variables (mainMod, modKey, mod, leader), key or path fragments, function
and dispatcher names, modes, section names and visible outcomes. For example,
a binding may join mainMod with " + S" rather than contain "SUPER + S".
Combine alternatives in one broad search where the assigned search tool supports
it. When results are empty, check the search method, load order and admitted scope
before concluding the behavior is missing.
@@ -0,0 +1,19 @@
{
"schemaVersion": 1,
"source": {
"kind": "first-party",
"reference": "v0.7.0"
},
"role": "reviewer",
"step": "review",
"files": [
{
"path": "SKILL.md",
"sha256": "f3c6395f3d077ad1a7901cf31ec7656df032292d0181be9dc8a18e36b92769c9"
},
{
"path": "investigation.md",
"sha256": "714f05eb6cd6f68fe7a44ed352fffcc6309a348d9184edb03b4724c16af9228c"
}
]
}
+15
View File
@@ -12,6 +12,21 @@ ROOT = Path(__file__).resolve().parents[1]
class PackageTests(unittest.TestCase):
def test_role_investigation_packages(self):
for role, step in (("planner", "planning"), ("implementer", "implementation"), ("reviewer", "review")):
package = ROOT / "packages" / f"{role}-investigation"
check_package(package)
manifest = json.loads((package / "relayview-skill.json").read_text())
self.assertEqual((manifest["role"], manifest["step"]), (role, step))
text = (package / "SKILL.md").read_text() + (package / "investigation.md").read_text()
self.assertIn("Trace load order", text)
self.assertIn("expression pieces", text)
self.assertNotIn("disable-model-invocation: true", text)
if role != "implementer":
self.assertIn("assigned read roots", text)
for host in ("/etc/", "/usr/share/", "$HOME", "rg -n"):
self.assertNotIn(host, text)
def test_designer_release_modes_and_source(self):
automatic = "issue-designer-default"
manual = (