Skip to content
Back to skills

Agent Harness Architect

ASecurity

Design the governed operating environment an AI agent runs inside — the harness: ONE server-side mediation point every model/tool call crosses; identity from credentials (never from model-supplied payload), propagated; a deny-by-default pre-flight ladder (authenticate → authorize → entitlement → budget → input policy) BEFORE the model runs, each rung fail-closed; a CLOSED tool/provider registry (unknown capability fails, never improvised); instructions as server-side versioned artifacts no un...

  • 4 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 11, 2026
businessrustgosecuritydocumentation

Works with

  • cli

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned October 5, 2026

npx -y skills add ModernNomad-98/Project-Aegis --skill agent-harness-architect --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Agent Harness Architect?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Agent Harness Architect
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/modernnomad-98-agent-harness-architect/badge)](https://www.skillsdirectory.com/skills/modernnomad-98-agent-harness-architect)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: agent-harness-architect
description: 'Design the governed operating environment an AI agent runs inside — the harness: ONE server-side mediation point every model/tool call crosses; identity from credentials (never from model-supplied payload), propagated; a deny-by-default pre-flight ladder (authenticate → authorize → entitlement → budget → input policy) BEFORE the model runs, each rung fail-closed; a CLOSED tool/provider registry (unknown capability fails, never improvised); instructions as server-side versioned artifacts no untrusted party can override; a fail-closed audit write — what cannot be recorded does not execute. The AI-specific harness atop command-gateway-architect''s mediated path, enforcing agent-authorization-matrix''s policy. Use when wiring an agent into a runtime or when model calls run ungoverned. DESIGNS the harness; its attack review belongs to agent-tool-safety-guard, agent-containment-reviewer, prompt-injection-defender. Do NOT use for loop bounds/stops (agentic-loop-designer) or context content (model-context-designer).'
---

# Agent Harness Architect

**Reading key:** A large language model (LLM) generates model responses;
a software development kit (SDK) is a provider's programming interface.
This skill designs a governed harness; implementation and live authority
remain separate decisions.

## Purpose

An agent's authority is a property of its environment, not of its obedience.
This skill designs that environment — the harness: the governed runtime every
model call and tool call of an artificial intelligence (AI) agent passes through. The deliverable is a
harness design with six load-bearing parts: (1) ONE server-side mediation
point no model or tool call can go around; (2) caller identity verified from
credentials — never from anything the model or client supplies in a payload —
and propagated to every downstream check; (3) a deny-by-default pre-flight
ladder (authenticate → authorize → entitlement → budget → input policy)
walked BEFORE the model runs, each rung fail-closed; (4) a CLOSED
tool/provider registry, where an unknown capability fails instead of being
improvised; (5) system instructions held as server-side versioned artifacts
no untrusted party can supply or override; and (6) a fail-closed audit write —
an action that cannot be recorded does not execute. This skill DESIGNS the
harness; the security review of the harness — injection paths, tool misuse,
containment — belongs to `prompt-injection-defender`,
`agent-tool-safety-guard`, and `agent-containment-reviewer`. It PRODUCES the
artifact those skills review.

## Use When

- Use when: building or overhauling the runtime environment an AI agent or
  LLM feature runs inside — where calls are gated, identity is established,
  tools are registered, instructions live, and actions are recorded.
- Use when: model/tool calls run ungoverned — call sites reach providers or
  tools directly, each doing its own checks (or none), and the agent's limits
  exist only as prompt text asking it to behave.
- Use when: an agent is being wired into a product and its authority needs to
  become environmental (checks it cannot skip) rather than behavioral
  (instructions it is trusted to obey).
- Auto-invocable: a pure design skill — it produces a spec and changes no
  live system, wires no credentials, and grants no authority.
- Do NOT use when: the job is the ATTACK REVIEW of a harness — injection
  paths are `prompt-injection-defender`, tool misuse / excessive agency is
  `agent-tool-safety-guard`, cascade/rogue containment is
  `agent-containment-reviewer`. This skill DESIGNS the harness; the security
  review of the harness belongs to those skills.
- Do NOT use when: the subject is the general server-mediated WRITE path for
  a product's protected mutations — that is `command-gateway-architect`; this
  skill builds the AI-specific harness ON TOP of that pattern and cites it,
  never restates it.
- Do NOT use when: the question is the agentic loop's iteration bounds, retry
  typing, or stopping semantics — that is `agentic-loop-designer`; the loop
  runs INSIDE this harness, and every call an iteration makes still passes
  this harness's ladder.
- Do NOT use when: deciding what CONTENT fills the model's context window —
  that is `model-context-designer` (the harness gates the call; the context
  designer curates what rides in it).
- Do NOT use when: authoring the standing human-vs-agent authority POLICY —
  that is `agent-authorization-matrix`; this environment ENFORCES that
  matrix, it does not define it.
- Do NOT use when: designing model/provider routing internals (selection,
  fallback, key custody) — that is `ai-router-architect`; the harness governs
  what the router may reach.

## Inputs to Inspect

1. Every model-call and tool-call site: which paths reach a provider or a
   tool today, and which of them pass through any shared mediation vs calling
   directly.
2. The identity story per call: where the acting identity comes from —
   verified credentials/session vs anything supplied in a model output,
   request body, or prompt — and whether it is propagated or re-asserted
   downstream.
3. The standing authority policy: `agent-authorization-matrix` output if
   present — the matrix this environment must enforce; without it the ladder
   has no authorize rung to call.
4. Existing mediation infrastructure: a `command-gateway-architect`-style
   command bus or gateway the harness can extend rather than duplicate.
5. The tool/provider surface: every tool, function, and model the agent can
   reach today, and how one gets added (governed registry change vs ad-hoc).
6. Instruction custody: where system instructions live — versioned server
   artifact vs string in client code vs assembled from parts an untrusted
   party can influence.
7. Audit posture: what is recorded per call today, and what happens when
   that write fails (does the action proceed unrecorded?).
8. Budget/entitlement sources: the caps and plan gates the ladder's budget
   and entitlement rungs will consume (`ai-cost-guardrail-designer`,
   `plan-entitlement-architect` outputs if present).

## Workflow

1. **Fix the single mediation point.** Name the one server-side component
   every model and tool call passes through, and enumerate every current
   around-path (direct SDK calls, client-side keys, ad-hoc tool shims). The
   design must close each one — a harness with a bypass is documentation,
   not a control.
2. **Design identity: credentials only, propagated always.** The acting
   user/agent identity is established from verified credentials or session at
   the mediation point and propagated to every downstream check. Nothing —
   not a model output, not a tool argument, not a prompt segment — may assert
   identity. Flag every place identity is currently read from a payload.
3. **Design the pre-flight ladder, deny-by-default, fail-closed.** Fixed
   order, all rungs BEFORE the model runs: **authenticate** (who is calling)
   → **authorize** (may this identity perform this action — calls the
   `agent-authorization-matrix` policy, never re-authors it) → **entitlement**
   (does the plan/tenant include this capability) → **budget** (is there
   spend/quota left — caps consumed from `ai-cost-guardrail-designer`) →
   **input policy** (does the input pass the closed schema and content
   rules). Each rung fail-closed: a rung that errors DENIES the call. A rung
   evaluated after the model has already run is not pre-flight — the spend
   and the exposure already happened.
4. **Close the registry.** The tool/provider registry is a closed, versioned
   list: a capability not in it FAILS — it is never improvised, auto-wrapped,
   or "gracefully" substituted. Adding a capability is a governed registry
   change with an owner, not a runtime event. The registry also scopes what
   `ai-router-architect`'s routing may reach.
5. **Put instructions in server custody.** System instructions are
   server-side versioned artifacts: source-controlled, deployed like code,
   selected by the server per call. No untrusted party — user, retrieved
   document, tool output, client code — can supply or override them. Record
   which instruction version served each call.
6. **Make the audit write fail-closed.** Every mediated call records actor,
   action, target, instruction version, ladder outcome, and result — and the
   write is part of the action's critical path: an action that cannot be
   recorded does not execute. Record-or-refuse, never act-then-hope. The
   audit record schema itself is `audit-log-architect`'s.
7. **Prove every deny path can fire.** For each ladder rung, the closed
   registry, and the audit write, design the test that proves it can reject:
   an unauthenticated call denied, an unauthorized action denied, an
   over-budget call denied, an unknown tool failed, an audit-down action
   refused. A verifier that cannot fail is theater with an exit code — a
   rung that has never rejected anything in a test is unproven.
8. **Deliver the design** in the Output Format, with every seam named as a
   handoff — the policy, the write-path pattern, routing, loop semantics,
   context content, and the attack review — composed, never restated.

## Output Format

```
AGENT HARNESS DESIGN — <system/agent>
Invariant: no model/tool call around the mediation point; authority is a
  property of the environment (enforces agent-authorization-matrix), not of
  the agent's obedience.
Mediation point: <the one server-side component; every around-path + its closure>
Identity: <credential/session source → verification → propagation;
  model-supplied identity rejected everywhere>
Pre-flight ladder (fixed order, BEFORE the model runs, each rung fail-closed):
  authenticate → authorize(<policy source>) → entitlement(<plan source>) →
  budget(<cap source>) → input-policy(<schema/content rules>)
Registry: <closed tool/provider list; unknown capability = fail; change process>
Instruction custody: <server-side versioned artifacts; version pinned per call;
  who may change them>
Audit: <record fields; fail-closed rule: cannot-record ⇒ does-not-execute>
Deny-path proofs: <per rung/registry/audit: the test that proves it can reject>
Handoffs: authority policy → agent-authorization-matrix; mediated write-path
  pattern → command-gateway-architect; routing → ai-router-architect;
  loop semantics → agentic-loop-designer; context content →
  model-context-designer; audit schema → audit-log-architect;
  attack review → prompt-injection-defender + agent-tool-safety-guard +
  agent-containment-reviewer
Open questions / risks: <each with risk-if-wrong / who answers>
```

## Validation Checklist

- [ ] Every model and tool call passes the ONE mediation point; every
      around-path is enumerated and closed, not just discouraged.
- [ ] Identity comes from verified credentials only and is propagated; no
      check anywhere accepts model-supplied or payload-supplied identity.
- [ ] The ladder is deny-by-default, fixed-order, entirely pre-flight, and
      every rung fail-closed (an erroring rung denies).
- [ ] The authorize rung CALLS the standing authority policy
      (`agent-authorization-matrix`); it does not re-author it.
- [ ] The registry is closed: an unknown capability fails; additions are
      governed changes, not runtime improvisation.
- [ ] Instructions are server-side versioned artifacts; no untrusted party
      can supply or override them; the serving version is recorded per call.
- [ ] The audit write is fail-closed: an action that cannot be recorded does
      not execute.
- [ ] Every deny path has a designed proof it can fire — no rung, registry
      check, or audit gate is trusted untested.
- [ ] The design grants the agent NO new authority and creates no
      self-authorization or auto-execution path for privileged actions.
- [ ] The yields are stated: attack review → the named security skills;
      composed seams cited, not restated.

## Gotchas

- Prompt text is not a control: "you may not call this tool" in the system
  prompt constrains nothing — only the environment check does. The harness
  exists precisely because obedience is not an enforcement mechanism.
- A ladder evaluated after the model responds is a post-mortem, not a gate:
  the tokens are spent and the exposure has happened. Pre-flight means
  before the model runs, every rung.
- A registry that "falls back" to wrapping an unknown tool at runtime is an
  open registry with extra steps — the failure mode it exists to prevent.
- A fail-open budget rung is a denial-of-wallet vector: the cost check
  erroring into "allow" converts an outage into unbounded spend.
- Audit-after-execute loses the record exactly when it matters: a crash
  between action and write yields an unrecorded action. Record-or-refuse.
- "The model already knows who the user is" is how payload-supplied identity
  sneaks in — the model knowing it is exactly why it cannot be trusted; the
  mediation point re-establishes identity from credentials every time.
- Building the harness and reviewing it for attacks in the same pass reviews
  your own homework — yield the attack review to the security cluster.
- A deny path that has never fired in a test may be wired to nothing —
  theater with an exit code. Prove each rung can reject before trusting it.

## Stop Conditions

- The standing authority policy does not exist or is ambiguous → obtain it
  (from `agent-authorization-matrix` or a human) before designing the
  authorize rung; a harness enforcing an undefined policy is false assurance.
- The requested design would BYPASS the human-authority matrix or
  auto-execute privileged actions without human approval — self-authorized
  escalation, agent-armed merges/deploys, unattended spend or destructive
  operations → refuse and stop. This skill designs constraint; it does not
  grant the agent new authority, and a harness is not a device for laundering
  autonomy past its policy.
- Wiring the designed harness into a live system (live credentials, provider
  config, datastore permissions, deployment) → that is an implementation
  step under the repo's approval path (`human-approval-boundary`); this
  skill designs, it does not deploy.
- The request is actually an attack audit of an existing harness → hand to
  `prompt-injection-defender` / `agent-tool-safety-guard` /
  `agent-containment-reviewer` and stop.

## Supporting Files

- `evals/evals.json` — behavior cases: the ungoverned-call-sites design, the
  prompt-text-permissions conversion, the unknown-capability edge, the
  self-authorization refusal, and the attack-audit should-not-trigger.
- `evals/trigger-evals.json` — discrimination against
  `command-gateway-architect` (general write path vs AI harness),
  `ai-router-architect` (routing internals), `agent-authorization-matrix`
  (policy vs environment), `agentic-loop-designer` (in-batch: loop semantics
  vs call gating), `model-context-designer` (in-batch: context content vs
  call gating), and the design-vs-review seam against
  `agent-tool-safety-guard` / `prompt-injection-defender` /
  `agent-containment-reviewer`.
- No `references/` — the harness contract above is the complete procedure;
  detail lives in the produced design artifact.

Files in this skill

  • SKILL.md14.8 KB
  • evals/evals.json5.6 KB
  • evals/trigger-evals.json6.3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.