MODULE 06 · LESSON 6.4
Publish and assign runtime skills
Publish exact-version runtime skills for the owning principal.
Lesson 36 of 86 · FabrCore 2.0
Overview
Runtime skills package instructions/resources the agent loads. They differ from coding-assistant skills distributed in /docs/skills and from A2A card metadata describing capabilities. Immutable versions make an agent's instructions reproducible.
The package becomes a stored runtime resource
SKILL.md defines the skill and may refer to permitted text resources. Publishing the ZIP validates the package and stores it under a principal-scoped name and version. The ZIP is transport; the agent does not discover a folder in the Host's current directory. This is also distinct from a coding-assistant skill used by a developer while editing the application.
Pinning makes instructions reproducible
_HarnessSkills selects exact references such as [email protected]. An activation validates and caches its manifests, then loads resources as needed. Publishing a new version does not silently rewrite an old activation. Missing or corrupt pinned packages fail initialization, which is preferable to running with unexplained missing instructions.
Publish a versioned skill package
- Package the supplied policy-review skill folder and publish it through the principal-scoped skill administration API. Record the exact name/version.
- Set _HarnessSkills to [email protected] in the agent/blueprint Args. Publish it under the principal that will actually run the agent, including an A2A caller principal where applicable.
- Reconfigure/reactivate deliberately after changing assignments. Keep package limits, scope and deletion effects in mind; active caches do not automatically refresh on every turn.
---
name: policy-review
description: Review supplied service-request facts against the sample policy.
---
Read references/policy.md before answering a policy question.
Identify missing facts. Do not claim a request was approved or changed.
# Sample policy
A printer incident is eligible for escalation when the requester confirms
that the standard restart procedure failed. If that fact is absent,
ask for it. This policy is only fixture data for the tutorial.
Compress-Archive -Path ./policy-review/* -DestinationPath ./policy-review-1.0.0.zip
# PUT this ZIP as application/zip to the versioned endpoint below.
PUT /fabrcoreapi/admin/v1/principals/dev/skills/policy-review/versions/1.0.0
Authorization: Bearer <administration-credential>
Content-Type: application/zip
<ZIP bytes containing SKILL.md and references/policy.md>
GET /fabrcoreapi/admin/v1/principals/dev/skills/policy-review/versions/1.0.0
Authorization: Bearer <administration-credential>
{
"Args": { "_HarnessSkills": "[email protected]" }
}
Verify publication and assignment separately
- Create the policy-review package illustrated below and PUT its ZIP through the principal-scoped skills API. GET the version afterward and record the returned identity/digest.
- Assign [email protected] to a disposable harness under that same principal and explicitly reconfigure/reactivate it. Ask a question requiring the supplied policy and inspect skill loading/resource use.
- Try to initialize a test instance with [email protected] when that version is absent. Expect a clear initialization error, not a fallback to arbitrary unversioned instructions.
The successful case proves both stored publication and exact-version runtime resolution. The failure case shows that missing instructions cannot masquerade as a valid skill assignment.
If the result is different
A skill description advertised on an A2A card is not the package itself. Never substitute shared current-directory discovery for principal-scoped runtime skill storage.
Go deeper
Explore the related documentation.