Copilot CLI · 13 min
“Make two options in an existing form default to on.”
- Taskfrontend-change-builder
+ frontend-quality-and-validation-evidence
- SkippedAnalysis · Independent review
Architecture
rd-skills is a non-intercepting, host-native control plane — not a hidden agent runtime and not a fixed pipeline. Six responsibility planes combine as a task needs them, and there is no process hierarchy to climb.
Planes
Read this as six concerns, not six steps. Nothing here runs in sequence.
Authority
What the user and the host actually permit.
Knowledge
Which expertise is in context, and why it was loaded.
Role
Fixed tool boundaries — not a fixed order.
Coordination
What gets added, and only when it is needed.
Evidence
What can be re-checked by whoever reads it next.
Delivery / QA
How the runtime is built, shipped and proven.
Boundary
The hookless boundary is the design decision everything else rests on: control rules stay inspectable, host permissions stay explicit, and no internal protocol competes with the engineering task.
What it has
What it deliberately has not
Control rules stay inspectable, host permission boundaries stay explicit, and the agent is never pulled away from the engineering task in order to satisfy an internal protocol.
Roles
4 fixed agents cover a large number of engineering domains because professionalism comes from skills rather than from the agent itself.
Can
Deliberately cannot
Can
Deliberately cannot
Can
Deliberately cannot
Can
Deliberately cannot
An implementation request goes straight to the task agent. An unknown local owner, file, test or caller is that agent's discovery work — not a reason to start analysis.
Execution
An implementation request goes straight to the task agent. Analysis and independent review are branches taken when the facts require them, not stages every task passes through.
You describe the result you want, in plain language. You do not need to investigate the repository first.
Main selects one primary professional and the Layer 3 skills the evidence calls for. It never reads your business code itself.
The task agent finds the owner, the tests and the callers by itself. An unknown local file is discovery work, not a reason to escalate.
The smallest complete change that supports the request. Read scope can widen; write scope cannot.
Behaviour, impact and structure, checked against what the change was supposed to do.
Run after the final material edit. A later edit makes earlier proof stale, so it does not count.
Changed files, results, proof limits, and any decision still waiting on you.
Do we know how to make the change correctly?
Resolves a specific uncertainty from current source, or answers an explicit analysis or diagnosis request. It does not edit.
Who makes the change?
Inspects the owner, tests, and consumers, then edits within the assigned scope and checks its work.
Does the change pass the relevant checks?
Runs tests, builds, lint, or other appropriate observations after the final relevant edit. The Task performs this work.
Do we need an independent second judgment?
A separate agent inspects the actual change or artifact and reports concrete defects and limits. It does not repair them.
Validation is an activity, not a fifth agent role. A reviewer can examine tests and their results, but independent review never replaces running the checks.
A decision that would change the implementation is still unresolved.
Worth it when
Not a trigger
You ask for it, or independent judgment measurably raises confidence.
Worth it when
Not a trigger
Knowledge
The repository holds 189 source skills. The host sees 26. The difference is not lost capability — it is deferred loading.
Fixed request path: user → control → primary professional → selector → the Layer 3 skills this evidence calls for → the references whose conditions fire. Task and review consume that routing decision; they never re-run the global router.
9 further foundation skills are authoring- or dev-only. They take part in source and internal validation, and never reach a runtime.
Routing and JIT
The full chain is selection, path delivery, reading the body, and adding knowledge when new evidence appears. What a worker receives is a set of readable paths — not a list of skill names.
From the meaning of the task, not from a keyword match.
Choose the authorised Foundation and Domain knowledge this evidence needs.
The professional and each Layer 3 skill can each have references worth reading.
The worker gets host-resolved paths to every body it needs — not a list of skill names.
Every selection has to pass three questions
“Just enough” does not mean “as little as possible”. Knowledge that confirms an approach, checks an invariant or names a concrete failure is worth reading even if it does not change the final decision. Duplicate background and unsupported future risk are not.
The same installation composed entirely different knowledge for a small form change and for a cross-system diagnosis.
Copilot CLI · 13 min
“Make two options in an existing form default to on.”
+ frontend-quality-and-validation-evidence
Copilot CLI · 80 min
“Find out why an integration job fails on one machine, and fix it if the cause is confirmed.”
+ checklist, solution-optimality
Professional judgment
Not a language label or a tool list: a way of seeing where this kind of change fails. Portable enough to hold in any repository that has never heard of rd-skills.
Authorisation, write, commit, side effect and retry — their order changes the outcome. A successful response is not enough; check whether an effect happened that should not have.
Loading, empty, error, permission, cancel, stale response and retry are all behaviour. A passing snapshot says nothing about focus order, screen readers or narrow-screen overflow.
The server may have acted while the client saw nothing. Idempotency, duplicates, unknown outcomes and reconciliation have to be explicit — one component succeeding is not consistency.
"This pattern might be wrong" is a lead. A finding names the input, the condition and the failure in the current source.
Evidence
Evidence is a result someone else can re-check: current source, an actual tool result, validation that survived the last edit, and a plain statement of what it does not prove.
Conclusions about owner, behaviour and consumers come from reading the code now — not from inheriting a summary or trusting a locator.
Affected behaviour is re-verified after the final material edit. A later edit makes the earlier result stale, and stale results are not reported as current.
Skipped, flaky, unavailable and partial results are reported as they are. Nothing is upgraded into a PASS, and unknown stays unknown.
Risk and authority
Risk handling turns on real reachability, trust boundaries, authority and material impact — never on a score, a severity ladder or a substitute state machine.
Possibility≠Reachability
Something being conceivable is not the same as a path an actor can actually take.
Unknown≠Unsafe
A gap in knowledge is a reason to look, not evidence that a risk exists.
Mutability≠Trust boundary
Code that can change is not automatically code that crosses a privilege line.
Capability≠Authorization
A host exposing a tool does not authorize destructive, privileged or production effects.
Risk category≠Material risk
A security-sounding word is not itself a finding. Reachable impact is.
Escalation needs all three
There is no fixed process hierarchy. Depth is not chosen by a risk score, a severity ladder or a state machine — it comes from the engineering facts of the task in front of you.
Build
Validators and evals produce authoring, regression and release evidence. They are not stages of a user's task.
src/
authoring source — contracts, skills, registries, profiles
build preflight
schema, path, projection and ownership checks
scripts/build.py
compiles Layer 3, selectors and host profiles
dist/
the runtime artifacts a host actually consumes
The professional selector is a build-only artifact. Installing src/ would give an agent the authoring source instead of the compiled projection it is meant to consume.
Hosts
Artifact delivery, live invocation and full workflow are three different questions. The table keeps them apart rather than collapsing them into a single claim of support.
| Host or surface | Artifact delivery | Live invocation | Full workflow | Limit |
|---|---|---|---|---|
| Codex | Skills + Agent Profiles | $engineering-control-plane | Available | Artifacts checked; live loading not proved |
| Claude Code | Skills + Agent Profiles | /engineering-control-plane | Available | Artifacts checked; live loading not proved |
| Copilot CLI | Skills + Agent Profiles | /engineering-control-plane | Available | Copilot CLI only |
| Cline | Skills only | Not established | Not established | Artifact delivery only |
| OpenAI API | Zip packages | Not applicable | API integration owns orchestration | API integration only |
Codex
Claude Code
Copilot CLI
Cline
OpenAI API
Artifact delivery, live invocation and full workflow are separate questions. An invocation rule verified on one surface says nothing about another, and static checks on the installed files do not prove that a running host loaded them.