01
Decision Boundary
What may change?
Compiles user intent into an explicit path, authority, scope, acceptance, task contract and stop conditions.
- Path
- Authority
- Scope
- Acceptance
- Task Contract
- Stop Conditions
Engineering control plane for AI coding agents
rd-skills routes every task to the right professional judgment, loads deep expertise only when needed, separates implementation from review, and requires current evidence before completion.
$ Add retry support to payment settlement without changing its public API.
$
Runtime skills
1 control + 25 professional at the host top level
JIT items
Loaded only behind the selected professional
Layer 3 per task
Only what the current evidence justifies
Primary professional
Per task, always — ownership is never shared
Agent roles
Split by authority and tool boundary, not persona
Host adapters
Projected onto each host's real capabilities
Derived at build time from the upstream registry — 189 source skills in total, 611 targeted references.
The problem
The question is not whether a model can write code. It is whether it knows what should change, who owns the decision, what must stay invariant, when evidence is insufficient, and what actually proves the work is complete.
A typical coding agent
What stays undecided
rd-skills
What each step decides
Core model
Three control systems act on every task at once: the boundary decides what may change, the skills decide how it is done professionally, and assurance decides why anyone should believe it is finished.
01
What may change?
Compiles user intent into an explicit path, authority, scope, acceptance, task contract and stop conditions.
02
How is it done professionally?
Selects exactly one Primary Professional, then adds only the Layer 3 expertise the current evidence justifies.
03
Why should anyone believe it is done?
Sets assurance strength, requires fresh validation, keeps an evidence ledger, and gates closure on independent review.
All three constrain one engineering task, at the same time.
How it works
Classification happens once. Everything after it consumes that decision rather than re-deriving it.
The user states a goal. Nothing is assumed about scope yet.
One classification decides the path: Direct Task when the facts and boundary are already established, Analyzed Work when owner, placement, verification or material risk is unknown.
Direct Task produces a Direct Task Contract. Analyzed Work produces an Engineering Brief — the single runtime analysis authority that later artifacts may project but never redefine.
Every task gets exactly one Primary Professional. Ownership is by engineering decision, not by language or framework.
A selector adds at most three Layer 3 skills, plus the references whose load conditions actually fire.
The Task Agent changes code inside the contract, then runs targeted validation after the final edit.
A Review Agent reads the exact change, the changed files and the current validation. It cannot repair what it finds.
Completed is allowed only when current evidence covers the completion claim.
Architecture
Six responsibility planes constrain the same task simultaneously. When the Task Agent edits a file, its skills, execution level, evidence obligations and authority all apply at once.
Authority Plane
What is allowed to change, and who decided.
Knowledge Plane
Which expertise is in context, and why it was loaded.
Role Plane
Who may read, write, review and close.
Assurance Plane
How strong the proof must be before a claim stands.
Host Adapter Plane
How the model projects onto each agent host's real capabilities.
Build / QA Plane
How the runtime is compiled and proven before release.
These are responsibility planes, not six sequential workflow stages.
Agent roles
Roles are split by authority and tool boundary, not by personality. Professionalism comes from skills, which is why four fixed agents can cover a large number of engineering domains.
Can
Deliberately cannot
Can
Deliberately cannot
Can
Deliberately cannot
Can
Deliberately cannot
MainAnalysisTaskReviewClosure— but this is not always a fixed linear pipeline.
Skill architecture
The host sees 26 top-level skills. The remaining 154 items stay behind the selected professional and load only when the current decision needs them — none of the knowledge is removed, only deferred.
Step 1 · one primary professional
Use analysis-agent for ambiguous or missing intent: slice desired behavior, boundaries, constraints, and completion signals. Skip an accepted Brief or repository-independent answers fully determined by user facts.
Step 2 · selector-authorised Layer 3 · 4 candidates, at most 3 loaded per task
Do not load every skill. Load the smallest set of expertise that can materially change the current engineering decision.
Professional skills
Not a Java skill or a React skill. Each professional owns a class of engineering decision; languages, platforms and domains arrive underneath it as Layer 3.
Use analysis-agent for ambiguous or missing intent: slice desired behavior, boundaries, constraints, and completion signals. Skip an accepted Brief or repository-independent answers fully determined by user facts.
analysis-agent: implementation-preparation for source-backed changes, diagnosis-only for causes, or source-backed-answer for repo questions; skip source-free, implementation-ready, and accepted-artifact work.
Use review-agent for a high-risk Engineering Brief when a critical path, architecture boundary, material risk, or multiple downstream tasks need deeper design evidence. Skip ordinary work without those signals.
Use review-agent for an ordinary Engineering Brief, Task Plan, acceptance, or contract artifact. Exclude high-risk design and release-readiness approval.
Analyze an API, schema, migration, or compatibility decision with analysis-agent, or implement its bounded contract change with task-agent. Do not select it when no data or public-contract surface is affected.
Use task-agent for bounded frontend component or browser changes involving interaction, accessibility, API failures, security, or regression proof. Skip backend-only work and design exploration without implementation.
Use analysis-agent to map acceptance to validation, task-agent to add or run bounded tests, and review-agent to assess proof coverage. Skip work with no material change or already-fresh complete validation.
Use analysis-agent to analyze permissions, secrets, sensitive data, trust boundaries, and injection; task-agent to implement controls; and review-agent to assess evidence. Skip self-review and no-trust-impact work.
Use review-agent on implementation or repair diffs for hallucinated APIs, unsupported assumptions, unsafe abstractions, and dependency or regression risks. Skip work without a diff or after reviewer edits.
Use analysis-agent for active multi-responder incident command, cadence, mitigation, communications, or handoff. Skip ordinary diagnosis, reliability design, release approval, post-incident docs, and execution.
Evidence
A green test suite is not automatically proof of correctness. Evidence has to cover the actual claim being made, and it has to have survived the last edit.
A change exists. Nothing yet proves it behaves as claimed.
Targeted validation ran after the final edit, with a recorded scope.
An independent agent read the actual diff and the current evidence.
Current evidence covers the completion claim, with proof limits stated.
Assurance and hosts
Execution level says how much proof a task needs — it is not a phase of the workflow. Host support says what each agent host can actually do, including where it cannot.
Level changes the depth and independence of validation, review and evidence. It never re-selects the primary professional, the implementation Layer 3, the domain, or the required review skills.
rd-skills projects the control model into each host's available capabilities. It does not claim they are equivalent.
| Host | Profile | Skill loading | Subagent | Review diff | Validation |
|---|---|---|---|---|---|
| CodexStrongest native diff and read-only validation path. Fine-grained tool allowlists are still prompt-enforced. | Native | Prompt-enforced | Native | Native | Native |
| ClaudeSkill loading and subagents are native. Review consumes a supplied diff because there is no verified read-only shell for it. | Native | Native | Native | Supplied artifact | Supplied artifact |
| GitHub CopilotReview has read and search but no execute, so exact supplied diff delivery matters most here. | Native | Prompt-enforced | Native | Supplied artifact | Supplied artifact |
| ClineThe control model is projected through prompts only; none of these capabilities are host-native. | Not supported | Not supported | Not supported | Not supported | Not supported |
| OpenAI APIShips as generated top-level skill bundles; the harness around them is yours to build. | Not supported | Not supported | Not supported | Not supported | Not supported |
Codex
Strongest native diff and read-only validation path. Fine-grained tool allowlists are still prompt-enforced.
Claude
Skill loading and subagents are native. Review consumes a supplied diff because there is no verified read-only shell for it.
GitHub Copilot
Review has read and search but no execute, so exact supplied diff delivery matters most here.
Cline
The control model is projected through prompts only; none of these capabilities are host-native.
OpenAI API
Ships as generated top-level skill bundles; the harness around them is yours to build.
Quickstart
One runtime, no profile flag to choose. These commands are extracted from the repository at build time, so they cannot drift from what the project actually supports — and the setup page turns them into the exact lines for your agent and scope.
python3 --version
python3 -m pip install .python3 scripts/quickstart.py --agent codex --scope user --dry-runpython3 scripts/quickstart.py --agent codex --scope user
python3 installers/doctor.py --agent codex --scope user/engineering-control-plane
Goal: Add an empty-string check to src/example.py without changing its public API.
Acceptance: Empty input returns the existing validation error; valid input is unchanged.
Allowed scope: src/example.py and its existing test file only.
Verify: Run python3 -m unittest tests.test_example.
Stop if: Ownership, the public contract, or the verification command differs.A bounded implementation should produce one primary professional skill, an implementation by a task agent, validation after the final edit, an independent review, and a handoff listing changed files, results, unverified scope and residual risk.
Open source
The registries, the build, the validators and the evaluation harness are all in the repository. So are the governance rules for adding a skill.