Problem
The Agent Eval SDK already supports injecting one or more agentskills.io bundles into FabricAgentRuntime, including harness routing and per-trial skill provenance. However, the Platform Agent Eval job API cannot use that capability:
FabricRunnerTarget has no skill input.
- A remotely scheduled job cannot reference a caller-local skill directory.
- Platform Filesets can store the bundle, but Evaluator does not materialize that Fileset into the job runtime.
As a result, SDK-level Fabric Skill Eval works locally, while the same evaluation cannot be expressed through the supported Platform agent-evaluate API.
Proposed behavior
Allow a Fabric target to reference one or more Skill bundles stored in Platform Filesets:
target:
kind: fabric
config: ...
skills:
- name: lta-analysis
fileset: default/lta-analysis-skill
path: skills/lta-analysis
For each configured Skill, the Evaluator job should:
- Resolve the Fileset in the job workspace, or an explicitly supplied workspace.
- Download it into job-local ephemeral storage.
- Resolve and validate a relative bundle path containing
SKILL.md.
- Construct the SDK
AgentSkill and pass it to FabricAgentRuntime.
- Rely on the existing SDK runtime for harness-specific staging, content hashing, and trial provenance.
Requirements
- Preserve existing Fabric target behavior when
skills is omitted.
- Support multiple Skills with unique
agentskills.io names.
- Reject absolute paths, parent traversal, Windows separators, and post-resolution escapes.
- Reject a selected directory that does not contain
SKILL.md.
- Expose the contract in the generated OpenAPI schema.
- Forward the Platform SDK and caller identity used by the job so Files access follows normal authorization.
- Preserve the SDK's Skill name, content hash, adapter, injection mode, and staged location in trial provenance.
- Document the API shape and remote Fileset requirement.
Non-goals
- A first-class Platform Skill catalog or Skill entity.
- Automatic baseline/treated A/B scheduling.
- Native Fabric repeat/attempt semantics.
- Changes to the default CPU task image or Fabric/Relay packaging.
- TestCrew-specific Agent-to-Skill mapping.
Acceptance criteria
- A Platform Agent Eval job accepts a Fabric target with a Fileset-backed Skill.
- The job downloads the Fileset and injects the selected bundle into
FabricAgentRuntime.
- Missing Platform SDK access, missing
SKILL.md, unsafe paths, and duplicate Skill names fail clearly.
- Existing Fabric jobs without Skills remain backward compatible.
- Unit coverage validates materialization and input validation.
- A live Fabric/Codex job can read the staged Skill and records its provenance in the persisted trial.
Validation evidence
This path has been exercised in a Dev Astra deployment with a real Fabric/Codex Agent Eval job. The agent read a marker Skill from a Platform Fileset, returned the required marker, received exact-match 1.0, and persisted Skill content-hash provenance plus Relay ATIF/ATOF artifacts.
Related SDK foundations: #625, #816, #841, and #844.
Problem
The Agent Eval SDK already supports injecting one or more
agentskills.iobundles intoFabricAgentRuntime, including harness routing and per-trial skill provenance. However, the Platform Agent Eval job API cannot use that capability:FabricRunnerTargethas no skill input.As a result, SDK-level Fabric Skill Eval works locally, while the same evaluation cannot be expressed through the supported Platform
agent-evaluateAPI.Proposed behavior
Allow a Fabric target to reference one or more Skill bundles stored in Platform Filesets:
For each configured Skill, the Evaluator job should:
SKILL.md.AgentSkilland pass it toFabricAgentRuntime.Requirements
skillsis omitted.agentskills.ionames.SKILL.md.Non-goals
Acceptance criteria
FabricAgentRuntime.SKILL.md, unsafe paths, and duplicate Skill names fail clearly.Validation evidence
This path has been exercised in a Dev Astra deployment with a real Fabric/Codex Agent Eval job. The agent read a marker Skill from a Platform Fileset, returned the required marker, received exact-match
1.0, and persisted Skill content-hash provenance plus Relay ATIF/ATOF artifacts.Related SDK foundations: #625, #816, #841, and #844.